采用SPCE061A單片機(jī)對(duì)輸入的20Hz~100KHz的音頻信號(hào)通過A/ D采樣,獲得各點(diǎn)電壓值。用快速傅立葉(FFT)技術(shù)對(duì)A/D采得的數(shù)字量進(jìn)行8次蝶形運(yùn)算,獲得各點(diǎn)幅值。使得頻率分辨力小于100Hz,可測得頻差小于100Hz的頻率分量的功率值。分別由電壓值和各點(diǎn)幅值求出輸入信號(hào)的總功率和各頻率分量的功率和,發(fā)現(xiàn)各頻率分量的功率和與輸入信號(hào)的總功率間的誤差小于5%。根據(jù)各頻率分量的幅值,我們可以找出輸入信號(hào)的分率成分。同時(shí)由LCD顯示信號(hào)總功率及前兩個(gè)頻率分量的頻率值和功率值。分析頻率時(shí)用到的FFT技術(shù),同時(shí)又可移植到波形失真度測量領(lǐng)域,對(duì)失真度進(jìn)行精確計(jì)算。
關(guān)鍵詞:SPCE061A、A/D采樣、FFT處理、頻率分析、功率計(jì)算、周期判斷
一、系統(tǒng)方案論證與比較
1、系統(tǒng)要求
設(shè)計(jì)、制作一個(gè)可分析音頻信號(hào)(200Hz~10KHz,100mV~5V)頻率成分,并可測量正弦信號(hào)失真度的輸入阻抗為50Ω的儀器?;疽箢l率分辨力100Hz,檢測輸入信號(hào)的總功率和各頻率分量功率和,分析時(shí)間5S。發(fā)揮部分要求增加頻率分辨力,并能判斷輸入信號(hào)周期,以及分析正弦波失真度。
2、方案比較
2.1輸入預(yù)處理部分
對(duì)輸入音頻信號(hào)進(jìn)行采樣,要求輸入信號(hào)的電壓范圍不能有負(fù)值,并保證被轉(zhuǎn)換電壓的幅值范圍在A/D處理范圍內(nèi)?,F(xiàn)輸入音頻信號(hào)的電壓峰-峰值范圍為(0~5V),要保證輸入信號(hào)的幅值為正,必須進(jìn)行預(yù)處理,抬高電壓。
方案1:外加直流電源,串、并聯(lián)電阻抬高電壓。要精確抬高輸入信號(hào)的電壓,則必須精密計(jì)算串、并聯(lián)電阻的阻值。而且選擇的電阻要精密,對(duì)材料要求高。外接電阻,將消耗輸入信號(hào)的功率,對(duì)題目要求的測量輸入音頻信號(hào)的功率有影響。
方案2:利用集成運(yùn)放,外接直流電壓,進(jìn)行加法、除法處理信號(hào)電壓。用運(yùn)放將輸入信號(hào)與直流信號(hào)進(jìn)行加法操作,不改變輸入信號(hào)的頻率,不影響后面對(duì)頻率分量的分析。做除法運(yùn)算,只是改變了信號(hào)各點(diǎn)的電壓值,保證了A/D工作范圍。
方案 3:在電壓抬高的基礎(chǔ)上,進(jìn)行反混疊濾波處理。采樣頻率大于20KHz信號(hào)頻率時(shí),會(huì)產(chǎn)生混疊。為避免混疊,要么提高采樣頻率,要么采用濾波電路。前者加大了對(duì)A/D的要求,增大了單片機(jī)控制的難度。后者可對(duì)大于10KHz的信號(hào)產(chǎn)生抑制作用,減少干擾。
綜合考慮,我們選擇采用集成運(yùn)放抬高電壓,反混疊濾波器對(duì)輸入信號(hào)進(jìn)行預(yù)處理。
2.2、信號(hào)采樣
方案1:由單片機(jī)自帶A/D進(jìn)行采樣。如SPCE061A,芯片內(nèi)部集成了10位的A/D轉(zhuǎn)換,其最大采樣頻率可達(dá)到96KHz。完全可對(duì)10KHz的音頻信號(hào)采樣,并保證分辨力小于100Hz的要求。同時(shí)可以不用考慮A/D與單片機(jī)兼容的問題。
方案2:外接A/D轉(zhuǎn)換。如8位的A/DTLC5510,雖然轉(zhuǎn)換速度可以達(dá)到2M/S,但是其精度不高?;静糠忠笥?jì)算輸入信號(hào)功率和各頻率分量功率和,并計(jì)算二者誤差,而8位A/D采得的精度不夠,必增大誤差。外接A/D,將增大引入干擾的可能。不利于系統(tǒng)的穩(wěn)定。
方案3:對(duì)于基礎(chǔ)部分和發(fā)揮部分別用A/D轉(zhuǎn)換,基礎(chǔ)本分用高位的A/D保證精度,發(fā)揮部分用高速A/D保證采樣速率。
結(jié)合實(shí)際,SPCE061A已能滿足要求,既能達(dá)到精度要求,又能達(dá)到采樣速率的要求,所以采用方案1。
3、綜合描述
系統(tǒng)框架如圖(1)所示。圖中輸入信號(hào)的電壓范圍(峰-峰值)為100mV~5V,包含的頻率成分范圍為200Hz~10KHz。外部處理即對(duì)輸入信號(hào)進(jìn)行低通濾波,保證測量的信號(hào)頻率是小
輸入
信號(hào)
?
外部
處理
?
SPCE061A
A/D采樣與FFT處理
?
LCD顯示
?
鍵盤
?
(1)系統(tǒng)框架結(jié)構(gòu)
?
于10KHz的信號(hào)。由于SPCE061A電壓的直接測量范圍為0~3.3V,所以對(duì)于寬范圍的電壓信號(hào),必須進(jìn)行壓值處理,使其在測量范圍內(nèi)。SPCE061A單片機(jī)本身有A/D轉(zhuǎn)換功能,所以在芯片內(nèi)部就可完成采樣。再由單片機(jī)完成FFT數(shù)據(jù)處理。LCD用于顯示頻率與功率。鍵盤用于切換功率與頻率回放顯示、實(shí)現(xiàn)暫停等功能。
二、理論分析與計(jì)算
1、放大器設(shè)計(jì)
由于輸入音頻信號(hào)的電壓范圍(峰-峰值)為100mV~5V。音頻信號(hào)無法預(yù)計(jì)其幅值,當(dāng)信號(hào)的峰-峰值為100mV時(shí),幅值小,受外界信號(hào)干擾大,容易引起測量不準(zhǔn)。所以要采用放大電路。系統(tǒng)采用2個(gè)OP07先抬高輸入信號(hào),再對(duì)信號(hào)衰減。
圖(2)放大器設(shè)計(jì)
?
如圖(2)所示:電壓V1為信號(hào)的輸入電壓,V2為外接直流電壓(V2=5V),V3是提升后的電壓。首先將輸入信號(hào)V1與直流分量V2進(jìn)行求和,得V3與輸入信號(hào)V1相位相反。再經(jīng)過一次反向除法運(yùn)算,得到一個(gè)與輸入信號(hào)相位相同的衰減信號(hào)VO? 。
因?yàn)? ,即 ;則有?? ;
當(dāng) 為小信號(hào),即 的峰值為100mV:對(duì)應(yīng)的最小 V;相對(duì)以前的10mV,增大了100倍,避免了干擾。
又因?yàn)??? ;則有???
由上述計(jì)算知道:已在SPCE061A的測量范圍(0~3.3V)。
2、功率譜測量方法
輸入音頻信號(hào)的頻率范圍為200Hz~10KHz,要求頻率的分辨力為100Hz。則需要對(duì)音頻信號(hào)采樣,由A/D轉(zhuǎn)換,經(jīng)FFT處理,獲得各點(diǎn)的幅值,經(jīng)過運(yùn)算可以得到各頻率分量的功率。
首先確定采樣頻率fs,由于音頻信號(hào)的頻率范圍為200Hz~10KHz,根據(jù)采樣定理,必須保證fs≥20KHz,結(jié)合分辨力100Hz的要求,我們確定fs =25.6KHz。
頻率分辨力ΔF= fs/N?,F(xiàn)確定fs =25.6KHz,要保證頻率分辨力為100Hz,則應(yīng)取N= 25.6K/100=256點(diǎn)。則第n點(diǎn)的頻率fK=100nHz。對(duì)音頻信號(hào)采樣后的各點(diǎn)值,需用FFT原理處理,得各點(diǎn)的正弦信號(hào)的幅值Un。則各頻率分量的功率為 。
3、周期性判斷方法
?? 音頻信號(hào)可看成是N次諧波的疊加,則音頻信號(hào)里必有一個(gè)最大的頻率分量,我們可近似的將輸入音頻信號(hào)的周期看成是最大頻率分量的周期。最大的頻率分量可以在做頻譜分析時(shí)通過各分量的相互比較得出,設(shè)最大頻率分量的頻率為fmax。那么音頻信號(hào)的周期T=1/fmax 。
4、失真度測算
失真度計(jì)算公式:?? 為第n點(diǎn)諧波功率, 為基波功率。將測得的各頻率分量的功率代入上式計(jì)算,可得失真度K。
三、電路與程序設(shè)計(jì)
1.1、反混疊濾波電路??
圖(3)反混疊濾波電路
?
在應(yīng)用FFT變換時(shí)需要對(duì)連續(xù)的時(shí)間信號(hào)進(jìn)行采樣,當(dāng)采樣頻率fs>2*fh時(shí),采樣后的頻譜中將有一部分重疊,導(dǎo)致采樣后的信號(hào)x(n)的頻譜與原始信號(hào)的頻譜不一致,因此需要加一反混疊濾波器。如圖(3)低通濾波器,圖示二階低通VCVS? 濾波器的截止頻率為10KHz,將抑制高于10KHz的音頻信號(hào)輸入。
1.2、SRAM擴(kuò)展電路
進(jìn)行頻譜分析時(shí),要對(duì)音頻信號(hào)采集的數(shù)字量進(jìn)行FFT處理。單片機(jī)計(jì)算時(shí)要用到兩個(gè)256個(gè)浮點(diǎn)型值的正、余弦表??偣舱加肦AM 4*256*2=2048=2K。而SPCE061A的RAM只有2K,故在計(jì)算時(shí)RAM資源并不充分,需要擴(kuò)展。我們采用SPR4096進(jìn)行擴(kuò)展。SPR4096具有4K×8bit的RAM,512K×8bit的flash。擴(kuò)展電路連接如圖(4)SPR4096與SPCE061A連接圖。
圖(4)SPR4096與SPCE061A連接圖
?
2、程序設(shè)計(jì)
LH=N/2
J=LH
N1=N-2
?
I=1,N1
?
I≥J
?
T=X(I)
A(I)=X(J)
A(J)=T
?
K=LH
?
J
J=J+K
?
J=J-K
K=K/2
?
Y
?
Y
?
N
?
N
?
圖(5)倒位序流圖
?
如右圖(5)所示為FFT蝶形運(yùn)算處理的一個(gè)倒位序流程圖。FFT算法在實(shí)現(xiàn)時(shí)就是3個(gè)嵌套循環(huán),而倒位序的實(shí)現(xiàn)可以通過查表和算法實(shí)現(xiàn)。自制倒位序查詢表,將占用較多的RAM資源,不利較多取樣點(diǎn)的計(jì)算。通過函數(shù)自己還原倒位序,將留出更多的RAM空間利于采集更多的點(diǎn),增大分辨力,提高功率計(jì)算的準(zhǔn)確性。
Y
?
?FFT算法:
N
?
?;
for L=1:M? ;
?;
for J=0:B ;
??? ;
for K=J: :N? ;
????? ;
????? ;??????????????????????????????
end
end
圖(5)倒位序流圖
?
end
四、指標(biāo)測試
1、測試方案
測試儀器:
直流穩(wěn)壓電源、交流毫伏表、四位半數(shù)字萬用表
(1)輸入阻抗測試
外接直流電壓U,測輸入電流I。則RIN=U/I。
(2)功率測量
外接標(biāo)準(zhǔn)的正弦信號(hào),調(diào)節(jié)信號(hào)的頻率與幅值,根據(jù)? (U為信號(hào)的峰值),分別測量各信號(hào)的功率。
(3)其它指標(biāo)
經(jīng)壓值處理電路,知電壓UO(0~2.5V),在系統(tǒng)的處理電壓(0~3.3V)范圍內(nèi)。設(shè)定的單片機(jī)采樣率為25.6KHz,大于10KHz,能完成題目要求分析的信號(hào)范圍。5S刷新一次,實(shí)時(shí)顯示信號(hào)總功率和前兩個(gè)頻率分量都可在LCD上觀察。
輸入信號(hào)的周期T可近似看作其最大頻率分量的周期TMAX ,最大頻率分量的頻率為fMAX。則:T=TMAX=1/fMAX 。
2、測試結(jié)果
(1)輸入阻抗測試數(shù)據(jù)
測得R=49.5Ω。
(2)功率測量結(jié)果
電壓峰-峰值 |
頻率 |
測量功率 |
實(shí)際功率 |
誤差 |
2V |
100Hz |
0.03994W |
0.04W |
0.15% |
2V |
500Hz |
0.03912W |
0.04W |
2.2% |
2V |
1KHz |
0.03887W |
0.04W |
2.8% |
2V |
10KHz |
0.03812W |
0.04W |
4.7% |
1V |
800Hz |
0.00965W |
0.01W |
3.5% |
3V |
800Hz |
0.08976W |
0.09W |
0.3% |
3、結(jié)果分析
? 由表(1)知系統(tǒng)在頻率較低,電壓值大時(shí)時(shí)測量的準(zhǔn)確度高。題目要求的基礎(chǔ)部分都完全達(dá)到要求。
發(fā)揮部分,頻率分辨力的大小直接影響信號(hào)分析的靈敏度。頻率分辨力越小,信號(hào)的動(dòng)態(tài)測量范圍越大,輸入信號(hào)周期T越精確。
評(píng)論