李翔,毛子彥,史曉涵,鐘海偉
(浙江科技學(xué)院,浙江杭州,310012)
使用信號(hào)發(fā)生器模擬輸出各種失真的信號(hào),并通過放大電路,對(duì)輸入信號(hào)進(jìn)行放大和偏置,放大以后的失真波形通過 ADC 采集信號(hào)電壓值,利用快速傅里葉變換對(duì)采集的信號(hào)進(jìn)行頻譜,失真度等分析。最后可得到信號(hào)失真度 THD 值以及波形圖等并且可以在OLED以及在手機(jī)上顯示測(cè)量結(jié)果。
MSP430 是一款超低功耗,具有精簡(jiǎn)指令集的16位混合信號(hào)處理器。我們選擇 MSP430F5438A 作為主控芯片,其低電壓范圍 1.8V-3.6V,待機(jī)模式下電流為0.8uA,具有內(nèi)部基準(zhǔn)電壓,采樣和保持及自動(dòng)掃描功能的 12 位模數(shù)(A/D)轉(zhuǎn)換器,可以實(shí)現(xiàn)更精準(zhǔn)轉(zhuǎn)換。 而且 MSP430F5438A內(nèi)部集成有多通道、高速率的片內(nèi)ADC,同時(shí)能夠提供多通道的12位精度A/D轉(zhuǎn) 換 ,其最大采樣速率可以達(dá)到200kbps。在絕大多數(shù)需要進(jìn)行AD轉(zhuǎn)換的場(chǎng)景下,MSP4 30F5438A集成的ADC模塊都可以滿足對(duì)數(shù)據(jù)采集的要求,因此選擇 該芯片作為主控芯片。
快速傅里葉變換(FFT):FFT 算法可以分為兩種方式:按時(shí)間抽取(DFT)和按頻率抽取(DIF),借助蝶形圖總結(jié)出碼位倒序和蝶形運(yùn)算的規(guī)律,推導(dǎo)得 FFT 算法:
輸入信號(hào)由 A/D 轉(zhuǎn)換器轉(zhuǎn)換成采樣序列x (n),其頻譜用x(ejω)表示,x(ejω)是頻率為ω的周期函數(shù),可以表示為:
由于 DFT 的需要(但是在實(shí)際應(yīng)用中通常采用FFT計(jì)算),必須把 x(n)限制在一定的時(shí)間范圍之內(nèi),即對(duì)數(shù)據(jù)進(jìn)行加窗處理。因此,在計(jì)算 FFT之前,將有限時(shí)間域的窗函數(shù)ω(n)加到 x(n)上,即V (N) = x (N) w (N),用卷積表示如下[1]:
周期振蕩信號(hào)在電壓上發(fā)生的畸變,不僅包含了基波電壓分量,還包含了各次諧波分量的電壓分量。通過計(jì)算,可以把任意的信號(hào)都展開成傅里葉級(jí)數(shù)形式:
與此同時(shí),正弦信號(hào)的畸變值可以用基波電壓有效值與各次諧波電壓的均方根值之比來表示,即:
在公式中,U1、Un分別代表基波電壓的有效值和 n 次諧波電壓的有效值。通過求出各個(gè)諧波的幅值,從而計(jì)算出信號(hào)的失真度[2]。為了能夠在實(shí)際的使用中較為容易的實(shí)現(xiàn),通常用測(cè)量到的各諧波電壓的有效值和總電壓有效值來之比代替,具體計(jì)算方式如下:
根據(jù)頻域分析的方法設(shè)計(jì)失真度測(cè)量裝置,通過計(jì)算傅里葉系數(shù)等值,求得失真度的大小。
對(duì)于一個(gè)較長(zhǎng)的周期信號(hào),其采樣點(diǎn)數(shù)較多,我們無法對(duì)其所有的采樣點(diǎn)都進(jìn)行存儲(chǔ)和計(jì)算,只能截取有限場(chǎng)序列進(jìn)行離散傅里葉變換。因此,利用離散傅里葉變換對(duì)連續(xù)信號(hào)的傅里葉變化其結(jié)果只能是近似的,產(chǎn)生誤差的原因主要有以下兩點(diǎn):混疊和泄漏。
圖1 蝶形運(yùn)算圖
2.3.1 混疊
根據(jù)奈奎斯特采樣定理,要使得通過計(jì)算得到的數(shù)字信號(hào)能夠完全地表示原信號(hào),只有當(dāng)采樣頻率大于等于信號(hào)最高頻率的兩倍時(shí),才能不失真的恢復(fù)該信號(hào)。但是當(dāng)信號(hào)頻率較高時(shí),往往受限于硬件條件,采樣頻率就很難達(dá)到信號(hào)最高頻率的兩倍,本系統(tǒng)所采用的MSP430F4538A單片機(jī)最高采樣頻率為200kHz,最高可以采集到基波頻率為20kHz的五次諧波。如果輸入信號(hào)頻率高于此信號(hào),就會(huì)出現(xiàn)部分頻譜重疊的情況,部分頻譜就會(huì)疊加起來,這種現(xiàn)象被稱為“混疊”,也就造成了信號(hào)的丟失[3]。
2.3.2 頻譜泄露
由于快速傅里葉變換運(yùn)算的本質(zhì)是截取了一些離散傅里葉級(jí)數(shù)的主值,所以實(shí)際上對(duì)FFT的研究過程就可以劃分為對(duì)若干的整數(shù)周期的信號(hào)進(jìn)行離散的傅里葉變換分析,拓展延伸后使其與截取前的信號(hào)相同。如果截取的信號(hào)周期并不是其原信號(hào)周期的整數(shù)倍,那么在周期延伸拓展之后信號(hào)就會(huì)出現(xiàn)不連續(xù)的點(diǎn),此時(shí)DFT分析的結(jié)果也與將與原始信號(hào)不同,頻譜能量會(huì)泄漏到旁瓣,因此會(huì)造成測(cè)量誤差[4]。
根據(jù)系統(tǒng)框圖,硬件部分可以分為信號(hào)輸入端、放大電路、單片機(jī)、顯示部分。
3.1.1 信號(hào)輸入端設(shè)計(jì)
信號(hào)發(fā)生器是一種能夠提供各種頻率、波形、輸出電平電信號(hào)的設(shè)備,用于測(cè)量各種電信號(hào)系統(tǒng)和電信設(shè)備的振幅特性、頻率特性、傳輸特性及其它電參數(shù),還可以作為測(cè)試其它元器件或者信號(hào)檢測(cè)的信號(hào)源或激勵(lì)源。本次設(shè)計(jì)的失真度檢測(cè)系統(tǒng)選擇信號(hào)發(fā)生器模擬輸出各種失真信號(hào)。
3.1.2 放大電路設(shè)計(jì)
放大電路是使用最廣泛的電子電路之一,是構(gòu)成其他電子電路的基礎(chǔ)單元電路。放大電路的作用是將一些微弱的信號(hào)放大到所需要的幅值且保持與原輸入信號(hào)變化規(guī)律一致,也即進(jìn)行不失真的放大,保證原始信號(hào)的完整性。常見的放大電路有低頻低壓放大電路、功率放大電路、直流放大電路、集成運(yùn)算放大電路等。本次設(shè)計(jì)的失真度檢測(cè)系統(tǒng)采用集成運(yùn)算放大電路,將多級(jí)直流放大器集中在一個(gè)集成片上。放大電路如圖3所示,輸入端連接信號(hào)發(fā)生器,U2A對(duì)輸入信號(hào)進(jìn)行直流偏置,將輸入信號(hào)整體抬升至1/2電源電壓。U2B采用同相放大器,將輸入信號(hào)幅值放大11倍。U2C為電壓跟隨器,進(jìn)行阻抗匹配,對(duì)放大之后的信號(hào)進(jìn)行穩(wěn)定輸出,并將其輸入到單片機(jī)MSP430F5438A 中,進(jìn)行下一步處理。放大電路用于放大交流信號(hào)或者直流信號(hào),采用直接耦合方式,具備信號(hào)傳輸效率高、集成簡(jiǎn)單的特點(diǎn)。本系統(tǒng)采用的放大電路模塊由一定數(shù)量的電阻、運(yùn)算放大器構(gòu)成,實(shí)現(xiàn)對(duì)失真信號(hào)的放大偏置處理。
圖3 放大電路
3.1.3 單片機(jī)介紹
MSP430F5438A 是本系統(tǒng)的主控芯片,是MSP430系列單片機(jī)的一種,具有低功耗、快速轉(zhuǎn)換的特點(diǎn),內(nèi)部集成有多通道、高速率的片內(nèi)ADC,同時(shí)能夠提供多通道的 12 位精度A / D轉(zhuǎn)換,實(shí)現(xiàn)檢測(cè)系統(tǒng)的A/D轉(zhuǎn)換和快速取樣,為下一步進(jìn)行傅里葉變化做準(zhǔn)備。具體如圖4所示。
圖2 系統(tǒng)總體框圖
圖4 MSP430F5438A最小系統(tǒng)電路
3.1.4 結(jié)果顯示模塊設(shè)計(jì)
結(jié)果顯示設(shè)備包括手機(jī)屏幕顯示和OLED顯示。
手機(jī)端顯示使用主從一體的HC-05藍(lán)牙串口模塊,該模塊使用簡(jiǎn)單,能夠?qū)崿F(xiàn)設(shè)備之間的通信、數(shù)據(jù)傳輸,具備成本低、體積小、功耗低的特點(diǎn),工作時(shí)藍(lán)牙設(shè)備之間連接,兩設(shè)備共同使用一個(gè)串口,其中一個(gè)設(shè)備負(fù)責(zé)發(fā)送數(shù)據(jù)到通道中,另一個(gè)設(shè)備負(fù)責(zé)接受通道中的數(shù)據(jù),實(shí)現(xiàn)數(shù)據(jù)的傳輸。HC-05的具體電路如圖5所示。
圖5 HC-05藍(lán)牙串口模塊
單片機(jī)顯示部分采用OLED12864,其分辨率為 128×64 ,屏幕尺寸為 0.96 寸,由于其較小的尺寸,高對(duì)比度,低功耗,和比較高的分辨率,讓它有著很好的顯示效果和便攜性。OLED顯示電路如圖6所示。
圖6 OLED顯示模塊
3.2.1 軟件整體設(shè)計(jì)思路
檢測(cè)系統(tǒng)設(shè)計(jì)的軟件部分主要包括了單片機(jī)MSP430 F5438A軟件設(shè)計(jì)、傅里葉變換(FFT)算法的設(shè)計(jì)以及藍(lán)牙模塊的傳輸設(shè)計(jì)。首先MSP430F5438A單片機(jī)讀取模擬出數(shù)字轉(zhuǎn)換器的數(shù)字信號(hào)數(shù)據(jù),然后將數(shù)據(jù)存儲(chǔ)到數(shù)組中,實(shí)現(xiàn)數(shù)據(jù)的采樣,采用嵌入式A/D轉(zhuǎn)換器捕捉該輸入信號(hào)的頻率和起始過零點(diǎn),然后控制模數(shù)轉(zhuǎn)換器從起始過零點(diǎn)開始以上述頻率的整數(shù)倍來采樣原始的被 測(cè)信號(hào),這樣就實(shí)現(xiàn)了對(duì)被測(cè)信號(hào)的整周期同步采樣,有效地避免了頻譜泄漏和柵欄效應(yīng),實(shí)現(xiàn)數(shù)據(jù)采集。其次,利用微控制器實(shí)現(xiàn)數(shù)據(jù)處理,微控制器是一種微型計(jì)算機(jī),具體通過蝶形運(yùn)算的方式計(jì)算出頻率,進(jìn)一步進(jìn)行頻譜和失真度的分析,通過的THD運(yùn)算得出信號(hào)的失真度以及波形圖。最后是數(shù)據(jù)傳輸模塊的設(shè)計(jì),將計(jì)算結(jié)果通過藍(lán)牙模塊發(fā)送至手機(jī)端,以下是三個(gè)部分的軟件設(shè)計(jì)及程序代碼運(yùn)行樣圖。
3.2.2 利用 A/D 轉(zhuǎn)換實(shí)現(xiàn)數(shù)據(jù)采樣
在單片機(jī)內(nèi)部控制及測(cè)量實(shí)驗(yàn)中,A/D 轉(zhuǎn)換器是數(shù)據(jù)信息采集管理系統(tǒng)中不可缺少的重要因素組成一個(gè)部分,在系統(tǒng)設(shè)計(jì)中,為了可以簡(jiǎn)化電路、降低成本、提高信號(hào)采集時(shí)的抗干擾能力,通常采用嵌入式的A/D轉(zhuǎn)換器。A/D采樣代碼實(shí)現(xiàn)片段如下所示:
3.2.3 利用微控制器實(shí)現(xiàn)數(shù)據(jù)處理(FFT 算法)
快速傅里葉變換(FFT)在信號(hào)進(jìn)行處理中的線性濾、譜分析等方面起著非常重要的作用,可以利用FFT可以將n個(gè)采樣點(diǎn)的數(shù)據(jù)分解為更短的數(shù)據(jù)段并以此來提高計(jì)算效率。目前應(yīng)用最廣泛的算法是按頻率抽取的快速傅里葉變換。由于MSP430F4538A并不支持復(fù)數(shù)運(yùn)算,所以需要將復(fù)數(shù)運(yùn)算拆分為實(shí)數(shù)運(yùn)算和虛擬運(yùn)算兩部分來完,用于實(shí)現(xiàn)蝶形運(yùn)算的函數(shù)代碼如下所示:
3.2.4 利用HC-05實(shí)現(xiàn)數(shù)據(jù)傳輸(藍(lán)牙模塊)
通過HC-05,發(fā)送輸入信號(hào)的頻率,歸一化值和失真度等信息到手機(jī)端。藍(lán)牙傳輸代碼片段如下所示:
由信號(hào)發(fā)生器產(chǎn)生的 1kHz -10kHz的各種基波,其結(jié)果如表1所示,可以清晰地看到五次諧波分量的數(shù)值以及顯示屏顯示出來的THD值和通過FFT顯示出電壓值再通過THD的計(jì)算公式手動(dòng)計(jì)算出THD值。
根據(jù)該裝置的制作的完成,由表1的測(cè)量以及計(jì)算數(shù)據(jù)分析,結(jié)合快速傅里葉(FFT)理論算法和總諧波失真度(THD)理論驗(yàn)證,驗(yàn)證了該實(shí)驗(yàn)裝置的可執(zhí)行性。但是由于硬件和軟件的結(jié)合,以及外圍電路的各種影響,會(huì)讓該裝置存在一定的誤差。
表1 測(cè)量結(jié)果
失真度測(cè)量顯示圖如圖7所示。
圖7 失真度測(cè)量結(jié)果
本文設(shè)計(jì)了一款基于MSP430F438A的信號(hào)失真度測(cè)量裝置,對(duì)輸入的信號(hào)地進(jìn)行快速傅里葉變換從而求得信號(hào)的失真度,整個(gè)系統(tǒng)易于攜帶,精度較高。但同時(shí)裝置也存在一定的局限性,對(duì)于較高頻率的輸入信號(hào)此系統(tǒng)將無法完成采集,一定程度上限制了此裝置的使用??梢允褂肍PGA對(duì)輸入信號(hào)進(jìn)行更高精度的采集并運(yùn)算,MSP430完成對(duì)結(jié)果的顯示與發(fā)送,從而大大提高此裝置的適用范圍。