在MSP430F1611上 實現(xiàn)周期圖譜分析及校正
③為節(jié)約RAM內(nèi)存空間,將旋轉(zhuǎn)因子對應(yīng)的正余弦表制作成表格存放在ROM空間中,而蝶形運算時可通過查表得到旋轉(zhuǎn)因子后再進行FFT運算。
④由于FFT運算過程中的旋轉(zhuǎn)因子是通過左移14位取整得到的,因此蝶形運算過程中需要乘法運算結(jié)果右移14位。MSP430F1611單片機乘法器的結(jié)果寄存器,由高16位乘法結(jié)果寄存器RESFII、低16位乘法結(jié)果寄存器RESLO組成,右移14位操作就是保留高位結(jié)果寄存器所有內(nèi)容和低位結(jié)果寄存器中的高兩位,因此RESHI、RESLO一起向左移2位,然后保留高位結(jié)果寄存器作為乘法結(jié)果就可實現(xiàn)右移14位過程。本文引用地址:http://2s4d.com/article/195825.htm
5 算法測試
為了驗證算法的實時性和正確性,通過信號發(fā)生器產(chǎn)生標準信號送入所研制的基于MSP430f1611為核心的處理系統(tǒng),對算法進行了全面的測試。
(1)測試算法運行時間
測試對2 048點數(shù)據(jù)進行功率譜估計所需要的總時間。預(yù)先設(shè)置MSP430F1611單片機的P5.4引腳為普通I/O,且為輸出方式,接著,循環(huán)執(zhí)行FFT運算和功率譜估計程序,且每次開始FFT計算和功率譜估算前,將P5.4輸出電平翻轉(zhuǎn),因此P5.4輸出的相鄰兩次翻轉(zhuǎn)電平的時間間隔就是FFT運算和功率譜估計的總時間。通過數(shù)字存儲示波器觀測P5.4引腳輸出的信號波形,如圖4所示。
每次高低電平翻轉(zhuǎn)的時間間隔約為500 ms,即對2 048點數(shù)據(jù)進行功率譜估計總共需要500 ms。
(2)測試算法計算精度
由于FFT運算的最大誤差發(fā)生在非整周期采樣時,所以,選擇這些最大誤差點來進行測試。由于泄漏誤差,信號基頻表示為
f0=(k+d)fs/N (7)
式(7)中,k為整數(shù),d為小數(shù)(定義d為泄漏誤差系數(shù))。由于泄漏誤差不超過頻率分辨率的二分之一,所以|d|≤O.5。當d=O時,即為整周期采樣情況;當d=O.5時,就是最大非整周期采樣的地方。因為所研制的基于FFT的頻譜分析方法將應(yīng)用于數(shù)字渦街流量計,在此,針對氣體40口徑頻率范圍為69~1 380 Hz,設(shè)定采樣頻率為3 717.472 199 Hz,數(shù)據(jù)點數(shù)為2 048,選擇不同的k值得到不同的頻率信號,由信號發(fā)生器產(chǎn)生幅值為60 mV的這些信號,送入兩線制渦街流量計信號處理系統(tǒng)低通濾波器前端,然后經(jīng)過預(yù)放大電路和低通濾波電路后,送入MSP430F1611進行頻率估計。
評論