姚志成 吳智慧 楊劍 張盛魁



摘 要:?針對傳統型FIR濾波器在高階條件下運算速度變慢與耗費資源增多這一問題,提出一種基于分段卷積的高速高階FIR濾波器設計方法,通過在頻域并行處理的方式實現了數據的快速處理。首先,確定濾波器的設計階數M并將其作為基準序列長度,對輸入的數字信號進行M周期延時;然后,將原序列與延時序列分別作快速傅里葉變換(FFT);其次,將變換后的頻域結果分別與濾波器相乘后作快速傅里葉逆變換(IFFT);最后,通過重疊保留的方法實現兩路數據的拼接。理論分析與仿真測試表明,與基于查找表(LUT)的傳統分布式方法相比,同等階數下所提方法的寄存器資源節省了30%以上。在此基礎上利用實驗平臺的實測數據進行驗證,結果表明,與互耦誤差校正前相比,校正后的幅度失配均方根小于1dB,相位失配均方根小于0.1rad,實驗數據充分展示了該方法對互耦誤差校正的有效性。
關鍵詞:數字陣導引頭;互耦誤差;FIR濾波器;現場編程門陣列;快速傅立葉變換
中圖分類號:?TN911
文獻標志碼:A
FIR correction filter design and FPGA implementation for array mutual coupling error
YAO Zhicheng,WU Zhihui*,YANG Jian,ZHANG Shengkui
Rocket Force University of Engineering Missile Engineering college, Xian Shaanxi 710025, China
Abstract:?Focusing on the issue that the traditional Finite Impulse Response (FIR) filter slows down operation speed and consumes more resources under high-order conditions, a high-speed and high-order FIR filter design method based on piecewise convolution was proposed. Faster data processing was realized by the method of parallel processing in the frequency domain. Firstly, the design order M of the filter was determined and used as the reference sequence length, and the input digital signal was subjected to M period delay. Secondly, the original sequence and the delay sequence were respectively subjected to Fast Fourier Transform (FFT). Thirdly, the transformed sequences were respectively multiplied by the filter and then subjected to Inverse Fast Fourier Transform. Finally, the merging of the two way data was realized by the method of overlapping reservation. Theoretical analysis and simulation tests show that compared with the traditional distributed method based on Look Up Table (LUT), more than 30% of register resources were saved under the same order by the proposed method. On this basis, the measured data of the experimental platform were used for verification. Experimental results show that compared with the result of uncorrected mutual coupling error, the square root of the corrected amplitude mismatch is less than 1dB and the root mean square of phase mismatch is less than 0.1rad. Experimental data fully demonstrate the effectiveness of the method for mutual coupling error correction.
Key words:?digital array seeker; mutual coupling error; Finite Impulse Response (FIR) filter; Field-Programmable Gate Array (FPGA); Fast Fourier Transform (FFT)
0 引言
數字陣列雷達作為當今雷達發展的重要組成部分,在遠距離目標探測、跟蹤以及定位上扮演著越來越重要的角色。相比傳統雷達體制來說,數字陣列雷達擁有著數量龐大的天線陣列,能夠靈活控制波束、有效提高信號增益[1]。
然而在實際系統中,會存在各種誤差使得天線方向圖的主波束方向產生偏差、寬度變窄以及零陷與副瓣抬高[2]等,導致數字陣列雷達對空間信號到達方向(Direction of Arrival, DOA)的估計產生較為嚴重的偏差,陣列的輸出信干噪比(Signal-to-Interference plus Noise Ratio, SINR)降低。其中,數 字陣列陣元間不可避免的互耦誤差給陣列信號處理帶來的影響非常惡劣。對數字陣導引頭來說,互耦誤差將直接影響到測角算法對目標的定位以及后續的成像識別,因此在數字陣導引頭的生產與日常維護中,對互耦誤差的校正顯得尤為重要。
作為互耦誤差校正的關鍵,校正濾波器承擔著對各個陣元互耦誤差的校正作用。為解決濾波器階數與硬件資源之間的矛盾,文獻[3]通過理論推導與實驗分析得出在均衡帶寬內,疊加的固定相移對均衡效果沒有影響。文獻[4]設計了一系列對比性仿真分析,深入研究了影響均衡效果的原因,得出了均衡算法的最優應用設計,對工程應用具有理論參考價值。 文獻[5]提出了一種基于傅里葉變換的通道均衡算法,通過實驗發現該算法受到許多實際因素的影響導致算法性能的嚴重下降。文獻[6]分析了逆傅里葉變換算法均衡性能不理想的原因,基于此提出在逆傅里葉變換之前先對頻域抽樣點進行優化設計的方法,使得均衡性能得到改善,同時其運算量也得到有效減少。文獻[7]借鑒快速卷積的實現方法,提出了一種基于快速傅里葉變換(Fast Fourier Transform, FFT)的高速率均衡器實現方法,與時域方法相比,該方法在濾波器階數大于32階時能明顯降低對乘法資源的損耗。
文獻[8]提出了一種改進的離散傅里葉逆變換法(Inverse Discrete Fourier Transform,IDFT),成功地克服了帶外噪聲帶來的影響。文獻[9]為了克服帶外噪聲的影響,采用的是對帶內幅度特性進行梯形擴展和對帶內相位特性進行線性外推的方法。傅立葉變換法作為頻域最小二乘擬合法的延伸,它最大的優點就是在工程上算法簡單、易于實現,這也是多數數字陣列雷達均衡器設計實例選擇該方法的原因。除了上述優點以外,對于傅立葉變換法而言,帶外噪聲會影響系數的截取,進而影響均衡器的設計與均衡結果,所以對于帶外噪聲的處理以及系數截取方式
這兩方面仍需進一步研究。
根據上述研究,結合實際處理需求,本文采用分段卷積的方法對FIR(Finite Impulse Response)濾波器進行了優化設計,使其能夠在濾波器輸入為長序列時仍能實現快速計算。基于Xilinx Zynq-7000系列現場編程門陣列(Field-Programmable Gate Array, FPGA)板卡對FIR濾波器了進行硬件設計,利用測試文件對濾波器的功能進行了測試驗證。最后利用實測數據對基于FIR濾波器的寬帶互耦誤差校正算法的校正效果進行了驗證,實驗結果表明本文設計的FIR濾波器能夠滿足系統對于誤差校正的需求,也進一步驗證了基于FIR濾波器的寬帶互耦誤差校正算法的有效性與實用性。
1 FIR濾波器的優化設計
1.1 FIR濾波器設計方案選擇
隨著數字技術的快速發展,現場可編程門陣列(FPGA)得到了迅速發展和普及,整個器件的集成度與功能的多樣性以及器件可靠性都非常出色。目前基于FPGA的高速高階FIR濾波器的設計主要有兩種方式:分布式算法(Distributed Arithmetic, DA)以及快速傅里葉變換法。
1)分布式算法。
分布式算法是一種實現乘法與加法運算的算法。其主要原理如下:
一個FIR濾波器的時域表達形式為:
y (n)= ∑ N-1 n=0? h (n)× x (n)= h (0) x (0)+ h (1) x (1)+L+ h (N-1) x (n-1)
(1)
進一步假設 h (n)為已知常數,而 x (n)為輸入變量。對于有符號DA系統中假設變量 x (n)的表達式為:
x (n)=-2B· x B(n)+∑ B-1 b=0? x b(n)·2b;? x b(n)∈[0,1]
(2)
式中: x b(n)代表的是 x (n)的第b位, x (n)代表信號 x 的第n個采樣。將式(2)代入式(1)可得:
y (n)=∑ N-1 n=0? h (n)· { -2B· x B(n)+∑ B-1 b=0? x b(n)·2b }
(3)
重新分別求和,可得:
y (n)= -2B·∑ N-1 n=0? h (n)· x B(n)+∑ B-1 b=0 2b·∑ N-1 n=0? h (n)· x b(n)
(4)
對于∑ B-1 b=0 2b·∑ N-1 n=0? h (n)· x b(n)的硬件實現,就是使用一個查找表(Look Up Table, LUT)實現映射,并提前設定程序的LUT接收一個N位輸入向量:
x b(n)=[xb(0),xb(1),…,xb(N-1)]
(5)
輸出為:
h (n)· x b(n)= [h(0)·xb(0),h(1)·xb(1),…,h(N-1)·xb(N-1)]
(6)
輸出由相應的二次冪加權并累加,得到最終結果。
2)FFT法。
在頻域實現FIR濾波器便是利用時域上的卷積等效于頻域上相乘的原理。
y (n)=? x (n) h (n)=IFFT{FFT[ x (n)]×FFT[ h (n)]}
(7)
在實際系統中,濾波器的輸入序列為有限長序列。假設兩個有限長序列 x (n)與 h (n)的長度分別為N與M,將兩序列進行補零操作使得兩序列長度均為L(L=N+M-1):
x ′(n)=? x (n),?? 0≤n≤N-10, N≤n≤L-1
(8)
h ′(n)=? h (n),?? 0≤n≤M-10, M≤n≤L-1
(9)
獲得了兩個長度為L的序列后,利用循環卷積代替線性卷積:
y L(n)= x (n) h (n)= y C(n)= x ′(n) h ′(n)
(10)
式中,與分別表示線性卷積與循環卷積。
利用FFT計算 y L(n)的步驟為:
1)對 x ′(n)做L點DFT得到 X ′(k);
2)對 h ′(n)做L點DFT得到 H ′(k);
3)計算 Y (k)= X ′(k) H ′(k);
4)對 Y (k)做L點IDFT得到 y L(n)。
3)方案比較分析。
數字陣導引頭系統各陣元通道接收數據帶寬較寬,基帶信號采樣率較高,數字正交解調后的I/Q兩路信號的數據量較大,因此對于濾波器的處理速度有較高的要求。除此之外,為了保證信號校正的精度,需要設計較高階數的濾波器進行校正。綜上所述,校正濾波器對于階數與處理速度均有較高的要求。
基于FFT的FIR濾波器的頻域方法與時域方法相比減少了大量的運算量,并且濾波階數越高其速度提高得更為明顯。與基于分布式算法的FIR濾波器相比,同等階數下基于FFT的FIR濾波器的處理速度更快,但資源消耗得更多。隨著未來數字技術的發展,硬件資源的集成度將越來越高,同等階數下基于FFT的FIR濾波器在處理速度上將越來越占有優勢[10]。
綜上所述,選擇基于FFT的FIR濾波器作為數字陣導引頭校正濾波器的設計方案。
2 基于分段卷積的FIR濾波器優化設計
在實際數字陣導引頭互耦誤差校正中,通常濾波器處理的序列 x (n)的序列長度較長。如果利用有限長序列進行卷積處理,快速傅里葉變換(FFT)與快速傅里葉逆變換(Inverse Fast Fourier Transform,IFFT)點數會很大,給硬件造成較大的負擔;并且硬件的處理能力有限,并不能完成對于過長序列的FFT與IFFT;除此之外, h (n)還需要補較多的零。因此使用分段卷積的方式進行處理。
分段卷積是將 x (n)分成與 h (n)點數相仿的序列,分別使用FFT的方法得到每段的卷積結果,然后按一定的方式將序列接合在一起以最終得到總的輸出序列。分段卷積主要有兩種方法:重疊相加法與重疊保留法。
2.1 設計方法分析
1)重疊相加法。
重疊相加法需要將 x (n)分為若干個點數為N的序列 x m(n),并且將序列 x m(n)與M點序列 h (n)補零至點數為N+M-1,再進行 N+M-1點的FFT。通過觀察,各分段卷積結果有重疊,需將重疊的部分相加得到最終的結果。整個方法需要對 x m(n)與 h (n)均進行補零,且FFT的點數較多,在實際FPGA實現中浪費了較多時間在補零上[11]。
2)重疊保留法。
重疊保留法需要將 x (n)分成若干個點數為N的序列 x m(n),保證前后兩個序列有M-1個點是重疊的,將 h (n)補零至點數為N,并對兩序列進行M點FFT。最后保留各段卷積后結果的后 N+M-1個樣本,構成最終的序列。重疊保留法與重疊相加法的本質結果是相同的,但是重疊保留法的運算過程不需要對輸入序列進行過多的補零操作,并且序列 h (n)可以提前進行補零以及FFT操作進而存入ROM中,因此選擇重疊保留法進行分段卷積。
2.2 基于重疊保留法的校正濾波器優化設計
重疊保留法的具體原理如下:首先將 x (n)進行分段,使前后兩序列中有M-1個點的重疊部分, x m(n)表示將 x (n)分段后的第m部分:
x m(n)= x (n+m(N-M+1)); 0≤n≤N-1
(11)
其長度為N,此時M≤N。對 h (n)進行補零操作得到 h ′(n),使得序列長度為M。利用循環卷積得到序列 h ′(n)與 x m(n)的卷積結果:
y ′m(n)= x m(n) h ′(n)
(12)
舍棄 y ′m(n)的前M-1個樣本,保留剩下的N+M-1個樣本,得到:
y m(n)=
0,??? 0≤n≤M-2
y ′m(n), M-1≤n≤N-1
(13)
將 y m(n)拼接起來,得到 x (n)與 h (n)的線性卷積 y L(n)。
由上可知,單線程的卷積使得整個信號處理的效率較低,難以實現整個模塊的快速操作,并且重疊保留法需要對長序列進行特殊的分段。因此結合實際設計一種基于重疊保留法的校正濾波器。具體步驟如下:
1)確定濾波器 h (n)的階數為M,即序列長度為M,針對輸入的數據序列 x (n),對其進行延時M個周期得到 x (n-M+1);
2)對 x (n)與 x (n-M+1)兩序列進行均勻分段得到 x m(n)與 x m(n-M+1),每段長度為N點滿足N=2(M-1)且N為2的乘冪;對兩序列分別做FFT,得到 X ′m(k)與 X ″m(k)(k=0,1,…,N-1);
3)對 h (n)進行補零操作得到 h ′(n),其點數為N,做FFT得到 H ′(k);
4)分別將 X ′m(k)與 X ″m(k)于 H ′(k)做乘積,繼而做IFFT,得到N點的序列 y ′m(n)與 y ″m(n);
5)分別取 X ′m(k)的與 X ″m(k)的后M-1個點,拼接成完整的N點的輸出序列 y L(n)。
通過對上述步驟分析可知, x (n)延時后得到 x (n-M+1),兩序列再進行分段,此時兩序列之間相差M-1個時鐘。在實際FPGA中,數據是按時鐘輸入的,所以 x m(n)與 x m+1(n)之間相差M-1個時鐘。對于重疊保留法,每個子序列經過循環卷積舍棄前M-1個數據,并保留剩余M-1個數據作為最終線性卷積的結果。當 x m(n)與 x m(n-M+1)兩序列同時輸入進行FFT與IFFT后,分別經過重疊保留的操作,再進行拼接得到的序列等于常規方法中前兩個序列重疊保留后的序列。
兩路數據并行處理相比一路數據處理來說大大縮短了數據處理的時間,兩路輸出可以無縫拼接為完整的輸出,不需要浪費多余的RAM對輸出數據進行延時拼接,并且該設計流程能夠充分發揮FPGA中FFT IP核Pipelined Streaming I/O結構在數據處理上的優勢[12],再加上分段卷積的方式在高階高速校正濾波器上比其他方式擁有明顯優勢,所以這一優化設計能夠較好地滿足校正濾波器的設計需求。
3 基于FPGA的FIR濾波器設計與實現
3.1 校正濾波器總體設計框架
本節基于Xilinx Zynq-7000系列 XA7Z020CLG484設計一款64階FIR濾波器[13-14]。根據2.2節中所提的設計方法,首先將信號分為兩路并對其中一路信號進行延時63周期,將輸入數據進行分段,每段長度均為128點,分別做FFT,得到對應的頻域輸出;其次從ROM中讀取提前存入的濾波器系數,并將兩路頻域輸出與存儲在ROM中的FIR濾波器頻域數據進行相乘(乘法器輸出也是用過流水實現的);經過上述兩步后經過IFFT處理模塊,只保留原始輸出信號的后63點與延時后輸出信號的65點,共同組成最終輸出的128點,得到完整的線性卷積結果,進而可以實現待校正數據在校正濾波器中的流水線操作。具體設計如圖3所示。
其中:
data_delay模塊:通過調用RAM IP核實現對輸入數據x_data的讀寫,進而對x_data進行延時處理;
fft_top_xfft模塊:通過調用FFT IP核實現對輸入數據x_data的FFT;
fft_top_x63fft模塊:通過調用FFT IP核實現對輸入數據x_63data的FFT;
fft_result_multiple模塊:調用事先存入ROM的hfft_real_data與hfft_imag_data,并且通過調用Complex Multiplier IP核,實現對數據的頻域相乘;
fft_top_xifft模塊:通過調用FFT IP核實現對xfftXhfft_data_imag與xfftXhfft_data_real的IFFT;
fft_top_x63ifft模塊:通過調用FFT IP核實現對x63fftXhfft_data_imag與x63fftXhfft_data_real的IFFT;
chongdie_out模塊:通過調用RAM IP核實現對數據的緩存,進而實現對輸出序列的保留與拼接。
3.2 FFT/IFFT模塊設計
該設計利用Xilinx FFT IP核實現各模塊的FFT/IFFT功能,FFT IP核可以支持點數較大的FFT運算,FFT內核可以實現N點DFT或IDFT計算,其中N=2m(m=3,4,…,16)。FFT內核有四種可選擇的結構:Pipelined Streaming I/O、Radix-4 Burst I/O、Radix-2 Burst I/O以及Radix-2 Lite Burst I/O,其中Pipelined Streaming I/O結構允許連續對輸入數據進行變換。
本設計的四個模塊中128點的FFT/IFFT均采用Pipelined Streaming I/O結構實現。Pipelined Streaming I/O結構利用多個基2蝶形運算處理單元級聯的方式實現對連續數據的處理。每個處理單元都有自己的存儲模塊用于存儲輸入數據和中間運算數據(如圖4所示)。FFT IP核可以在執行當前幀數據運算的同時讀取下一幀的數據,并輸出上一幀數據運算的結果。這種架構也可以單獨計算一幀的數據或者計算間斷的數據輸入。輸入數據是以順序的方式輸入到FFT IP核中,而數據輸出可采用順序輸出或者是倒序輸出。在選擇順序輸出的時候,會占用更多的存儲器資源[15]。根據上述分析對Xilinx FFT IP核進行配置,如圖5所示。
上述四個模塊中,fft_top_xfft與fft_top_x63fft模塊實現的是對輸入數據的FFT,而fft_top_xifft與fft_top_x63ifft實現的是對輸入數據的IFFT,在FFT IP核的配置過程中,利用模塊中的輸入fft_or_ifft對FFT IP核進行配置實現響應的功能。
3.3 頻域相乘模塊設計
在整個結構中fft_result_multiple模塊的作用是從濾波器系數存儲器中讀取濾波器系數并與FFT的輸出相乘,得到頻域相乘的結果。頻域相乘模塊包括地址控制單元與復數乘法器兩部分。其中核心復數乘法器主要利用了Xilinx中的Complex Multiplier IP核實現復數的相乘的功能,具體IP核的配置如圖6所示。
3.4 存儲模塊設計
在整體設計中,存儲器模塊的主要作用是利用ROM存儲濾波器系數和利用RAM實現了對輸入數據的延時以及利用RAM完成數據的緩存以及讀取進而實現兩路輸出數據的重疊保留。
存儲器模塊是采用XA7Z020CLG484片內的嵌入式Block
RAM模塊組成的單口RAM存儲器。本設計采用Xilinx提供
的Block Memory Generator IP核對存儲器模塊進行設計。其
中data_delay模塊、fft_result_multiple模塊和chongdie_out模
塊的設計指標如表1所示。
3.5 仿真驗證及分析
為進一步驗證FIR濾波器的設計效果,本節基于上述設計的濾波器,設計了測試文件對濾波器的濾波效果進行測試,測試文件內部結構如圖7所示。測試文件利用DDS Complier IP核構成兩個模塊dds_signal1和dds_signal2分別生成10MHz與80MHz的單頻信號,信號采樣頻率為640MHz,然后將兩路信號合成一路作為輸入送入設計的FIR濾波器top模塊中。在此基礎上,利用Matlab中Filter Designer生成64階截止頻率為64MHz的低通濾波器,并將濾波器系數存入hfft_imag和hfft_real中。最后在VIVADO軟件中利用測試文件進行功能測試。
測試結果表明所設計的濾波器可以將輸入數據的高頻部分剔除出去,只保留低頻部分的單頻信號。在64MHz工作時鐘下,FIR濾波器完成運算只需要1ms左右,可以滿足對濾波器速度的要求。
對于該設計,通過編譯得到資源占用情況如圖8所示。
為了比較本文算法與傳統分布式算法在硬件資源的消耗上的差別,同樣在Xilinx ZYNQ-7000芯片上實現64階濾波器,對比分析結果如表2所示。
分析表2可知,基于分段卷積的并行算法與傳統分布式算法相比,其寄存器、LUT(Look-Up-Table)和DSP(Digital Signal Processor)等資源占用率都得到明顯降低,這是由于采用了分段卷積的方法實現高階FIR濾波器可以有效減少運算部件的數量。
4 校正效果測試
4.1 實驗設計
本文針對校正濾波器階數較高、處理序列較長的特點,采用第2章中的設計方法對FIR濾波器進行設計。為了進一步驗證校正濾波器對于誤差校正的效果,利用八陣元數字陣列接收系統實驗平臺得到各通道的頻域特性,進而對校正濾波器的校正效果進行驗證。由于陣列接收到的采樣信號中包括多種誤差的影響,其中最主要的便是幅相誤差與互耦誤差。為了驗證寬帶互耦誤差校正方法的性能以及本文設計的FIR濾波器的校正效果,利用文獻[6]中的寬帶幅相誤差校正方法對陣列接收數據幅相誤差進行了校正。經過寬帶幅相誤差校正后的數據中主要包含互耦誤差,進而消除了幅相誤差對實驗的影響。
本文利用八陣元數字陣列接收系統實驗平臺,通過該平臺獲取實驗數據驗證校正濾波器的校正效果。平臺框架如圖9所示。該系統的接收天線為八陣元均勻線陣,接收天線可工作頻段為0.6~3.0GHz,具有窄帶和寬帶兩種模式,窄帶瞬時帶寬為8MHz,寬帶瞬時帶寬為500MHz。數字接收組件由高速ADC(Analog-to-Digital-Converter)、高性能FPGA組成。
具體實驗步驟如下:
1)將實驗系統調整為校正模式,利用暗室中設置的信號源生成帶寬為500MHz、中心頻點為2.7GHz的線性調頻信號射向陣列,進而得到各通道頻率響應;
2)利用寬帶幅相誤差校正方法對陣列各通道頻率響應進行幅相誤差校正進而得到僅含有互耦誤差的陣列接收數據;
3)利用互耦誤差校正算法得到校正濾波器矩陣,該矩陣由64個濾波器組成;
4)在得到了濾波器系數的基礎上,將濾波器系數存入ROM中,利用FPGA分別對各個濾波器進行設計與實現;
5)將各通道接收數據輸入相應濾波器中得到輸出數據,并將對應通道的輸出數據進行相加,最終得到校正后的完整通道頻率特性。
4.2 實驗結果與分析
為了便于觀察寬帶互耦誤差校正方法的校正效果,本文以第一通道為參考,給出了其他通道相對于第一通道的幅度差與相位差。
由圖10可知,未對互耦誤差進行校正時,幅度起伏可達到8.4dB,各通道的相位特性隨頻率非線性變化,經過寬帶幅相誤差校正后的數據一致性較好;但是受互耦誤差的影響,各通道特性存在較明顯抖動。經過處理后,幅度起伏降低至3.5dB以下,各通道相位基本呈線性變化。由此可見,寬帶互耦誤差校正算法是有效的。
為了定量地描述陣列各通道間的一致性,定義第i個通道的失配特性為:
Di(f)= Ci(f) Cref(f) =ai(f)exp(ji(f))
(14)
式中,Ci(f)和Cref(f)分別為第i個通道和參考通道的頻率響應。
幅度失配均方根和相位失配均方根定義如下:
Δai=? 1 B ∫B/2-B/2 ai(f)- i(f) 2df
(15)
Δi=? 1 B ∫B/2-B/2 i(f)- i(f) 2df
(16)
其中:B為帶寬, i(f)和 i(f)分別表示理想條件下的幅頻與相頻特性。
以第一通道為參考,各通道的幅度與相位失配均方根如表3所示。未校正時,最大幅度失配達到了2.5dB,最大相位失配達0.32rad,并且各通道之間的幅相失配差異較大;經過基于FIR濾波器的寬帶互耦誤差校正方法校正后,幅度失配均方根小于1dB,相位失配均方根小于0.1rad。這充分說明了本文方法對于互耦誤差校正的有效性。
5 結語
為了進一步將理論算法應用于實際工程中,本文設計了一種基于分段卷積的高速高階FIR濾波器。首先分析了基于分布式算法與基于FFT法的FIR濾波器的設計方案,并比較了它們的優缺點,發現基于FFT法的FIR濾波器頻域設計方案更適合系統對濾波器高速高階的需求;然后結合實際處理需求,基于分段卷積的方法對FIR濾波器進行了優化設計,使其能夠在濾波器輸入為長序列時仍能實現快速計算;基于Xilinx Zynq-7000系列FPGA板卡對FIR濾波器進行設計,利用測試文件對濾波器的功能進行了測試驗證,并利用實測數據對基于FIR濾波器的寬帶互耦誤差校正算法的校正效果進行了驗證,實驗結果表明本文設計的FIR濾波器能夠滿足系統對于誤差校正的需求,也進一步驗證了基于FIR濾波器的寬帶互耦誤差校正算法的有效性與實用性。
參考文獻
[1]?陳曾平,張月,鮑慶龍.數字陣列雷達及其關鍵技術進展[J].國防科技大學學報,2010,32(6):1-7. (CHEN Z P, ZHANG Y, BAO Q L. Advance in digital array radar and its key technologies [J]. Journal of National University of Defense Technology, 2010, 32(6):1-7.)
[2]?李衛星,張月,陳曾平.一種寬帶陣列幅相與互耦誤差聯合校正算法[J].航空學報,2016,37(3):1025-1035. (LI W X, ZHANG Y, CHEN Z P. Wideband calibration algorithm for amplitude-phase and mutual coupling errors [J]. Acta Aeronautica et Astronautica Sinica, 2016, 37(3):1025-1035.)
[3]?彭小亮,李榮鋒.固定相移對自適應通道均衡性能影響的分析[J].空軍預警學院學報,2004,18(2):11-13. (PENG X L, LI R F. Analysis of effect of constant phase-shifting on adaptive channel equalization performance [J]. Journal of Air Force Radar Academy, 2004, 18(2): 11-13.)
[4]?楊虔靜.數字陣列雷達自適應通道均衡算法研究[D].西安:西安電子科技大學,2011:47-53. (YANG Q J. Research on adaptive channel equalization algorithm for digital array radar [D]. Xian: Xidian University, 2011: 47-53.)
[5]?王峰,傅有光,孟兵.基于傅里葉變換的雷達通道均衡算法性能分析及改進[J].電子學報,2006,34(9):1677-1680. (WANG F, FU Y G, MENG B. Performance analysis and improvement of the equalization algorithm based on Fourier transform for radar channel [J]. Acta Electronica Sinica, 2006, 34(9):1677-1680.)
[6]?徐明燦.一種改進的雷達通道均衡算法[J]. 科技視界,2012(2):69-72. (XU M C. An improved algorithm of the radar channel equalization [J]. Science & Technology View, 2012(2): 97-98.)
[7]?賈可新,柳桃榮,劉振華.一種寬帶陣列通道均衡器設計[J].航天電子對抗,2013,29(6):62-64. (JIA K X, LIU T R, LIU Z H. A design of wideband array channel equalizer [J]. Aerospace Electronic Warfare, 2013, 29(6): 62-64.)
[8]?袁上策,何子述.改進的多通道系統頻域信道均衡算法[J].雷達科學與技術,2014, 12(5):517-521. (YUAN S C, HE Z S. An improved frequency-domain equalization algorithm in multi-channel system [J]. Radar Science & Technology, 2014, 12(5): 517-521.)
[9]?張月,鮑慶龍,楊劍,等.寬帶數字陣列雷達通道均衡方法的設計與實現[J].信號處理,2010,26(3):453-457. (ZHANG Y, BAO Q L, YANG J, et al. Design and Implementation of channel equalization method for wideband digital array radar [J]. Signal Processing, 2010, 26(3): 453-457.)
[10]?王宇峰.基于FFT的快速卷積算法的FPGA實現[D].哈爾濱:哈爾濱工業大學,2011:11-17. (WANG Y F. FPGA implementation of FFT-based fast convolution algorithm[D]. Harbin: Harbin Institute of Technology, 2011: 11-17.)
[11]?王法棟,劉宇.高階數字濾波器分布式算法結構比較[J].聲學技術,2009,28(3):307-311. (WANG F D, LIU Y. Comparison between distributed arithmetic architectures of high-order digital filters [J]. Technical Acoustics, 2009, 28(3): 307-311.)
[12]?李大習.基于FPGA的可配置FFT IP核實現研究[J].電子科技,2014, 27(6):46-49, 53. (LI D X. Research on and implementation of reconfigurable FFT IP core based on FPGA [J]. Electronic Science & Technology, 2014, 27(6): 46-49, 53.)
[13]?張震. 基于FPGA的通用型FIR數字濾波器的研究與設計[J]. 軟件, 2015, 36(6):125-128. (ZHANG Z. Research and design of universal FIR digital filter based on FPGA[J]. Computer Engineering & Software, 2015, 36(6): 125-128.)
[14]?盧雍卿, 李劍文, 許雯雯. 基于FPGA的數字濾波器設計與仿真[J]. 軟件導刊, 2017, 16(2): 85-88. (LU Y Q, LI J W, XU W W. Design and simulation of digital filter based on FPGA [J]. Software Guide, 2017, 16(2): 85-88.)
[15]?錢慧玲,左明鑫,黃紅星,等.基于FPGA的數字濾波器設計[J].大眾科技,2010(10):65-66. (QIAN H L, ZUO M X, HUANG H X, et al. Digital filter design based on FPGA [J]. Dazhong Keji, 2010(10): 65-66.)