數字控制振蕩器(NCO)的FPGA實(shí)現
摘要:介紹了NCO數字控制振蕩器的工作原理,詳細分析了數控振蕩器的性能指標和其在FPGA中的實(shí)現方法,最后給出了新設計的數控振蕩器在QUARTUSII中的仿真結果。
關(guān)鍵詞:數控振蕩器(NCO);無(wú)雜散動(dòng)態(tài)范圍(SFDR);FPGA;頻率控制字
0 引言
NCO(N umerically Controlled Oscillator)是用于產(chǎn)生一個(gè)理想的、數字可控的正弦或余弦波的數字控制式振蕩器,其實(shí)現方法有實(shí)時(shí)計算法和查表法等多種。實(shí)時(shí)計算法的正弦波樣本以實(shí)時(shí)計算產(chǎn)生,該方法因其計算需要耗費很多時(shí)間,因而只能產(chǎn)生較低頻率的正弦波,而且存在計算精度與計算時(shí)間的矛盾。由于在需要產(chǎn)生高速的正交信號時(shí),實(shí)時(shí)計算法將無(wú)法實(shí)現。因此,在實(shí)際應用中一般采用最有效、最簡(jiǎn)單的查表法,即事先根據各個(gè)NCO正弦波的相位計算好相位的正弦值,并按相位作為地址信息存儲該相位的正弦值數據。
1 NCO的基本原理
在通過(guò)相位累加產(chǎn)生地址信息時(shí),通常需要輸出當前時(shí)刻的相位值所對應的正弦值,即以參考頻率源對相位進(jìn)行等可控間隔采樣。眾所周知,理想的正弦波信號S(t)可以表示成:
式(1)說(shuō)明,信號s(t)在振幅A和初相φ確定之后,其頻率可以由相位來(lái)唯一確定。即:
NCO就是利用式(2)中φ(t)與時(shí)間t成線(xiàn)性關(guān)系的原理來(lái)進(jìn)行頻率合成的,也就是說(shuō),在時(shí)間t=△t間隔內,正弦信號的相位增量△φ與正弦信號的頻率f可構成一一對應關(guān)系,也就是說(shuō),對式(2)兩端進(jìn)行微分后有:。
由上面的討論可知:
其中,△θ為一個(gè)采樣間隔△t之間的相位增量,采樣周期。故式(3)可改寫(xiě)為:
由式(4)可知,如果可以控制△θ,就可以控制不同的頻率輸出。由于△θ受頻率控制字FCW的控制,即:,所以,改變FCW就可以得到不同的輸出頻率f0,然后經(jīng)代換處理可得如下方程:
式(5)和式(6)中的L為相位累加器的位數。根據Nyquist準則,允許輸出的頻率最高為FCLK/2,即。但在實(shí)際工程中,由于受到低通濾波器的限制,一般輸出的頻率
。
fpga相關(guān)文章:fpga是什么
低通濾波器相關(guān)文章:低通濾波器原理
評論