趙文超,黃 偉,李 翔,侯改利
(武漢中原電子集團(tuán)有限公司-研發(fā)中心,湖北 武漢 430205)
軟件無(wú)線電的思想是盡可能簡(jiǎn)化射頻前端,使ADC 盡可能靠近天線。直接射頻采樣軟件無(wú)線電結(jié)構(gòu)最符合這一要求。目前,軟件無(wú)線電接收機(jī)基本采用低通濾波或者高效數(shù)字濾波器(如積分梳狀濾波器、半帶濾波器)來(lái)實(shí)現(xiàn)。這種結(jié)構(gòu)一般工作在較低的中頻,信號(hào)帶寬較窄,在寬工作頻帶時(shí)無(wú)法滿(mǎn)足直接射頻采樣軟件無(wú)線電結(jié)構(gòu)要求。這是因?yàn)榈屯V波具有良好的通帶和阻帶特性,但對(duì)運(yùn)算處理要求較高,在高速數(shù)據(jù)流的情況下難以滿(mǎn)足實(shí)時(shí)性要求。高效數(shù)字濾波器雖然能夠一定程度簡(jiǎn)化和降低運(yùn)算處理要求,但依然難以滿(mǎn)足高實(shí)時(shí)性要求,同時(shí)會(huì)對(duì)寬帶信號(hào)頻譜造成一定的失真。
直接射頻采樣需要對(duì)整個(gè)工作頻段的信號(hào)進(jìn)行采樣。假設(shè)fmax為工作最高頻段,根據(jù)Nyquist 采樣定理[1],采樣速率fs應(yīng)滿(mǎn)足:
比如工作頻段30~512 MHz,按照Nyquist 定理采樣率fs至少1 024 MHz。如此高的數(shù)據(jù)速率對(duì)于目前主要的信號(hào)處理芯片F(xiàn)PGA 和DSP 來(lái)說(shuō),無(wú)論采用低通濾波還是高效數(shù)字濾波都很難滿(mǎn)足實(shí)時(shí)性要求,且無(wú)法保證穩(wěn)定性。
多相濾波技術(shù)可以克服以上濾波器的缺點(diǎn),通過(guò)將單路高速數(shù)據(jù)流分解成D路數(shù)據(jù)并行處理,從而使每路子濾波器運(yùn)算速度要求降為fs/D,從而提高接收機(jī)實(shí)時(shí)性和穩(wěn)定性,同時(shí)保留低通濾波器良好的通帶和阻帶特性,滿(mǎn)足寬帶信號(hào)頻譜處理要求。多相濾波還有一個(gè)固有好處,即由于濾波器系數(shù)被分解成了多個(gè)子濾波器系數(shù),因此子濾波器的累積誤差會(huì)減少,從而提高了數(shù)據(jù)精度。
本文基于多項(xiàng)濾波技術(shù)提出了基于多相濾波的軟件無(wú)線電接收機(jī)模型,非常適用于直接射頻采樣軟件無(wú)線電結(jié)構(gòu),有效解決了直接射頻采樣時(shí)軟件無(wú)線電接收機(jī)面臨的數(shù)據(jù)運(yùn)算能力不足和實(shí)時(shí)性無(wú)法保證的問(wèn)題,同時(shí)保留了基于低通濾波的軟件無(wú)線電接收機(jī)優(yōu)點(diǎn)。算法分析和仿真結(jié)果表明,該結(jié)構(gòu)具備實(shí)時(shí)性強(qiáng)、穩(wěn)定性好及運(yùn)算精度高的特點(diǎn)。
文章第1 部分介紹了軟件無(wú)線電接收機(jī)原理,給出了基于多相濾波的軟件無(wú)線電接收機(jī)模型。第2 部分介紹了整數(shù)倍抽取理論,是軟件無(wú)線電接收機(jī)理論基礎(chǔ)。第3 部分介紹多相濾波技術(shù),給出了多相濾波抽取結(jié)構(gòu)。第4 部分給出抽取多項(xiàng)濾波FPGA 實(shí)現(xiàn)結(jié)構(gòu),通過(guò)計(jì)算和仿真說(shuō)明了該結(jié)構(gòu)具備的優(yōu)勢(shì)。第5 部分進(jìn)行了總結(jié)。
根據(jù)Nyquist 采樣定理,高頻模擬信號(hào)經(jīng)過(guò)數(shù)字ADC 采樣后,在數(shù)字域形成一定的頻譜結(jié)構(gòu),采樣后的數(shù)字信號(hào)表示為XD(f)。接收機(jī)的主要目的是從XD(f)中提取出感興趣的基帶信號(hào)s(n)。由于任何一種調(diào)制信號(hào)都可以用幅度、相位和載波對(duì)應(yīng)的函數(shù)來(lái)表示,所以信號(hào)s(n)可表示為:
式中,A(n)、ω0、θ(n)分別為信號(hào)的幅度分量、載波分量和相位分量。對(duì)式(2)進(jìn)行三角函數(shù)正交分解,得到s(n)的正交表達(dá)形式為:
式(3)稱(chēng)為基帶信號(hào)的兩個(gè)正交分量,即同向分量和正交分量[1]。載頻ω0主要用于信號(hào)頻譜搬移,不攜帶信息,所以調(diào)制信號(hào)s(n)完全可以由兩個(gè)正交分量來(lái)表征。接收機(jī)的主要作用是從載波處提取這兩個(gè)正交分量,在頻譜不失真的前提下進(jìn)行數(shù)據(jù)流降速處理后輸出給后續(xù)解調(diào)模塊。如圖1所示,混頻器產(chǎn)生正交的兩路信號(hào),低通濾波器Hi(ejω)主要濾除I(n)和Q(n)頻譜分量以外不需要的信號(hào),以消除鄰道干擾的影響。經(jīng)過(guò)接收機(jī)提取后的正交分量信號(hào)I(n)和Q(n)已經(jīng)變?yōu)榛鶐盘?hào),假設(shè)其帶寬為B,由于B≤fs/2,因此可以對(duì)正交分量I(n)和Q(n)進(jìn)行抽取。設(shè)抽取值為D,則D可表示為:
滿(mǎn)足式(5)關(guān)系的信號(hào)抽取不會(huì)改變?cè)l譜結(jié)構(gòu),信號(hào)不會(huì)失真。抽取后的信號(hào)可以表征原始信號(hào),但數(shù)據(jù)速率降低為之前的1/D,大大減輕了后續(xù)基帶處理模塊的數(shù)據(jù)處理能力要求。例如,fs=200 MHz,B=25 kHz,則根據(jù)式(5)可得D=2 000。這樣在對(duì)相同信號(hào)進(jìn)行處理時(shí),基帶處理模塊的數(shù)據(jù)處理速度可以降低2 000 倍?;诘屯V波的軟件無(wú)線電接收機(jī)如圖1 所示[2]。低通濾波器和后接的各級(jí)抽取器構(gòu)成了一個(gè)標(biāo)準(zhǔn)的抽取系統(tǒng),用于降低后續(xù)處理模塊速率的處理要求。
圖1 基于低通濾波的軟件無(wú)線電接收機(jī)結(jié)構(gòu)
圖1 共采用了M級(jí)抽取,每一級(jí)的抽取因子分別為Dm,總的抽取因子為:
該結(jié)構(gòu)可以有效降低后級(jí)處理模塊運(yùn)算速度要求,但由于濾波器數(shù)據(jù)輸入端處在抽取器之前,濾波器需要提供高速運(yùn)算能力,特別是在高速取樣率情況下,前級(jí)濾波器將面臨很大的數(shù)據(jù)處理壓力,對(duì)處理器是一個(gè)大的挑戰(zhàn),不利于實(shí)時(shí)性和穩(wěn)定性要求高的系統(tǒng)。由圖1 可知,濾波器輸入速率最高處在第一級(jí),也就是前級(jí)需要提供較高的數(shù)據(jù)運(yùn)算能力。
針對(duì)軟件無(wú)線電接收機(jī)前級(jí)速率要求高的特點(diǎn),本文提出了一種改進(jìn)的接收機(jī)結(jié)構(gòu),即基于多相濾波的軟件無(wú)線電接收機(jī)結(jié)構(gòu),如圖2 所示。這種結(jié)構(gòu)將前級(jí)濾波器改用多相濾波結(jié)構(gòu)來(lái)實(shí)現(xiàn)。多相濾波器運(yùn)用子濾波器并行運(yùn)算的特點(diǎn),在滿(mǎn)足總的運(yùn)算速度要求前提下,可以降低子濾波器速率要求,從而在高速取樣率情況下有效取代低通濾波器,解決硬件運(yùn)算能力不足的問(wèn)題,有效提高接收機(jī)的實(shí)時(shí)處理能力,同時(shí)提升硬件運(yùn)行穩(wěn)定性。
圖2 基于多相濾波的軟件無(wú)線電接收機(jī)結(jié)構(gòu)
軟件無(wú)線電接收機(jī)結(jié)構(gòu)中低通抽取器的主要作用是對(duì)基帶正交信號(hào)數(shù)據(jù)流進(jìn)行降速,且不改變信號(hào)頻譜結(jié)構(gòu),目的是降低后續(xù)基帶處理模塊數(shù)據(jù)處理要求。多速率信號(hào)處理整數(shù)倍抽取是其基本理論基礎(chǔ),因此深入理解和掌握整數(shù)倍抽取理論對(duì)軟件無(wú)線電各種接收機(jī)結(jié)構(gòu)都至關(guān)重要[2]。
整數(shù)倍抽取是將高速采樣序列x(n)每間隔D-1 個(gè)數(shù)據(jù)選取一個(gè)樣點(diǎn),得到一個(gè)新低速序列xD(m),即:
抽取序列的離散傅里葉變換為[3]:
由式(8)可知,抽取后的低速序列頻譜XD(ejω)為原高速序列頻譜X(ejω)經(jīng)過(guò)2π周期頻移和D倍頻譜拓展后疊加而成。由圖3 可知,在頻譜頻移和拓展的過(guò)程中頻譜會(huì)發(fā)生混疊,這時(shí)需要先對(duì)原始高速序列頻譜進(jìn)行濾波,濾除帶寬π/2(D=2)以外的信號(hào),然后進(jìn)行2 倍抽取,使得抽取后的低速序列不會(huì)發(fā)生頻譜混疊,且可以準(zhǔn)確表征原高速序列感興趣頻譜部分。
圖3 抽?。―=2)后的頻譜結(jié)構(gòu)
這樣抽取后的低速序列頻譜XD(ejω)可以準(zhǔn)確表示原高速序列頻譜X(ejω),后續(xù)基帶處理模塊只需提供較低的數(shù)據(jù)處理能力,就可完成對(duì)原始信號(hào)的等同處理。它的數(shù)據(jù)速率只需高速序列時(shí)的1/D,大大降低了對(duì)后續(xù)基帶處理模塊處理速度的要求。
圖4 為標(biāo)準(zhǔn)的低通抽取結(jié)構(gòu),可以降低基帶速率同時(shí)防止頻譜混疊,是軟件無(wú)線電接收機(jī)的重要組成部分。
圖4 低通整數(shù)倍抽取器結(jié)構(gòu)
低通整倍抽取結(jié)構(gòu)的主要缺點(diǎn)是對(duì)運(yùn)算速度的要求太高。這是因?yàn)榈屯V波器在抽取前,高速數(shù)據(jù)先經(jīng)過(guò)低通濾波器后再進(jìn)行抽取,這樣低通濾波器需要工作在高速數(shù)據(jù)流下,特別是在高速采樣情況下,將會(huì)面臨更大的數(shù)據(jù)處理能力挑戰(zhàn)。該結(jié)構(gòu)對(duì)實(shí)時(shí)要求高的系統(tǒng)非常不利,甚至可能無(wú)法滿(mǎn)足運(yùn)算速度要求。為了提高系統(tǒng)實(shí)時(shí)處理能力,下面介紹多相濾波抽取結(jié)構(gòu)[2,5]。
沖擊響應(yīng)為h(n)的數(shù)字濾波器,其z變換H(z)定義為[3]:
令n=mD+k,其中m=0,1,2,…,M-1,k=0,1,2,…,D-1,N=M·D,則式(9)可改寫(xiě)為如下形式:
式(12)為數(shù)字濾波器H(z)的多相濾波結(jié)構(gòu),如圖5(a)所示。根據(jù)Noble 恒等式[4,6],D倍抽取和多相濾波的延時(shí)單元進(jìn)行合并,得到多相濾波抽取結(jié)構(gòu),如圖5(b)所示。
圖5 多相濾波抽取結(jié)構(gòu)
由圖5(b)可知,多相濾波器的子濾波器位于D倍抽取后,即數(shù)據(jù)是經(jīng)過(guò)降速后再進(jìn)行濾波器處理的,大大降低了濾波器數(shù)據(jù)處理要求,提高了濾波器的實(shí)時(shí)處理能力。另外,由于原低通濾波器系數(shù)被均分成了多個(gè)子濾波器,這樣每一路子濾波器hk(n)的系數(shù)個(gè)數(shù)也降為1/D,可以減少濾波器計(jì)算帶來(lái)的累積誤差,提高精確度[2]。
由圖5(b)可知,采樣率為fs的高速數(shù)據(jù)流通過(guò)多級(jí)延時(shí)單元Z-1后進(jìn)入各路子濾波器,濾波器H0(Z)的延時(shí)為0,子濾波器H1(Z)的延時(shí)為Z-1,子濾波器H2(Z)的延時(shí)為2×Z-1,延時(shí)單元依次增加,子濾波器HD-1(Z)的延時(shí)為(D-1)Z-1。經(jīng)過(guò)時(shí)延后的高速數(shù)據(jù)流在經(jīng)過(guò)D倍數(shù)據(jù)抽取后再輸入各自的子濾波器,輸入速率為fs/D,此時(shí)濾波器的運(yùn)算速率要求已明顯降低。下面以子濾波器組數(shù)量為3 的多相濾波結(jié)構(gòu)為例,介紹其數(shù)據(jù)處理過(guò)程,如圖6 所示。整個(gè)數(shù)據(jù)處理是一個(gè)串并轉(zhuǎn)換的過(guò)程,高速數(shù)據(jù)流x(n)速率為fs,每3 個(gè)樣點(diǎn)一組進(jìn)行串并轉(zhuǎn)換,在子濾波器進(jìn)行處理之前要進(jìn)行3 倍數(shù)據(jù)抽取,然后并行送入子濾波器組中實(shí)現(xiàn)并行計(jì)算,每個(gè)子濾波器數(shù)據(jù)輸入速率為fs/3,實(shí)現(xiàn)了濾波器運(yùn)算降速處理。
圖6 抽取器的多相濾波結(jié)構(gòu)數(shù)據(jù)處理過(guò)程
根據(jù)抽取后采樣數(shù)據(jù)在子濾波器輸入端的分布規(guī)律,即輸入的數(shù)據(jù)先送往子濾波器H2(Z),依次遞減至H0(Z)完成一次周期數(shù)據(jù)輸入。下面給出抽取器的多相濾波物理實(shí)現(xiàn)結(jié)構(gòu),如圖7 所示。
圖7 為抽取多相濾波的物理實(shí)現(xiàn)結(jié)構(gòu),原始N階數(shù)字低通濾波器的系數(shù)為a0,a0,…,aN-1通過(guò)系數(shù)重組,分成D組子濾波器h0(n),h1(n),…,hD-1(n)。各組子濾波器對(duì)應(yīng)的系數(shù)組成如下:
輸入信號(hào)x(n)采樣率為fs,通過(guò)一個(gè)選擇開(kāi)關(guān)分時(shí)送到不同的子濾波器輸入端。每次從hD-1(n)開(kāi)始輸入,按采樣率間隔依次遞減直到輸入子濾波器h0(n)完成一次周期輸入,然后重復(fù)下一個(gè)周期。當(dāng)完成一個(gè)周期的計(jì)算,所有子濾波器各輸出一個(gè)數(shù)值,將所有子濾波器輸出的數(shù)值相加作為抽取多相結(jié)構(gòu)的一次輸出值。抽取多相結(jié)構(gòu)輸出速率fs′=fs/D,fs為抽取多相濾波結(jié)構(gòu)數(shù)據(jù)x(n)的輸入速率。所以,相對(duì)于fs抽取多相結(jié)構(gòu)的每個(gè)子濾波器工作在低速率fs/D,D個(gè)子濾波器的輸出值求和后得到抽取多相濾波的輸出值,實(shí)現(xiàn)了輸出降速處理。
本文提出的接收機(jī)結(jié)構(gòu)已成功應(yīng)用到30~108 MHz 射頻直采某設(shè)備,由于采樣的頻段較寬,ADC 需要提供較高的采樣率才能完成對(duì)整個(gè)頻段的信號(hào)取樣,根據(jù)低通采樣定理要求ADC 的采樣率選擇 250 MHz,高速采樣數(shù)據(jù)流經(jīng)過(guò)該接收機(jī)結(jié)構(gòu)后可以大大降低濾波器數(shù)據(jù)運(yùn)算要求,提高數(shù)據(jù)精度和硬件運(yùn)行穩(wěn)定性。下面給出多相濾波結(jié)構(gòu)的Modsim仿真結(jié)果。多相濾波結(jié)構(gòu)降速過(guò)程Modsim 仿真結(jié)果如圖8 所示,輸入信號(hào)x(n)采樣率fs=250 MHz,而4 路子濾波器速率fs′=62.5 MHz,因此濾波器運(yùn)算處理要求降為fs/4。
圖8 多相濾波結(jié)構(gòu)速率變換
圖9 為多相濾波和低通濾波兩種結(jié)構(gòu)在相同數(shù)據(jù)速率輸入條件下,利用FPGA 開(kāi)發(fā)軟件Vivado 進(jìn)行時(shí)序性能評(píng)估對(duì)比。可以看出,在同樣輸入條件下多相濾波的時(shí)序裕度(Slack)更優(yōu)為1.784 ns,而采用低通濾波的時(shí)序裕度為0.415 ns。因此,從時(shí)序性能評(píng)估報(bào)告來(lái)看,采用多相濾波結(jié)構(gòu)的接收機(jī)運(yùn)行穩(wěn)定性更高。
圖9 低通與多相結(jié)構(gòu)FPGA 時(shí)序裕度
通過(guò)以上仿真和軟件評(píng)估,假定在ADC 的采樣率fs=250 MHz、位寬為16、濾波器系數(shù)N=32、抽取值D=4 的條件下,可以得出多相結(jié)構(gòu)和低通結(jié)構(gòu)在采樣速率要求、累計(jì)誤差及穩(wěn)定性方面的對(duì)比結(jié)果,如表1 所示。
表1 低通與多相性能比較
本文重點(diǎn)介紹了多相濾波技術(shù),提出了基于多相濾波的軟件無(wú)線電接收機(jī)結(jié)構(gòu),分析和論證了該結(jié)構(gòu)所具備的特點(diǎn)。通過(guò)計(jì)算及仿真對(duì)比可知,相對(duì)于低通抽取結(jié)構(gòu),該結(jié)構(gòu)計(jì)算要求降低 1/D2,同時(shí)大大降低了濾波器累積誤差,提高了計(jì)算精度,在實(shí)時(shí)性要求高的場(chǎng)合是一種高效的解決方案。該結(jié)構(gòu)已成功運(yùn)用到30~108 MHz 頻段射頻直采某設(shè)備,采用ADI 公司的某ADC 芯片,采樣速率fs=250 MHz。接收機(jī)模塊采用Xilinx 公司的 Zynq-7000 系列FPGA 實(shí)現(xiàn)。