鄭艷芳,唐海娣,李雪寶
(1.江蘇科技大學,江蘇 張家港 215600;2.江蘇耐維思通科技股份有限公司,江蘇 張家港 215600)
基于FPGA的可調節(jié)FIR濾波器的設計與實現(xiàn)
鄭艷芳1,唐海娣2,李雪寶1
(1.江蘇科技大學,江蘇 張家港 215600;2.江蘇耐維思通科技股份有限公司,江蘇 張家港 215600)
基于靈活自適應的空口波形技術F-OFDM(Filtered OFDM)是現(xiàn)代通信技術的研究熱點,設計并實現(xiàn)可調FIR濾波器是實現(xiàn)該技術的核心工作之一。本文設計的基于FPGA的可調節(jié)FIR濾波器系數(shù)的自適應調整是通過控制算法對信道中的信號進行快速檢測,然后將結果和濾波器的輸出結果進行差值計算進行反饋調節(jié)。利用Quartus II和DSP Builder設計基于FPGA的16階系數(shù)可調FIR濾波器,給出核心模塊的設計電路圖和仿真結果。仿真結果表明:基于靈活自適應空口波形技術可以在FPGA上實現(xiàn),而且由于FPGA具有天然的并行性,實際的通信系統(tǒng)中可以采用并發(fā)模式進行,達到提高信號傳送速率的目的。
可調FIR濾波器;FPGA;F-OFDM
4G移動通信方興未艾,業(yè)界對于5G移動通信技術的討論已經如火如荼。作為移動通信領域“皇冠”上的一顆明珠,基于靈活自適應的空口波形技術和成倍提升頻譜效率的多址技術SCMA(Sparse Code Multiple Access)成為業(yè)內人士關注的焦點,其中,優(yōu)化頻帶資源的利用率是F-OFDM的核心。人們在研究算法優(yōu)化的同時,也在關注算法的硬件實現(xiàn)。FPGA(Field Programmable Gate Array)在能耗、成本、運算速度等方面具有得天獨厚的優(yōu)勢, 已經被廣泛應用于各種數(shù)字信號處理和數(shù)字通信領域。本文重點研究F-OFDM核心技術之一的可調FIR濾波器,設計并實現(xiàn)基于FPGA的可調節(jié)FIR濾波器。
近年來,基于FPGA的數(shù)字濾波器研究已經取得了很多成果[1-14],其中文獻[14]的設計理念最接近本文。然而,從現(xiàn)有的文獻來看,并沒有可供參考的用于基于自適應的空口波形技術的方法,此外,本文設計流程和側重點與文獻[14]也是不同的。本文第1節(jié)為核心模塊設計,第2節(jié)為MATLAB仿真結果和系統(tǒng)仿真結果,第3節(jié)給出了基本結論和下一步研究目標。
該設計總體思路是:利用輸入波形的各項參數(shù),借助MATLAB中的FDAtool工具計算出FIR濾波器所需參數(shù),存入RAM。濾波器核心模塊讀取參數(shù)信息,調節(jié)濾波器的截止頻率等參數(shù),調節(jié)該模塊的功能。
利用DSP_Builder開發(fā)核心濾波器模塊的流程示意圖如圖1所示。
圖1 DSP_Builder的開發(fā)流程圖
最基本的FIR濾波器的系統(tǒng)函數(shù)為:
(1)
可以用卷積表示為:
y(n)=x(n)*h(n)
(2)
例如,一個典型的直接型4階FIR濾波器,其表達式[11]可寫為式(3):
h(n)=h(0)x(n)+h(1)x(n-1)+h(2)x(n-2)+h(3)x(n-3)
(3)
在圖2中,總共存在3個延時單元、4個乘法器和一個4輸入的加法器。
圖2 直接型4階FIR濾波器的信號流圖
如果使用普通的數(shù)字信號處理器來實現(xiàn)這個4階FIR濾波器,只能用串行的方式順序地執(zhí)行延時、乘、加操作。這必須用到多個指令周期,而無法在一個指令周期內完成。但是如果采用FPGA來實現(xiàn),就可以利用FPGA指令可以并行的優(yōu)點,在一個指令周期內得到結果。
根據(jù)公式(3)和圖2,可以在Simulink中用DSP_Builder里的相關器件畫出一個圖3所示的4階FIR濾波器模型。
圖3 4階FIR濾波器的模型圖
圖3中“Delay”為延時單元,“Product”為乘法器單元,“ParallelAdderSubtractor”為加法器單元,“Input”與“Output”分別為輸入輸出。
(1)設計4階FIR濾波器子系統(tǒng)
新建一個文件,將子系統(tǒng)模塊(Subsystem)放入文件中,雙擊打開子系統(tǒng)模塊,將上面已經設計好的4階FIR濾波器放進去,并對端口進行修改。修改后的Subsystem模塊有5個輸入和2個輸出,“input”與“output”都修改為“Altbus”(因為它們不再作為主輸入端口,而是作為子系統(tǒng)的傳輸端口)。
(2)設計16階FIR濾波器
4階子系統(tǒng)完成后,按照圖4搭建一個16階的FIR濾波器。其中Constant模塊的初始值為5,需要另外計算,下文講解如何計算Constant值。
圖4 16階FIR濾波器的模型圖
(3)計算Constant的值
Constant的值就相當于h(n),是決定FIR濾波器具體性能的重要參數(shù),該值為濾波器要調節(jié)的核心參數(shù),它是通過濾波器的輸出和輸入信號的差值得到的。
(4)導出參數(shù)
點擊左上角的File,單擊Export,跳出Export界面,點擊下方的Export按鈕,可以將16個參數(shù)導出到MATLAB的主窗口。
(5)將參數(shù)填入FIR濾波器的模型中
在MATLAB仿真階段,該參數(shù)可以手動輸入到FIR濾波器Constant模塊中,這樣便完成了一個16階低通FIR濾波器的設計。在系統(tǒng)設計階段,步驟(4)計算結果會暫存在定制的RAM模塊中。
2.1 核心模塊仿真
為了驗證設計的16階FIR濾波器正確與否,需要進行仿真。為此,給濾波器的輸入端加上一個混合信號,混合信號包含一個40 Hz的高頻信號和一個0.013 Hz的低頻信號,兩個信號由Add模塊相疊加,再分別加上示波器模塊“Scope”來顯示波形結果。FDAtool設置就和上文所述相同,并將所得數(shù)據(jù)填入Constant模塊中,仿真時間設為500 s。
圖5的上方為40 Hz的波形,下方為0.013 Hz的波形。圖6的上方為輸入的混合信號波形,下方為濾波器輸出波形。將兩幅圖比較可以明顯看出,高頻信號40 Hz的波形被濾除,濾波器輸出的是低頻的0.013 Hz的信號。
圖5 輸入波形圖
圖7 濾波器的仿真結果注:clk:時鐘信號;wav_signal:低頻信號(目標信號);wav_noise:高頻信號;wav_add:兩波形疊加信號;wav_filter:輸出信號
[5] 高耀鴻. 基于FPGA的FIR低通濾波器[D].長沙:湖南大學,2012.
[6] 張馳. 基于Matlab的FIR濾波器設計及FPGA實現(xiàn)[J]. 應用科技,2005,33(6):84-86.
[7] 孫耀奇. 基于Matlab和FPGA的FIR數(shù)字濾波器設計及實現(xiàn)[J]. 現(xiàn)代電子技術,2008(11):89-92.
[8] 張園. 基于MATLAB和QuartusⅡ的FIR濾波器設計與仿真[J]. 電子工程師,2008,34(2):25-27.
[9] 阿依夏木·力提甫. 一種基于MATLAB及FPGA的FIR低通濾波器的設計與實現(xiàn)[D]. 烏魯木齊:新疆師范大學,2011.
[10] 陳雁. 用MATLAB設計及FPGA實現(xiàn)FIR濾波器的方法[D].北京:北京航空航天大學,2003.
[11] 宋千. 基于FPGA的FIR濾波器高效實現(xiàn)[J]. 信號處理,2001,17(5):385-391.
[12] 馬桂芳.基于FPGA和DSP Builder的FIR數(shù)字濾波器設計[J]. 常州工學院學報,2011,24(5):23-26.
[13] 彭雪峰. 基于MATLAB與QuartusⅡ的FIR濾波器設計與驗證[J]. 電子設計工程,2009,17(11):118-124.
[14] 陳虹,崔葛瑾.基于FPGA的系數(shù)可調FIR濾波器設計[J].實驗室研究與探索,2008,27(6)47-50.
圖6 輸出波形圖
2.2 系統(tǒng)仿真
(1)將將mdl文件編譯生成VHDL語言;
(2)計算輸入信號和濾波器輸出的差值,將該值存入RAM;
(3)讀入RAM數(shù)據(jù),逐漸確定濾波器截止頻率;
(4)仿真。
為了驗證所設計的可調FIR濾波器的正確性,設計了基于上述模塊的低通濾波器進行波形的仿真。兩個正弦波疊加形成輸入信號,一個25 kHz信號人為標記為噪聲信號,另一個4 kHz作為目標信號,程序調節(jié)濾波器的截止頻率到4.5 kHz。仿真結果如圖7所示。由圖中可知,該濾波器濾除了高于截止頻率的信號部分,保留了低于截止頻率的信號部分,因此濾波器功能正確。調節(jié)輸入信號和截止頻率后,結果也能達到如圖7所示的效果。
本文FPGA設計了一種可調FIR濾波器,利用DSP Builder結合MATLAB的優(yōu)勢將該濾波器的設計簡化為MATLAB Simulink設計,大大縮短了設計時間。未來將進一步完善可調濾波器設計,探索基于FPGA的可調FIR濾波器在實際通信系統(tǒng)中的實現(xiàn)方法,進而提高通信系統(tǒng)效率。
[1] 李彬. FIR數(shù)字濾波器的FPGA實現(xiàn)技術研究[D]. 成都:西南交通大學,2004.
[2] 劉朋全. 基于FPGA的FIR數(shù)字濾波器的設計和實現(xiàn)[D]. 西安:西北工業(yè)大學,2006.
[3] 楊娜. 基于MATLAB與DSP的自適應濾波器設計與實現(xiàn)[J]. 微型機應用,2015,34(21):16-20.
[4] 杜勇. 數(shù)字調制解調技術的MATLAB與FPGA實現(xiàn)[M]. 北京:電子工業(yè)出版社,2015.
Design of adjustable FIR filter based on FPGA
Zheng Yanfang1,Tang Haidi2,Li Xuebao1
(1.Jiangsu University of Science and Technology,Zhangjiagang,215600,China;2.Navston Limited Corporation,Zhangjiagang 215600,China)
F-OFDM is one of the key hotspots in modern communication system. Designing and instrumenting the adjustable FIR filter is certainly part of F-OFDM. In this paper, we design an adjustable FIR filter based on FPGA, and its filter coefficients can vary with the running difference between the output of filter and the frequency of input signal. We design the filter based on the Quartus II and DSP builder provided by Altera. The simulation results reveal that the techniques of F-OFDM can be instrumented on FPGA. In addition, since FPGA has its own ability of natural parallel computing, improving the running efficiency would come true on the FPGA.
adjustable FIR filter; FPGA; F-OFDM
TN713+.7
A
10.19358/j.issn.1674- 7720.2017.04.009
鄭艷芳,唐海娣,李雪寶.基于FPGA的可調節(jié)FIR濾波器的設計與實現(xiàn)[J].微型機與應用,2017,36(4):29-31,35.
2016-09-19)
鄭艷芳(1986-),女,博士,講師,主要研究方向:檢測、控制相關技術在世界領先的航海、航天終端儀器中的應用。
唐海娣(1979-),女,碩士,工程師,主要研究方向:世界領先的航海通信導航技術數(shù)字化港口解決方案。
李雪寶(1986-),通信作者,男,博士,講師,主要研究方向:大數(shù)據(jù)處理、并行計算、云計算等在世界領先的航海、航天終端設備中的應用。E-mail:lixuebao@ynao.ac.cn。