李建偉
摘 要: 為了有效地改善濾波器的不可調(diào)頻率系統(tǒng)性能,降低FPGA濾波器資源的消耗,提出基于FPGA的高效可調(diào)頻率濾波器。該方法首先對(duì)可調(diào)頻率濾波器進(jìn)行硬件平臺(tái)設(shè)計(jì),硬件平臺(tái)由單片機(jī)模塊、FPGA波形模塊、幅度模塊、數(shù)字模型轉(zhuǎn)換模塊、低通濾波轉(zhuǎn)換模塊以及輸入鍵盤模塊和液晶顯示屏模塊構(gòu)成。核心模塊由MCU提供可調(diào)頻率控制,以DDS技術(shù)產(chǎn)生的波形信號(hào)為依據(jù),確定濾波器的信號(hào)強(qiáng)度,最后采用分布算法完成濾波器軟件設(shè)計(jì)。實(shí)驗(yàn)證明,所提方法能夠有效提高可調(diào)頻率濾波器的準(zhǔn)確度。
關(guān)鍵詞: FPGA; 可調(diào)頻率; 濾波器; 分布算法
中圖分類號(hào): TN713?34 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2017)23?0093?04
Abstract: In order to effectively improve the system performance of the filter with non?adjustable frequency, and reduce the resource consumption of the filter based on FPGA, an efficient filter with adjustable frequency based on FPGA is proposed. The hardware platform is designed for the filter with adjustable frequency, which is composed of the MCU module, FPGA waveform module, amplitude module, digital model conversion module, low?pass filter conversion module, keyboard input module and LCD module. The MCU controls the adjustable frequency for the core module. On the basis of the waveform signal generated by DDS technology, the signal strength of the filter is determined. The distributed algorithm is used to realize the software design of the filter. The experimental results show that the proposed method can improve the accuracy of the filter with adjustable frequency effectively.
Keywords: FPGA; adjustable frequency; filter; distributed algorithm
0 引 言
隨著通信技術(shù)的快速發(fā)展,數(shù)字可調(diào)頻率濾波器在通信語音、圖像處理、模糊式圖像識(shí)別、通信雷達(dá)信號(hào)處理以及頻譜分析等應(yīng)用中都起到了重要的作用[1]。可以避免模擬濾波器無法克服溫漂以及噪聲等一系列問題[2?3],同時(shí)數(shù)字可調(diào)頻率濾波器比模擬的濾波器精度更高、穩(wěn)定性更好、體積更小、速度更加靈活,得到了廣泛應(yīng)用。FPGA的數(shù)字濾波器是現(xiàn)代開發(fā)技術(shù)設(shè)計(jì)與實(shí)現(xiàn)的熱點(diǎn)之一[4],能夠簡化開發(fā)過程,縮短開發(fā)周期,以及降低開發(fā)成本,各類開發(fā)工具更是受到青睞。
近年來,提出很多濾波器線性濾波方法,文獻(xiàn)[5]提出Wiener線性濾波、文獻(xiàn)[6]提出卡爾曼濾波以及自適應(yīng)的濾波方法。Wiener線性濾波是最早提出的一種濾波方法,當(dāng)信號(hào)混有噪聲時(shí),能夠在最小的誤差條件下估計(jì)出最佳信號(hào)。但是該方法復(fù)雜性高,實(shí)際應(yīng)用比較困難??柭鼮V波也是一種線性濾波方法,文獻(xiàn)[7]與Wiener線性濾波不同的是,這種線性濾波技術(shù)利用遞推方式,當(dāng)濾波器的單位響應(yīng)時(shí)間較長時(shí),采用該方法無法得到濾波器的最佳響應(yīng)。目前,已取得了相關(guān)的研究成果。文獻(xiàn)[8]提出利用加權(quán)最小二乘法對(duì)濾波器進(jìn)行設(shè)計(jì),在濾波器設(shè)計(jì)過程中,利用最小二乘法,以平方誤差最小優(yōu)化為準(zhǔn)則,對(duì)設(shè)計(jì)的濾波器進(jìn)行減小過度誤差,此方法降低了濾波器的誤差,但費(fèi)用較高。文獻(xiàn)[9]研究了一種新的MTD濾波器設(shè)計(jì)方法。采用該方法設(shè)計(jì)的MTD濾波器頻率的響應(yīng)不僅能在零頻的附近有零陷,并且在其他區(qū)域可以變?yōu)槿我庑螤?,具有較好的實(shí)現(xiàn)性,但是該方法實(shí)現(xiàn)過程較為復(fù)雜。文獻(xiàn)[10]提出一種對(duì)圖像LCL濾波器進(jìn)行設(shè)計(jì)的方法,該設(shè)計(jì)方法目的清晰明確,設(shè)計(jì)過程便捷,能夠優(yōu)化濾波器參數(shù),但該方法耗時(shí)較長。
針對(duì)上述情況,提出基于FPGA的高效可調(diào)頻率濾波器。通過該方法可以對(duì)FPGA進(jìn)行高效的可調(diào)頻率濾波器設(shè)計(jì)。
1 FPGA高效可調(diào)頻率濾波器設(shè)計(jì)
1.1 可調(diào)頻率濾波器硬件平臺(tái)設(shè)計(jì)
系統(tǒng)由單片機(jī)模塊、FPGA 波形模塊、幅度模塊、數(shù)字模型轉(zhuǎn)換模塊、低通濾波轉(zhuǎn)換模塊以及鍵盤輸入模塊和液晶顯示屏模塊組成。FPGA模塊利用DDS技術(shù),能產(chǎn)生正弦波、方波、三角鋸齒波數(shù)字信號(hào),經(jīng)轉(zhuǎn)換、低通濾波模塊后輸出。波形模塊類型及頻率的大小由單片機(jī)進(jìn)行控制,輸出的信號(hào)幅度由單片機(jī)經(jīng)幅度控制模塊改變DAC模塊的參考電壓來實(shí)現(xiàn),如圖1所示。
FPGA模塊依據(jù)MCU提供可調(diào)頻率控制及波形選擇,運(yùn)用DDS技術(shù)產(chǎn)生的波形數(shù)字信號(hào),經(jīng)過數(shù)字模型轉(zhuǎn)換器DAC轉(zhuǎn)變?yōu)殡A梯波,再通過低通濾波器可以得出合成信號(hào)波形。該模塊主要由相位式累加器、相位式寄存器以及波形查找表組成,原理框圖如圖2所示。其中,[fc]為輸入時(shí)鐘頻率,[fo]為信號(hào)輸出頻率。endprint
圖2中相位累加器是該濾波器的核心,由二進(jìn)制的累加器和時(shí)鐘控制的濾波器、相位寄存器組成。相位寄存器濾波輸出與累加器輸入端相連接,MCU傳送的頻率控制字與累加器的另外一個(gè)輸入端相加。
每個(gè)時(shí)鐘到達(dá)時(shí),相位寄存器濾波將之前的時(shí)鐘周期值傳送到累加器,并與頻率控制字進(jìn)行相加,結(jié)果為當(dāng)前時(shí)鐘周期輸出的序列,該輸出序列可以當(dāng)做波形查找表可調(diào)頻率的地址。波形查找表實(shí)際上是相位幅度轉(zhuǎn)換的ROM電路,ROM內(nèi)部存儲(chǔ)了完整周期波形的相位寄存器幅度值。相位寄存器每對(duì)波形查找表進(jìn)行尋址一次,就會(huì)輸出與相位寄存器對(duì)應(yīng)的信號(hào)相位幅度值,可調(diào)頻率控制字能夠決定相應(yīng)的相位增量,相位的累加器則會(huì)不斷地對(duì)相位增量進(jìn)行累加,當(dāng)相位累加器產(chǎn)生一次超出時(shí),就可以生成周期DDS的合成信號(hào)。一般情況下,可調(diào)頻率相位寄存器可以用來做尋址,此時(shí)DDS的合成頻率為:
而DDS的輸出頻率由采樣決定,即[fmax=fc2]。現(xiàn)實(shí)中DDS的輸出頻率由輸出的雜散水平來決定,取值為[fo≤40% fc]。所以,若要改變DDS的輸出頻率,僅需改變頻率控制字即可完成。
采用FPGA器件在EP1C3T144C8芯片中應(yīng)用,該模塊設(shè)計(jì)由VHDL實(shí)現(xiàn),采用10位輸出。為方便頻率調(diào)節(jié),依據(jù)式(1),式(2),將輸出的頻率分兩檔,由FPGA依據(jù)頻率控制字進(jìn)行自動(dòng)選擇,兩檔輸出基準(zhǔn)時(shí)鐘由50 MHz晶振經(jīng)過FPGA內(nèi)部鎖得到([fc≈]16.666 67 MHz),若是相位累加器字約為24位,頻率控制字為20位進(jìn)制數(shù),那么兩檔輸出最高頻率分別為:
由此可見,如果在高頻率輸出時(shí),能夠保證周期波形有10個(gè)點(diǎn),有效地保障了輸出信號(hào)的準(zhǔn)確度。
基于介紹硬件平臺(tái)FPGA芯片,可調(diào)頻率濾波器利用并聯(lián)結(jié)構(gòu)時(shí),采用直接結(jié)構(gòu)作為二階基本節(jié),則不增加輸出緩沖條件時(shí),利用時(shí)序分析工具估計(jì)出可調(diào)頻率最高速度達(dá)50 MHz,采用并聯(lián)連接方式無法滿足設(shè)計(jì)要求,為了能夠提高速度,通常應(yīng)用的方法有兩種:一種是對(duì)實(shí)現(xiàn)結(jié)構(gòu)進(jìn)行改進(jìn);另一種是采用并行處理的方式。其中,第二種方法能明顯增加硬件的代價(jià)。在對(duì)二階基本節(jié)改進(jìn)結(jié)構(gòu)后,能夠?qū)⒖烧{(diào)頻率濾波器的速度達(dá)到最高,因?yàn)榛竟?jié)的輸出加了鎖存器,基本達(dá)到了設(shè)計(jì)指標(biāo),針對(duì)這兩種結(jié)構(gòu)進(jìn)行綜合、布局以及布線,得到的資源性能如表1所示。
從表1中的數(shù)據(jù)可以看出,乘法單元數(shù)并未有所改變,但改進(jìn)后的結(jié)構(gòu)資源占用率明顯下降,而可調(diào)頻率得到了提升。若將改進(jìn)結(jié)構(gòu)在基本節(jié)應(yīng)用中進(jìn)行處理,則速度最高達(dá)到139.65 MHz,這個(gè)速度滿足指標(biāo)要求,并有很大容量。
因?yàn)樵黾恿魉€與處理結(jié)構(gòu)實(shí)現(xiàn)方式的不同,因此資源的造價(jià)和可調(diào)頻率也不同,依據(jù)提到的流水線與處理技術(shù)原理,獲得更高速度的可調(diào)頻率濾波器必須采用流水線技術(shù)和處理技術(shù),該理論速度受限于寄存器,但采用流水線并行處理技術(shù)實(shí)現(xiàn)可調(diào)頻率濾波器通常會(huì)降低硬件成本,在一定程度上有利于提高可調(diào)頻率濾波器的運(yùn)行速度。
1.2 濾波器軟件模型設(shè)計(jì)
可見,括號(hào)內(nèi)表示輸入變量的數(shù)據(jù)和濾波器系數(shù),并進(jìn)行“與”運(yùn)算求和。指數(shù)部分說明了求和的結(jié)果,整數(shù)乘以[2b]即為左移[b]位,由硬件模塊連線來實(shí)現(xiàn),無需占用邏輯數(shù)據(jù)資源。以建立的濾波器波形查找表實(shí)現(xiàn)括號(hào)內(nèi)的運(yùn)算,濾波器波形查找表用于輸入變量進(jìn)行尋址,這便是濾波器波形查找表的分布式算法。
設(shè)計(jì)可調(diào)頻率濾波器時(shí),經(jīng)常使濾波電感的電壓降低,以減少濾波器系統(tǒng)的容量;為了不使濾波器電感電流的波動(dòng)太大,濾波器電感不能定的太小。設(shè)負(fù)載電阻為[R,]濾波器電感基波的電壓為[1N]。為了減少系統(tǒng)的容量,濾波器電容必須遠(yuǎn)遠(yuǎn)大于[Rc。]假如濾波器電容遠(yuǎn)遠(yuǎn)大于[Rc,]得出電感值為:
2 實(shí)驗(yàn)結(jié)果與分析
為了對(duì)可調(diào)頻率濾波器進(jìn)行仿真,首先設(shè)計(jì)一個(gè)矩形低通濾波器,阻帶濾波衰減為30 dB,通帶頻率為0.2π,阻帶頻率為0.3π。設(shè)計(jì)得出濾波器的長度為10的可調(diào)低通濾波器。將設(shè)計(jì)軟件導(dǎo)出的文件在硬件平臺(tái)上進(jìn)行編譯與綜合。
單相的逆變器的功率為100 kW,輸出的頻率電壓為113 V,進(jìn)行線性負(fù)載時(shí),規(guī)定輸出電壓中的頻率不超過2%,輸出的頻率電壓THD不能超過1.3%。模擬模型參數(shù)見表2。
表2中,開關(guān)時(shí)間為1.2 μs,線性負(fù)載為1 Ω電阻,當(dāng)[Ma]從0.4增加到1時(shí),THD和濾波器電感值的變化如圖3所示 ,曲線中的H13表示實(shí)驗(yàn)結(jié)果。能夠看出,THD變化曲線和濾波器電感值與理論計(jì)算曲線大致重合,THD變化曲線和濾波器電感值理論計(jì)算曲線形狀大約相同,但是位置會(huì)有偏差,主要是加入可調(diào)頻率濾波器后,實(shí)際的幅值小于設(shè)定值,而在畫圖時(shí)采用設(shè)定值。另外,對(duì)可調(diào)頻率濾波器幅值和相位會(huì)產(chǎn)生影響,可調(diào)頻率對(duì)THD和濾波器也有影響。
當(dāng)[Ma]從0.45增加到0.95時(shí),THD和可調(diào)頻率濾波器變化曲線如圖4所示,能夠看出,THD和可調(diào)頻率濾波器變化曲線和理論曲線變化大致相同,但是實(shí)驗(yàn)值比理論值要大。在一定的條件下,不同結(jié)構(gòu)的穩(wěn)定性是不同的,通過流水線與并行處理技術(shù)可有效提升可調(diào)頻率速度。
3 結(jié) 論
本文提出基于FPGA高效可調(diào)頻率濾波器的設(shè)計(jì)方法,在提高濾波器系統(tǒng)運(yùn)行速度,以及節(jié)省硬件資源方面具有較大的優(yōu)勢,以改變可調(diào)頻率和波形查找表中的系數(shù),將FPGA靈活運(yùn)用于高通、低通以及帶阻濾波器中,移植性能較強(qiáng),因此,基于FPGA的高效可調(diào)頻率濾波器設(shè)計(jì)具有廣泛的應(yīng)用前景。
參考文獻(xiàn)
[1] 李鋒,邱陳輝,徐祖強(qiáng).基于改進(jìn)DLMS算法的自適應(yīng)FIR濾波器設(shè)計(jì)[J].計(jì)算機(jī)工程與設(shè)計(jì),2014,35(3):895?899.
[2] 王號(hào),張春光,黃峻峰,等.考慮旋光影響的窄帶聲光濾波器設(shè)計(jì)及其性能分析[J].光學(xué)學(xué)報(bào),2014,34(4):235?239.
[3] 李秀英,王金玉,孫書利.具有一步隨機(jī)時(shí)滯和多丟包的網(wǎng)絡(luò)系統(tǒng)H∞濾波器設(shè)計(jì)[J].自動(dòng)化學(xué)報(bào),2014,40(1):155?160.
[4] 李榮強(qiáng),杜國宏,唐軍.過?;刹▽?dǎo)腔體濾波器設(shè)計(jì)[J].微波學(xué)報(bào),2014,30(3):93?96.
[5] 莊德玉.采煤機(jī)用4象限變頻器前端LCL濾波器設(shè)計(jì)[J].電氣傳動(dòng),2014,44(8):55?58.
[6] 姚波,安志娟,王福忠,等.具有橢圓盤極點(diǎn)約束的線性系統(tǒng)濾波器設(shè)計(jì)[J].計(jì)算技術(shù)與自動(dòng)化,2014,33(4):11?15.
[7] 燕麗紅,張樂芳,馬小青.基于圖形可視化Wintool和FDAtool的FIR濾波器設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2015,38(24):4?6.
[8] 張棟,孔亮,寧圃奇,等.一種基于轉(zhuǎn)移函數(shù)的電機(jī)驅(qū)動(dòng)系統(tǒng)共模EMI濾波器設(shè)計(jì)方法[J].電工技術(shù)學(xué)報(bào),2016,31(1):103?111.
[9] 秦緒嶸,和新陽.一種新型微帶雙模可調(diào)濾波器設(shè)計(jì)[J].電子設(shè)計(jì)工程,2016,24(7):101?103.
[10] 李學(xué)斌,郭建卓,韓宇南.基于非對(duì)稱SIR的小型化雙頻帶帶通濾波器設(shè)計(jì)[J].北京郵電大學(xué)學(xué)報(bào),2015,38(2):104?107.
[11] 劉國穩(wěn),朱衛(wèi)華.高性能CIC濾波器的優(yōu)化設(shè)計(jì)[J].計(jì)算機(jī)仿真,2016,33(2):234?238.
[12] 郭曉偉,陳鐘榮,夏利娜.基于FPGA的高速高階FIR濾波器的頻域改進(jìn)方法[J].現(xiàn)代電子技術(shù),2016,39(11):55?58.endprint