0 引言
在進行高沖擊信號采集試驗時,雖然在采集板中設計了硬件濾波單元,但依然存在著采集信號毛刺較多的現象,這為后續信號的識別和分析帶來了不便,因此需要采用軟件濾波的方法對信號進行再次處理。
常用的數字濾波器有IIR濾波器和FIR濾波器。從性能上看,IIR濾波器所用的系數少,可以提高運算速度,但其相位響應,特別是帶沿為非線形,穩定性不能一直得到保證。FIR數字濾波器可以得到嚴格的線性相位,但對同一幅頻特性要求,實現階數高,運算量大。因此一般的IIR和FIR數字濾波器難以做到嚴格的線性相位與小運算量兼顧,再加上采用浮點運算,影響了對信號的實時處理速度。
在對采集的沖擊信號進行軟件濾波處理時,為了加快計算速度,對濾波器的性能要求并不是很高,濾波器設計應簡單易行,因此整系數濾波器是很好的選擇。這里詳細說明了建立在極零點抵消基礎上的簡單整系數濾波器的遞歸實現方法,并在硬件自帶開發環境IAREmbedded Workbench中編寫濾波算法,將其應用在所設計的信號采集系統中,取得了較好的試驗效果。
1 建立在極零點抵消基礎上的簡單整系數濾波器
建立在極零點抵消基礎上的整系數濾波器以“梳狀濾波器”為基礎,通過設置不同的極點位置及抵消相應位置處的零點,分別設計出具有低通、高通、帶通和帶阻特性的整系數濾波器。
若一系統的傳遞函數為:
可以看出,H(z)有M個零點均勻分布在單位圓上,它的頻率響應為:
這構成了一個最簡單的“梳妝濾波器”,它由其在2π內有M個等分零點,并且幅度為梳妝而得名。
若z=1處設置一個極點,用以抵消H(z)處的零點,則系統的傳遞函數為:
當M=10時,其極一零分布以及幅頻特性分別如圖1和圖2所示。可以看出,該濾波器具有低通特性,系數為整數。
由圖2可以看出,濾波器的阻帶性能不好,這是因sin函數的較大邊瓣引起的。為了壓縮這些邊瓣,取得更好的性能,需將濾波器的傳遞函數HLP(z)取k次方,得到:
為了進行歸一化處理,需將式(5)除以N,濾波器的系數就是非整數,無法體現進行濾波器整系數的優勢。因此可以先將信號數據進行濾波,濾波后的數據再除以N,這樣既利用了整系數濾波器的良好性能,又達到了歸一化的目的。通過這種方法設計出的濾波器,性能基本可滿足要求,在設計帶通和帶阻濾波器時,頻率的選擇會受到一定限制。
2 低通數字濾波器的軟件實現
2.1 整系數低通濾波器的實現
分析所要應用的硬件電路和采集信號的參數時,結合上一節所介紹的濾波器設計方法,進行簡單整系數低通濾波器的設計。要求截止頻率fp=1 kHz,采樣頻率fs=60 kHz,通帶衰減ap=3 dB,阻帶衰減as=40 dB。由式(4)及式(5),有:
由已知條件可知,相應數字濾波器3 dB的通帶邊界頻率為:
又由于在0~2π內M個過零的點中,峰值出現在3π/M處,因此阻帶中對應as=40 dB的頻率ωs=3π/M。
由式(6)可得:
所以,k=as/13.46=40/13.46=2.971,在此取k為整數,四舍五入得到k=3。
又有:
這里取M為偶數,因此M=16。
由此可以得到所設計的低通濾波器的傳遞函數為:
對應的差分方程為:
可以得到:
為了得到所設計的低通濾波器的幅頻特性曲線,應將傳遞函數進行歸一化處理,即:
得到幅頻特性曲線如圖3所示。
2.2 巴特沃斯低通濾波器的實現
Matlab軟件提供了豐富的數字濾波函數,可模擬出數字濾波器的幅頻、相頻特性。為了對比濾波效果,在Matlab軟件中利用現有的巴特沃斯低通濾波器設計函數:
仿真出合適的巴特沃斯低通數字濾波器。式中:b,a分別代表所設計的濾波器傳遞函數中分子系數和分母系數;n為濾波器階數;ωn為歸一化采樣頻率,取值范圍為0~1。
根據已知條件:濾波器的截止頻率為1 kHz,采樣頻率為60 kHz,確定濾波器的階數為4。設計的數字濾波器頻率響應如圖4所示。
3 簡單整系數數字濾波在信號采集系統中的應用
設計的信號采集系統中中央處理器為MSP430F449超低功耗系列單片機,選用MEMS高g值加速度傳感器作為系統的信號輸入環節。采集系統硬件電路的采樣頻率為60 kHz,硬件濾波器的截止頻率為10 kHz左右,結合所需采集的沖擊信號,分析并確定軟件濾波截止頻率為1 kHz。結合前面所設計濾波器的傳遞函數,在硬件的開發環境IAR Embedded Workbench中編寫濾波算法,調試成功后,應用在信號采集系統的硬件電路中,進行測試試驗。
應用四階巴特沃斯低通濾波器和整系數數字濾波器對采集的原始沖擊信號進行濾波。濾波結果如圖5、圖6所示。從圖中可以看出,兩種濾波方法有效地對原始信號進行了平滑處理,且濾波后的曲線基本相似,保證了原有數據的真實性。但所設計的整系數濾波器,系數為整數,設計簡單,運算速度塊,同時考慮到單片機內運行定點數的計算速度要遠遠大于浮點數,且MSP430系列單片機對16位數據類型的操作效率最高,因此選用簡單整系數數字濾波器作為采集系統的軟件濾波方法,在保持原有信號性能的情況下。更能有效地提高信號采集系統的實時處理能力。
4 結語
常用的數字濾波器在運算中采用浮點運算,由高級語言實現,運算速度慢,特別對手小型儀器,無疑提高了成本。本丈在所設計的高沖擊信號采集系統中選用簡單整系數數字濾波器作為采集系統的軟件濾波方法,進行了模擬試驗,輸出數據穩定,準確可靠,實時性好,滿足了系統信號采集的濾波要求,具有一定的應用價值。