《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于System Generator的Rife算法的FPGA實現
基于System Generator的Rife算法的FPGA實現
來源:電子技術應用2014年第4期
呂晨陽,王 建
(南京船舶雷達研究所,江蘇 南京210003)
摘要: 在FPGA平臺上應用System Generator工具實現了高精度頻率估計Rife算法。不同于傳統的基于HDL代碼和IP核的設計方法,采用System Generator工具可以使復雜算法在FPGA中更快、更準確地實現。給出了Rife算法的描述和實現結構框圖,并在System Generator和ISE環境中進行了仿真,驗證了設計的正確性。
中圖分類號: TN47
文獻標識碼: B
文章編號: 0258-7998(2014)04-0042-03
中文引用格式:呂晨陽,王建.基于System Generator的Rife算法的FPGA實現[J].電子技術應用,2014,40(04):42-44.
Realization of Rife method in FPGA based on system generator
Lv Chenyang,Wang Jian
Nanjing Marine Radar Institute,Nanjing 210003,China
Abstract: The high performance frequency estimation algorithm(Rife method) is established in FPGA by using System Generator. Unlike traditional design method based on HDL code and IP core, using System Generator tool,the complex algorithms can be faster and more accurately implemented in the FPGA. The design methods of every main function module in the system are described. The simulation was both done in System Generator and ISE. Finally, the correctness of the design is verified.
Key words : System Generator;frequency estimation;Rife method;FPGA

    頻率測量在電子偵察中扮演了重要的角色[1]。隨著電子技術的發展,傳統的偵察接收機向著數字化、軟件化方向發展[2]。傳統的基于模擬電路的測頻方法需要轉換為數字方法實現。模擬偵察接收機中通常采用基于相位差的頻率測量方法[3]。該方法在數字電路中同樣可以方便地實現,但該方法對信噪比要求比較高[3]。基于數字電路的優點,可采用先進的算法實現更高的性能。Rife算法[4]是一種常用的基于DFT頻譜的頻率測量算法,具有算法實現容易、精度高等優點。而DFT運算可以通過FFT進行快速運算。
    為保證截獲概率,偵察接收機帶寬不斷增大,現瞬時帶寬已達500 MHz[2]。傳統的基于DSP和GPP的系統已難以滿足實時處理的需求,采用基于FPGA的信號處理機已成為普遍的解決方法[5-7]。
    FPGA設計中基于HDL和定點的設計方法不同于傳統的DSP和GPP平臺中基于C語言和浮點的設計方法。HDL語言語法和語言的可綜合性限制了算法的實現[7-8]。基于此,Xilinx和Altera公司分別推出了簡化FPGA數字處理系統的集成開發工具System Generator for DSP和DSP Builder[9],快速、簡易地將DSP系統的抽象算法轉化成可綜合的、可靠的硬件系統,為DSP設計者掃清了編程的障礙[8-9]。

2 System Generator
    System Generator 是高性能、高效的DSP算法建模工具,是DSP算法與FPGA的橋梁[7-8]。其作用如圖1所示,可在Matlab/Simulink環境下對算法以及系統進行建模,并生成相應的工程,再調用ISE進行仿真、綜合、實現。

    Xilinx為System Generator提供了大量的信號處理模塊(如FIR濾波器、FFT)、糾錯算法、存儲器以及數字邏輯功能,可以在設計環境下直接調用,快速構建DSP系統。同時還支持.m文件和HDL導入[7-8]。
    雖然System Generator中只有Xilinx提供的模塊可以在FPGA中實現,但利用Simulink中豐富的資源可方便地生成測試向量,同時快速對結果進行準確直觀的分析。考慮到資源消耗,FPGA中實現的算法以定點算法為主,定點算法的精度和范圍很有限,容易發生溢出或者計算誤差過大,導致算法失敗[5-6]。采用傳統的基于HDL和IP核的設計方法,如果早期分析得不完全,在設計后期進行修改是一件費時費力的事情,而且極易發生錯誤。而在System Generator環境下,采用基于模型的設計方法可以方便地實現和驗證定點算法,發現問題后也容易進行修改。
3 Rife算法的FPGA設計
    從第1節的Rife算法介紹可知,Rife算法以FFT運算為核心,通過頻譜峰值與次峰值的插值運算計算頻率值。FFT算法是一種塊運算,逐幀進行,需要提供幀的起止邊界。本設計中采用恒虛警模塊提供幀的起止信號。FPGA中實現的Rife頻率測量算法主要包含如下功能模塊:快速傅里葉變換模塊(FFT)、取模模塊、峰值檢測與鎖存模塊、Rife計算模塊和控制模塊。系統整體框圖如圖2所示。

    System Generator工具中提供了FFT模塊,其通過參數化配置,支持從8點到65 536點的基2、基4 FFT運算,其在FPGA中的實現對應著LogicCORE中的FFT核。使用該模塊主要需要關心start信號、dv信號和輸入輸出信號。從恒虛警模塊來的start信號通過一個上升沿指示轉換開始,此時在時鐘的同步下逐點將待轉換數據輸入,當輸入的信號點數達到設定的采樣點時開始FFT計算。恒虛警模塊在沒有檢測到信號的情況下會輸出0,故當信號點數小于FFT所需的點數時會自動插0。
    經過一段時間的延時,dv輸出高電平,指示轉換完成。此時會逐點輸出轉換完成的頻譜信號,同時xk_index輸出頻譜點對應的索引值。
    Rife算法需要DFT頻譜的幅度信息,而FFT模塊輸出的為I、Q兩路復信號。|u|絕對值模塊完成頻譜的絕對值運算。在FPGA中實現諸如的運算需要占用大量的資源,其中開根號運算可采用System Generator提供的CORDIC模塊進行近似運算,降低了資源的消耗。同時I2+Q2的運算可通過MCode模塊完成,MCode實現了Matlab函數的有限子集,用于快速開發DSP算法,同時可生成HDL代碼,用于FPGA工程應用中。
    Rife算法中的峰值提取對時序要求很嚴格,它需要在記錄下頻譜峰值的同時記錄下峰值對應的系數。System Generator在進行高層設計的同時還保留了底層的基本邏輯單元,可通過其構建對時序要求嚴格的邏輯。峰值提取模塊主要包括移位寄存器、鎖存器和比較器,比較器比較當前值和鎖存器中的值,當發現當前值大于鎖存器的值時,輸出鎖存使能信號,鎖存當前的幅度和系數值。鎖存的幅度和系數值必須對應,FFT模塊輸出的I、Q數據和系數是準確對應的,而當I、Q信號經過幅值計算模塊后會產生時延,需要延時單元補償時延。本設計中通過Simulink提供的多通道示波器測量了幅值測量模塊的時延值,然后通過延時模塊進行了補償。具體結構如圖3所示。
      圖4中的Rife計算模塊是本設計的核心,用于實現式(2)中的計算。圖3中的峰值檢測與鎖存電路在鎖存峰值的同時還會鎖存峰值前后點的值,圖4中的結構與式(2)對應,通過比較器比較峰值前后點的大小來選擇插值對象。對于式中r的正負,本設計中通過可控加減法器進行實現。當r=-1時,進行減法運算;r=1時,進行加法運算。

4 實現結果
    本設計硬件平臺選用Xilinx公司Virtex系列中的XC6VLXT550T,系統的采樣點為128點。在System Generator/Simulink環境中按照圖2的框圖進行設計,得到圖5所示的算法實現圖。圖5中,In與Out邊界內部的模塊為由System Generator提供,可用硬件實現,邊界之外的模塊由Simulink提供。利用Simulink中的信號源產生一個疊加高斯白噪聲的正弦信號,作為系統的測試激勵信號,采用Simulink中的示波器觀察各點信號,用Display模塊顯示頻率值。從圖5中可以看出測量的頻率值為64.84。

    System Generator中設計的系統可用于更高層設計中,其支持生成HDL網表、NGC網表,甚至直接生成.bit文件用于FPGA的配置。其在生成網表的同時可以選擇生成testbench,用于第三方的軟件仿真。本設計中選擇生成NGC網表。生成結果資源消耗如表1所示,綜合后系統的最大運行頻率為121.087 MHz。
    將System Generator中生成的模塊導入到ISE設計環境中。運用ISE集成的仿真軟件Isim進行仿真分析,仿真結果如圖6所示,圖中高亮部分為頻率測量值,可見其值與System Generator環境中的仿真結果相同,從而驗證了設計的正確性。

 

 

    本文中利用System Generator工具的便利性,在FPGA中實現了高精度頻率估計Rife算法。省去了繁瑣的HDL編程,從而可將更多精力集中于算法本身,同時利用Simulink環境的資源快速對設計進行驗證,最后在ISE環境中完成設計并進行了驗證。
參考文獻
[1] 胡來招,電信.雷達偵察接收機設計[M].北京:國防工業出版社,2000.
[2] 宋民,張琦,高梅國.一種大帶寬高分辨力數字信道化接收機[J].電子信息對抗技術,2006,21(1):14-17.
[3] 胡來招.瞬時測頻[M].北京:國防工業出版社,2002.
[4] RIFE D C,VINCENT G A.Use of  the discrete Fourier transform in the  measurement of frequencies and levels  of tones[J].Bell Syst.Tech.J,1970,49(2):197-228.
[5] 楊小牛,樓才義,徐建良.軟件無線電原理與應用[M].北京:電子工業出版社,2001.
[6] TSUI J.Digital techniques for wideband receivers(Second edition)[M].楊小牛,譯.北京:電子工業出版社,2002.
[7] 田耘,徐文波.Xilinx FPGA開發實用教程[M].北京:清華大學出版社,2008.
[8] Xilinx System Generator for DSP user guider v14.3[Z].USA:Xilinx Inc,2012.
[9] 郝小江,黃昆.FIR數字濾波器設計及其FPGA實現[J].微型機與應用,2013,32(19):22-24.

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 男人使劲桶女人下面动态图片 | 天天躁狠狠躁夜躁2021 | 国产成人拍精品视频网 | 国产91网站在线观看 | 色老头成人免费综合视频 | 国产成人精品日本亚洲专一区 | 中文字幕日韩在线观看 | 国产性片在线 | 色片免费| 久久精品视频一区二区三区 | 亚洲国产日韩综合久久精品 | 亚洲一区日韩 | 精品国产一区二区三区国产馆 | 最近中文字幕mv免费视频 | 天天爽夜夜爽免费看 | 99视频精品全部免费免费观 | 欧美日韩在线播放成人 | 老黄网站在线观看免费 | 色噜噜狠狠色综合日日 | 免费看特黄特黄欧美大片 | 极品国产一区二区三区 | 欧洲一区二区 | 又黄又爽又猛大片录像 | 午夜湿| 久久久久免费视频 | 久久久噜噜噜久久网 | 看黄色一级视频 | 日日操日日操 | 欧美日韩视频在线第一区 | 免费在线h| 中文字幕在线观看网站 | 天天射天 | 亚洲日b| 亚洲欧美日韩久久精品第一区 | 天天综合天天做天天综合 | 国产成人精品在线观看 | 婷婷免费视频 | 亚洲欧美日韩专区一 | 国产人成精品综合欧美成人 | 中文字幕不卡高清免费 | 日韩欧美视频在线播放 |