超聲波液位計基于DSP的探討 二十八
5.2.2FIR濾波器設計
上面敘述了FIR濾波器的相關結構,本文借助MATLAB的輔助工具FDATOOL設計一個Equiripple型FIR濾波器,將其系數導出,添加到DSP的工程之中,作為一個數組的方式在DSP中與用戶數據進行卷積。
MATLAB為開發者提供了一個綜合性的數字濾波器設計工具FDATOOL濾波器設計分析工具,通過設定FDATOOL的圖形界面中的各項參數即可以得到理想的數字濾波器的系數以及幅頻響應。
由于本課題的超聲波回波頻率為40KHz,設計的數字濾波器參數如下所示:(1)濾波器類型為中心頻率40KHz的帶通濾波器;(2)FIR濾波器的階數為33階;(3)Fstopl:20KHz;Fpassl:35KHz;Fpass2:45KHz;Fstoop2:60KHz;(4)阻帶衰減為一80dB。同理設計低通濾波器用于求取超聲波回波信號的包絡波形。設計的帶通以及低通濾波器幅頻特性如圖5.8以及5.9所示,將使用數據采集卡(采樣頻率為400KHz)采集到的數據在MATLAB中進行處理以后的效果。
本文設計的濾波器系數一共有68位,假設FIR濾波器的系數h,在DSP的程序設計過程中,將系數中的每一位與得到的數字化超聲波回波信號進行相乘并相加。
程序中,X代表攜帶超聲波回波的數字信號首地址,h代表本節設計的FIR濾波器系數所在的首地址,Y代表濾波后輸出數據的地址,nh代表濾波器系數的個數,ny代表輸出數據個數。從圖中程序可以看出,該程序使用了兩層循環,碰到的問題和互相關運算一樣,在數據量非常龐大的情況下,DSP無法實現實時運算。
本質上,FIR濾波器也是兩個數據進行卷積運算,也可以通過討論互相關運算時候的方法解決。
5.DSP的算法設計
通過上述處理以后得到的兩個波形均存儲在DSP的存儲器SDRAM中,在求取液位過程中均會使用。
5.3本章小結
本章主要介紹了本課題中的DSP軟件部分使用到的互相關算法以及MATLAB中設計的FIR濾波器的DSP實現,結合本課題中數據量過大的特點,提出了使用FFT來實現數字信號處理中的卷積運算的方法。在減少運算量以及提高DSP的算法實時性方面做了非常大的改善。
詳情請瀏覽公司網站的產品中心 http://m.sol365.cn/ 超聲波液位計
超聲波流量計