宋卓達, 王志乾, 李建榮, 沈鋮武, 劉紹錦
(1.中國科學(xué)院 長春光學(xué)精密機械與物理研究所,吉林 長春130033;2.中國科學(xué)院大學(xué),北京100049)
在高速旋轉(zhuǎn)部件的性能測試、強度及疲勞試驗過程中,通常采用應(yīng)變測量技術(shù),實時采集旋轉(zhuǎn)部件載荷的應(yīng)變信號,進行分析和處理,為旋轉(zhuǎn)部件的結(jié)構(gòu)設(shè)計提供理論分析數(shù)據(jù)[1]。在應(yīng)變信號采集的過程中,應(yīng)變電橋的輸出電壓信號的變化十分微小,達到μV級。為獲得高質(zhì)量的低頻電壓信號,本文采用一種基于FPGA的FIR數(shù)字濾波器進行信號處理,在高轉(zhuǎn)速、氣動性復(fù)雜、震動環(huán)境惡劣的情況下,提高所采集應(yīng)變信號的精度。采用軟硬件協(xié)同設(shè)計技術(shù),利用FPGA定制IP,每一個模塊都能單獨完成,又能輕松整合在一起形成一個系統(tǒng)[2]。
FIR濾波器的實質(zhì)是將輸入的連續(xù)時間信號按照設(shè)定的算法轉(zhuǎn)換成離散時間信號的濾波裝置[3],而FPGA內(nèi)含豐富的IP核和LUT表結(jié)構(gòu),能夠完整地將FIR數(shù)字濾波器移植到FPGA上,并且可以根據(jù)實際需求在線修改濾波器的參數(shù),大幅縮減了產(chǎn)品的設(shè)計周期,并增強應(yīng)變信號采集系統(tǒng)本身的集成度和靈活性。
利用可編程邏輯器件和EDA技術(shù)實現(xiàn)FIR數(shù)字濾波器是現(xiàn)代嵌入式系統(tǒng)信號處理環(huán)節(jié)普遍采用的手段[4],隨著FPGA邏輯單元數(shù)量和集成度不斷提高,可在 FPGA 上實現(xiàn)FIR數(shù)字濾波器的算法復(fù)雜程度、量化系數(shù)位寬、階數(shù)等也隨之提高,具有可觀的發(fā)展前景。
應(yīng)變信號采集系統(tǒng)的總體框架如圖1所示,整個系統(tǒng)分為模擬部分和數(shù)字部分。
圖1 應(yīng)變信號采集系統(tǒng)流程框圖Fig.1 Block diagram of strain signal acquisition system
其中模擬部分有4個應(yīng)變信號采集通道,每個采集通道包含對應(yīng)變電橋的模擬信號進行預(yù)放大、調(diào)理和A/D采集,數(shù)字信號部分包括對模擬板前端電壓信號偏移量修正和溫度補償控制、程控自動增益、A/D采集的讀寫控制和接收經(jīng)過A/D采集后的信號,并對其進行緩存和處理[5]。最后將信號通過UART串行總線傳輸至PC端顯示[6]。
FIR數(shù)字濾波器為單位脈沖響應(yīng)有限長序列[7],是非遞歸性線性時不變因果系統(tǒng),對于N階FIR濾波器輸入時間序列x(n)的輸出表達式為:
(1)
系統(tǒng)傳遞函數(shù)可表示為:
(2)
式中:h(n)為濾波器第級n抽頭系數(shù),x(n-i)為延時i個抽頭輸入。
FIR濾波器按構(gòu)成形式主要有直接型、級聯(lián)型、線性相位FIR濾波器等[8]。其中直接型結(jié)構(gòu)如圖2所示,該結(jié)構(gòu)需要N個乘法器,每次采樣y(n)都需要進行n次乘法和n-1次加法實現(xiàn)乘累加之和[9]。
圖2 直接型FIR濾波器網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 Network structure of direct FIR filter
對于線性相位FIR濾波器,其單位響應(yīng)是對稱或反對稱的,即h(n) = ±h(N-1-n),利用其對稱性可以簡化網(wǎng)絡(luò)結(jié)構(gòu),當(dāng)h(n)為偶對稱且N為偶數(shù)時:
(3)
其線性網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示,僅需要N/2個乘法器。FIR濾波器實際上是一個分節(jié)的延時線,把每一節(jié)的輸出加權(quán)累加得到濾波器的輸出[10]。本設(shè)計采用線性相位FIR數(shù)字濾波器。
圖3 FIR濾波器線性相位網(wǎng)絡(luò)結(jié)構(gòu)Fig.3 Linear phase network structure of FIR filter
FIR數(shù)字濾波器設(shè)計流程如圖4所示,整個FIR數(shù)字濾波器的設(shè)計可以分為濾波器系數(shù)設(shè)計和濾波器在FPGA上實現(xiàn)兩個部分。利用Matlab軟件設(shè)計出FIR數(shù)字濾波器各級抽頭系數(shù),并將FIR數(shù)字濾波器的功能移植到FPGA上。
圖4 FIR濾波器設(shè)計流程圖Fig.4 Flow chart of FIR filter design
通過使用Matalb中FDA Tool工具箱設(shè)計出一個15階低通線性相位FIR數(shù)字濾波器,其采樣頻率為20 kHz,截止頻率為3 kHz,長度為16位,并采用布萊克曼窗實現(xiàn),將濾波器浮點系數(shù)量化為12位。運行所編輯的濾波器,并將量化后的濾波器系數(shù)寫入FIRCOE.TXT文件中。濾波器設(shè)計界面如圖5所示。
圖5 FDAtool濾波器設(shè)計界面Fig.5 Design interface of FDATool filter
將Simulink中正弦波信號產(chǎn)生模塊sine wave、高斯白噪聲模塊AWGN通過多信號疊加模塊add生成一個采樣頻率為20 kHz的信號干擾源,并生成12位量化系數(shù),再與2 kHz和8 kHz的正弦波信號合成作為FPGA的輸入信號。信號發(fā)生模塊如圖6所示。
圖6 合成信號發(fā)生模塊Fig.6 Schematic diagram of synthetic signal generating module
進入QuartusⅡ IP核設(shè)置界面,設(shè)計一個15階低通線性濾波器,將4.2中的FIRCOE系數(shù)文件導(dǎo)入到Coefficient set中[11],配置好濾波器各項參數(shù),生成FIR數(shù)字濾波器模塊,并將其實例化引用。數(shù)字濾波器RTL級原理如圖7所示,其中ast _sink_ data[11..0]和ast_ source _data[25..0]分別為信號輸入端口和數(shù)據(jù)輸出端口。整個模塊只占用2 199個邏輯元,占用率不到10%。
圖7 數(shù)字濾波器RTL級原理圖Fig.7 RTL level schematic diagram of digital filter
搭建FPGA與Simulink聯(lián)合實時環(huán)路平臺,在Simulink創(chuàng)建測試模塊,通過測試模塊產(chǎn)生信號,再傳送到FPGA,F(xiàn)PGA將信號處理后返回Simulink顯示[12]。首先在Simulink中創(chuàng)建用戶板卡,配制板卡上FPGA芯片信息,本設(shè)計FPGA采用的是CycloneⅣ系列EP4CE6E22C8N。然后采用JTAG連接方式,設(shè)置JTAG接口類型、時鐘信號頻率、引腳號、時鐘類型、復(fù)位信號引腳、復(fù)位電平等信息,并將配置的信息保存在logic_board.xml文件中。創(chuàng)建Simulink模型,將配置好的logic board.xml文件導(dǎo)入,加載RTL文件即Verilog代碼文件,并將其設(shè)置為頂層文件,自動配置IO口,將數(shù)據(jù)傳送到Simulink中。仿真結(jié)果如圖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可知,濾波后的合成信號在時域和頻域上趨于緩和,毛刺噪聲已經(jīng)濾除,并且同時濾除了8 kHz高頻信號分量,濾波后的信號已形成規(guī)則平滑的頻率為2 kHz的單頻正弦信號,因此,F(xiàn)IR線性相位低通濾波功能在FPGA上已經(jīng)實現(xiàn)。
將應(yīng)變信號采集系統(tǒng)的4個應(yīng)變采集通道分別對高速旋轉(zhuǎn)部件的4個點進行應(yīng)變測量,并且通過串口將FIR數(shù)字濾波前后量化結(jié)果的文本文件導(dǎo)入Matlab中,進行數(shù)據(jù)處理,得到FIR數(shù)字濾波前后的均方差,如表1所示。
表1 FIR數(shù)字濾波前后均方差Tab.1 Mean square deviation before and after FIR digital filtering
由表1FIR數(shù)字濾波前后量化信號均方差的對比可知,經(jīng)過FIR數(shù)字濾波器后,信號的均方差大幅度下降,4個通道的采集信號均方差平均下降28.5%,具有良好的濾波效果。
為了能夠?qū)?個應(yīng)變采集通道中的最終采樣結(jié)果通過串口在PC端實時顯示,使用Matlab中GUI工具箱設(shè)計出顯示界面,并且通過式(4)將采樣結(jié)果轉(zhuǎn)化為對應(yīng)的電壓值。
(4)
式中:Vref為ADC參考電壓、GND為輸出結(jié)果為0時的最低電壓,ADCReselt為采樣結(jié)果,N為ADC位數(shù)。同時根據(jù)式(5),在全橋測量的情況下將電壓轉(zhuǎn)換成相應(yīng)的應(yīng)變量。
Uo=EKε
(5)
式中:E為電橋電壓,K為應(yīng)變靈敏系數(shù),ε為應(yīng)變量。顯示界面如圖10所示。
圖10 界面顯示Fig.10 Interface display
本文針對應(yīng)變信號采集系統(tǒng)提出一種基于FPGA的FIR線性相位低通數(shù)字濾波器方案,構(gòu)建了數(shù)字濾波器設(shè)計與仿真體系,最終在FPGA上實現(xiàn),而且仿真系統(tǒng)可以任意改變合成信號的類型、數(shù)字濾波器的種類和各項參數(shù),相比傳統(tǒng)的通過編寫testbentch腳本仿真文件導(dǎo)入Modelsim來實現(xiàn)仿真結(jié)果,簡化了復(fù)雜的仿真步驟,不需要在FPGA上增添信號發(fā)生模塊,同時保證了實驗可靠性。通過高速旋轉(zhuǎn)部件的多次應(yīng)變測量,結(jié)果表明數(shù)字濾波前后量化信號的均方差下降28.5%,具有良好的濾波效果。增加顯示界面,便于觀察采樣結(jié)果的動態(tài)變化。
對于接觸式應(yīng)變信號采集系統(tǒng)而言,將整個FIR數(shù)字濾波器的功能移植在FPGA上,增強功能的同時,系統(tǒng)的體積、質(zhì)量、電路復(fù)雜程度均不受影響,從而不會影響直升機在飛行測試中旋翼系統(tǒng)的動態(tài)平衡。