基于MSP430F1611單片機(jī)的音頻信號(hào)分析
3 系統(tǒng)軟件設(shè)計(jì)
3.1 嵌入式系統(tǒng)設(shè)計(jì)
本設(shè)計(jì)在MSP430F1611單片機(jī)中嵌入了μC/OS-Ⅱ操作系統(tǒng),可以很方便地實(shí)現(xiàn)多任務(wù)的調(diào)度與協(xié)調(diào),極大地節(jié)約了軟件開(kāi)發(fā)時(shí)間和減少了出錯(cuò)幾率。系統(tǒng)的軟件流程圖如下:圖4為FFT的軟件流程圖,圖5為負(fù)責(zé)信號(hào)采集并進(jìn)行FFT計(jì)算的從機(jī)MSP430F1611的流程圖,圖6為負(fù)責(zé)外設(shè)信號(hào)分析的主機(jī)MSP430F1611的流程圖。本文引用地址:http://m.butianyuan.cn/article/172826.htm
3.2 FFT算法的具體設(shè)計(jì)
3.2.1 FFT點(diǎn)數(shù)與采樣頻率的分析
本系統(tǒng)應(yīng)用基2的傅里葉變換進(jìn)行計(jì)算,考慮到使用的16位MSP430F1611單片機(jī)的RAM存儲(chǔ)空間為10 k,由于經(jīng)過(guò)FFT計(jì)算后譜線(xiàn)的幅值關(guān)于中心對(duì)稱(chēng),為了節(jié)省硬件資源,將FFT計(jì)算后的2048個(gè)點(diǎn)舍去,故可節(jié)省一半的資源,由于2 048x16 bitx2=8.192 k,故最大取N=4 096個(gè)點(diǎn)作FFT。本系統(tǒng)將頻率分辨力設(shè)定為20 Hz,如果取采樣頻率fs=40kHz,那么此FFT的頻率分辨力△f=fs/N=10 Hz。但在實(shí)際情況下,由于FFT只能分析有限個(gè)點(diǎn),必須對(duì)連續(xù)時(shí)間的信號(hào)進(jìn)行截?cái)啵喈?dāng)于在時(shí)域信號(hào)加了一個(gè)窗,使信號(hào)頻譜向兩邊擴(kuò)散產(chǎn)生頻譜泄漏效應(yīng);再加上FFT的頻率分辨力有限,使信號(hào)頻譜不能完全與FFT的譜線(xiàn)重合,從而產(chǎn)生柵欄效應(yīng),這兩種效應(yīng)使分析出來(lái)的譜線(xiàn)擴(kuò)散分布;對(duì)兩個(gè)相距只有20 Hz的信號(hào),所以可采取提高FFT的頻率分辨力△f即減小采樣頻率或提高FFT點(diǎn)數(shù),或通過(guò)加窗的方法來(lái)更精確地分析頻譜。本系統(tǒng)將所采集信號(hào)的頻率分成兩段,當(dāng)信號(hào)頻率較高時(shí),可利用fs=40 kHz的采樣頻率采樣,當(dāng)所采集信號(hào)的頻率較低時(shí),通過(guò)輸入裝置改變采樣頻率至fs=20kHz,這樣FFT的采樣頻率甚至可提高到△f=fs/N=5 Hz,通過(guò)此方法可提高整體系統(tǒng)的頻率分辨力,而分析FFT的點(diǎn)數(shù)受到硬件資源的限制,最后也可通過(guò)加窗的方法來(lái)提高分析精度。
評(píng)論