摘 要:研究傳統(tǒng)的DDFS頻譜雜散分量,分析了雜散分量的來源和傳統(tǒng)相位抖動(dòng)除噪技術(shù)的缺點(diǎn),提出了對(duì)相位舍入分解進(jìn)行Taylor展開的DDFS改進(jìn)結(jié)構(gòu)。同時(shí)該結(jié)構(gòu)采用循環(huán)相位累加器等結(jié)構(gòu),降低了雜散分量,提高了頻率精度,壓縮了ROM的容量。FPGA上的實(shí)現(xiàn)表明該結(jié)構(gòu)能有效降低雜散,能使SDFR比采用相位抖動(dòng)除噪的方法擴(kuò)大30 dB,同時(shí)ROM的容量比傳統(tǒng)結(jié)構(gòu)壓縮了4倍以上。關(guān)鍵詞:DDFS; FPGA ; Taylor; 雜散抑制; 循環(huán)相位累加器
中圖分類號(hào):TN911-34文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1004-373X(2010)18-0013-04
Design of DDFS with Low Spurious and Small-capacity Based on FPGA
YING Wen-wei, JIANG Yu-zhong, ZHANG Jia-wei
(Naval University of Engineering, Wuhan 430033, China)
Abstract: The traditional DDFS spurious spectral component is researched, the source of spurious noise and the disadvantage of traditional phase jitter noise canceling technology are analyzed, then a new architecture of DDFS based on the Taylor series approximation of the phase rounding decomposition is proposed. This architecture effectively reduced the spurious noise of the output signal, increased accuracy of the frequency, and compressed the volume of ROM. The realization based on FPGA shows that this architecture can reduce spurious noise effectively, the SDFR broadened 30db more than that of the technology of phase jitter and the volume of ROM compressed four times more than that of the classic architecture.Keywords: DDFS; FPGA; Taylor; spurious noise suppression; cycle phase accumulator
0 引 言
直接數(shù)字頻率合成器(DDFS),由于其具有高精度、頻率控制的靈活性、易于用軟件實(shí)現(xiàn)等特點(diǎn),在跳頻通信、軟件無線電[1]等領(lǐng)域得到了廣泛的應(yīng)用。DDFS的經(jīng)典結(jié)構(gòu)是由Tiery,Rader,Gold等人提出。這一經(jīng)典結(jié)構(gòu)主要包括帶相位存儲(chǔ)的溢出相位累加器和基于ROM的查找表。
每當(dāng)時(shí)鐘來到時(shí),相位累加器累加頻率控制字,由于查找表的限制,輸出相位將進(jìn)行截?cái)啵粚⒏呶蛔鳛镽OM查找表的地址,根據(jù)地址輸出預(yù)先存儲(chǔ)在ROM中的數(shù)據(jù)。ROM中的數(shù)據(jù)一般為等間隔采樣的一個(gè)周期sin函數(shù)數(shù)據(jù)。還有一些技術(shù)根據(jù)sin函數(shù)的對(duì)稱性只存儲(chǔ)1/4波形以壓縮ROM的空間[2-3]等,只不過這些技術(shù)大多增加了系統(tǒng)的復(fù)雜度或犧牲精度,同時(shí)也不能很好解決雜散性的問題。DDFS雜散問題主要源于相位累加器的相位截?cái)郲4],ROM存儲(chǔ)字長(zhǎng)的限制和DAC性能對(duì)輸出噪聲的影響[5]等。其中相位累加器的相位截?cái)鄬?duì)雜散起了很大的作用,特別是在NCO等的應(yīng)用中,這樣使得DDFS的應(yīng)用有了一定的限制。本文所提出的DDFS的改進(jìn)的主要目的是為了有效降低相位截?cái)嗨鸬碾s散性和壓縮ROM空間。
1 相位截?cái)鄬?duì)輸出噪聲的影響
通過經(jīng)典的DDFS結(jié)構(gòu)進(jìn)行分析,容易得到輸出頻率為:
fo=F2Lfclk(1)
式中:F為頻率控制字;L為字長(zhǎng),fclk為時(shí)鐘的采樣頻率。該DDFS所能達(dá)到的分辨率為:
Δf=12Lfclk(2)
考慮到相位截位的誤差,截取B位,相位誤差函數(shù)為l(n),則輸出的DDFS信號(hào)為sin[2πnF-l(n)2L]。其中,l(n)的值為nFmod 2B,mod代表求余算子。可以得到l(t)是一周期T=2BFmod 2B,幅度A=2B的周期鋸齒波信號(hào)[6],而l(n)就可以看成以時(shí)鐘頻率fclk對(duì)l(t)的抽樣,l(n)的周期變?yōu)門e=2B(F,2B),其中,(#8226;)為公約數(shù)算子。l(t)誤差函數(shù)的傅里葉變換為:
Ε(ω)=2π∑+∞m=-∞2Bjω(sa(ωT2)e-jωT2-e-jωT)δ(ω-mωT) (3)
式中:ωT=1T=Fmod 2B2B,又由于l(n)=l(t)σT(t)=∑nl(t)σ(t-nTclk),而其中σT為周期的方波信號(hào),所以l(n)的頻譜為:
Εp(ω)=2π2Bjω(sa(ωT2)e-jωT2-e-jωT)sa(ωTclk2)
e-jωTclk2∑+∞m=-∞∑+∞n=-∞δ(ω-mωT-nωclk) (4)
為了分析的方便定義ν(ω)=2Bjω(sa(ωT2)e-jωT2-e-jωT),可以看到誤差函數(shù)的頻譜分布主要集中在ω=mωT±nωclk(m,n=0,1,2,…)處。
現(xiàn)在分析DDFS輸出信號(hào),對(duì)于f(n)=sin(2πnF-l(n)2L),有:
sin(2πnF-l(n)2L)=sin(2πnF2L)#8226;cos(2πl(wèi)(n)2L)-
sin(2πl(wèi)(n)2L)cos(2πnF2L)(5)
由于2πl(wèi)(n)2L很小,因此cos(2πl(wèi)(n)2L)≈1,sin(2πl(wèi)(n)2L)≈2πl(wèi)(n)2L:
f(n)≈sin(2πnF2L)-2πl(wèi)(n)2Lcos(2πnF2L) (6)
式中:Δ(n)=2πl(wèi)(n)2Lcos(2πnF2L)就是由于DDFS系統(tǒng)所產(chǎn)生的誤差。 對(duì)Δ(n)進(jìn)行傅里葉變換得:
Δ(ω)=2π2ν(ω)2Lsa(ωTclk2)e-jωTclk2∑+∞m=-∞∑+∞n=-∞
[δ(ω+ω0-mωT-nωclk)+δ(ω-ω0-mωT-nωclk)] (7)
從式(7)可以看出,系統(tǒng)產(chǎn)生的誤差主要分布在ω=±ω0±mωT±nωclk,(m,n=1,2,…)處,其中第一項(xiàng)的誤差來源于相位的截?cái)唷?/p>
2 改進(jìn)的DDFS結(jié)構(gòu)
為了控制相位的截?cái)嗨a(chǎn)生的誤差,一些研究者嘗試著從破壞誤差函數(shù)的周期性來考慮,如擾動(dòng)注入法,DAC隨機(jī)輸入和隨機(jī)時(shí)鐘,相位擾動(dòng)法[7]等。相位擾動(dòng)法一種常用的方法,它是在相位中加入隨機(jī)信號(hào),這種結(jié)構(gòu)能較好地減少雜散分量,但是仍存在一些不足。首先隨機(jī)源的設(shè)計(jì)很難到達(dá)實(shí)際的要求,在工程中實(shí)際采用偽隨機(jī)序列來代替隨機(jī)源,如線性反饋移位寄存器,但偽隨機(jī)序列并非真正意義上的隨機(jī)序列。M序列[8]是帶線性反饋的移存器產(chǎn)生的周期最長(zhǎng)的序列,L位M序列的周期2L-1,它仍是周期序列,沒有本質(zhì)上消除噪聲。其次隨機(jī)源的引入,使得頻率的精度降低上下波動(dòng)等。再者,當(dāng)前隨機(jī)數(shù)生成器大多存在資源開銷大,可移植差等問題[9]。為此,提出對(duì)相位舍入分解進(jìn)行Taylor展開來提高精度和降低雜散。
將L位的相位分為兩部分,使得相位K=M+N。設(shè)舍去的位數(shù)為B,M是相位與2B相除之后的就近整數(shù),N是K與M相減的值。對(duì)sin(2πM+N2L)進(jìn)行Taylor展開:
sin(2πM+N2L)=sin(2πM2L)+2πN2Lcos(2πM2L)-
12(2πN2L)2sin(2πM2L)+ο((2πN2L)2)(8)
式中:δ=ο((2πN2L)2)為Taylor展開式的余項(xiàng)。如果直接將K分解成W高位的M,低B位的N,那么N的最大值就為2B。δ的最值就為δmax=2π2B2L2=2π2M2。
而由于引進(jìn)了就近舍入機(jī)制,于是N的范圍約束在[-2B-1,2B-1]內(nèi)。這樣就使得δ的最值 δmax = 2π2B-12L2 = 2π2M + 12。可以看出在最壞情況下,新的機(jī)制的誤差降低了14(即12 dB)。
若僅僅考慮舍去誤差項(xiàng)的情況下,設(shè)L=30,B=20時(shí),則在最壞情況下的誤差為δmax=(2π2M-1)2≈9.4×10-6(即100.526 dB)。可以看出隨著舍位的減少,每減少1位,最壞誤差下降12.1 dB,這是相當(dāng)好的性能。如圖1所示,是本文提出的對(duì)相位舍入分解進(jìn)行Taylor展開的改進(jìn)DDFS結(jié)構(gòu)。
圖1 DDFS結(jié)構(gòu)
循環(huán)相位累加器的作用主要體現(xiàn)在對(duì)于頻率控制的精度更加精確。循環(huán)相位累加器的累加性質(zhì)是帶模運(yùn)算[10]。例如當(dāng)頻率控制字F=11,L=10時(shí),當(dāng)累加器從0逐漸累加到1 023時(shí),再累加1次的值是11,而不是溢出累加器的10。這樣的好處在于使得頻率控制更加精確。因?yàn)楦鶕?jù)頻率計(jì)算得到的頻率控制字往往不是一個(gè)整數(shù),只能取得其近似值,這樣就導(dǎo)致了K在相位盤上轉(zhuǎn)了一圈之后并不能與原先的值重合,引起了頻率誤差。而循環(huán)累加器能夠使得在相位在相位盤上轉(zhuǎn)動(dòng)時(shí),在相位溢出時(shí)加入了補(bǔ)償,使得相位始終保持等間隔F,從而有效提高頻率精度。
經(jīng)過循環(huán)累加之后,對(duì)相位K進(jìn)行分解。對(duì)B位進(jìn)行判決,是1則前w位加1得到M,反之直接取前w位為M,K與M相減為N。進(jìn)行這樣的舍入,主要的考慮還是基于對(duì)誤差項(xiàng)精度的考慮。從Taylor展開式的余項(xiàng)考慮δ,新的機(jī)制最壞情況下誤差減少了12 dB。再者由于N最高幅度低于直接分解法,2πN/2L的值變小,這樣使得在Taylor展開式中第一項(xiàng)的權(quán)重提高,如果提高sin函數(shù)數(shù)據(jù)的位數(shù),性能提高也將更為明顯。
相位經(jīng)過分解之后,分成三條通路。M尋址得到sin存儲(chǔ)器和2πcos存儲(chǔ)器的值。存儲(chǔ)2πcos而不直接存儲(chǔ)cos的目的是為了在算法上減少1次乘積。K0的值為1/2L,K1的值為π2/22L-1,在FPGA的實(shí)現(xiàn)時(shí)為了計(jì)算的簡(jiǎn)便K1取近似值9/22L-1。最后經(jīng)過加減運(yùn)算,計(jì)算得到最后的結(jié)果。
3 FPGA實(shí)現(xiàn)及結(jié)果
在Altera公司的FPGA設(shè)計(jì)平臺(tái)軟件QuartusⅡ9.0上實(shí)現(xiàn)這一設(shè)計(jì),并通過編譯綜合布線下載到Cyclone系列的CycloneⅡ EP2C5T144C8。在Modelsim 6.5a平臺(tái)上對(duì)這一設(shè)計(jì)進(jìn)行仿真驗(yàn)證。
將Modelsim中仿真的輸出DDFS數(shù)據(jù)導(dǎo)出,作1 024×16點(diǎn)FFT頻譜分析。圖2是采用在相位上加噪聲方法輸出811 kHz的頻譜圖,存儲(chǔ)容量為2 048×21 b,最大雜散幅度為-82.4 dB。
圖2 引入噪聲的DDFS輸出頻譜
圖3是同等條件下,在本文方法下輸出811 kHz信號(hào)的頻譜圖,其最大雜散為-112.4 dB,比相位抖動(dòng)的方法無雜散頻譜的動(dòng)態(tài)范圍(SFDR)提高了30.0 dB。
圖3 本文提出的DDFS結(jié)構(gòu)輸出頻譜
在之前的討論中,頻率控制字F,sin查找表的容量大小R0,2πcos查找表的容量大小R1,輸出數(shù)據(jù)的位數(shù)Q,相位位數(shù)L,查找地址長(zhǎng)度W對(duì)最后輸出頻率的雜散性能都有密切的關(guān)系。表1列出在不同參數(shù)下,部分頻率輸出的頻譜雜散性能。
表1 不同參數(shù)對(duì)雜散性能的影響
F /kHzR0 /bR1 /bQ /bL /bW /b雜散幅度/dB
1 210.91 024×181 024×21183010-111.1
1 210.91 024×141 024×17143010-87.1
1 210.9256×14256×1714308-87.7
1 210.964×1464×1714306-84.6
7 011.01 024×181 024×21183010-112.4
7 011.0512×18512×21183010-111.7
7 011.0512×14512×1714309-88.8
81.01 024×181 024×21183010-116.7
81.01 024×141 024×17143010-90.65
在表1中,由于1 210.9 kHz頻率下N很大,因此在該頻率下測(cè)得雜散結(jié)果近似可看成是最壞情況下的雜散結(jié)果。從表1中可以看出在本方法中制約雜散性能的主要因數(shù)是數(shù)據(jù)位的長(zhǎng)度,數(shù)據(jù)位越高SFDR越大,雜散越低。而ROM中地址位數(shù)卻降低了對(duì)DDFS的雜散性能的制約。在存儲(chǔ)器地址線位數(shù)從10位降低到9位,8位時(shí),雜散性能卻沒有明顯的下降,保持了很好的雜散性能。也正因此,使得這一方法能夠有效提高雜散性能的同時(shí)能夠降低對(duì)存儲(chǔ)容量的要求。
對(duì)設(shè)計(jì)的DDFS工程進(jìn)行編譯綜合,其中sin ROM空間為512×17 b,2πcos ROM空間為512×20 b,相位為30 b,尋址地址9 b。經(jīng)測(cè)得在該條件下雜散幅度為-104.7 dB。如圖4、圖5所示,邏輯資源和存儲(chǔ)單元的利用率都僅為16%,對(duì)FPGA的資源要求很低,特別對(duì)存儲(chǔ)單元的要求大幅減少,從而能夠擴(kuò)展它的應(yīng)用。
圖4 LE資源利用率
圖5 存儲(chǔ)資源利用率
4 結(jié) 語
本文提出一種新的DDFS結(jié)構(gòu)來解決兩個(gè)問題:
(1) 原有DDFS結(jié)構(gòu)由于查找表的容量有限,相位輸出有截位,由于截位的影響產(chǎn)生了高的雜散噪聲。傳統(tǒng)采用相位抖動(dòng)的方法能夠壓低雜散噪聲,但作用有限且對(duì)頻率精度有影響。
(2) 為了滿足DDFS的頻率精度的需要,傳統(tǒng)的DDFS往往開辟了大規(guī)模的ROM空間,使得DDFS的應(yīng)用受到了很大的限制。
本文提出對(duì)相位舍入分解進(jìn)行Taylor展開的DDFS結(jié)構(gòu),有效約束了輸出誤差,提高了頻率精度,并且大量縮小了ROM的規(guī)模,減少了4倍以上。并且通過使用循環(huán)相位累加器,新的舍入機(jī)制對(duì)實(shí)際的硬件設(shè)計(jì)進(jìn)行了優(yōu)化。
仿真結(jié)果表明新的結(jié)構(gòu)能有效提高無雜散動(dòng)態(tài)范圍,在數(shù)據(jù)位足夠的條件下,無雜散動(dòng)態(tài)范圍能夠達(dá)到-112.4 dB以上。
參考文獻(xiàn)
[1]楊小牛.軟件無線電原理與應(yīng)用[M].北京:電子工業(yè)出版社,2001.
[2]BRAMBLE D P. Direct digital frequency synthesis: a comparison of techniques[C]//Proceedings of Canadian Confe-rence on Electrical and Computer Engineering. Canada: CNECE,1994, 2: 535-538.
[3]TAN L K, SAMUELI H. 200 MHz quadrature digital synthesizer/mixer in 0.8um CMOS[J].IEEE Journal of Solid-State Circuits, 1995,30(3):193-200.
[4]劉曉明,謝明欽,黃智勇.一種能有效減少DDS雜散的設(shè)計(jì)方法[J].現(xiàn)代雷達(dá),2004,26(3):61-63,67.
[5]KROUPA V F. Discrete spurious signal and back ground noise in direct digital frequency synthesizer[C]//1993 IEEE International Frequency Control Symposium.Salt Lake: IEEE, 1993: 242-250.
[6]張玉興,彭清泉.相位舍位對(duì)DDFS頻譜分布的影響[J].電子科技大學(xué)學(xué)報(bào),1997,28(4):137-142.
[7]李琳,王松.一種有效的DDS低雜散設(shè)計(jì)方法[J].通信學(xué)報(bào),2000,21(10):81-85.
[8]樊昌信,曹麗娜.通信原理[M].北京:國(guó)防工業(yè)出版社,2007.
[9]霍文捷,劉政林,陳毅成,等.一種基于FPGA的真隨機(jī)數(shù)生成器的設(shè)計(jì)[J].華中科技大學(xué)學(xué)報(bào):自然科學(xué)版,2009(1):20-22.
[10]李曉芳,常春波.基于FPGA的DDS算法的優(yōu)化[J].儀器儀表學(xué)報(bào),2006(Z1):896-898.