FIR濾波在汽車動(dòng)態(tài)軸組計(jì)量信號(hào)處理中的應(yīng)用
為了提高軸組式動(dòng)態(tài)稱重系統(tǒng)的精度和穩(wěn)定性,需要采用FIR(finite impulse response)濾波處理方 法,過濾高頻干擾。通過Matlab仿真,設(shè)計(jì)了 FIR低通濾波器。同時(shí)為了保證動(dòng)態(tài)稱重良好的實(shí)時(shí)性, 選擇了功能強(qiáng)大的STM32F407微控制器芯片,實(shí)現(xiàn)了 FIR濾波算法。STM32F407微控制器芯片主頻高 達(dá)168 MHz,且內(nèi)部集成了單周期的DSP指令集和浮點(diǎn)運(yùn)算單位(FPU,float point unit),可以輕松實(shí)現(xiàn) FIR濾波算法。最后,將該FIR濾波算法應(yīng)用于軸組式動(dòng)態(tài)稱重系統(tǒng),并進(jìn)行了相關(guān)實(shí)驗(yàn)驗(yàn)證。實(shí)驗(yàn)結(jié) 果表明:采用FIR濾波后,對(duì)系統(tǒng)中由汽車振動(dòng)、稱體晃動(dòng)等因素引入的干擾信號(hào)有明顯的濾除作用,稱 重精度和穩(wěn)定性均有所提高。
目前,國內(nèi)外動(dòng)態(tài)汽車衡按計(jì)量方式主要分為整 車稱量和軸稱量,軸稱量又分為軸組稱量和單軸稱 量,即軸重儀,本文是基于軸組稱量的研究。目前很多 軸組稱重儀表,主要信號(hào)處理方法是截?cái)?/span>A/d采集信 號(hào)的前端和后端部分?jǐn)?shù)據(jù),然后對(duì)剩下數(shù)據(jù)求取算術(shù) 平均值w,但是在稱重信號(hào)混人了由于汽車振動(dòng)、稱 體晃動(dòng)、汽車加減速、路面不平整等原因帶來的干擾信 號(hào),采集波形會(huì)發(fā)生很大變化,精度也會(huì)下降。
為了解決這個(gè)問題,引人FIR低通濾波,盡可能排除高 頻干擾信號(hào),保證測量精度,甚至提髙測量精度。
1.FIR濾波器
1.1基本原理
相對(duì)于IIR數(shù)字濾波器,FIR濾波器有以下幾個(gè) 優(yōu)勢: ①嚴(yán)格的線性相位特性,使得信號(hào)在傳輸過程中 不會(huì)產(chǎn)生相位失真;
②FIR濾波器系統(tǒng)函數(shù)的所有極點(diǎn)全部位于原 點(diǎn),因而FIR濾波器永遠(yuǎn)是穩(wěn)定的;
③FIR濾波器還可以用FFT來實(shí)現(xiàn),可以大大提高波器的運(yùn)算效率。
FIR濾波器的系統(tǒng)函數(shù)為
式(5)對(duì)應(yīng)式(3)為第一線性相位濾波器,式(6) 對(duì)應(yīng)式(4)為第二線性相位濾波器。
1.2設(shè)計(jì)方法
用窗函數(shù)法來設(shè)計(jì)FIR低通濾波器,常見的窗函 數(shù)[7]有矩形窗、漢寧(Hanning)窗、哈明(Hamming) 窗、凱澤(Kaiser)窗、布萊克曼(Blackman)窗。選擇凱 澤窗,因?yàn)樗且环N適應(yīng)性較強(qiáng)的窗函數(shù),可以調(diào)節(jié)主 瓣和最大旁瓣的寬度比值,最小阻帶衰減較大,過渡帶 較陡,比較適合對(duì)A/D采樣信號(hào)進(jìn)行濾波m,其定義 表達(dá)式為
2.基于STM32F4xx系列微控制器的 FIR濾波器的實(shí)現(xiàn)原理
對(duì)于數(shù)字信號(hào)處理,常用的處理器是DSP和FP- GA,前者適合串行濾波結(jié)構(gòu),后者適合并行濾波結(jié)構(gòu), 雖然兩者的處理運(yùn)算能力很強(qiáng),但是價(jià)格相對(duì)較貴,而 常用的單片機(jī)沒有硬件乘法器,要想實(shí)現(xiàn)濾波,必然占 用大量CPU的時(shí)間,ST公司推出的STM32F4xx系列 微控制器,是基于ARM cortex-M4內(nèi)核的高性能微處 理器,主頻達(dá)到180 MHz,相比現(xiàn)在很多的稱重儀表使 用的STM32F1XX系列微控制器的72 MHz主頻提升了 很多。特別值得提出的是,STM32F4xx系列微控制器 集成了單周期的DSP指令集和浮點(diǎn)運(yùn)算單位(FPU, float point unit),結(jié)合ST公司專門為STM32微控制器 開發(fā)的DSP庫函數(shù),可以輕松而且快速地實(shí)現(xiàn)常規(guī)濾 波算法,具有較低的成本和低功耗優(yōu)勢,因此, STM32F4XX系列微控制器,更加適合軸組稱重儀表中 對(duì)濾波的處理。
庫函數(shù)中,實(shí)現(xiàn)FIR濾波的函數(shù),有arm_fir_q7、 arm_fir_ql5、arm_fir_q31、arm_fir_f32,前 3 個(gè)是針對(duì)定 點(diǎn)數(shù)的處理,最后一個(gè)是針對(duì)浮點(diǎn)數(shù)的FIR濾波器,選 擇浮點(diǎn)數(shù)FIR濾波器,其參數(shù)含義如表1所示。
在實(shí)際測試中發(fā)現(xiàn),汽車的動(dòng)態(tài)稱重信號(hào)頻率一般小 于200 Hz,大于200 Hz的信號(hào)一般是來源于汽車振 動(dòng)、路面不平整等因素帶來的外界干擾,因此設(shè)計(jì)一個(gè) FIR低通濾波器盡可能濾除掉超過200 Hz的干擾信號(hào)。DSP庫函數(shù)中的arm_fir_f32函數(shù),并不能直接實(shí) 現(xiàn)濾波,它的第一個(gè)輸入?yún)?shù),即濾波相關(guān)的系數(shù)需要 通過Matlab仿真得到,所以利用Matlab設(shè)計(jì)一個(gè)FIR 低通濾波器,得到所有濾波系數(shù)。
3.將FIR濾波器用于動(dòng)態(tài)軸組地磅
3.1動(dòng)態(tài)稱重的實(shí)時(shí)性驗(yàn)證
由于動(dòng)態(tài)稱重需要較高的實(shí)時(shí)性,而FIR濾波算 法相對(duì)復(fù)雜,運(yùn)算量大,保證稱重信號(hào)的實(shí)時(shí)性,是將 FIR濾波器應(yīng)用于動(dòng)態(tài)軸組汽車衡的關(guān)鍵。因此需要 對(duì)濾波函數(shù)arm_fir_f32的進(jìn)行時(shí)間測試,測試結(jié)果如 表2所示。
從表2可以看出,FIR濾波算法的運(yùn)算時(shí)間,在濾 波階數(shù)為80,輸入1024個(gè)點(diǎn)數(shù)據(jù)的情況下,濾波時(shí)間 僅為1.4 ms,如果選用性能更優(yōu)越的STM32F4xx系列 的微控制器,主頻可以達(dá)到更高,如STM32F429的主 頻是180 MHz,高出用于測試的STM32F407(主頻168 MHz),完全滿足動(dòng)態(tài)稱重的實(shí)時(shí)性。
相較開啟FPU的情況,STM32F407在沒有開啟 FPU的情況下,測試的時(shí)間增加了兩倍多,而 STM32F103的測試時(shí)間增加了 8 ~ 10倍。顯然后面兩 種情況都不能滿足動(dòng)態(tài)稱重的實(shí)時(shí)性要求,而且以上 結(jié)論進(jìn)一步驗(yàn)證了 STM32F407微控制器在主頻和集 成FPU等方面的硬件優(yōu)勢,這樣的優(yōu)勢在處理濾波等 方面,STM32H03是無法達(dá)到的。
3.2實(shí)驗(yàn)結(jié)果
實(shí)驗(yàn)用一輛三軸車(加載砝碼)進(jìn)行驗(yàn)證,在靜態(tài) 情況下,稱得前軸重量為6280 kg,后兩個(gè)軸一起稱量, 重量為13250 kg,靜態(tài)整車重量為19530 kg,分別讓汽 車在不同速度下(勻速或者變速)經(jīng)過稱臺(tái),所得實(shí)驗(yàn)結(jié)果如表3所示。
從表3可以看出,經(jīng)過FIR濾波之后的動(dòng)態(tài)軸組 地磅的整車誤差基本都在以內(nèi),精度相對(duì)沒有 經(jīng)過FIR濾波的動(dòng)態(tài)軸組汽車衡有所提升;值得注意 的是在加減速的情況下,濾波前稱重精度有所下降,特 別是汽車快速變速的情況下,稱重精度超過了 1%,而 濾波后的稱重精度仍然都保持在4%以內(nèi),說明FIR 濾波的作用是有效的。
4.結(jié)束語
本文基于STM32F407微控制器,再利用Matlab仿 真,設(shè)計(jì)并實(shí)現(xiàn)了 FIR低通濾波器,進(jìn)而將其應(yīng)用于軸 組稱重儀表進(jìn)行動(dòng)態(tài)稱重。實(shí)驗(yàn)結(jié)果說明在稱重信號(hào) 中混入干擾信號(hào)的情況下,進(jìn)行FIR濾波,不僅保證精 度的穩(wěn)定性,還能進(jìn)一步提高精度。