宋卓達, 王志乾, 李建榮, 沈鋮武, 劉紹錦
(1.中國科學院 長春光學精密機械與物理研究所,吉林 長春130033;2.中國科學院大學,北京100049)
在高速旋轉部件的性能測試、強度及疲勞試驗過程中,通常采用應變測量技術,實時采集旋轉部件載荷的應變信號,進行分析和處理,為旋轉部件的結構設計提供理論分析數據[1]。在應變信號采集的過程中,應變電橋的輸出電壓信號的變化十分微小,達到μV級。為獲得高質量的低頻電壓信號,本文采用一種基于FPGA的FIR數字濾波器進行信號處理,在高轉速、氣動性復雜、震動環境惡劣的情況下,提高所采集應變信號的精度。采用軟硬件協同設計技術,利用FPGA定制IP,每一個模塊都能單獨完成,又能輕松整合在一起形成一個系統[2]。
FIR濾波器的實質是將輸入的連續時間信號按照設定的算法轉換成離散時間信號的濾波裝置[3],而FPGA內含豐富的IP核和LUT表結構,能夠完整地將FIR數字濾波器移植到FPGA上,并且可以根據實際需求在線修改濾波器的參數,大幅縮減了產品的設計周期,并增強應變信號采集系統本身的集成度和靈活性。
利用可編程邏輯器件和EDA技術實現FIR數字濾波器是現代嵌入式系統信號處理環節普遍采用的手段[4],隨著FPGA邏輯單元數量和集成度不斷提高,可在 FPGA 上實現FIR數字濾波器的算法復雜程度、量化系數位寬、階數等也隨之提高,具有可觀的發展前景。
應變信號采集系統的總體框架如圖1所示,整個系統分為模擬部分和數字部分。

圖1 應變信號采集系統流程框圖Fig.1 Block diagram of strain signal acquisition system
其中模擬部分有4個應變信號采集通道,每個采集通道包含對應變電橋的模擬信號進行預放大、調理和A/D采集,數字信號部分包括對模擬板前端電壓信號偏移量修正和溫度補償控制、程控自動增益、A/D采集的讀寫控制和接收經過A/D采集后的信號,并對其進行緩存和處理[5]。最后將信號通過UART串行總線傳輸至PC端顯示[6]。
FIR數字濾波器為單位脈沖響應有限長序列[7],是非遞歸性線性時不變因果系統,對于N階FIR濾波器輸入時間序列x(n)的輸出表達式為:

(1)
系統傳遞函數可表示為:

(2)
式中:h(n)為濾波器第級n抽頭系數,x(n-i)為延時i個抽頭輸入。
FIR濾波器按構成形式主要有直接型、級聯型、線性相位FIR濾波器等[8]。其中直接型結構如圖2所示,該結構需要N個乘法器,每次采樣y(n)都需要進行n次乘法和n-1次加法實現乘累加之和[9]。

圖2 直接型FIR濾波器網絡結構Fig.2 Network structure of direct FIR filter
對于線性相位FIR濾波器,其單位響應是對稱或反對稱的,即h(n) = ±h(N-1-n),利用其對稱性可以簡化網絡結構,當h(n)為偶對稱且N為偶數時:

(3)
其線性網絡結構如圖3所示,僅需要N/2個乘法器。FIR濾波器實際上是一個分節的延時線,把每一節的輸出加權累加得到濾波器的輸出[10]。本設計采用線性相位FIR數字濾波器。

圖3 FIR濾波器線性相位網絡結構Fig.3 Linear phase network structure of FIR filter
FIR數字濾波器設計流程如圖4所示,整個FIR數字濾波器的設計可以分為濾波器系數設計和濾波器在FPGA上實現兩個部分。利用Matlab軟件設計出FIR數字濾波器各級抽頭系數,并將FIR數字濾波器的功能移植到FPGA上。

圖4 FIR濾波器設計流程圖Fig.4 Flow chart of FIR filter design
通過使用Matalb中FDA Tool工具箱設計出一個15階低通線性相位FIR數字濾波器,其采樣頻率為20 kHz,截止頻率為3 kHz,長度為16位,并采用布萊克曼窗實現,將濾波器浮點系數量化為12位。運行所編輯的濾波器,并將量化后的濾波器系數寫入FIRCOE.TXT文件中。濾波器設計界面如圖5所示。

圖5 FDAtool濾波器設計界面Fig.5 Design interface of FDATool filter
將Simulink中正弦波信號產生模塊sine wave、高斯白噪聲模塊AWGN通過多信號疊加模塊add生成一個采樣頻率為20 kHz的信號干擾源,并生成12位量化系數,再與2 kHz和8 kHz的正弦波信號合成作為FPGA的輸入信號。信號發生模塊如圖6所示。

圖6 合成信號發生模塊Fig.6 Schematic diagram of synthetic signal generating module
進入QuartusⅡ IP核設置界面,設計一個15階低通線性濾波器,將4.2中的FIRCOE系數文件導入到Coefficient set中[11],配置好濾波器各項參數,生成FIR數字濾波器模塊,并將其實例化引用。數字濾波器RTL級原理如圖7所示,其中ast _sink_ data[11..0]和ast_ source _data[25..0]分別為信號輸入端口和數據輸出端口。整個模塊只占用2 199個邏輯元,占用率不到10%。

圖7 數字濾波器RTL級原理圖Fig.7 RTL level schematic diagram of digital filter
搭建FPGA與Simulink聯合實時環路平臺,在Simulink創建測試模塊,通過測試模塊產生信號,再傳送到FPGA,FPGA將信號處理后返回Simulink顯示[12]。首先在Simulink中創建用戶板卡,配制板卡上FPGA芯片信息,本設計FPGA采用的是CycloneⅣ系列EP4CE6E22C8N。然后采用JTAG連接方式,設置JTAG接口類型、時鐘信號頻率、引腳號、時鐘類型、復位信號引腳、復位電平等信息,并將配置的信息保存在logic_board.xml文件中。創建Simulink模型,將配置好的logic board.xml文件導入,加載RTL文件即Verilog代碼文件,并將其設置為頂層文件,自動配置IO口,將數據傳送到Simulink中。仿真結果如圖8、圖9所示。

圖8 合成信號濾波前(a)后(b)時域波形圖Fig.8 Time domain waveform before (a) and after (b) filtering of synthetic signal

(a)濾波前合成信號頻域波形(a) Frequency domain waveform of synthesized signal before filtering

(b)濾波后合成信號頻域波形(b) Frequency domain waveform of filtered synthetic signal圖9 合成信號濾波前后頻域波形圖Fig.9 Frequency domain waveform before and after filtering of synthetic signal
由圖8、圖9可知,濾波后的合成信號在時域和頻域上趨于緩和,毛刺噪聲已經濾除,并且同時濾除了8 kHz高頻信號分量,濾波后的信號已形成規則平滑的頻率為2 kHz的單頻正弦信號,因此,FIR線性相位低通濾波功能在FPGA上已經實現。
將應變信號采集系統的4個應變采集通道分別對高速旋轉部件的4個點進行應變測量,并且通過串口將FIR數字濾波前后量化結果的文本文件導入Matlab中,進行數據處理,得到FIR數字濾波前后的均方差,如表1所示。

表1 FIR數字濾波前后均方差Tab.1 Mean square deviation before and after FIR digital filtering
由表1FIR數字濾波前后量化信號均方差的對比可知,經過FIR數字濾波器后,信號的均方差大幅度下降,4個通道的采集信號均方差平均下降28.5%,具有良好的濾波效果。
為了能夠將4個應變采集通道中的最終采樣結果通過串口在PC端實時顯示,使用Matlab中GUI工具箱設計出顯示界面,并且通過式(4)將采樣結果轉化為對應的電壓值。
(4)
式中:Vref為ADC參考電壓、GND為輸出結果為0時的最低電壓,ADCReselt為采樣結果,N為ADC位數。同時根據式(5),在全橋測量的情況下將電壓轉換成相應的應變量。
Uo=EKε
(5)
式中:E為電橋電壓,K為應變靈敏系數,ε為應變量。顯示界面如圖10所示。

圖10 界面顯示Fig.10 Interface display
本文針對應變信號采集系統提出一種基于FPGA的FIR線性相位低通數字濾波器方案,構建了數字濾波器設計與仿真體系,最終在FPGA上實現,而且仿真系統可以任意改變合成信號的類型、數字濾波器的種類和各項參數,相比傳統的通過編寫testbentch腳本仿真文件導入Modelsim來實現仿真結果,簡化了復雜的仿真步驟,不需要在FPGA上增添信號發生模塊,同時保證了實驗可靠性。通過高速旋轉部件的多次應變測量,結果表明數字濾波前后量化信號的均方差下降28.5%,具有良好的濾波效果。增加顯示界面,便于觀察采樣結果的動態變化。
對于接觸式應變信號采集系統而言,將整個FIR數字濾波器的功能移植在FPGA上,增強功能的同時,系統的體積、質量、電路復雜程度均不受影響,從而不會影響直升機在飛行測試中旋翼系統的動態平衡。