0 引言
在現(xiàn)代電子戰(zhàn)環(huán)境中,信號一般都具有密集化、復(fù)雜化的特點,而且占用的頻譜越來越寬,從而對寬帶數(shù)字信道化接收機準確接收信號提出了更高的要求。一般的多相濾波器在監(jiān)視整個頻段時,由于相鄰信道間往往會存在盲區(qū),有可能丟失信號。而改進后的無盲區(qū)多相濾波器的信道數(shù)與抽取倍數(shù)不再相等。一般的旋轉(zhuǎn)開關(guān)方法實現(xiàn)延遲和抽取只適用于信道數(shù)與抽取倍數(shù)相等的情況,而無法適應(yīng)改進后的算法。但是,信道數(shù)和抽取因子之間往往存在倍數(shù)關(guān)系。本文正是利用這一關(guān)系解決了延遲與抽取的問題,并完成了整個復(fù)多相濾波器的FPGA設(shè)計。
1 復(fù)信號多相濾波器無盲區(qū)算法分析
復(fù)信號多相濾波器的作用是用D個信道將-fs/2~fs/2頻段均勻劃分,然后用輸入信號S(n)以復(fù)本振信號,再將特定頻段的信號搬移到基帶,并通過低通濾波器得到位于該信道的信號,然后進行抽取,以降低數(shù)據(jù)速率。無盲區(qū)的信道劃分如圖1所示。由于其相鄰信道有50%的重疊,因此,相鄰信道間不存在盲區(qū),故能對信號進行全概率捕獲。
為了防止頻譜混疊,其抽取倍數(shù)應(yīng)為D/2。這樣,多相濾波器的第k路輸出推導(dǎo)如下(D’=D/2時):
由式(2)可知,該算法是對多相濾波器的輸入數(shù)據(jù)進行D/2倍的抽取,各多相分量是由原低通濾波器的系數(shù)先進行D抽取再做兩倍內(nèi)插得到的。根據(jù)式(2)可以得到如圖2所示的數(shù)學(xué)模型和FPGA設(shè)計。
2 FPGA設(shè)計
2.1延遲和抽取
以下選用具體的例子來闡述復(fù)多相濾波器的FPGA設(shè)計方法。對于8信道的多相濾波器,其抽取因子為4的情況,經(jīng)過延遲單元進入各抽取器的順序如表1所列。
觀察表1可知,進入每個子信道的數(shù)據(jù)都是4倍抽取。而且4信道比8信道延遲一個數(shù)據(jù),3信道比7信道延遲一個數(shù)據(jù),依此類推。這樣,就可以將信道分為兩部分,即1、2、3、4信道是一部分,5、6、7、8信道是另一部分。
由于每個子信道的濾波系數(shù)為12個,即每個抽取器必須同時輸出12個數(shù)據(jù)與一個子信道的12個濾波系數(shù)進行乘加運算。采用可定制模塊shift_tap,能夠滿足這樣的延遲和抽取要求,它的輸出即為抽取器的輸出。若將shift_tap中的抽取因子設(shè)為4,一次同時輸出13個數(shù)據(jù),那么,第一次輸出的13個數(shù)據(jù)為x(0)、x(4)、x(8)、……、x(56),這樣可將1-12送入8信道,2-13送入4信道進行乘加運算;而第二次輸出的13個數(shù)據(jù)為x(1)、x(5)、x(9)……、x(57),其中1-12送入7信道,2-13送人3信道,依此類推……這樣,每個時鐘節(jié)拍將得到兩個信道的延遲和抽取輸出,因而需要4次這樣的操作才能完成一次所有信道的延遲和抽取。然后再重復(fù)執(zhí)行以上操作。