羅立宇 龔曉峰 雒瑞森
摘? 要: 針對(duì)廣播頻段信道數(shù)量較多、信道帶寬較窄的場(chǎng)景,給出一種基于乘法器復(fù)用的信道化接收機(jī)的高效FPGA實(shí)現(xiàn)方案,并詳細(xì)說明了信道化處理模塊。方案采用流水線結(jié)構(gòu),復(fù)用較少的乘法器,完成所有信道的信道化處理,解決了信道數(shù)量眾多時(shí)乘法器使用過多的問題。不僅能夠保證處理的實(shí)時(shí)性,還大大減少了信道化接收算法硬件實(shí)現(xiàn)中的關(guān)鍵資源。最后通過硬件仿真,驗(yàn)證了該信道化處理模塊僅需要復(fù)用8個(gè)復(fù)數(shù)乘法器IP核即可完成128個(gè)信道的多相濾波。例化并使用2個(gè)信道化處理模塊即可完成廣播頻段的信道化處理,并運(yùn)行在102.4 MHz的系統(tǒng)時(shí)鐘頻率下。
關(guān)鍵詞: 信道化接收機(jī); 乘法器復(fù)用; 廣播頻段; 流水線結(jié)構(gòu); 多相濾波; 數(shù)據(jù)驗(yàn)證
中圖分類號(hào): TN914.3?34? ? ? ? ? ? ? ? ? ? ? ? ?文獻(xiàn)標(biāo)識(shí)碼: A? ? ? ? ? ? ? ? ? ? ? ? 文章編號(hào): 1004?373X(2020)09?0010?04
Design and application of channelized receiver based on multiplier reuse
LUO Liyu, GONG Xiaofeng, LUO Ruisen
(College of Electrical Engineering, Sichuan University, Chengdu 610000, China)
Abstract: For the fact that the broadcasting band has more channels and narrow channel bandwidth, an efficient FPGA implementation scheme of channelized receiver based on multiplier reuse is proposed. The channelized processing module is elaborated. In the scheme, pipeline architecture is adopted and fewer multipliers are reused to complete the channelization of all channels, which solves the problem of requiring too many multipliers when there are a large number of channels. The scheme can not only guarantee real?time processing, but also greatly reduces application of the key resources during the hardware implementation when using the channelized receiving algorithm. It is verified by hardware simulation that the channelized processing module only needs to reuse 8 complex multiplier IP cores to complete polyphase filtering of 128 channels. The channelization of broadcasting band can be achieved by instantiating and using two channelized processing modules, and the channelized processing module can operate at the system clock frequency of 102.4 MHz.
Keywords: channelized receiver; multiplier reuse; broadcasting band; pipeline architecture; polyphase filtering; data verification
0? 引? 言
隨著社會(huì)科技的進(jìn)步,頻譜資源也越來(lái)越緊張。傳統(tǒng)的單通道和并行多通道接收機(jī)無(wú)法勝任同時(shí)對(duì)整個(gè)取樣帶寬內(nèi)的信道進(jìn)行分析、接收及解調(diào)。因此,信道化接收機(jī)的重要性就逐漸體現(xiàn)出來(lái)。這種接收機(jī)是一種能夠完成全概率截獲的接收機(jī),能夠通過信道化的方式同時(shí)對(duì)整個(gè)瞬時(shí)處理帶寬內(nèi)的信號(hào)進(jìn)行檢測(cè)、處理和接收解調(diào)[1]。在現(xiàn)代的電子戰(zhàn)以及移動(dòng)通信領(lǐng)域,信道化接收機(jī)都有著廣泛的應(yīng)用。在未來(lái),對(duì)于頻譜空穴[2]的檢測(cè),信道化接收機(jī)也是最佳之選。
近年來(lái),關(guān)于信道化接收機(jī)的研究有很多。文獻(xiàn)[3]提出了一種改進(jìn)的信道化結(jié)構(gòu)和相應(yīng)的信道檢測(cè)方法,文獻(xiàn)[4]通過對(duì)信道的二次劃分處理,降低了算法的復(fù)雜度。文獻(xiàn)[5]在傳統(tǒng)的多項(xiàng)濾波抽取算法基礎(chǔ)上,對(duì)卷積公式進(jìn)行多相推導(dǎo),得到一種不降低數(shù)據(jù)采樣率的多相濾波方法。文獻(xiàn)[6]在推導(dǎo)任意個(gè)采樣因子信道化模型的基礎(chǔ)上,對(duì)各多相支路進(jìn)行了優(yōu)化,提高支路的吞吐率。文獻(xiàn)[7]得到了基于IDFT數(shù)字信道化算法。研究算法的論文較多,但少有針對(duì)具體實(shí)現(xiàn)時(shí)信道數(shù)較多將占用大量乘法器問題的研究。
現(xiàn)主要針對(duì)廣播頻段信道數(shù)量較多、帶寬較窄的場(chǎng)景,提出了一種基于乘法器復(fù)用的信道化接收算法的FPGA高效實(shí)現(xiàn)方案。
1? 信道化接收算法的基本原理
信道化接收算法基于多相濾波[8]和快速傅里葉變換[9],該算法通過在低速率時(shí)鐘下的并行實(shí)時(shí)處理,可高效實(shí)現(xiàn)多通道的并行處理,并大大緩解高速信號(hào)實(shí)時(shí)處理的速度瓶頸。若要求采樣帶寬內(nèi)所有信號(hào)都能同時(shí)正確地被信道化處理,則各個(gè)信道的帶寬必須是相同的,且等間隔排列,如圖1所示(假設(shè)信道個(gè)數(shù)為128)。
假定整個(gè)帶寬的取樣信號(hào)為[S(n)],需要得到某個(gè)信道的信號(hào)[yk(n)],傳統(tǒng)的方式為:先將該信號(hào)移頻到基帶,然后利用低通濾波器濾除其他通道的信號(hào)。式(1)可以表明該過程:
[yk(n)=S(n)ejωkn?h(n)] (1)
式中:[ωk]為搬移頻率;[h(n)]為低通濾波器單位抽樣響應(yīng)。
以偶數(shù)倍抽取倍數(shù)、復(fù)數(shù)型輸入信號(hào)為例,信道化處理推導(dǎo)如下:
[yk(m)=S(n)ejωkn*h(n)n=mD=i=-∞+∞S(n-i)ejωk(n-i)h(i)n=mD=i=-∞+∞S(mD-i)ejωk(mD-i)h(i)=p=0D-1xp(m)e-jωkp] (2)
其中:
[xp(m)=i=-∞+∞S(mD-iD-p)h(iD+p)ejωk(mD-iD)] (3)
將[ωk=k-D-122πD]代入式(2),得:
[yk(m)=p=0D-1xp(m)(-1)pe-jπDpe-j2πDkp=p=0D-1x′p(m)e-j2πDkp=DFT[x′p(m)]] (4)
于是可以得到偶數(shù)信道的復(fù)信號(hào)信道化接收機(jī)結(jié)構(gòu)模型,如圖2所示。
2? FPGA硬件實(shí)現(xiàn)
2.1? 應(yīng)用場(chǎng)景
國(guó)內(nèi)調(diào)頻廣播(除校園廣播外)頻段為87.5~108.0 MHz,且包含一位小數(shù),信號(hào)帶寬小于200 kHz。單一區(qū)域,如某市內(nèi),為了防止頻道間互相干擾,頻道的間隔一般大于0.1 MHz。
本文給出的信道化接收機(jī)模型能夠針對(duì)87.7~107.8 MHz的所有廣播信號(hào)進(jìn)行接收與處理。
2.2? 總體設(shè)計(jì)框圖
將87.7~107.8 MHz的廣播信號(hào)分為兩類:第一類的小數(shù)位為奇數(shù),第二類的小數(shù)位為偶數(shù),分別簡(jiǎn)稱為奇類和偶類。系統(tǒng)的時(shí)鐘頻率為102.4 MHz。
信道化接收機(jī)總體設(shè)計(jì)框圖如圖3所示。
ADC模塊以97.7 MHz和97.8 MHz的中心頻點(diǎn),20.0 MHz的中頻帶寬進(jìn)行實(shí)時(shí)采樣,并將復(fù)信號(hào)串行輸入到后端信道化處理模塊,數(shù)據(jù)速率為25.6 MHz。中心頻點(diǎn)97.7 MHz采樣到的信號(hào)用來(lái)對(duì)偶類信號(hào)做信道化處理,97.8 MHz采樣到的信號(hào)用來(lái)對(duì)奇類信號(hào)做處理。信道帶寬200 kHz,可以得到奇類與偶類信號(hào)的信道化分布,如圖4所示。
雖然兩類信號(hào)信道之間存在混疊,但是一般情況下,廣播信號(hào)的頻點(diǎn)間隔大多大于0.1 MHz,即兩個(gè)廣播信號(hào)不會(huì)存在于相鄰的兩個(gè)奇偶頻點(diǎn)之上。且奇類信號(hào)在偶類信道化處理模塊中會(huì)進(jìn)入兩個(gè)相鄰偶類信道,成為“誤”信號(hào),但進(jìn)入的部分處于低通濾波器的過渡帶,甚至是阻帶,因而功率會(huì)降低,對(duì)于偶類信號(hào)也是如此,只需要在功率檢測(cè)模塊中設(shè)置合適的門限,就可以排除這樣的信號(hào)。
2.3? 信道化處理模塊
該模塊是信道化接收機(jī)中的關(guān)鍵模塊之一。由信道化接收算法模型,硬件實(shí)現(xiàn)的關(guān)鍵在于信號(hào)的延時(shí)、抽取、系數(shù)的相乘及濾波。后端的DFT可以使用FFT的IP核實(shí)現(xiàn)。信道個(gè)數(shù)較多的情況下,復(fù)數(shù)乘法器將占據(jù)較多的資源。因而,要節(jié)約資源并盡可能保證信號(hào)處理的實(shí)時(shí)性,關(guān)鍵點(diǎn)在于將結(jié)構(gòu)模型與硬件特點(diǎn)充分結(jié)合。為了保證信號(hào)處理的實(shí)時(shí)性,本文采用流水線的設(shè)計(jì)方法。設(shè)計(jì)框圖如圖5所示。
為方便說明設(shè)計(jì)方案,設(shè)有以下場(chǎng)景:系統(tǒng)時(shí)鐘頻率為102.4 MHz;復(fù)信號(hào)輸入速率為25.6 MHz,位寬為32 bit(高16 bit為I信號(hào),低16 bit為Q信號(hào));信道個(gè)數(shù)為128,信道帶寬為200 kHz;原型低通濾波器系數(shù)為4 096階。
值得一提的是,由于后端FFT的IP核計(jì)算點(diǎn)數(shù)是固定的,為2的冪次倍。為了包含87.7~107.8 MHz所有200 kHz信道,并滿足FFT的IP核設(shè)置,故將抽取倍數(shù)定為128,也即128個(gè)信道(兩側(cè)若干信道沒有信號(hào))。
2.4? 乘法器復(fù)用子模塊
此模塊是本設(shè)計(jì)的主體部分,主要包括:8個(gè)雙口RAM核及其地址控制塊,8個(gè)ROM及其地址控制塊,8個(gè)復(fù)數(shù)乘法器IP核。乘法器復(fù)用子模塊的細(xì)節(jié)示意圖如圖6所示。
8個(gè)雙口RAM的深度均為512,寬度為32 bit,每個(gè)單元存儲(chǔ)一個(gè)IQ樣點(diǎn),A口作為輸入,B口作為輸出。它們的寫地址(A口)均為0~511的循環(huán),控制好A口的寫使能,使得寫滿雙口RAM1后,再對(duì)雙口RAM2進(jìn)行寫操作,……,寫滿雙口RAM8后再對(duì)RAM1進(jìn)行寫操作,以此類推。系統(tǒng)時(shí)鐘頻率為102.4 MHz,輸入信號(hào)的速率為25.6 MHz,每個(gè)新的數(shù)據(jù)樣點(diǎn)有4個(gè)時(shí)鐘周期用來(lái)寫入,本文的設(shè)計(jì)在新數(shù)據(jù)到來(lái)的第一個(gè)時(shí)鐘周期,A口寫使能信號(hào)wren_a置1,以完成寫入(其余時(shí)候置0),保證后續(xù)不會(huì)產(chǎn)生讀寫沖突。同時(shí),寫入一個(gè)新數(shù)據(jù)樣點(diǎn)的4個(gè)時(shí)鐘周期可以從一個(gè)雙口RAM中讀取4個(gè)舊的數(shù)據(jù),8個(gè)雙口RAM共可讀出32個(gè)舊的數(shù)據(jù)。
寫入地址是順序的,但讀取順序是跳變的,且8個(gè)雙口RAM使用相同的讀地址,同時(shí),讀出相應(yīng)地址的數(shù)據(jù)。讀取規(guī)則為:當(dāng)針對(duì)某RAM的某地址[n]作寫入操作時(shí),按照[n]+128,[n]+256,[n]+384,[n]的地址順序讀取8個(gè)RAM中的舊數(shù)據(jù),若計(jì)算后地址大于511,則減去511。4個(gè)時(shí)鐘內(nèi),第一個(gè)時(shí)鐘已完成對(duì)[n]地址寫入,第4個(gè)時(shí)鐘才對(duì)[n]地址讀取,故不會(huì)產(chǎn)生讀寫沖突。
按照上述方式并行讀取的32個(gè)數(shù)據(jù)還需要按照時(shí)間順序重新排列,以正確地完成濾波操作。排序的方式有舉例說明,當(dāng)針對(duì)第2個(gè)RAM中的128地址進(jìn)行寫操作時(shí),讀取并排序的方式如圖7所示。圖7中,8個(gè)雙口RAM下方的數(shù)字代表順序,其中,1表示時(shí)間上最舊,32表示時(shí)間上最新,重新排列后即可形成有序的時(shí)間序列。
重新排列的方式是固定的,可以將排列的方式枚舉,于是只需要一個(gè)時(shí)鐘周期,排序模塊可以將8個(gè)并行輸入數(shù)據(jù)重新排序后并行輸出,部分仿真結(jié)果細(xì)節(jié)如圖8所示。
根據(jù)多相濾波原理,4 096階原型濾波器對(duì)于128信道來(lái)說,每一相有32個(gè)系數(shù)。根據(jù)復(fù)信號(hào)的信道化接收機(jī)結(jié)構(gòu)模型,每個(gè)信道的信號(hào)需要先后與±1,[(-1)D-1e-jπD(D-1)]相乘,并由[hD-1(m)]完成濾波??深A(yù)先將每個(gè)信道的[hD-1(m)]與[(-1)D-1e-jπD(D-1)]相乘,合并成8組,每組512個(gè)32 bit位寬的復(fù)數(shù)系數(shù)(高16位為實(shí)部,低16位為虛部),存入8個(gè)512深度32 bit位寬的ROM中。如圖9所示,每組系數(shù)存入其對(duì)應(yīng)行的8個(gè)ROM的32個(gè)地址中。存入前,使用Matlab對(duì)系數(shù)預(yù)處理,每個(gè)時(shí)鐘從第[n]個(gè)ROM中讀取的系數(shù)能夠與從第[n]個(gè)RAM中讀取的樣本數(shù)據(jù)對(duì)應(yīng)上,接著由一復(fù)數(shù)乘法器IP核實(shí)現(xiàn)復(fù)數(shù)相乘。串行數(shù)據(jù)流與±1的操作可以置于FFT模塊后。
復(fù)數(shù)乘法器IP核的輸入位寬為16 bit,根據(jù)復(fù)數(shù)相乘原理,16 bit有符號(hào)數(shù)與16 bit有符號(hào)數(shù)相乘至多為32 bit,32 bit有符號(hào)數(shù)與32 bit有符號(hào)數(shù)相加至多為33 bit。另外,該復(fù)數(shù)乘法器后端需完成32個(gè)33 bit有符號(hào)數(shù)的累加,需預(yù)留5位以防止溢出,可得該復(fù)數(shù)乘法器的輸出位寬需設(shè)置成38 bit。
考慮到FFT的IP核輸入位寬有限制,還需要將累加模塊的輸出截位。截位模塊的部分仿真結(jié)果細(xì)節(jié)如圖10所示。
由于數(shù)據(jù)速率低于系統(tǒng)時(shí)鐘頻率,故需要一個(gè)FIFO對(duì)數(shù)據(jù)進(jìn)行緩存,以便后端FFT能夠一次性讀完128個(gè)數(shù)據(jù)。
3? 實(shí)測(cè)數(shù)據(jù)驗(yàn)證
本文對(duì)信道化處理模塊進(jìn)行基于Verilog HDL語(yǔ)言的編程,并對(duì)實(shí)際采集到的兩段廣播頻段信號(hào)(分別以97.7 MHz,97.8 MHz為中心頻點(diǎn),20.0 MHz為中頻帶寬)進(jìn)行基于ModelSim軟件的仿真。
使用Matlab對(duì)奇、偶信道化處理模塊得到的各128個(gè)信道做平均幅值圖,如圖11所示。
使用Matlab同樣對(duì)20 MHz的寬帶信號(hào)做信道化處理,得到某廣播信號(hào)軟硬件仿真結(jié)果的時(shí)域?qū)Ρ?,如圖12所示,并使用Matlab對(duì)未經(jīng)信道化處理的數(shù)據(jù)作FFT,根據(jù)頻譜圖得到各廣播信號(hào)所在頻點(diǎn),對(duì)比奇、偶類信道各信號(hào)中心頻點(diǎn),能夠完全對(duì)應(yīng),并且沒有信號(hào)遺漏。
從圖12可以看出,硬件仿真結(jié)果與Matlab基本一致,收聽效果相當(dāng),由此可見,本文設(shè)計(jì)基本達(dá)到預(yù)期,誤差是定點(diǎn)運(yùn)算的量化誤差導(dǎo)致的。
4? 結(jié)? 論
本文對(duì)信道化算法結(jié)構(gòu)模型進(jìn)行研究,并結(jié)合實(shí)際工程應(yīng)用,將信號(hào)的偶數(shù)倍抽取及延時(shí)與雙口RAM結(jié)構(gòu)相結(jié)合,提出了一種復(fù)用復(fù)數(shù)乘法器的信道化處理模型。該復(fù)用乘法器的模型需要系統(tǒng)時(shí)鐘頻率與數(shù)據(jù)速率存在整數(shù)倍的關(guān)系,以實(shí)現(xiàn)高時(shí)鐘頻率、低數(shù)據(jù)速率情景下的資源復(fù)用。
參考文獻(xiàn)
[1] 樓才義,徐建良,楊小牛.軟件無(wú)線電原理與應(yīng)用[M].2版.北京:電子工業(yè)出版社,2014:95?96.
[2] 曾莉.認(rèn)知無(wú)線電關(guān)鍵頻譜感知技術(shù)及應(yīng)用分析[J].通信與信息技術(shù),2017(1):59?62.
[3] 呂衛(wèi)祥,徐鵬,曹元將.一種改進(jìn)的數(shù)字信道化結(jié)構(gòu)設(shè)計(jì)及檢測(cè)方法[J].現(xiàn)代防御技術(shù),2018,46(3):73?79.
[4] 聶慧鋒,翟羽佳.一種高效多級(jí)信道化數(shù)字接收機(jī)的設(shè)計(jì)與實(shí)現(xiàn)[J].雷達(dá)與對(duì)抗,2018,38(3):47?52.
[5] 孫健,韓文俊,凌元.基于多相濾波的高速濾波器FPGA設(shè)計(jì)[J].遙測(cè)遙控,2018,39(5):27?32.
[6] 周新星,謝祖剛,邱耀明,等.電子戰(zhàn)寬帶數(shù)字信道化的優(yōu)化設(shè)計(jì)方法[J].航天電子對(duì)抗,2018(5):46?48.
[7] 眭超亞,唐毅謙,羅正華,等.基于IDFT結(jié)構(gòu)的多通道信道化算法研究[J].成都大學(xué)學(xué)報(bào)(自然科學(xué)版),2018,37(4):387?390.
[8] 李婉婉.多相濾波技術(shù)研究及在多信道接收機(jī)中的應(yīng)用[D].北京:北京郵電大學(xué),2018:20?21.
[9] 周秀珍,肖雷.基于快速傅里葉變換的實(shí)時(shí)頻譜分析方法研究[J].信息通信,2018(8):21?22.