《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于CORDIC算法的NCO實現
基于CORDIC算法的NCO實現
來源:電子技術應用2011年第1期
馮 亮1,肖 輝1,姚振東2
(1.中國科學院大氣物理研究所,北京100029;2.成都信息工程學院 電子工程學院,四川 成都61
摘要: 介紹了CORDIC算法的原理,給出了為滿足某一技術指標而設計的NCO的分析過程,給出了軟件仿真波形和硬件實現波形的對比。
關鍵詞: SoPC NCO CORDIC FPGA CycloneIII
中圖分類號: TN74
文獻標識碼: B
文章編號: 0258-7998(2011)01-0062-03
NCO design based on CORDIC algorithm
Feng Liang1,Xiao Hui1,Yao Zhendong2
1.Institute of Atmospheric Physics, Chinese Academy of Sciences, Beijing 100029,China; 2.Electronic Engineering College, Chengdu University of Information Technology, Chengdu 610225,China
Abstract: This paper derives the principle of CORDIC algorithm precisely and an analysis process of the design is given in order to design some technical specification NCO. Lastly, it is proved the realization of the design to compare the wave by software simulation with the wave that the hardware generated.
Key words : NCO;CORDIC;FPGA


    數控振蕩器(NCO)廣泛應用于各種雷達系統和無線收發系統中,其實現方法主要有查表法和坐標旋轉算法。查表法會消耗大量的ROM資源,這樣不僅增大了能耗,而且增加了芯片的面積;CORDIC算法很好地解決了查表法的問題,而且CORDIC算法由于只采用加法和移位運算,因此很適合在FPGA中實現。

    用圖2對上述的旋轉過程作解釋,旋轉開始的初始值是位置①,最終的目標是位置⑤。

    第一次,位置①與位置⑤之間的夾角z1>0,因此,逆時針旋轉一個正切值恰好是2-1的角度,完成了第一次旋轉。
    
2 NCO的實現
    CORDIC算法實現的NCO基本結構如圖3所示。當有數字中頻輸入信號時,輸出的是數字混頻信號,當沒有數字中頻信號時,輸出的是正余弦信號。

    設相位累加器的位寬為n,則NCO的相位分辨率為[1][3]:
  
    確定相位累加器位數后,就可以用Cordic算法設計NCO了。在實現過程中,首先需要建立旋轉角度集tan-1(2-i)的查找表,為了保持足夠的精度,用下面的表示方法,在硬件里表示直角坐標系的4個區間很容易,在設計中應該注意數字表示法的運用,適當選取二進制和十進制的對應關系,將使整體設計變的更簡單。用25 bit表示從0°~360°,二進制l bit代表十進制為:
    360°/225=0.000 010 728 8°。
    正弦、余弦函數旋轉變量為[2]:
    當i=0時,arctan(1)=45°= 25'b0_01000000_00000000_
00000000
    當i=1時,arctan(1/2)≈26°=25'b0_00100100_11111010_
01001111
    當i=2時,arctan(1/4)≈14°=25'b0_00010011_11101001_
00111110  
    當i=3時,arctan(1/8)≈7°=25'b0_00001001_11110100_
10011111
    當i=4時,arctan(1/16)≈4°=25'b0_00000101_10110000_
01011011
    當i=5時,arctan(1/32)≈2°=25'b0_00000010_11011000_
00101101
    當i=6時,arctan(1/64)≈1°=25'b0_00000001_01101100_
00010110
    …
    在具體實現時,由于正弦、余弦函數輸出值小于1,可定義10 bit二進制數表示輸出值-1~+l。為了提高運算速率,采用了8級流水線的方式,QuartusII軟件生成的模塊如圖4所示。各信號的定義見表1。

    本設計雷達中頻信號為30 MHz,設定采樣頻率fs=48 MHz,則本振頻率fc=18 MHz,采樣頻率約是本振頻率的3倍,如果按采樣頻率對本振信號進行采樣,大約每3個點就循環出現一次,用Matlab仿真的結果如圖5所示。

    低成本CycloneIII FPGA是Altera Cyclone系列的第三代產品。Cyclone III FPGA系列前所未有地同時實現了低功耗、低成本和高性能,進一步擴展了FPGA在成本敏感大批量領域中的應用。本設計中選用CycloneIII系列的FPGA芯片。
    CycloneIII EP3C25采用了1.2 V內核,65 nm工藝,由QuartusII 7.2以上版本軟件支持,可以重復編程,通過JTAG接口或者EPROM加載程序,內部有PLL、高速I/O接口和乘法器等模塊,主要內部資源參見表2。

    封裝的不同,EP3C25的引腳數和可用用戶IO數也不相同,詳見表3。

    本設計選用240引腳的PQFP封裝FPGA芯片EF3C25Q240C8N。
    圖6所示波形是采用CORDIC算法在硬件上實現NCO,通過QuartusII軟件內嵌的邏輯分析儀SignalTapII觀測到的I路信號。與圖5比較可看出,采用CORDIC算法在硬件上實現NCO獲得成功。

    CORDIC算法解決了查表法實現NCO面臨的問題,而且具有很高的分辨率。本設計用Altera公司CycloneIII EP3C25 FPGA芯片,在硬件上實現NCO,同時為了提高其運算速率,采用了8級流水線結構,提高了系統的性能。
參考文獻
[1] 姜宇柏,游思晴.軟件無線電原理[M].北京:機械工業出版社,2007.
[2] Uwe Meyer-Baese著.數字信號處理的FPGA實現[M]. 劉凌,譯.北京:清華大學出版社,2006.
[3] 胡廣書.數字信號處理[M].北京:清華大學出版社,1997.
[4] CycloneIII Device handbook,Volume 1.

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 日韩人妻一区二区三区蜜桃视频 | 日本高清二三四本2021第九页| 含羞草实验研究所入口免费网站直接进入 | 最强yin女系统白雪| 亚洲图片国产日韩欧美| 男人和女人差差差很疼30分| 午夜爽爽爽男女免费观看hd| 色偷偷91久久综合噜噜噜| 国产精品伦理一二三区伦理| 99精品久久久久久久婷婷| 日本三级午夜理伦三级三| 久草视频免费在线观看| 欧美成人免费午夜全| 十七岁日本高清电影免费完整版| 花蝴蝶直播苹果版| 国产嫩草影院在线观看| 亚洲精品中文字幕无乱码麻豆| 好男人www视频| 中国日本欧美韩国18| 无码免费一区二区三区免费播放| 久久午夜无码鲁丝片午夜精品| 日韩精品无码一区二区三区不卡 | 国产传媒在线观看| 91香蕉短视频| 国产鲁鲁视频在线观看| jizz在线播放| 撞击老妇肉体之乱小说| 亚洲中文字幕无码中文| 欧美日韩一本大道香蕉欧美| 亚洲欧美日韩综合久久久久| 波多野结衣被躁| 亚洲美女视频一区| 综合人妻久久一区二区精品| 国产一在线精品一区在线观看| 福利视频757| 天堂√最新版中文在线| yellow字幕网在线播放不了| 日本一卡2卡3卡四卡精品网站| 久久精品7亚洲午夜a| 欧美成人观看视频在线| 亚洲欧美不卡视频在线播放|