毛麗民 朱培逸常熟理工學院自動化系 215500
基于MATLAB與FPGA的動態補償濾波器設計
毛麗民 朱培逸
常熟理工學院自動化系 215500
隨著對測量系統性能要求的進一步提高和一些特殊領域應用的需要,人們希望傳感器的動態特性能夠迅速反映被測對象的變化。作為測試系統的關鍵環節——傳感器,它的特性研究一直為人們所關注。然而,許多傳感器的動態性不能滿足這個要求,測量時將會導致動態誤差。因此,如何減小動態誤差,獲取準確、可靠的被測信號,是動態測量需解決的重要問題之一。本文通過設計補償濾波器,擴展了傳感器的帶寬,傳感器的動態特性得到了明顯改善。
針對壓力傳感器的動態校準實驗中所測數據,建立了該傳感器的動態數學模型。圖1是激波管動態校準中,壓力傳感器的實測響應曲線,橫坐標為采樣點,采樣頻率為4MHz。

圖1 傳感器動態校準效果
為了提高辨識的精度,對數據進行預處理,消除觀測數據中的趨勢項,對輸入輸出數據進行濾波,剔除數據中的高頻成分,并截取其中的800個數據用于辨識。響應曲線如圖2所示

圖2 數據預處理后的響應曲線
由高斯—牛頓法得到如圖3的響應曲線:

圖3 傳感器的階躍響應
高斯—牛頓法的基本思想是把非線性模型在未知參數初值處進行線性化,按最小二乘準則平差估計出一次近似值 ,然后以該近似值作為下一次線性化的初值,反復迭代計算逐次逼近真正的極小點。
上述圖中實線為數據處理結果,虛線為模型仿真結果得到傳遞函數為:

設傳感器三階模型為

對于三階模型不能同時替換零極點,否則,等效系統的階數較高,且無法實現。設計補償環節為

此時,等效系統為

對Hb(S)進行變換,得


采用雙線性變換,得


傳感器階越響應和加補償環節后的響應曲線如圖4所示。

圖4 零極點配置法設計補償器的效果
圖4 中的曲線1為補償前的階躍響應;曲線2為補償后的階躍響應;

圖5 補償前后的幅頻響應
圖5 中的曲線1為補償前的階躍響應;曲線2為補償后的階躍響應;
經過補償,擴展了傳感器的帶寬,傳感器的動態特性得到了明顯改善。用零極點配置法設計補償數字濾波器,其特點是:
(1)零極點配置法設計補償環節,要依據傳感器的模型。所以對建模精度有一定要求。但并不嚴格。由于人為控制極點,補償效果比較明顯。
(2)對于高階系統,采用降階的方法去近似處理以及用低階補償環節去校正。
采用動態補償技術可以任意展寬系統的工作頻帶,但實際實施動態補償時,不可能無限制的展寬系統頻帶,因為無限展寬頻帶會導致高頻噪聲的放大,甚至淹沒用的信號,使得測量無法進行。頻率展寬范圍為傳感器帶寬的2~10倍為佳。
目前 ,現場可編程門陣列 FPGA在前端數字信號處理中正越來越多的取代ASIC和 DSP。與 DSP和 ASIC相比 , FPGA有更高的吞吐量、位級的可編程能力、開發的周期短和風險小等等優點。尤其是0nm技術在 FPGA 中的引入 ,使FPGA在電路集成數量和工作的頻率上取得了飛躍的發展,使許多復雜的算法、片上系統得以實現。
DSP Builder 是Altera 推出的一個DSP開發工具, 它在QuartusⅡ FPGA 設計環境中集成了Mathworks的Matlab 和Simulink DSP 開發軟。DSP Builder是一種基于Simulink 的FPGA 設計工具,它加速了用FPGA實現DSP的開發流程,實現了Simulink系統仿真模型到FPGA實現代碼之間的無縫鏈接。
對DSP Builder而言, 頂層的開發工具是Matlab/Simulink, 整個開發流層幾乎可以在同一環境中完成,真正實現了自頂向下的設計流程, 包括DSP 系統的建模、系統級仿真、設計模型向VHDL 硬件描述語言代碼的轉換、R T L(邏輯綜合Register TransferLevel)級功能仿真測試、編譯適配和布局布線、時序實時仿真直至對DSP 目標器件的編程配置。整個設計流程一氣呵成地將系統描述和硬件實現有機地融為一體, 充分顯示了現代電子設計自動化開發的特點與優勢。
在MATLAB/Simulink 中建立一個*.mdl模型文件,用圖形方式調用Altera DSP Builder和其它Simulink庫中的圖形模塊進行設計輸入,構成系統級或算法級設計框圖。
如圖6所示,使用DSP Builder提供的模塊搭建IIR濾波器模型


圖6 三階IIR濾波器結構
雙擊Signal Compiler 模塊, 出現初始化對話框。如果需要對模型圖進行更新, 可復選上“UpdateDiagram”。如果模型沒被修改過并且在上一次生成代碼時已經對模型進行過分析,可點擊“S k i p A n a l y z e”略過分析,否則點擊“Analyze”對模塊進行分析。
在QuartusII環境中打開DSP Builder建立的QuartusII 項目文件fir1.qpf。在QuartusII 中指定器件引腳并進行編譯, 最后下載到FPGA 器件中, 就可以對硬件進行測試, 加上CLCOK 信號和使能信號, 用信號發生器產生所要求的兩個不同頻率的正弦信號, 就可以在示波器上看到濾波以后的結果。需要設計不同的濾波電路時,僅修改IIR 濾波模型文件就可以實現, 這樣不僅避免了繁瑣的VHDL 語言編程, 而且便于進行調整。
本文采用辨識建模、動態補償和FPGA實現相結合的研究方法,建立了壓力傳感器的動態數學模型,并由此分析了傳感器的動態特性,設計出相應的動態補償數字濾波器以改善傳感器的動態特性,擴展其工作頻帶,以滿足壓力傳感器用于測試的要求。利用Altera DSP Builder 從Simulink 模型自動生成FPGA實現代碼的設計流程,縮短了設計周期, 提高了設計的靈活性。
[1] 黃俊欽.測試系統動力學[M].北京:國防工業出版社.1996
[2] 陳錦榮,卜雄沫.應變式壓力傳感器特性補償和應用[J].兵工學報.20069(1):81~85
[3] 徐科軍,唐霆.傳感器零極點相消動態補償法[J].科學通報.2004, 39 (9):682-686
[4] 徐科軍.傳感器動態特性的實用研究方法[M].合肥:中國科學技術大學出版社.2006.
[5] 潘松,黃繼業,王國棟.現代DSP技術[M].西安:西安電子科技大學出版社.2004.
Dynamic compensation of the digital filter design based on MATLA B and FPGA
Mao Limin Zhu Peiyi (Changshu Institute of Technology , automation, Changshu,215500)
本文以壓力的測試為背景,圍繞壓力傳感器的動態特性研究及補償這一主題,運用辨識建模和動態補償技術,并進行了實驗研究和計算機仿真研究,根據測得的實驗數據建立了傳感器的動態數學模型,在此基礎上分析了壓力傳感器的動態特性,設計了動態補償數字濾波器,明顯提高了壓力傳感器動態響應的快速性和展寬了工作頻帶。最后本文運用了DSP Builder提供的模塊搭建IIR濾波器模型,生成VHDL語言,下載到FPGA中,較好的實現了動態補償數字濾波器。
壓力傳感器;建模;動態補償;FPGA
Against the background of pressure measurement of the muzzle shock wave, the research work about technology of dynamic modeling and compensation, correlatively to the topic of the dynamic characteristics and its improvement of pressure sensors, is described in detail.It includes experimental research and simulation research.Using sensor's dynamic calibrated data, its dynamic mathematical model is established and according to the model, its dynamic performance is obtained and a dynamic compensated digital filter is designed, which shortens the dynamic response time of pressure sensor and widens the work bandwidth evidently.In addition, the compensating results of the dynamic calibration test and simulation shock wave are given.Finally, FPGA better implement the dynamic compensation digital filter.
Pressure sensor;Modeling;Dynamic Compensation;Digital Simulation;FPGA
10.3969/j.issn.1001-8972.2010.10.060
毛麗民(1981-) 常熟理工學院,助教,碩士;
朱培逸(1980-)常熟理工學院,助教,碩士。