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