龔永龍 楊青華 蔡懷海
摘要:針對無線接收技術(shù)向著大帶寬、高采樣的方向發(fā)展,軍地的頻譜管理設(shè)備已經(jīng)不能滿足日常的訓(xùn)練和執(zhí)法需求,本文提出了一種基于CORDIC算法的中頻多路控守系統(tǒng)設(shè)計方法,直接采集超外差接收機的中頻輸出信號,從而實現(xiàn)多達32路或者64路的窄帶信號提取、存儲、分析、回放等。作為事后分析取證等,彌補當(dāng)前設(shè)備的不足。文中介紹了CORDIC的基本原理,核心實現(xiàn)基于CORDIC算法的nco和子帶變頻器,并在Xilinx 平臺上驗證成功。
關(guān)鍵詞: CORDIC;軟件無線電;NCO;數(shù)字下變頻;信號分析
無線電頻譜是一種自然資源,由于無線電頻譜是有限的,而通信技術(shù)極度依賴頻譜的使用,傳統(tǒng)的短波和超短波頻段已經(jīng)不滿足當(dāng)前通信需求了,未來通信主要依賴超高頻的微波頻段。而無線電接收技術(shù)也向著大帶寬、高靈敏度、高采樣率的方向發(fā)展,更高的速率為信號的實時分析帶來了極大的困難。本文提出了一種基于 CORDIC 算法的窄帶多路控守系統(tǒng)的設(shè)計方法,采用 CORDIC 算法實現(xiàn)多路窄帶通信信號控守,設(shè)計滿足寬帶內(nèi)16路任意頻點的控守。
1 CORDIC算法原理
CORDIC 算法是一種數(shù)值性計算逼近的方法,其基本思想是用一系列與運算相關(guān)的角度不斷偏擺從而逼近所需旋轉(zhuǎn)的角度。假設(shè)初始向量為(X0,Y0)旋轉(zhuǎn)θ角度之后得到向量(X1,Y1), 此向量有如下關(guān)系:
在中頻多路控守系統(tǒng)中,采用 CORDIC 算法完成中心 NCO、子信道 NCO 的設(shè)計和頻率搬移。已知系統(tǒng)的中心頻率和寬帶范圍內(nèi)各個子信道的中心頻率;假如系統(tǒng)輸入采樣率為fs,中心頻率為 fc,n 個子信道的頻率為別為f1,f2…fn。
假設(shè)中頻信號fc 被 AD 采樣后為 x(n),與初始 NCO混頻相乘,得到基帶的 IQ 信號,其中XI=x(n)* cosθ;XQ=x(n)*sinθ;如果將此時的 IQ 信號再次搬移β1的角度,就可以將子帶頻率f1的頻率搬移到零中頻的位置,計算為:
為節(jié)省資源,將式(3)和式(4)進行化簡組合,每路復(fù)數(shù)運算由4個乘法器變成3個,得到:
2多路控守FPGA實現(xiàn)方案
FPGA 內(nèi)部實現(xiàn)多路窄帶控守出自處理流程框圖如圖1所示。功能單元主要包括寬帶下變頻器、交換矩陣、窄帶下變頻器、存儲矩陣、控制單元等。
寬帶下變頻器功能是將輸入的 ADC 采樣實信號變?yōu)榱阒蓄l IQ 數(shù)據(jù);
交換矩陣是根據(jù)要求實現(xiàn)的窄帶控守路數(shù)及頻點,計算數(shù)控振蕩器 NCO,并輸出給窄帶下變頻器;
窄帶下變頻器件功能是同時實現(xiàn)64路窄帶 IQ 信號輸出;
存儲矩陣同時將64路窄帶信號存儲并上傳。
2.1寬帶下變頻器設(shè)計
寬帶下變頻器包括 NCO 單元、乘法器、FIR 濾波器等;
ADC 芯片采樣時鐘為204.8 MHz, 輸入頻率范圍為(110~170) MHz,ADC 芯片采用 ADI 公司的 ADC9467芯片,最大位寬16 bit,無雜散動態(tài)優(yōu)于75 dBm;
數(shù)控振蕩器 NCO 生成 sin 與 cos 信號,與 ADC 芯片相乘得到零中頻 IQ 信號;為節(jié)省芯片的乘法器資源,NCO 設(shè)計實現(xiàn)直接使用 ROM 查找表的方式實現(xiàn);在Matlab中產(chǎn)生采樣率為204.8 MHz, 頻率為64.8 MHz(超外差接收機為2次混頻)的 sin 與 cos 信號,并將數(shù)據(jù)初始化存儲在 FPGA 內(nèi) rom 表即可。
乘法器為 AD 信號與 cos 或 sin 信號相乘,實現(xiàn)混頻的功能,輸出的 I 路和 Q 路信號,信號帶寬為24 bit。
FIR 濾波器設(shè)計使用的濾波器系數(shù)為64階對稱型的的低通濾波器,濾波器Fpass=40 MHz,Apass=0.1 dB ;Fstop=42 MHz,Astop=95 dB;濾波后抽2,將 IQ 數(shù)據(jù)的采樣率降為102.4 MHz,并輸出給子信道下變頻器控制矩陣,F(xiàn)FT 運算結(jié)果滿足優(yōu)于85 dB的無雜散動態(tài)范圍。
2.2窄帶變頻器設(shè)計
窄帶變頻器為窄帶多路控守系統(tǒng)的核心模塊,為實現(xiàn)帶內(nèi)多路任意頻點的控守,每個子帶變頻器都需要1個可配置的子帶 NCO 模塊、復(fù)數(shù)乘法器模塊、濾波器模塊。單路子帶變頻器的實現(xiàn)框圖如下圖所示。
ch_nco模塊是基于 CORDIC 算法的可配置 NCO 模塊,nco值的計算由控制器單元完成。計算公式為:
若子信道的中心頻率f1在中心頻率fc 的上半部分,則β=f1?fc;
若子信道的中心頻率f1在中心頻率fc 的下半部分,根據(jù)奈奎斯特采樣定理,此時的β=fs ?(f1?fc);
complex_mult模塊為復(fù)數(shù)乘法器模塊,每1路需要消耗3個乘法器資源。
filter_computer_p模塊為級聯(lián)的濾波器,包含了 CIC 和 FIR 濾波器兩種,根據(jù)輸入的ch_bw信號,可選擇輸出200、100、50、25、15、9、6、1 kHz 等8種帶寬的窄帶信號。
每1路輸出數(shù)據(jù)格式為16 bit 位寬的 I 和16 bit 位寬的 Q,ch_vld標識當(dāng)前時鐘周期數(shù)據(jù)有效;
2.3控制單元設(shè)計
控制單元主要是完成 DSP 命令解析和子帶變頻器運算和控制。系統(tǒng)工作過程中,將 DSP 通過Emif接口往 FPGA 下發(fā)若干個信道號、每 1 個子信道的中心頻率、帶寬參數(shù)。ch_enable信號分別對應(yīng) 16 個子帶變頻器的復(fù)位使能信號;ch_nco為對應(yīng)子帶的nco值;ch_bw為各子帶變頻器輸出帶寬選擇信號。
2.4存儲矩陣設(shè)計
存儲矩陣將64路窄帶 IQ 數(shù)據(jù)存儲并上傳,傳輸數(shù)據(jù)的最大帶寬為64路200 kHz, 采樣率為帶寬的1.28倍;系統(tǒng)工作時鐘為102.4 MHz;
64路 IQ 數(shù)據(jù)進入存儲矩陣后,首先將數(shù)據(jù)根據(jù)ch_vld信號鎖存;
RAM1與 RAM2兩片存儲器將數(shù)據(jù)的進行乒乓存儲,保證數(shù)據(jù)的連續(xù)性,存儲器容量為128 kBit, 位寬32 bit, 尋址為0-32767,實現(xiàn)每路512點的存儲需求;
數(shù)據(jù)存儲格式為地址0-地址63為64路的 I1,Q1;地址64-地址127為64路的 I2Q2;依次存儲到 I512Q512;
數(shù)據(jù)讀取上傳格式,先取第1路的512點 IQ,地址為0、64、128…,再取第2路的512個點,地址為1、65、129…,依次取出64路。
存 RAM2數(shù)據(jù)時,RAM1數(shù)據(jù)通過 SRIOx4接口上傳數(shù)據(jù)到 DSP;存 RAM1數(shù)據(jù)時,RAM2數(shù)據(jù)數(shù)據(jù)上傳。
3驗證與實現(xiàn)
多路窄帶控守系統(tǒng),使用 FPGA+DSP+ADC 的框架實現(xiàn); FPGA 芯片使用設(shè)計的 Xilinx 公司的 K7系列 XCK7325T;ADC 采集芯片為 ADI 公司的 ADC9467,采樣率高達250 MHz,,DSP 芯片采用 TI 公司的 TMS320C6657。FPGA 與 DSP 之間的通信接口包括 EMIF 和 SRIO x4,處理平臺的對外接口為千兆以太網(wǎng)。平臺組成如圖4所示。
系統(tǒng)上電后,首先由應(yīng)用層軟件的寬帶信號搜索功能,硬件平臺收到指令后,由 FPGA 接收并解析 ADC采樣數(shù)據(jù),與 NCO(COS,SIN)相乘得到基帶的 IQ 信號;并將 IQ 數(shù)據(jù)進行 FFT 運算,F(xiàn)PGA 并將 FFT 運算后功率譜數(shù)據(jù)上傳;在頻譜顯示界面可自動或者手動分選要控守的信號頻率和分析帶寬,并將相應(yīng)的子帶頻率與分析帶寬下發(fā)給硬件平臺。
在 FPGA啟動多路控守控制模塊與 CORDIC 乘法器復(fù)數(shù)乘法模塊,并將對應(yīng)帶寬的數(shù)據(jù)輸出上傳。上傳后的數(shù)據(jù)保存在系統(tǒng)本地硬盤中,并使用 Adobe Audition軟件驗證播放,反復(fù)多次存儲播放,證明多路控守系統(tǒng)能同時實現(xiàn)64路帶寬200 kHz。
4結(jié)束語
本文研究了一種基于 CORDIC 算法的可配置的多路窄帶控守系統(tǒng)的設(shè)計實現(xiàn),通過在操作終端上文件存儲的方式驗證能夠?qū)崿F(xiàn)60 MHz 寬帶內(nèi)最多64路的任意頻點控守,在工作中由寬帶搜索引導(dǎo)多路窄帶控守,可對多路窄帶信號進行存儲、分析;同時所需要的 FPGA內(nèi)部的乘法器和存儲器資源極少。下一步目標優(yōu)化優(yōu)鏈路資源消耗,實現(xiàn)更多通道頻點的控守。
參考文獻:
[1]張煒,楊虎.基于CORDIC算法的直接數(shù)字頻率合成器實現(xiàn)方法[J].重慶郵電學(xué)院學(xué)報(自然科學(xué)版),2006,18(5):597-600.
[2]梁杰,孫未.CORDIC算法的優(yōu)化及硬件實現(xiàn)[J].電子世界,2013(10):1-4.
[3]黃海.基于CORDIC的離散三角變換快速算法及其實現(xiàn)研究[D].哈爾濱:哈爾濱工業(yè)大學(xué),2014.
[4]陳婧.改進型CORDIC算法的研究與實現(xiàn)[J].現(xiàn)代電子技術(shù),2011(24):49-55.