基于Taylor級(jí)數(shù)近似補(bǔ)償?shù)母倪M(jìn)數(shù)控振蕩器實(shí)現(xiàn)
引言
本文引用地址:http://butianyuan.cn/article/110914.htm數(shù)字控制振蕩器 (NCO) 在軟件無(wú)線電(SDR)通信系統(tǒng)中具有重要的作用,是軟件無(wú)線電數(shù)字變頻技術(shù)的必要組成部分,它的性能很大程度上決定著數(shù)字變頻模塊性能以及載波同步模塊的同步效果。在軟件無(wú)線電通信中,信號(hào)的處理往往都集中在離散數(shù)字域內(nèi)進(jìn)行,數(shù)據(jù)的傳輸速率和信號(hào)的質(zhì)量都要非常高,這樣就要求數(shù)字控制振蕩器必須具有頻率分辨率高、頻率轉(zhuǎn)換速度快、無(wú)雜散動(dòng)態(tài)范圍值(SFDR)高、頻譜純度高和生成的正、余弦信號(hào)保持良好的正交特性等特點(diǎn)。
數(shù)控振蕩器主要由相位累加器、量化器、相位幅度轉(zhuǎn)換電路等部分組成。相位累加器將相位按頻率控制字的步長(zhǎng)累加,累加結(jié)果與初始相位(即相位偏移)的和作為量化器的輸入,量化器截取前M bits作為相位幅度轉(zhuǎn)換電路的輸入,最后,相位幅度轉(zhuǎn)換電路根據(jù)相位值輸出對(duì)應(yīng)的正弦或余弦值。本文通過(guò)對(duì)傳統(tǒng)CORDIC算法實(shí)現(xiàn)數(shù)控振蕩器存在的問(wèn)題進(jìn)行分析,提出一種適用于軟件無(wú)線電通信系統(tǒng)的數(shù)控振蕩器實(shí)現(xiàn)新方法。該方法利用二階泰勒(Taylor)級(jí)數(shù)近似和殘余相角補(bǔ)償?shù)姆椒▉?lái)解決CORDIC算法實(shí)現(xiàn)時(shí)的精度不夠的缺陷,提高了數(shù)控振蕩器的輸出信號(hào)頻譜的純度;整個(gè)設(shè)計(jì)采用流水線結(jié)構(gòu)從而可以保證系統(tǒng)的高速度,滿足軟件無(wú)線電系統(tǒng)的高速數(shù)據(jù)處理的要求;在相位累加器部分加入相角抖動(dòng)模塊來(lái)改善角度周期性截?cái)嗾`差所引起的雜散,進(jìn)一步提高數(shù)控振蕩器的無(wú)雜散動(dòng)態(tài)值。
傳統(tǒng)CORDIC算法實(shí)現(xiàn)
CORDIC(Coordinate Rotation Digital Computer)算法是由J.Voider等人在1959年提出的[1],它是基于向量旋轉(zhuǎn)的算法,通過(guò)迭代方法實(shí)現(xiàn)對(duì)任意角度的向量旋轉(zhuǎn),這些迭代只需使用簡(jiǎn)單的移位和加減法操作,所有三角函數(shù)都可以通過(guò)向量旋轉(zhuǎn)函數(shù)進(jìn)行計(jì)算。CORDIC算法的基本迭代算式為:
用CORDIC算法實(shí)現(xiàn)數(shù)控振蕩器存在精度不高的問(wèn)題,它的雜散源主要有以下幾部分:由于算法采用的算術(shù)精度有限對(duì)最終結(jié)果造成的誤差,這部分誤差是由尾數(shù)舍棄帶來(lái)的截?cái)嗾`差,這部分誤差是引起雜散的一個(gè)原因;N次旋轉(zhuǎn)所得的累加角度與目標(biāo)角度之間的殘余相角誤差所引起雜散;由于CORDIC算法的迭代級(jí)數(shù)有限,旋轉(zhuǎn)產(chǎn)生的角度誤差為周期信號(hào),周期性誤差同樣會(huì)引起雜散。
由于傳統(tǒng)CORDIC算法實(shí)現(xiàn)數(shù)控振蕩器存在著不足,故本文在傳統(tǒng)CORDIC算法的基礎(chǔ)上,提出采用Taylor級(jí)數(shù)補(bǔ)償CORDIC算法的改進(jìn)數(shù)控振蕩器實(shí)現(xiàn)方法。
評(píng)論