在實際的通信系統(tǒng)中,攜帶數(shù)字信息的信號通常是由某種類型的載波調(diào)制方式發(fā)送的,傳送信號的帶寬限制在以載波為中心的一個頻段上,如雙邊帶調(diào)制,或在鄰近載波的頻段上,如單邊帶調(diào)制。無論何種調(diào)制方式,在發(fā)送端均需要一個高頻載波將信息調(diào)制上去,以減小信號衰落,相干解調(diào)時在接收端也需要一個與發(fā)送端同頻同相的高頻載波將信息從高頻上解調(diào)下來。為了產(chǎn)生這個高頻載波,在數(shù)字電路中是采用數(shù)控振蕩器(NCO),也稱為直接數(shù)字頻率合成器〔DDS),它的輸出頻率和相位可以受人為控制,從而滿足各種需要。
實時計算法的正弦波樣本以實時計算產(chǎn)生,該方法因其計算需要耗費(fèi)很多時間,因而只能產(chǎn)生較低頻率的正弦波,而且存在計算精度與計算時間的矛盾。由于在需要產(chǎn)生高速的正交信號時,實時計算法將無法實現(xiàn)。因此,在實際應(yīng)用中一般采用最有效、最簡單的查表法,即事先根據(jù)各個NCO正弦波的相位計算好相位的正弦值,并按相位作為地址信息存儲該相位的正弦值數(shù)據(jù)。
數(shù)控振蕩器一般由基準(zhǔn)時鐘(fclk)、相位字寄存器、相位累加器以及幅度/相位轉(zhuǎn)換電路等部分組成。
1.相位累加器對輸入頻率控制字M不斷累加,得到以該頻率字為步進(jìn)的數(shù)字相位。
2.函數(shù)發(fā)生模塊,對當(dāng)前相位進(jìn)行對應(yīng)幅度轉(zhuǎn)換后,可以輸出任意函數(shù)的波形。
函數(shù)發(fā)生模塊最直接的實現(xiàn)方法是只讀存儲器查找表(ROM LUT)法,將正、余弦波形的抽樣存放在ROM中,并通過一個DAC周期地進(jìn)行輸出,從而產(chǎn)生輸出波形。如輸出信號幅度位數(shù)為a,相位地址位數(shù)n所需查找表的大小為a×2n。結(jié)合上文結(jié)論可知,頻率分辨率越高,所需要的ROM越大,和n為指數(shù)增長關(guān)系�?梢�,ROM LUT法很難兼顧功耗、性能、成本三方面,而CORDIC算法的應(yīng)用能夠很好地解決這一問題。
3.相位相加器將相位寄存器中的數(shù)字相位與相位控制字相加,得到偏移后的當(dāng)前相位。
設(shè)系統(tǒng)的時鐘頻率為fc,頻率控制字為M,相位寄存器位數(shù)為N,則數(shù)控振蕩器輸出信號頻率為。根據(jù)Nyquist抽樣定理,fs最大值為1/2fc,而在實際設(shè)計中,一般不應(yīng)大于時鐘頻率的1/4。其頻率分辨率為,根據(jù)此式,在系統(tǒng)時鐘頻率不變的情況下,相位寄存器位數(shù)N越大,產(chǎn)生信號的頻率分辨率越高。