基于CORDIC算法的中頻多路控守系統設計
無線電頻譜是一種自然資源,由于無線電頻譜是有限的,而通信技術極度依賴頻譜的使用,傳統的短波和超短波頻段已經不滿足當前通信需求了,未來通信主要依賴超高頻的微波頻段。而無線電接收技術也向著大帶寬、高靈敏度、高采樣率的方向發展,更高的速率為信號的實時分析帶來了極大的困難。本文提出了一種基于CORDIC算法的窄帶多路控守系統的設計方法,采用CORDIC算法實現多路窄帶通信信號控守,設計滿足寬帶內16 路任意頻點的控守。
本文引用地址:http://www.104case.com/article/202301/442775.htm1 CORDIC算法原理
2 多路控守FPGA實現方案
FPGA 內部實現多路窄帶控守出自處理流程框圖如圖1 所示。功能單元主要包括寬帶下變頻器、交換矩陣、窄帶下變頻器、存儲矩陣、控制單元等。
寬帶下變頻器功能是將輸入的ADC 采樣實信號變為零中頻IQ 數據;
交換矩陣是根據要求實現的窄帶控守路數及頻點,計算數控振蕩器NCO,并輸出給窄帶下變頻器;
窄帶下變頻器件功能是同時實現64 路窄帶IQ 信號輸出;
存儲矩陣同時將64 路窄帶信號存儲并上傳。
2.1 寬帶下變頻器設計
寬帶下變頻器包括NCO 單元、乘法器、FIR 濾波器等;
ADC 芯片采樣時鐘為204.8 MHz, 輸入頻率范圍為(110 ~ 170)MHz,ADC 芯片采用ADI 公司的ADC9467芯片,最大位寬16 bit,無雜散動態優于75 dBm;
數控振蕩器NCO 生成sin 與cos 信號,與ADC 芯片相乘得到零中頻IQ 信號;
為節省芯片的乘法器資源,NCO設計實現直接使用ROM 查找表的方式實現;
在Matlab中產生采樣率為204.8 MHz, 頻率為64.8 MHz ( 超外差接收機為2 次混頻) 的sin 與cos 信號,并將數據初始化存儲在FPGA 內rom 表即可。
乘法器為AD 信號與cos 或sin 信號相乘,實現混頻的功能,輸出的I 路和Q 路信號,信號帶寬為24 bit。
FIR 濾波器設計使用的濾波器系數為64 階對稱型的的低通濾波器,濾波器Fpass = 40 MHz,Apass = 0.1 dB;Fstop = 42 MHz,Astop = 95 dB;濾波后抽2,將IQ 數據的采樣率降為102.4 MHz,并輸出給子信道下變頻器控制矩陣,FFT運算結果滿足優于85 dB的無雜散動態范圍。
2.2 窄帶變頻器設計
窄帶變頻器為窄帶多路控守系統的核心模塊,為實現帶內多路任意頻點的控守,每個子帶變頻器都需要1個可配置的子帶NCO 模塊、復數乘法器模塊、濾波器模塊。單路子帶變頻器的實現框圖如下圖所示。
ch_nco 模塊是基于CORDIC 算法的可配置NCO 模塊,nco 值的計算由控制器單元完成。計算公式為:
complex_mult 模塊為復數乘法器模塊,每1 路需要消耗3 個乘法器資源。
filter_computer_p 模塊為級聯的濾波器,包含了CIC 和FIR 濾波器兩種,根據輸入的ch_bw 信號,可選擇輸出200、100、50、25、15、9、6、1 kHz 等8 種帶寬的窄帶信號。
每1 路輸出數據格式為16 bit 位寬的I 和16 bit 位寬的Q,ch_vld 標識當前時鐘周期數據有效。
2.3 控制單元設計
控制單元主要是完成DSP命令解析和子帶變頻器運算和控制。系統工作過程中,將DSP 通過Emif 接口往FPGA下發若干個信道號、每1 個子信道的中心頻率、帶寬參數。ch_enable 信號分別對應16 個子帶變頻器的復位使能信號;ch_nco 為對應子帶的nco 值;ch_bw 為各子帶變頻器輸出帶寬選擇信號。
2.4 存儲矩陣設計
存儲矩陣將64 路窄帶IQ 數據存儲并上傳,傳輸數據的最大帶寬為64 路200 kHz, 采樣率為帶寬的1.28 倍;系統工作時鐘為102.4 MHz;
64 路IQ 數據進入存儲矩陣后,首先將數據根據ch_vld 信號鎖存;
RAM1 與RAM2 兩片存儲器將數據的進行乒乓存儲,保證數據的連續性,存儲器容量為128 kBit, 位寬32 bit, 尋址為0-32767,實現每路512 點的存儲需求;
數據存儲格式為地址0- 地址63 為64 路的I1,Q1;地址64- 地址127 為64 路的I2Q2;依次存儲到I512Q512;
數據讀取上傳格式,先取第1 路的512 點IQ,地址為0、64、128…,再取第2 路的512 個點,地址為1、65、129…,依次取出64 路。
存RAM2 數據時,RAM1 數據通過SRIOx4 接口上傳數據到DSP;存RAM1 數據時,RAM2 數據數據上傳。
圖3 控制單元實現框圖
3 驗證與實現
多路窄帶控守系統,使用FPGA+DSP+ADC 的框架實現;FPGA 芯片使用設計的Xilinx 公司的K7 系列XCK7325T;ADC 采集芯片為ADI 公司的ADC9467,采樣率高達250 MHz,,DSP 芯片采用TI 公司的TMS320C6657。FPGA 與DSP 之間的通信接口包括EMIF 和SRIO x4,處理平臺的對外接口為千兆以太網。平臺組成如圖4 所示。
圖4 硬件驗證平臺組成
系統上電后,首先由應用層軟件的寬帶信號搜索功能,硬件平臺收到指令后,由FPGA 接收并解析ADC采樣數據,與NCO(COS,SIN)相乘得到基帶的IQ 信號;并將IQ 數據進行FFT 運算,FPGA 并將FFT 運算后功率譜數據上傳;在頻譜顯示界面可自動或者手動分選要控守的信號頻率和分析帶寬,并將相應的子帶頻率與分析帶寬下發給硬件平臺。
在FPGA 啟動多路控守控制模塊與CORDIC 乘法器復數乘法模塊,并將對應帶寬的數據輸出上傳。上傳后的數據保存在系統本地硬盤中,并使用Adobe Audition軟件驗證播放,反復多次存儲播放,證明多路控守系統能同時實現64 路帶寬200 kHz。
4 結束語
本文研究了一種基于CORDIC 算法的可配置的多路窄帶控守系統的設計實現,通過在操作終端上文件存儲的方式驗證能夠實現60 MHz 寬帶內最多64 路的任意頻點控守,在工作中由寬帶搜索引導多路窄帶控守,可對多路窄帶信號進行存儲、分析;同時所需要的FPGA內部的乘法器和存儲器資源極少。下一步目標優化優鏈路資源消耗,實現更多通道頻點的控守。
參考文獻:
[1] 張煒,楊虎.基于CORDIC算法的直接數字頻率合成器實現方法
[J].重慶郵電學院學報(自然科學版),2006,18(5):597-600.[2]梁杰,孫未.CORDIC算法的優化及硬件實現[J].電子世界,2013(10):1-4.
[3] 黃海.基于CORDIC的離散三角變換快速算法及其實現研究[D].哈爾濱:哈爾濱工業大學,2014.
[4]陳婧.改進型CORDIC算法的研究與實現[J].現代電子技術,2011(24):49-55.
(本文來源于《電子產品世界》雜志2023年1月期)
評論