摘 要:在FPGA中用查找表技術(shù)實(shí)現(xiàn)數(shù)控振蕩器是軟件無線電研究的重要內(nèi)容。累加器步長(zhǎng)、累加器控制字等參數(shù)決定NCOs的性能,頻譜純度是衡量NCOs的關(guān)鍵指標(biāo)。借助Simulink仿真平臺(tái)分析得出相位截?cái)鄬?duì)頻譜純度的影響遠(yuǎn)大于幅度值的量化。提出相位加抖技術(shù)及三種實(shí)現(xiàn)提高無雜散動(dòng)態(tài)范圍的方法。由仿真分析看出,通過恰當(dāng)?shù)南辔患佣犊梢詷O大地提高SFDR。
關(guān)鍵詞:數(shù)控振蕩器;相位截?cái)?查找表;相位加抖;無雜散動(dòng)態(tài)范圍
中圖分類號(hào):TP391.9 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1004-373X(2010)03-102-03
Simulation and Study of Numerically Controlled Oscillators Performance Based on Simulink
WANG Jianjun
(Sichuan TOP Vocational College of Information Technology,Chengdu,611743,China)
Abstract:Designing Numerically Controlled Oscillators(NCOs) of Lookup Tables(LUTs) in FPGA is important issues of software radio.Performance of accumulator is decided by step size and word length,spectrum purity is the key design parameter.The phase truncation impacting on the spectrum purity of NCOs is more than amplitude quantization in Simulink workbench.Phase-dithering is put forward to improve the Spurious Free Dynamic Range(SFDR) of NCOs′ output.The conclusion is derived from simulation :phase-dithering is a favoured method of increasing the SFDR performance.
Keywords:NCO;phase truncation;LUT;phase dithering;SFDR
0 引 言
數(shù)控振蕩器(Numerically Controlled Oscillators,NCOs)是軟件無線電的重要組成部分和研究?jī)?nèi)容,它廣泛應(yīng)用于DSP中,如通信領(lǐng)域的信號(hào)調(diào)制解調(diào),蜂窩電話、基站、雷達(dá)系統(tǒng)、數(shù)字電視、GPS和無線LAN等。
NCOs可以通過各種方式實(shí)現(xiàn)[1,2]:無限沖擊響應(yīng)濾波器(IIR filters),坐標(biāo)旋轉(zhuǎn)(CORDIC rotations),查找表技術(shù)(Lookup Tables,LUTs)。本文在Simulink軟件平臺(tái)仿真LUTs技術(shù)實(shí)現(xiàn)NCOs時(shí),累加器步長(zhǎng)、累加器控制字等參數(shù)對(duì)NCOs性能的影響。重點(diǎn)討論NCOs的頻譜純度問題,即如何抑制雜波分量,影響頻譜純度的因素以及如何提高無雜散動(dòng)態(tài)范圍(Spurious Free Dynamic Range,SFDR)。
1 NCOs的工作原理[3]
NCOs主要包括一個(gè)正弦波樣點(diǎn)查找表(LUTs)和一個(gè)產(chǎn)生地址的累加器[4,5],如圖1所示。
圖1 數(shù)控振蕩器(NCOs)結(jié)構(gòu)原理圖
圖1中n為累加器產(chǎn)生的地址位數(shù),則LUTs有N=2n個(gè)輸入。LUTs的輸出分辨率/精度為L(zhǎng)位(該參數(shù)與n有關(guān)),其工作原理見圖2。
圖2 NCOs工作原理圖
由圖2可以看出,累加器產(chǎn)生地址碼,循環(huán)從LUTs地址中取數(shù)正弦波的樣點(diǎn)數(shù)據(jù),其取數(shù)的速率越快,即步長(zhǎng)μ越大,則產(chǎn)生的正弦波頻率越高[5,6]。
設(shè)步長(zhǎng)參數(shù)μ由式(1)決定:
μ=Nfdfs
(1)
式中:N為LUTs的樣點(diǎn)數(shù)據(jù)總量;fs為系統(tǒng)采樣頻率;fd為期望的正弦波的頻率。
例如,累加器地址數(shù)據(jù)線寬度為8 b,則對(duì)應(yīng)的LUTs的數(shù)據(jù)樣點(diǎn)數(shù)為N=2n=256。如果采樣頻率為10 MHz,期望頻率為2.5 MHz,則步長(zhǎng)為:
μ=256×2.510=64
2 提高NCOs的無雜散動(dòng)態(tài)范圍[7]
SFDR是無線系統(tǒng)設(shè)計(jì)中需要考慮的重要參數(shù)。如果振蕩器產(chǎn)生的信號(hào)包含過多的雜波(Spurs)頻率,這些干擾成分會(huì)使信號(hào)混頻的質(zhì)量變差,特別是當(dāng)雜波頻率接近中心頻率時(shí),在后續(xù)的電路中很難去除。
2.1 相位截?cái)鄬?duì)頻譜純度的影響[8,9]
當(dāng)LUT輸出正弦波樣點(diǎn)數(shù)據(jù)時(shí),只有整數(shù)部分可以用于輸出,而小數(shù)部分則被忽略,這導(dǎo)致輸出相位部分有截?cái)?。相位截?cái)?Phase Truncation)的情況決定了產(chǎn)生的正弦波的純度。如:當(dāng)采樣頻率為100 kHz時(shí),NCOs輸出的期望頻率為243 kHz,其NCOs設(shè)置參數(shù)見表1。從表1中可以看出,LUTs的分辨率為32 b,則可以忽略幅度值量化的影響,而雜波主要是由相位截?cái)喈a(chǎn)生的。
表1 相位截?cái)鄷r(shí)NCOs設(shè)置參數(shù)表
名稱參數(shù)
采樣頻率100 kHz
期望頻率24.3 kHz
LUTs深度64個(gè)地址
LUTs分辨率32位(32 b)
累加器字長(zhǎng)6為整數(shù),16為小數(shù)
步長(zhǎng)15.552 001 953 125
仿真的FFT波形見圖3,SFDR=75 dB。
圖3 相位截?cái)鄬?duì)頻譜的影響
2.2 幅度值量化對(duì)頻譜純度的影響
將LUT的深度增大為12 b(4 096),則可以忽略相位舍去對(duì)頻譜純度的影響,而雜波主要由幅度值的量化(Amplitude Quantization)產(chǎn)生。同樣,當(dāng)采樣頻率為100 kHz時(shí),NCOs輸出的期望頻率24.3 kHz,NCOs設(shè)置參數(shù)見表2。
表2 幅度值量化NCOs設(shè)置參數(shù)表
名稱參數(shù)
采樣頻率100 kHz
期望頻率24.3 kHz
LUTs深度4 096個(gè)地址
LUTs分辨率8位(8 b)
累加器字長(zhǎng)12為整數(shù),16為小數(shù)
步長(zhǎng)995.328 002 929 687 5
仿真的FFT波形見圖4,SFDR=85 dB。
圖4 幅度值量化對(duì)頻譜的影響
由圖3,圖4可以看出,相位截?cái)喈a(chǎn)生的雜波遠(yuǎn)大于幅度值量化產(chǎn)生的雜波,是雜波的主要來源。
由以上的仿真波形可以看出,提高整數(shù)位的位數(shù),雖然可以使相位截?cái)嘈?,頻率雜波少,但要使用較大的LUTs容量。如整數(shù)位增加一位,即由n位增加n+1位,則LUTs的數(shù)據(jù)量會(huì)增加一倍。
提高小數(shù)位的位數(shù)可以有較高的步長(zhǎng)精度和頻率分辨率,但需要更加多的累加器。如小數(shù)部分由b位增加到b+1位,雖然對(duì)LUTs無影響,但將累加器的加法器和延遲器分別增加1位,從而影響NCOs的輸出頻率。
提高LUTs輸出分辨率對(duì)正弦波樣點(diǎn)的幅度值量化影響小,但需要更多的LUTs存儲(chǔ)器。如LUTs輸出分辨率增加1位,由L位增加L+1位,LUTs所需的存儲(chǔ)容量擴(kuò)大2n。
可見,采用傳統(tǒng)的設(shè)計(jì)方法要達(dá)到無相位截?cái)啵瑒t需要LUT的字長(zhǎng)非常長(zhǎng),占用資源非常大,導(dǎo)致NCOs的成本很高,而這在實(shí)際實(shí)現(xiàn)過程中是不可行的。
2.3 相位加抖提高SFDR[10]
通過以上的仿真研究可看出,雖然可以通過增加整數(shù)位和提高LUTs輸出分辨率的方法來提高SFDR,但因它們要占用大量的資源,因而不是經(jīng)濟(jì)有效的方法。為有效解決雜波問題,必須考慮其他有效的方法。目前的主要技術(shù)手段有:
幅度加抖(Amplitude Dithering):在LUT的輸出中加入低水平的噪聲,以打散原有幅度值量化的噪聲結(jié)構(gòu)。
相位加抖(Phase Dithering):在累加器的輸出中加入低水平的噪聲,以打散原有相位截?cái)嗟脑肼暯Y(jié)構(gòu)。
帶通濾波(Bandpass Filtering):在振蕩器輸出端加濾波器濾出毛刺頻率。但該方法很難濾出靠近中心頻率的雜波。
以上的仿真已經(jīng)證明,相位截?cái)鄬?duì)SFDR的影響量是最大的,是提高SFDR的首選方法。
相位加抖的數(shù)學(xué)模型如圖5所示。在LUTs地址字截?cái)嘀?,在累加器的輸出中加入低水平的偽隨機(jī)噪聲(A Low-level of Pseudo Random Noise),其中抖動(dòng)的位數(shù)d是可變的。
圖5 相位加抖的數(shù)學(xué)模型
抖動(dòng)(Dither)可以通過線性反饋移位寄存器(Linear Feedback Shift Register,LFSR)來實(shí)現(xiàn),見圖6。LFSR有帶M個(gè)抽頭的移位寄存器,抽頭反饋通常由或門構(gòu)成,以產(chǎn)生一個(gè)周期為2M-1的序列。因此,長(zhǎng)偽隨機(jī)噪聲序列(Long Pseudo Random Noise Sequences)可以用很少的硬件資源實(shí)現(xiàn)。例如,一個(gè)由12個(gè)元件構(gòu)成的LFSR能夠生成周期為4 095的PN序列。LFSR可以由M個(gè)D觸發(fā)器和很少的組合器件構(gòu)成。
圖6 偽隨機(jī)噪聲產(chǎn)生器
來自某位的抽頭,可以組合為一個(gè)矢量生成該位的抖動(dòng)。實(shí)際實(shí)現(xiàn)時(shí),可以采用較長(zhǎng)的移位寄存器。移位寄存器越長(zhǎng),則輸出的抖動(dòng)越接近隨機(jī)的性質(zhì)。
下面分析相位加抖數(shù)據(jù)位數(shù)d對(duì)SFDR的影響。圖7~圖9分別為d=b-3,b+3,b三種情況的仿真波形,其中b為累加器控制字小數(shù)部分的位數(shù)。
加抖位數(shù)d=b-3時(shí),僅對(duì)整數(shù)位產(chǎn)生0~1/8的影響。此時(shí)將SFDR提高了1 dB??梢?,增加過少位數(shù)的抖動(dòng),僅對(duì)相位的截?cái)嘤泻苄〉挠绊?,?duì)改變雜波極為有限。
加抖位數(shù)d=b+3時(shí),可以對(duì)整數(shù)位產(chǎn)生0~8的影響。此時(shí)將SFDR提高了9 dB。但同時(shí)可以看到,由于增加抖動(dòng)的位數(shù)過多,雖然消除了雜波,但同時(shí)也提高了整個(gè)頻譜的噪聲電平。
圖7 相位加抖位數(shù)d=b-3的仿真波形
圖8 相位加抖位數(shù)d=b+3的仿真波形
圖9 相位加抖位數(shù)d=b的仿真波形
加抖位數(shù)d=b時(shí),可以對(duì)整個(gè)整數(shù)位產(chǎn)生0~1影響。此時(shí)將SFDR提高到106 dB。同時(shí)可以看到,由于增加抖動(dòng)的位數(shù)恰當(dāng),既消除了雜波,又提高了整個(gè)頻譜的噪聲電平。
在用FPGA實(shí)現(xiàn)NCOs時(shí),通過相位加噪可以提高整個(gè)輸出頻率的SFDR性能。但從圖3,圖6比較可以看出,在整個(gè)電路中串入了加法器,且關(guān)鍵路徑包含了兩個(gè)部分Dithering和NCOs的加法器,因而限制了整個(gè)設(shè)計(jì)的最大時(shí)鐘頻率。
3 結(jié) 語
NCOs在數(shù)字通訊中起著非常重要的作用,在FPGA實(shí)現(xiàn)時(shí),它可以由一個(gè)累加器和一個(gè)輸出頻率由步長(zhǎng)定義的正弦波查找表的數(shù)字硬件構(gòu)成。SFDR是表明合成正弦波譜純度性能的參數(shù)。仿真證明,在NCOs累加器輸出的相位中加入抖動(dòng),以提高SFDR性能,是一種簡(jiǎn)單有效、低成本的方法。
參考文獻(xiàn)
[1]郭書軍,臧淼,張延華.數(shù)控振蕩器應(yīng)用及其在FPGA中的實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2006,22(35):137-138.
[2]張進(jìn),蘇凱雄.基于FPGA的數(shù)控振蕩器的設(shè)計(jì)與實(shí)現(xiàn)[J].福州大學(xué)學(xué)報(bào):自然科學(xué)版,2005(5):35-38.
[3]陳澤強(qiáng),李蓬勃,曹葉文,等.基于FPGA的數(shù)控振蕩器設(shè)計(jì)及其性能分析[J].山東工業(yè)大學(xué)學(xué)報(bào),2000,30(6):379-385.
[4]安效君,王力男.NCO的數(shù)字化實(shí)現(xiàn)及應(yīng)用[J].無線電通信技術(shù),2004,30(2):51-52.
[5]陳士川.數(shù)控振蕩器NCO的一種優(yōu)化設(shè)計(jì)[J].通信對(duì)抗,2005(4):53-54.
[6]時(shí)春雨,劉橋.一種基于FPGA的數(shù)控振蕩器設(shè)計(jì)與實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2007,23(35):209-210.
[7]俞麒.基于改進(jìn)算法的NCO雜散抑制實(shí)現(xiàn)[J].中國科技信息,2009(2):37-38.
[8]袁福,鄭林華,袁繼兵.DDS相位截?cái)嚯s散譜精確分析方法的改進(jìn)[J].現(xiàn)代電子技術(shù),2008,31(21):181-183.
[9]李海松,張奇榮,權(quán)海洋.DDS的相位截?cái)嗉跋鄳?yīng)的雜散信號(hào)分析[J].微電子學(xué)與計(jì)算機(jī),2006,23(2):141-143.
[10]代向明,袁國順.相位加擾對(duì)DDFS合成頻譜的改善[J].電子器件,2008,31(2):555-557.