崔鑫磊, 陸滿君, 張文旭, 何俊希
(1.哈爾濱工程大學(xué)信息與通信工程學(xué)院,黑龍江 哈爾濱150001;2.上海無線電設(shè)備研究所,上海201109;3.南京航空航天大學(xué)電磁頻譜空間認(rèn)知動態(tài)系統(tǒng)工信部重點(diǎn)實驗室,江蘇 南京211106;4.哈爾濱工程大學(xué)工業(yè)和信息化部先進(jìn)船舶通信與信息技術(shù)重點(diǎn)實驗室,黑龍江哈爾濱150001)
電子戰(zhàn)作為現(xiàn)代信息化戰(zhàn)爭中的重要一環(huán),發(fā)揮著越來越來重要的作用。在現(xiàn)代化戰(zhàn)場中,傳輸?shù)男盘柧哂忻芏却?、形式?fù)雜的特點(diǎn)。面對日益復(fù)雜的電磁環(huán)境,寬帶接收機(jī)面臨著越來越嚴(yán)峻的考驗。在實際應(yīng)用中,判定接收機(jī)性能優(yōu)劣的重要標(biāo)準(zhǔn)是其能否做到對信號進(jìn)行全概率截獲。如果一個接收機(jī)能處理大瞬時帶寬信號,擁有大的動態(tài)范圍與高靈敏度,同時能實時接收信號,則能夠在復(fù)雜的電磁條件下進(jìn)行信號的有效截獲[1]。信道化接收機(jī)能分辨時域重疊信號,具有較高的靈敏度和頻率分辨率,截獲概率接近100%,是目前唯一實用且滿足電子戰(zhàn)需求的寬帶接收機(jī)。
信道化接收機(jī)技術(shù)在近些年迅速發(fā)展,信道化理論日趨成熟。其中基于離散傅里葉變換(Discrete Fourier Transform,DFT)的多相濾波信道化結(jié)構(gòu)是一種基本的信道化結(jié)構(gòu),在研究過程中多相結(jié)構(gòu)被不斷進(jìn)行改進(jìn)[2]。頻率響應(yīng)屏蔽(Frequency Response Masking,FRM)技術(shù)[3]被用于原型低通濾波器的設(shè)計,以獲得較窄的過渡帶寬和較低的資源占用。同時涌現(xiàn)出多種基于多相濾波結(jié)構(gòu)的信道化接收機(jī)優(yōu)化方法[4]。
在對整數(shù)進(jìn)行二進(jìn)制量化編碼[5]時,一般會使用二進(jìn)制補(bǔ)碼(Two's Complement,2C),或通過正則有符號數(shù)(Canonic Signed Digit,CSD)編碼對整數(shù)進(jìn)行轉(zhuǎn)換,減少非零元素,提高硬件實施效率[6]。正則表達(dá)式與普通二進(jìn)制轉(zhuǎn)換的最大區(qū)別是具有三重值,其取值值域為{0,1,-1}。在算法硬件實現(xiàn)中運(yùn)用CSD編碼方法,有利于提高運(yùn)算速度和減少資源的占用。
動態(tài)旋轉(zhuǎn)因子(Dynamic Twiddle Factor,DTF)算法是減少DFT在硬件上資源消耗的一種方法[7],它是傳統(tǒng)定點(diǎn)旋轉(zhuǎn)因子算法的延伸。在動態(tài)旋轉(zhuǎn)因子算法中,旋轉(zhuǎn)因子會被量化成與原旋轉(zhuǎn)因子誤差最小、分子分母都為整數(shù)的分?jǐn)?shù)形式。
信道化接收機(jī)在硬件實現(xiàn)過程中會消耗大量的乘法器資源,將CSD編碼技術(shù)和改進(jìn)動態(tài)旋轉(zhuǎn)因子算法應(yīng)用到基于FRM的多相信道化接收機(jī)中,可以將乘法器資源的占用轉(zhuǎn)化為移位器與加法器的占用,提高硬件實現(xiàn)的效率,降低延遲。
基于FRM的多相數(shù)字信道化結(jié)構(gòu)結(jié)合了FRM技術(shù)與多相結(jié)構(gòu)[8]的優(yōu)點(diǎn),既可以達(dá)到更低的計算復(fù)雜度,也可以實現(xiàn)窄過渡帶的設(shè)計目標(biāo)。信道化濾波器可以通過對原型低通濾波器進(jìn)行調(diào)制實現(xiàn),所以首先需要設(shè)計窄過渡帶的原型低通濾波器。將FRM技術(shù)[9]應(yīng)用到原型低通濾波器的設(shè)計中,可以得到低復(fù)雜度的窄過渡帶低通濾波器,其傳遞函數(shù)為
式中:F'a(z)和F'c(z)是低通濾波器Fa(z)和它的互補(bǔ)濾波器Fc(z)進(jìn)行L倍插值后得到濾波器;FM]a(z)和FM]c(z)分別是長度為NM]a和NM]c的屏蔽濾波器。
FRM的具體實現(xiàn)方法如圖1所示。首先選擇一個過渡帶相對較寬的低通濾波器Fa(z),通過運(yùn)算得到它的互補(bǔ)濾波器Fc(z);然后進(jìn)行L倍插值得到F'a(z)和F'c(z);最后選擇合適的屏蔽濾波器FM]a(z)和FM]c(z),運(yùn)算得到窄過渡帶低通濾波器H(z)。
Fa(z)和Fc(z)滿足
式中:Na為Fa(z)和Fc(z)的長度。
對Fc(z)進(jìn)行L倍插值,由式(2)可得
將式(3)代入式(1),可得
圖1 基于FRM的低通濾波器實現(xiàn)過程
各子信道濾波器Hk(z)可由窄過渡帶低通濾波器H(z)經(jīng)過復(fù)指數(shù)調(diào)制得到,表達(dá)式為
式中:N為數(shù)字信道化結(jié)構(gòu)中信道的個數(shù);調(diào)制因子
對濾波器Fa(z)進(jìn)行L倍插值后會產(chǎn)生L個附加鏡像,而且相鄰信道的中心頻率間隔為2π/L。若使插值因子L為信道數(shù)N的整數(shù)倍,在利用調(diào)制因子對插值后的濾波器Fa(z)進(jìn)行復(fù)指數(shù)調(diào)制時,原型低通濾波器并不會發(fā)生改變,即
將式(6)帶入式(5),Hk(z)進(jìn)一步化簡為
對屏蔽濾波器FM]a(z)和FM]c(z)進(jìn)行多相表示,可得
由式(8)和式(9)可得
將式(10)和式(11)代入式(7),可得
式中:IDFT(·)表示對括號內(nèi)信號進(jìn)行離散傅里葉逆變換。
將抽取模塊置于濾波器組結(jié)構(gòu)之前[10],根據(jù)式(12)可以得到基于FRM的多相數(shù)字信道化結(jié)構(gòu),如圖2所示。x(n)和yk(n)分別為輸入、輸出信號。
圖2 基于FRM的數(shù)字信道化結(jié)構(gòu)
在工程實現(xiàn)中,可以通過CSD編碼對整數(shù)進(jìn)行轉(zhuǎn)換,以減少非零元素,來提高硬件實施效率。CSD編碼原則是從低位到高位,遇到連續(xù)的兩個1,就將其改寫成0和-1。高位1變0,低位1變-1,不看-1的符號位的話,相比原來少了一個1,這個少了的1要進(jìn)位到高位,以此類推。例如,011改寫為10(-1)。
乘法是數(shù)字濾波器中的主要運(yùn)算之一。對于硬件設(shè)計來說,在進(jìn)行常系數(shù)濾波器的優(yōu)化設(shè)計時,一般可以利用移位器與加法器結(jié)合,來取代常規(guī)的數(shù)據(jù)與常系數(shù)的乘法運(yùn)算。該方法能避免硬件實現(xiàn)上高乘法器資源占用和高延時的問題。設(shè)FIR濾波器的數(shù)學(xué)表達(dá)式為
式中:x(n)為輸入信號;h(n)為濾波器單位沖激響應(yīng);N為濾波器長度。
令xi=x(i),yi=y(i),hi=h(N-i),基于CSD編碼,可以將式(13)變換為
式中:M代表濾波器系數(shù)量化位數(shù);hi(j)為hi的CSD編碼的第j位,取值為0,-1或1。每一個1值代表一次加法運(yùn)算,-1代表減法運(yùn)算,0值不需要運(yùn)算。
CSD編碼可以降低濾波器非零元素數(shù)量,即降低濾波器運(yùn)算需要的乘法器數(shù)量,相應(yīng)占用的寄存器與查找表數(shù)量也會降低。假設(shè)X為輸入,Y為輸出,H為系數(shù)。當(dāng)H=(31)1]0時,有
式中:1'表示-1。
普通二進(jìn)制編碼系數(shù)與輸入信號相乘的移位相加實現(xiàn)結(jié)構(gòu)如圖3所示。CSD編碼系數(shù)與輸入信號相乘的移位相加實現(xiàn)結(jié)構(gòu)如圖4所示。
圖3 優(yōu)化前乘積組合
圖4 優(yōu)化后乘積組合
由上文可知,濾波器中系數(shù)與輸入信號的乘法運(yùn)算,可轉(zhuǎn)化為輸入信號自身的移位與加法運(yùn)算。如圖3和圖4所示,當(dāng)濾波器系數(shù)第n位的絕對值是1時,輸入信號左移n位,最后將所有移位結(jié)構(gòu)相加減得到乘法運(yùn)算結(jié)果。在硬件實現(xiàn)中可以將乘法器占用轉(zhuǎn)換成移位器與加法器的占用,這種方法能夠減少硬件計算時間。
對于一般的時域信號,可以利用DFT將其轉(zhuǎn)換成離散頻域信號,表達(dá)式為
式中:x(n)為模擬信號的采樣輸出;X(k)為離散傅里葉變換后的第k個數(shù)據(jù);N為數(shù)據(jù)個數(shù)。
快速傅里葉變換(Fast Fourier Transform,FFT)同樣可以應(yīng)用于IDFT計算,稱為快速傅里葉逆變換(Inverse Fast Fourier Transform,IFFT)。其中IDFT公式為
IDFT運(yùn)算與DFT間的區(qū)別在于IDFT中需要把原DFT公式中的系數(shù)換為,并乘以常數(shù)1/N。根據(jù)得到的IDFT計算公式,IDFT算法的理論與硬件結(jié)構(gòu)也得以確定。
在N點(diǎn)IDFT中,存在N個旋轉(zhuǎn)因子與數(shù)據(jù)的乘法運(yùn)算。通常旋轉(zhuǎn)因子為復(fù)數(shù),實部和虛部的值小于1,這會極大提升硬件實現(xiàn)的復(fù)雜度,同時消耗大量的硬件資源。
在動態(tài)旋轉(zhuǎn)因子算法中,旋轉(zhuǎn)因子會被量化成與原旋轉(zhuǎn)因子誤差最小、分子分母都為整數(shù)的分?jǐn)?shù)形式。為了進(jìn)一步降低數(shù)據(jù)與旋轉(zhuǎn)因子的處理復(fù)雜度,可將分子分母量化為2的冪次方。例如,對于8bit輸入數(shù)據(jù)的情況,旋轉(zhuǎn)因子的實部和虛部可量化為(96/128,84/128)。其中,數(shù)據(jù)與實部相乘轉(zhuǎn)化為數(shù)據(jù)分別向右移一位和兩位的加和,數(shù)據(jù)與虛部的相乘運(yùn)算與實部相同。這樣可使量化后的整數(shù)與數(shù)據(jù)的乘法運(yùn)算,轉(zhuǎn)化為數(shù)據(jù)自身的移位與加法運(yùn)算。
當(dāng)決定旋轉(zhuǎn)因子的量化表達(dá)形式時,傳統(tǒng)方法會盡可能選取與原旋轉(zhuǎn)因子的誤差最小的取值點(diǎn)。對于DFT計算而言,這不一定是計算量最小的選擇。對于大型的DFT計算,不選擇計算量最小的取值點(diǎn)會在硬件上多消耗大量的加法器。為了在保證精度的前提下進(jìn)一步降低量化過程帶來的資源消耗,應(yīng)使用加法次數(shù)最少的量化值取代原來的量化結(jié)果,同時大比特數(shù)的量化能使量化誤差控制在一定范圍之內(nèi)。以256點(diǎn)FFT中的一個旋轉(zhuǎn)因子為例,其復(fù)數(shù)表達(dá)式為
將復(fù)數(shù)的實部和虛部量化為分母為128的分?jǐn)?shù)時,可以得到4種量化值:(97/128,83/128),(96/128,83/128),(97/128,84/128)和(96/128,84/128),如圖5所示。
圖5 傳統(tǒng)旋轉(zhuǎn)因子算法取值與改進(jìn)DTF算法取值
在圖5所示的4種量化選擇中,(97/128,83/128)為傳統(tǒng)DTF方法量化的結(jié)果,其余為臨近的量化坐標(biāo)點(diǎn)。其中實部量化值97/128可以分解為1/2,1/4,1/128的和;96/128可以分解為1/2與1/4的和。可以看出,當(dāng)選擇96/128作為量化選擇的時候,能夠在保證一定精度的前提下,節(jié)省更多加法器。虛部的量化選擇方法與實部相同,當(dāng)所有的旋轉(zhuǎn)因子經(jīng)過優(yōu)化和重新選擇后,整個IDFT流程的硬件資源占用情況能得到進(jìn)一步優(yōu)化。
在傳統(tǒng)FFT運(yùn)算中,數(shù)據(jù)經(jīng)過一級運(yùn)算后會增加1bit以防止數(shù)據(jù)溢出。對于多點(diǎn)數(shù)FFT運(yùn)算過程,過度增長的數(shù)據(jù)比特位不利于硬件實現(xiàn)。所以需要利用截位的方法來對數(shù)據(jù)進(jìn)行截取。一般的截位方法是直接截取N位數(shù)據(jù)的高N-1位,用于下一級運(yùn)算。這種方法對于強(qiáng)信號處理比較有效,對于低幅度的弱信號,其有效數(shù)據(jù)可能在中途被截除,造成FFT運(yùn)算結(jié)果的失真。在改進(jìn)的DTF算法中引入動態(tài)截位方法,可以有效處理弱信號。動態(tài)截位方法在FFT的每一級運(yùn)算之后設(shè)置比較器,用于判斷每一級輸出的Nbit數(shù)據(jù)是否大于2N-1(Nbit數(shù)據(jù)可容納的最大值)并輸出一個標(biāo)志位。如果輸出的數(shù)據(jù)大于2N-1,則后續(xù)單元根據(jù)標(biāo)志位截取數(shù)據(jù)的高N-1位;如果數(shù)據(jù)等于或小于2N-1,則截取數(shù)據(jù)的低N-1位。傳統(tǒng)截位方法與動態(tài)截位方法的算法流程如圖6所示。動態(tài)截位方法可以在不增加復(fù)雜的額外設(shè)計的情況下,更好地對弱輸入信號進(jìn)行處理。
圖6 截位法流程圖
利用MATLAB對基于無乘法器的FRM數(shù)字信道化結(jié)構(gòu)的正確性進(jìn)行驗證。FRM濾波器參數(shù)如表1所示。設(shè)采樣率為1.92GHz,數(shù)字信道化結(jié)構(gòu)的子頻帶個數(shù)N=16,抽取倍數(shù)L=32。
表1 FRM各濾波器參數(shù)
圖7~圖10分別為低通濾波器Fa(z),屏蔽濾波器FM]a(z)和FM]c(z),以及經(jīng)頻率響應(yīng)屏蔽方法合成的窄過渡帶低通濾波器H(z)的幅頻特性曲線。
圖7 低通濾波器Fa(z)幅頻特性曲線
圖8 屏蔽濾波器FM]a(z)幅頻特性曲線
圖9 屏蔽濾波器FM]c(z)幅頻特性曲線
圖10 窄過渡帶低通濾波器H(z)幅頻特性曲線
仿真輸入為兩個正弦信號,參數(shù)如表2所示。
表2 輸入信號參數(shù)
圖11為16個子信道輸出的信號頻譜圖。可以看出,頻率為460MHz的正弦信號從信道4和12輸出,而另一個正弦信號從信道5和11輸出。其中每個信道的頻譜峰值對應(yīng)的橫坐標(biāo)軸數(shù)值表示信號與對應(yīng)信道中頻混頻后的頻率值。從子信道的頻譜圖可以看出,仿真結(jié)果和理論推導(dǎo)的信道輸出情況相符,證明無乘法器優(yōu)化的數(shù)字信道化結(jié)構(gòu)的理論推導(dǎo)是正確的。
由2.2節(jié)可知,由于FFT運(yùn)算與IFFT的主要區(qū)別在于系數(shù)不同,而且在單獨(dú)驗證時,FFT結(jié)構(gòu)只需要輸入預(yù)定好的采樣信號,觀察信號頻譜即可,相較于IFFT,驗證更方便。故在本節(jié)將基于改進(jìn)動態(tài)旋轉(zhuǎn)因子算法的無乘法器設(shè)計應(yīng)用于FFT結(jié)構(gòu)進(jìn)行MATLAB仿真驗證,間接證明優(yōu)化設(shè)計對IFFT的有效性。
圖11 輸出信號幅頻特性圖
根據(jù)改進(jìn)的DTF算法結(jié)構(gòu),首先在MATLAB軟件上對2048點(diǎn)FFT進(jìn)行仿真。其中仿真信號選用頻率分別為15,40,50 Hz的正弦信號。設(shè)信號采樣率為256Hz,使用傳統(tǒng)截位方法及動態(tài)截位方法的輸入輸出信號頻譜如圖12所示,其中50Hz處頻譜如圖13所示。從圖中可見,頻率峰值處使用截位的DTF算法與傳統(tǒng)FFT方法相比會有損失。其中傳統(tǒng)截位方法的DTF算法會截除FFT每一級計算結(jié)果的末位數(shù)據(jù),這種方法檢測到的頻譜幅度損失最高,會削弱對弱信號的檢測能力;動態(tài)截位法的DTF算法的頻譜圖也存在損失,但與傳統(tǒng)截位方法相比頻譜損失更少。動態(tài)截位法的DTF算法與傳統(tǒng)截位法的DTF算法相比擁有更優(yōu)的計算性能。
為了對算法占用硬件資源情況進(jìn)行對比分析,對基于無乘法器優(yōu)化的數(shù)字信道化結(jié)構(gòu)和傳統(tǒng)的多相信道化結(jié)構(gòu)進(jìn)行FPGA硬件仿真。利用系統(tǒng)生成器(System Generator)軟件對算法模塊進(jìn)行搭建,FRM濾波器參數(shù)如3.1節(jié)表1所示,仿真輸入信號參數(shù)見3.1節(jié)表2,采樣率為1.92GHz,選用16信道結(jié)構(gòu)進(jìn)行仿真。
圖12 信號頻譜圖
圖13 50Hz處頻譜放大圖
選用Xilinx公司的Virtex6系列FPGA芯片XC6VTX550T進(jìn)行硬件設(shè)計,時鐘設(shè)置為3.7 ns,系統(tǒng)仿真頻率為1.92 GHz。硬件設(shè)計實現(xiàn)完成后得到整個系統(tǒng)的硬件資源占用情況如表3所示。
表3 硬件資源占用情況比較
對比表3中的資源占用率可以看出,在設(shè)計參數(shù)相同的情況下,無乘法器數(shù)字信道化結(jié)構(gòu)相比于傳統(tǒng)多相數(shù)字信道化結(jié)構(gòu),不占用乘法器資源,但寄存器、查找表和區(qū)域資源占用較多。這是因為無乘法器數(shù)字信道化結(jié)構(gòu)在每條信道支路中相比于多相信道化結(jié)構(gòu)多了兩個濾波器,并且將乘法器轉(zhuǎn)化為移位器與加法器會占用額外的查找表與寄存器資源。無乘法器數(shù)字信道化結(jié)構(gòu)的平均路徑延時為2.090ns,相比于多相數(shù)字信道化結(jié)構(gòu)的3.677ns,延遲更低??傮w而言,無乘法器數(shù)字信道化結(jié)構(gòu)在有限損失寄存器、查找表和區(qū)域等資源的情況下,將乘法器的占用率大幅度降低,并降低了平均路徑延時,這對信道化接收機(jī)的硬件實現(xiàn)是有利的。
本文提出了一種無乘法器的數(shù)字信道化結(jié)構(gòu)。利用CSD編碼技術(shù)和改進(jìn)動態(tài)旋轉(zhuǎn)因子算法,對基于FRM的多相信道化接收機(jī)進(jìn)行無乘法器優(yōu)化。利用System Generator軟件完成了數(shù)字信道化優(yōu)化結(jié)構(gòu)的設(shè)計和仿真,并對比和分析了無乘法器數(shù)字信道化結(jié)構(gòu)和多相數(shù)字信道化結(jié)構(gòu)在FPGA實現(xiàn)時的硬件資源占用情況。無乘法器優(yōu)化后的數(shù)字信道化結(jié)構(gòu)具有更低的延時與更低的乘法器資源占用率。