惠亮 於二軍 閆穩



摘 要:本文基于數字信號處理的理論,提出了一種全新的頻率信號采集方法。把頻率信號看作普通的模擬量信號,利用傳統的模擬量采集接口對頻率信號進行高速采集,采用FFT算法對采樣得到的數據進行計算,提取出頻譜中幅值最大的下標,從而得到輸入信號的頻率值。經工程實踐證明,該設計方案可行,采集準確。
關鍵詞:頻率采集;數字信號處理;快速傅里葉變換
引言:傳統頻率采集接口首先將頻率信號輸入經調理電路和放大電路處理后,送至遲滯比較單元,遲滯比較單元經比較后將方波信號送入FPGA,FPGA通過記周法或者記頻法計算輸入信號的頻率,該電路設計較為復雜,抗干擾能力有限,邏輯設計較為復雜。對比分析模擬量采集接口與頻率采集接口電路組成,二者可以做到歸一化處理,將頻率信號經模數轉換后直接引入FPGA或DSP內部,通過快速傅里葉變換計算出信號頻譜,從頻譜中提取出頻率信號的頻率。歸一化設計的優點在于減少了電路接口種類,簡化了軟、硬件設計、增強了抗干擾能力,其功能框圖如圖1所示。
1 工作原理及相關概念
1.1周期信號頻譜圖的特點
周期信號如有如下特點[1]:a.離散性:每條譜線代表一個頻率分量;b.諧波性:譜線出現在基波的整數倍頻率上;c.收斂性:諧波次數越高,諧波分量越小。
周期信號傅里技術展開如式1所示。
1.2計算機系統對信號的處理
用計算機進行測試信號處理時,不可能對無限長的信號進行測量和運算,而是取其有限的時間片段進行分析,這個過程成為信號截斷。為便于數學處理,對截斷信號做周期延拓,得到虛擬無限長信號。
1.2.1截斷信號的能量泄露
從數學角度看,信號截斷相當于用一個矩形窗與正弦函數相乘,按傅里葉變換性質,是與相乘等價于頻域卷積[2]。而正弦信號的譜是脈沖信號,因此,截斷信號的譜就是將矩形窗的譜搬移到脈沖的位置。周期信號延拓后的信號與真實信號是不同的,接頭處信號會有跳變,產生了能量泄露。
1.2.2柵欄效應
為提高效率,通常采用FFT算法計算信號頻譜,設采樣頻率為Fs,采樣數據點數為N,則信號的截斷周期和基頻為:,。FFT計算的各傅里葉級數的頻率位置為:
如果信號的頻率分量與頻率取樣點不重合,則只能取相鄰頻率取樣點譜線值代替,這稱為柵欄效應[3]。實際中,由于信號截斷的原因,產生了能量泄露,即使信號頻率與頻譜離散采樣點不相等,也能得到該頻率分量的一個近似值。從這個意義上說,能量泄露誤差不完全是有害的。如果沒有信號截斷產生的能量泄露,頻譜離散取樣造成的柵欄效應誤差將是不能接受的。
1.2.3快速傅里葉變換
快速傅里葉變換(Fast Fourier Transform,FFT)是離散傅里葉變換(Discrete Fourier Transform,DFT)的一種有效算法,通過選擇和排列中間結果,可有效減小運算量,其結果與DFT時相同的。以1024采樣點為例,DFT要求一百萬次以上計算量,而FFT則只需要一萬次。
對A/D采樣后的數字信號,無法給出函數表達式。因此,也很難推導出其傅里葉級數展開式,但可以用數字積分方法求出傅里葉級數。
2 設計驗證
2.1驗證平臺及方案
本文采用基于ARM CortexM4內核的STM32F407開發板進行驗證。ADC1_Ch5以2667.683Hz的采樣頻率對外部正弦信號進行采樣,共采樣4096個點,并通過DMA2_Stream0_Ch0將數據存儲在內存中。當采樣點數滿足4096時,DMA觸發中斷,并在中斷中激活FFT計算任務。在任務層面,采用基4的FFT算法對采樣得到的數據進行計算,并求出頻譜中幅值最大的下標,從而計算出外部信號的頻率值。
2.2軟件設計
在主程序中,ADC以2667Hz的采樣速率采集輸入信號,每次轉換結束都會生成一次DMA請求,DMA會自動將ADC轉換的結果存儲在預先設置好的片內RAM數組中。DMA的數據傳輸不需要主CPU干預,而且在數據傳輸的同時,ADC可以并行轉換下一個采樣點。4096點的FFT的運算需要較多的CPU算力,會消耗較長的時間,因此,對采樣所得的數據進行FFT運算不適合放在中斷函數中進行,需放在主任務函數中執行。當DMA傳輸4096個采集數據后,會觸發一次CPU中斷,在中斷函數對一個全局變量做標志,使能主任務函數中的FFT計算。
2.3驗證結果
設置APB2的時鐘為10.5Mhz,ADC_CLK的時鐘為1312500Hz,采樣保持480,采樣頻率2667.68,采樣點4096個,數字基頻為0.6513Hz[4]。
測試數據如表1所示。
結論
本文充分利用了嵌入式系統中廣泛存在的傳統模擬量接口電路,把頻率信號當做普通模擬量信號,對其進行高速采樣。基于數字信號處理的理論,采用FFT算法對采樣數據進行計算,得到信號頻譜,通過對頻譜的分析最終得到輸入信號的頻率。該設計在保持硬件不變的前提下,實現了一種全新的頻率信號采集方法,具有較好的應用價值。經工程實踐證明,該設計方案可行,采集準確。
參考文獻:
[1]程佩青. 數字信號處理教程[M],第五版,北京:清華大學出版社,2017。
[2]劉樹棠. 信號與系統[M],第二版,北京:電子工業出版社。
[3]Alan V. Oppenheim, Ronald W. Schafer. 離散時間信號處理[M],第三版,北京:電子工業出版社,2019。
[4]ST.? STM32F4xxx中文參考手冊,4版。
作者簡介:
惠亮(1988.04-),男,漢族,陜西榆林人,本科,工程師,航空工業西安計算技術研究所,研究方向:機載機電系統設計。
(航空工業西安航空計算技術研究所,陜西 西安 710065)