關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 基于CORDIC算法的中頻多路控守系統設計

        基于CORDIC算法的中頻多路控守系統設計

        作者:龔永龍,楊青華,蔡懷海(同方電子科技有限公司,江西九江 332000) 時間:2023-01-19 來源:電子產品世界 收藏
        編者按:針對無線接收技術向著大帶寬、高采樣的方向發展,軍地的頻譜管理設備已經不能滿足日常的訓練和執法需求,本文提出了一種基于CORDIC算法的中頻多路控守系統設計方法,直接采集超外差接收機的中頻輸出信號,從而實現多達32路或者64路的窄帶信號提取、存儲、分析、回放等。作為事后分析取證等,彌補當前設備的不足。文中介紹了CORDIC的基本原理,核心實現基于CORDIC算法的nco和子帶變頻器,并在Xilinx平臺上驗證成功。

        無線電頻譜是一種自然資源,由于無線電頻譜是有限的,而通信技術極度依賴頻譜的使用,傳統的短波和超短波頻段已經不滿足當前通信需求了,未來通信主要依賴超高頻的微波頻段。而無線電接收技術也向著大帶寬、高靈敏度、高采樣率的方向發展,更高的速率為信號的實時分析帶來了極大的困難。本文提出了一種基于算法的窄帶多路控守系統的設計方法,采用算法實現多路窄帶通信信號控守,設計滿足寬帶內16 路任意頻點的控守。

        本文引用地址:http://www.104case.com/article/202301/442775.htm

        1   算法原理

        1675323074114969.png

        1675323136124755.png

        2   多路控守FPGA實現方案

        FPGA 內部實現多路窄帶控守出自處理流程框圖如圖1 所示。功能單元主要包括寬帶下變頻器、交換矩陣、窄帶下變頻器、存儲矩陣、控制單元等。

        寬帶下變頻器功能是將輸入的ADC 采樣實信號變為零中頻IQ 數據;

        交換矩陣是根據要求實現的窄帶控守路數及頻點,計算數控振蕩器,并輸出給窄帶下變頻器;

        窄帶下變頻器件功能是同時實現64 路窄帶IQ 信號輸出;

        存儲矩陣同時將64 路窄帶信號存儲并上傳。

        2.1 寬帶下變頻器設計

        寬帶下變頻器包括 單元、乘法器、FIR 濾波器等;

        ADC 芯片采樣時鐘為204.8 MHz, 輸入頻率范圍為(110 ~ 170)MHz,ADC 芯片采用ADI 公司的ADC9467芯片,最大位寬16 bit,無雜散動態優于75 dBm;

        數控振蕩器 生成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的無雜散動態范圍。

        image.png

        2.2 窄帶變頻器設計

        窄帶變頻器為窄帶多路控守系統的核心模塊,為實現帶內多路任意頻點的控守,每個子帶變頻器都需要1個可配置的子帶NCO 模塊、復數乘法器模塊、濾波器模塊。單路子帶變頻器的實現框圖如下圖所示。

        image.png

        ch_nco 模塊是基于CORDIC 算法的可配置NCO 模塊,nco 值的計算由控制器單元完成。計算公式為:

        1675323581125509.png

        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 數據數據上傳。

        image.png

        圖3 控制單元實現框圖

        3   驗證與實現

        多路窄帶控守系統,使用FPGA+DSP+ADC 的框架實現;FPGA 芯片使用設計的Xilinx 公司的K7 系列XCK7325T;ADC 采集芯片為ADI 公司的ADC9467,采樣率高達250 MHz,,DSP 芯片采用TI 公司的TMS320C6657。FPGA 與DSP 之間的通信接口包括EMIF 和SRIO x4,處理平臺的對外接口為千兆以太網。平臺組成如圖4 所示。

        1674181316260035.png

        圖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月期)



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 濮阳县| 阳春市| 昌黎县| 威远县| 新和县| 台山市| 横峰县| 富阳市| 祥云县| 徐汇区| 日喀则市| 开封县| 岑溪市| 海原县| 三江| 连南| 平山县| 永清县| 金平| 曲松县| 深州市| 板桥市| 九龙城区| 澄城县| 临湘市| 老河口市| 苏州市| 平山县| 永仁县| 建德市| 成安县| 思南县| 阿尔山市| 炉霍县| 当阳市| 潼关县| 卓资县| 湖口县| 洪湖市| 山阳县| 富阳市|