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