《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 數字控制振蕩器(NCO)的FPGA實現
數字控制振蕩器(NCO)的FPGA實現
電子元器件應用
李 飛 西安電子科技大學
摘要: 介紹了NCO數字控制振蕩器的工作原理,詳細分析了數控振蕩器的性能指標和其在FPGA中的實現方法,最后給出了新設計的數控振蕩器在QUARTUSII中的仿真結果。
關鍵詞: FPGA NCO Quartus II
Abstract:
Key words :

摘要:介紹了NCO" title="NCO">NCO數字控制振蕩器的工作原理,詳細分析了數控振蕩器的性能指標和其在FPGA" title="FPGA">FPGA中的實現方法,最后給出了新設計的數控振蕩器在QUARTUSII中的仿真結果。
關鍵詞:數控振蕩器(NCO);無雜散動態范圍(SFDR);FPGA;頻率控制字

0 引言
    NCO(N umerically Controlled Oscillator)是用于產生一個理想的、數字可控的正弦或余弦波的數字控制式振蕩器,其實現方法有實時計算法和查表法等多種。實時計算法的正弦波樣本以實時計算產生,該方法因其計算需要耗費很多時間,因而只能產生較低頻率的正弦波,而且存在計算精度與計算時間的矛盾。由于在需要產生高速的正交信號時,實時計算法將無法實現。因此,在實際應用中一般采用最有效、最簡單的查表法,即事先根據各個NCO正弦波的相位計算好相位的正弦值,并按相位作為地址信息存儲該相位的正弦值數據。

1 NCO的基本原理
    在通過相位累加產生地址信息時,通常需要輸出當前時刻的相位值所對應的正弦值,即以參考頻率源對相位進行等可控間隔采樣。眾所周知,理想的正弦波信號S(t)可以表示成:
    a.JPG
    式(1)說明,信號s(t)在振幅A和初相φ確定之后,其頻率可以由相位來唯一確定。即:
    b.JPG
    NCO就是利用式(2)中φ(t)與時間t成線性關系的原理來進行頻率合成的,也就是說,在時間t=△t間隔內,正弦信號的相位增量△φ與正弦信號的頻率f可構成一一對應關系,也就是說,對式(2)兩端進行微分后有:c.JPG
    由上面的討論可知:
    i.jpg
    其中,△θ為一個采樣間隔△t之間的相位增量,采樣周期d1.jpg。故式(3)可改寫為:
    d2.jpg
    由式(4)可知,如果可以控制△θ,就可以控制不同的頻率輸出。由于△θ受頻率控制字FCW的控制,即:d4.jpg,所以,改變FCW就可以得到不同的輸出頻率f0,然后經代換處理可得如下方程:
    d3.jpg
    式(5)和式(6)中的L為相位累加器的位數。根據Nyquist準則,允許輸出的頻率最高為FCLK/2,即d5.jpg。但在實際工程中,由于受到低通濾波器的限制,一般輸出的頻率d.JPG



2 NCO的性能指標
    NCO的性能指標包括信號頻率分辨率、信噪比(SNR)、無雜散動態范圍(SFDR)和輸出的信號正交性。這些性能指標取決于NCO的數據位數。NCO的數據位數包括用于表示相位數據的位數n和表示相位的正弦值數據的位數nb,二者之間存在nb取決于n的關系,且前者必須能夠表示相位變化時其相位正弦值變化的最小值和最大值。而這又分為兩種情況:
    第一種情況是相位最小變化值的正弦值最小變化發生在π/2-△φ~π/2,π/2~π/2+△φ,3π/2-△φ~3π/2,3π/2~3π/2+△φ,同時其相位的取值是在0~2π間且等間隔地分為2n爪取值點,因此,由正弦波的特性可知:只需要討論相位在π/2-△φ與π/2取值點的正弦值之差:
    e1.jpg
    第二種情況是相位最小變化值的正弦值的最大變化發生在0~△φ,π-△φ~π,π~π+△φ,2π-△φ~2π取值點處。該情況可以通過類似于第一種情況的推導方法得到:
    e.JPG
    設計時可以根據式(9)和式(10)較好地取值n和nb,以避免相位的分辨率發生鈍化,并很好地達到設計要求。
    NCO的噪聲是因為存在正弦值的量化誤差而引入的,且量化誤差由表示正弦值的位數決定,其近似關系為:
   f.JPG
    式中,B是作為尋址ROM的地址的舍位位數,n是相位位數。NCO的另一個性能參數是頻率分辨率△f,該參數取決于相位位數,其關系式為:
    g.JPG

3 NCO在FPGA中的實現
    NCO的查找表是一個正弦值表,該表的正弦值是按照相位作為存儲地址來進行存儲的,而且一般以相位遞增的方式存儲。利用正弦波的奇偶對稱性,可以把2π相位分成4等份,然后利用各等份之間的對稱性來實現地址信息的映射,通常只存儲[0,π/2]象限內的幅度碼。
    相位累加器可完成相位累加,即每來1個時鐘就累加1次φ=φ+△φ,且采用流水線方式工作。本設計采用QUARTUS II" title="QUARTUS II">QUARTUS II中IP核自帶的一種32位累加器來實現相位的累加。
    邏輯轉換完成后,可采用小表結構功能塊把相位累加器產生的最高2位信號轉換為地址控制信號和象限轉換控制信號。其中地址控制信號是根據最高兩位信號來控制地址從0開始遞增方式產生還是從2L開始以遞減方式產生。
    正弦表是每來一個時鐘輸出一個大于零的正弦值數據,這些數據可作為象限變換器的輸入,由象限變換器完成數據的象限變換。其轉換原則是:象限控制信號根據正弦信號的對稱性把查表得到的數據轉換為正負數據,并對于正弦信號的1、2象限數據進行加零操作,而對3、4象限的數據進行求補運算。余弦數據也同樣,在1、4象限對數據進行加零操作,2、3象限數據進行求補運算。

4 仿真結果
    利用上述小表結構實現的NCO可以輸出多種頻率信號并減少資源消耗,影響系統輸出頻率的因素主要是工作頻率和器件性能。
    圖1所示是整個NCO在QUARTUS II中的仿真波形圖。

h.JPG


    在圖1所示的波形圖中,CLK是時鐘輸入頻率(為65.6 MHz),CLR為系統復位信號,相位累加器的位數L為32位,輸出信號幅度位數為12位(包括符號位),相位寬度為12位,這樣,由式(5)便可得到頻率控制字FCW為269591793,圖1中的COS_OUT與SIN_OUT是系統輸出信號,頻率為4.08 MHz。
    由式(11)、(12)、(13)可得,此系統的信噪比和SFDR分別為74 dB和84 dB。
    圖2所示是將波形文件中的正弦余弦數據讀入MATLAB中所顯示出來的波形。

5 結束語
    本文通過分析數控振蕩器的實現原理和性能,給出了通過FPGA來實現NCO的具體方法,同時通過QUARTUSⅡ中的仿真驗證了本設計的正確性。結果證明,用該方法設計的NCO可以輸出多種頻率的信號,同時也可以減少資源消耗。

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 99久久中文字幕伊人 | 成人免费男女视频网站慢动作 | 国产成人高清在线 | 国产亚洲精品hd网站 | 免费欧美一级片 | 日韩免费视频播放 | 一级a俄罗斯毛片免费 | 国产一区在线观看视频 | 成人影视网站 | 免费看黄色网址 | 成人速播影院在线播放免费 | 2015xxxx欧美 | 亚洲国产日韩无在线播放 | 五月婷在线观看 | 国产伊人网 | 最近中文免费字幕在线播放 | 最近中文字幕免费国语 | 99在线热播精品免费 | 一级做a免费观看大全 | 亚洲美女aⅴ久久久91 | 91精品国产免费网站 | 看片一区 | 999热在线精品观看全部 | 日韩精品1区 | 曰鲁夜鲁鲁狠狠综合 | 91免费视频软件 | 天天天天天操 | 日韩伦理免费在线观看 | 日批日韩在线观看 | 手机日韩 | 日韩欧美在线观看 | 国产成人一区二区三区在线播放 | 色网站在线播放 | 日本人娇小hd | 日韩欧美不卡 | 亚洲欧美人成人综合在线50p | 成人亚洲视频在线观看 | 日韩天堂视频 | 可以看的黄网 | 亚洲视频在线观看免费 | 国产精品亚洲一区二区三区久久 |