《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 寬帶數(shù)字接收機(jī)的信道化設(shè)計(jì)
寬帶數(shù)字接收機(jī)的信道化設(shè)計(jì)
中電網(wǎng)
蘇穎妍
摘要: 在現(xiàn)代電子戰(zhàn)環(huán)境中,信號一般都具有密集化、復(fù)雜化的特點(diǎn),而且占用的頻譜越來越寬,從而對寬帶數(shù)字信道化接收機(jī)準(zhǔn)確接收信號提出了更高的要求。一般的多相濾波器在監(jiān)視整個頻段時,由于相鄰信道間往往會存在盲區(qū),有可能丟失信號。而改進(jìn)后的無盲區(qū)多相濾波器的信道數(shù)與抽取倍數(shù)不再相等。一般的旋轉(zhuǎn)開關(guān)方法實(shí)現(xiàn)延遲和抽取只適用于信道數(shù)與抽取倍數(shù)相等的情況,而無法適應(yīng)改進(jìn)后的算法。但是,信道數(shù)和抽取因子之間往往存在倍數(shù)關(guān)系。本文正是利用這一關(guān)系解決了延遲與抽取的問題,并完成了整個復(fù)多相濾波器的FPGA設(shè)計(jì)。
Abstract:
Key words :

0 引言

在現(xiàn)代電子戰(zhàn)環(huán)境中,信號一般都具有密集化、復(fù)雜化的特點(diǎn),而且占用的頻譜越來越寬,從而對寬帶" title="寬帶">寬帶數(shù)字" title="數(shù)字">數(shù)字信道化接收機(jī)" title="接收機(jī)">接收機(jī)準(zhǔn)確接收信號提出了更高的要求。一般的多相濾波器在監(jiān)視整個頻段時,由于相鄰信道間往往會存在盲區(qū),有可能丟失信號。而改進(jìn)后的無盲區(qū)多相濾波器的信道數(shù)與抽取倍數(shù)不再相等。一般的旋轉(zhuǎn)開關(guān)方法實(shí)現(xiàn)延遲和抽取只適用于信道數(shù)與抽取倍數(shù)相等的情況,而無法適應(yīng)改進(jìn)后的算法。但是,信道數(shù)和抽取因子之間往往存在倍數(shù)關(guān)系。本文正是利用這一關(guān)系解決了延遲與抽取的問題,并完成了整個復(fù)多相濾波器的FPGA設(shè)計(jì)。

1 復(fù)信號多相濾波器無盲區(qū)算法分析

復(fù)信號多相濾波器的作用是用D個信道將-fs/2~fs/2頻段均勻劃分,然后用輸入信號S(n)以復(fù)本振信號,再將特定頻段的信號搬移到基帶,并通過低通濾波器得到位于該信道的信號,然后進(jìn)行抽取,以降低數(shù)據(jù)速率。無盲區(qū)的信道劃分如圖1所示。由于其相鄰信道有50%的重疊,因此,相鄰信道間不存在盲區(qū),故能對信號進(jìn)行全概率捕獲。

 

為了防止頻譜混疊,其抽取倍數(shù)應(yīng)為D/2。這樣,多相濾波器的第k路輸出推導(dǎo)如下(D’=D/2時):

由式(2)可知,該算法是對多相濾波器的輸入數(shù)據(jù)進(jìn)行D/2倍的抽取,各多相分量是由原低通濾波器的系數(shù)先進(jìn)行D抽取再做兩倍內(nèi)插得到的。根據(jù)式(2)可以得到如圖2所示的數(shù)學(xué)模型和FPGA設(shè)計(jì)。

2 FPGA設(shè)計(jì)

2.1延遲和抽取

以下選用具體的例子來闡述復(fù)多相濾波器的FPGA設(shè)計(jì)方法。對于8信道的多相濾波器,其抽取因子為4的情況,經(jīng)過延遲單元進(jìn)入各抽取器的順序如表1所列。

觀察表1可知,進(jìn)入每個子信道的數(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ù)進(jìn)行乘加運(yùn)算。采用可定制模塊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信道進(jìn)行乘加運(yùn)算;而第二次輸出的13個數(shù)據(jù)為x(1)、x(5)、x(9)……、x(57),其中1-12送入7信道,2-13送人3信道,依此類推……這樣,每個時鐘節(jié)拍將得到兩個信道的延遲和抽取輸出,因而需要4次這樣的操作才能完成一次所有信道的延遲和抽取。然后再重復(fù)執(zhí)行以上操作。

2.2  濾波器的多相分量

設(shè)計(jì)多相分量時,首先可根據(jù)原低通濾波器的頻率響應(yīng)確定所需的濾波器類型和階數(shù),以求出沖擊響應(yīng)h(n);然后再根據(jù)式hp(m)=h(mD+p),D=8,p=0,1,…D-1來確定多相分量。

若采樣頻率fs為64 MHz,并把64 MHz帶寬均勻劃分為8路子信道,則每路通帶的帶寬為8MHz。圖3所示是原型低通濾波器的頻率響應(yīng)圖。

 MATLAB中的firpmord函數(shù),一般采用的是最佳逼近最大最小準(zhǔn)則算法,該算法可以求出原型低通濾波器的階數(shù),而firpm函數(shù)可以求出原型低通濾波器的系數(shù)。即:

a=firpmord([4 8],[1 0],[0.001 0.001],64);(3)

h=firpm(a,[0 4/32 8/32 1],[1 1 0 0]);  (4)

(3)式中,  [4 8]表示通帶截止頻率為4MHz,阻帶截止頻率為8 MHz;  [1 0]表示通帶幅度為1,阻帶幅度為0;  [0.001 0.001]表示通帶、阻帶波動均為0.001;64表示采樣頻率為64MHz。

而在(4)式中,[04/32 8/32 1]分別為對應(yīng)于實(shí)際頻率0、4、8、32(MH)的歸一化頻率;[1 1 0 0]為上述頻率點(diǎn)上的幅度值。

求出原低通濾波器h(n)后,就可以求出多相濾波器的多相分量。圖2中的多相分量是對h(n)進(jìn)行8倍抽取,再做兩倍內(nèi)插得到的。用MATLAB語句可方便地得到各多相分量的系數(shù),每個多相分量有6個非零系數(shù),兩倍內(nèi)插后為12個系數(shù)。其MATLAB語句如下:

hp=zeros(8,2*fix(length(h)/8));
for i=1:8
 
hp (i,1:2:end)=h(i:8:(fix(lengh (h)/8)-1)*8+i);
end

一個多相分量的濾波運(yùn)算可用三個乘加單元完成,每個乘加單元有四個乘法器,這樣就可以完成12個系數(shù)的乘加。多相分量的濾波系數(shù)一般事先都將其轉(zhuǎn)換為二進(jìn)制補(bǔ)碼存放在ROM中。

由上述分析可知,每個時鐘節(jié)拍可完成兩個信道的延遲和抽取(采用流水線操作),每個時鐘節(jié)拍需要進(jìn)行兩個多相分量的乘加運(yùn)算,即需要同時得到12個非零系數(shù),這可用12個單口ROM實(shí)現(xiàn)。其中6個ROM存放1~4信道的系數(shù)。另6個ROM存放5~8通道的系數(shù)。其存儲格式如表2和表3所列。

 這樣,每當(dāng)時鐘上升沿到來時,就可以同時輸出兩個子信道的12個非零系數(shù)。通??梢栽O(shè)計(jì)一個模4減法計(jì)數(shù)器來實(shí)現(xiàn)ROM地址的產(chǎn)生。當(dāng)數(shù)據(jù)準(zhǔn)備好后,發(fā)出一個計(jì)數(shù)器的使能信號,計(jì)數(shù)器開始計(jì)數(shù)。因?yàn)槭紫扔?jì)算的是4信道和8信道,所以,計(jì)數(shù)器的初始值為3,采用減一計(jì)數(shù),計(jì)數(shù)到0后再進(jìn)行循環(huán)。

2.3  時序的設(shè)計(jì)

由于信號s(n)的輸入速率為64 MHz。故在64 MHz時鐘驅(qū)動下,每一個節(jié)拍計(jì)算兩個子信道,8個信道的計(jì)算需要用4個節(jié)拍來完成,并得到8個復(fù)數(shù)。這8個復(fù)數(shù)必須同時進(jìn)入FFT模塊,所以,可在FFT之前設(shè)計(jì)一組乒乓RAM來接收這8個復(fù)數(shù)。其中一個RAM以64 MHz的速率存放前面的計(jì)算結(jié)果,每個節(jié)拍接收兩個復(fù)數(shù),4個節(jié)拍接收完8個復(fù)數(shù)后開始FFT運(yùn)算,同時換成另一個RAM接收前面的計(jì)算結(jié)果。等到8個復(fù)數(shù)都存放好之后,再開始FFT運(yùn)算,此時又再次換成第一個RAM接收前面的計(jì)算結(jié)果,并依次循環(huán)。根據(jù)這樣的時序設(shè)計(jì),F(xiàn)FT模塊的時鐘應(yīng)為16 MHz。FFT運(yùn)算由IP核完成。經(jīng)FFT運(yùn)算后同時可得到8個復(fù)數(shù)形式的結(jié)果,由于復(fù)數(shù)分成實(shí)虛部的表示形式,且實(shí)虛部都用32位二進(jìn)制數(shù)表示,因此,8個復(fù)數(shù)需要16個32位的二進(jìn)制數(shù)表示,也就是芯片上需要16×32=512個引腳,這對于任何芯片都是不可能辦到的。為此,應(yīng)在FFT模塊的輸出端也設(shè)計(jì)一個乒乓RAM。其中一個RAM先將8個FFT運(yùn)算結(jié)果存儲起來,然后以64 MHz的時鐘頻率每個節(jié)拍向外輸出兩個復(fù)數(shù)(即4個32為二進(jìn)制數(shù)),直到4個節(jié)拍全部輸出完畢(即8個復(fù)數(shù)全部輸出的頻率為16 MHz),同時另一個RAM以16MHz的時鐘頻率接收FFT的運(yùn)算結(jié)果。然后將兩個RAM的作用交換,再以此循環(huán)。

3  結(jié)束語

本文詳細(xì)分析了復(fù)信號多相濾波器的無盲區(qū)改進(jìn)算法,并根據(jù)推導(dǎo)出的數(shù)學(xué)模型完成了其FPGA的設(shè)計(jì)。該設(shè)計(jì)根據(jù)信道數(shù)和抽取因子之間的倍數(shù)關(guān)系,解決了延遲和抽取功能的實(shí)現(xiàn)問題,并使用乒乓RAM實(shí)現(xiàn)了復(fù)信號多相濾波器的多通道流水線輸出。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。