一.依據(jù)模擬環(huán)設(shè)計(jì)數(shù)字環(huán)
根據(jù)信號(hào)與系統(tǒng)的分析理論,一個(gè)系統(tǒng)完全由系統(tǒng)函數(shù)來(lái)確定,因此我們可從系統(tǒng)函數(shù)的角度出發(fā),找到模擬電路與數(shù)字電路的轉(zhuǎn)換關(guān)系,最終根據(jù)環(huán)路濾波器的數(shù)字域系統(tǒng)函數(shù)進(jìn)行數(shù)字化設(shè)計(jì)。
1.1從模擬到數(shù)字——雙線性變換
連續(xù)時(shí)間系統(tǒng)H(s)的極點(diǎn)有兩種情況:?jiǎn)沃毓?jié)點(diǎn)和多重節(jié)點(diǎn)。但是一個(gè)多重節(jié)點(diǎn)環(huán)節(jié)可以看成由多個(gè)單重極點(diǎn)環(huán)節(jié)級(jí)聯(lián)構(gòu)成。例如,對(duì)二重極點(diǎn)的系統(tǒng),有
H ( s ) = A ( s ? p ) 2 = A s ? p A s ? p H(s)=frac{A}{(s-p)^2}=frac{sqrt{A}}{s-p}frac{sqrt{A}}{s-p}H(s)=(s?p)2A=s?pAs?pA
因此,可以將一階環(huán)節(jié)
A s ? p = K a s ? p frac{sqrt{A}}{s-p}=frac{K_a}{s-p}s?pA=s?pKa
看成構(gòu)成H ( s ) H(s)H(s)的最基本環(huán)節(jié),其中,K a K_aKa為基本環(huán)節(jié)的增益。它對(duì)應(yīng)于一階微分方程
d y ( t ) d t ? p y ( t ) = K a x ( t ) frac{dy(t)}{dt}-py(t)=K_ax(t)dtdy(t)?py(t)=Kax(t)
其系統(tǒng)結(jié)構(gòu)如圖1所示。對(duì)該系統(tǒng)離散化,主要是對(duì)系統(tǒng)中的積分運(yùn)算離散化。
圖 1 圖1圖1
一次積分運(yùn)算可以用梯形作數(shù)值計(jì)算,即
將上式第二行的積分用梯形法近似,則有
該式為一次積分運(yùn)算離散化后的數(shù)值計(jì)算公式,其中的T為采樣間隔。將自變量中的符號(hào)T TT隱去,可寫成差分方程的習(xí)慣表示形式
y ( n ) = y ( n ? 1 ) + T 2 [ x ( n ? 1 ) + x ( n ) ] y(n)=y(n-1)+frac{T}{2}[x(n-1)+x(n)]y(n)=y(n?1)+2T[x(n?1)+x(n)]
兩邊取單邊z zz變換,并考慮到當(dāng)y ( n ) = 0 , n < 0 y(n)=0,n<0y(n)=0,n<0有
Y ( z ) = z ? 1 + T 2 [ z ? 1 X ( z ) + X ( z ) ] Y(z)=z^{-1}+frac{T}{2}[z^{-1}X(z)+X(z)]Y(z)=z?1+2T[z?1X(z)+X(z)]
對(duì)上式進(jìn)行整理,得到一階環(huán)節(jié)的離散系統(tǒng)函數(shù)
H 1 ( z ) = Y ( z ) X ( z ) = T 2 1 + z ? 1 1 ? z ? 1 H_1(z)=frac {Y(z)}{X(z)}=frac{T}{2}frac{1+z^{-1}}{1-z^{-1}}H1(z)=X(z)Y(z)=2T1?z?11+z?1
也就是說(shuō),一次積分單元離散后,是上式描述的離散系統(tǒng)。
對(duì)連續(xù)一階系統(tǒng)離散化后,可以得到其系統(tǒng)結(jié)構(gòu)如下圖所示
根據(jù)上圖,可求得離散的系統(tǒng)函數(shù)為
H i ( z ) = K a H 1 ( z ) 1 ? p H 1 ( z ) H_i(z)=frac{K_a H_1(z)}{1-pH_1(z)}Hi(z)=1?pH1(z)KaH1(z)
將此式與連續(xù)的一階環(huán)路做對(duì)比,得出連續(xù)時(shí)間系統(tǒng)和離散時(shí)間系統(tǒng)之間的轉(zhuǎn)換公式
1.2 環(huán)路濾波器的數(shù)字化
有了系統(tǒng)函數(shù)轉(zhuǎn)換表達(dá)式,即可獲得各種模擬環(huán)路濾波器所對(duì)應(yīng)的數(shù)字化系統(tǒng)函數(shù)表達(dá)式,進(jìn)而獲取其數(shù)字化實(shí)現(xiàn)結(jié)構(gòu)。
對(duì)于有源比例環(huán)路積分濾波器(理想積分濾波器)來(lái)講,其數(shù)字化系統(tǒng)函數(shù)為
F ( z ) = 1 + s τ 2 s τ 1 = 2 τ 2 + T 2 τ 1 + T τ 1 z ? 1 1 ? z ? 1 F(z)=frac{1+s au_2}{s au_1}=frac{2 au_2+T}{2 au_1}+frac{T}{ au_1}frac{z^{-1}}{1-z^{-1}}F(z)=sτ11+sτ2=2τ12τ2+T+τ1T1?z?1z?1
由于在二階鎖相環(huán)路中,理想二階環(huán)路具有共他兩種環(huán)路無(wú)法比擬的優(yōu)異性能,因此接下來(lái)主要討論這種環(huán)路濾波器及其構(gòu)成的鎖相環(huán)路。
對(duì)于上式,令
則上式變換為
其對(duì)應(yīng)的系統(tǒng)結(jié)構(gòu)可用下圖來(lái)表示
1.3 理想二階環(huán)的參數(shù)設(shè)計(jì)
各項(xiàng)參數(shù)如下:
軟件:Quartus prime 18.0
FPGA系統(tǒng)工作時(shí)鐘速率=系統(tǒng)采樣頻率f s f_sfs=8 k H z 8 kHz8kHz
數(shù)字震蕩器固有頻率f o = 400 H z f_o=400Hzfo=400Hz
輸入為10bit二進(jìn)制補(bǔ)碼數(shù)據(jù)
輸出為10bit二進(jìn)制補(bǔ)碼數(shù)據(jù)
鑒相乘法器輸出位寬:19比特
鑒相濾波器系數(shù)位寬:8比特
鑒相濾波器輸出數(shù)據(jù)位寬:30比特
環(huán)路增益K=34 Hz
NCO頻率字位寬:30比特
NCO相位字位寬:35比特
為便于比較,我們?nèi)愿鶕?jù)一階環(huán)實(shí)例要求進(jìn)行設(shè)計(jì)。根據(jù)前面的分析,理想二階環(huán)的FPGA實(shí)現(xiàn)過(guò)程,不過(guò)是在一階環(huán)的基礎(chǔ)上增加一個(gè)環(huán)路濾波器功能模塊而已。
quadquad根據(jù)前面的推導(dǎo),求取環(huán)路濾波器系數(shù)C1、C2的值,需要獲取采樣周期T TT,以及濾波器時(shí)間常數(shù)τ 1 τ_1τ1、τ 2 τ_2τ2的值。由于系統(tǒng)采樣頻率f s = 8000 H z f_s=8000Hzfs=8000Hz,T = 1 / f s = 1 / 8000 T=1/f_s=1/8000T=1/fs=1/8000s。需要注意的是,τ 1 τ_1τ1、τ 2 τ_2τ2是典型的模擬環(huán)路濾波器參數(shù),這也是為什么我們將目前的方法稱為依據(jù)模擬環(huán)設(shè)計(jì)數(shù)字環(huán)的原因。
如何計(jì)算τ 1 τ_1τ1、τ 2 τ_2τ2?根據(jù)第前面關(guān)于環(huán)路濾波器的討論,從環(huán)路相位裕度參數(shù)出發(fā)設(shè)計(jì)這兩個(gè)參數(shù),而相位裕度與阻尼系數(shù)ξ直接相關(guān)。根據(jù)圖6-38的仿真結(jié)論,一般取阻尼系數(shù)ξ=0.7。對(duì)于理想二階環(huán)來(lái)講
ω n = K τ 1 ω_n=sqrt{frac{K}{ au_1}}ωn=τ1K ξ = τ 2 2 K τ 1 ξ=frac{ au_2}{2}sqrt{frac{K}{ au_1}}ξ=2τ2τ1K
注意,在上式中,K KK的單位為r a d / s rad/srad/s,ω n ω_nωn的單位為r a d / s rad/srad/s。現(xiàn)在,我們已經(jīng)獲取了環(huán)路增益參數(shù)(K = 34 H z = 213.6283 r a d / s K=34 Hz=213.6283 rad/sK=34Hz=213.6283rad/s)、阻尼系數(shù)(ξ = 0.7 ξ=0.7ξ=0.7),還需要獲取一個(gè)參數(shù),比如τ 1 、 τ 2 τ_1、τ_2τ1、τ2之間的關(guān)系,才能計(jì)算出最終的時(shí)間常數(shù)值,進(jìn)而計(jì)算出C 1 、 C 2 C1、C2C1、C2的值。
quadquad根據(jù)模擬環(huán)路的性能分析,環(huán)路濾波器3 d B 3dB3dB截止帶寬的大小直接影響到V C O VCOVCO輸出的信號(hào)質(zhì)量,要計(jì)算出τ 1 、 τ 2 τ_1、τ_2τ1、τ2之間的關(guān)系,需要首先確定環(huán)路濾波器3dB截止帶寬的f c f_cfc大小。根據(jù)前面的分析,取f c = 10 H z f_c=10 Hzfc=10Hz(注意,公式中的截止頻率單位為Hz),則有
10 = 2 2 τ 1 2 ? 2 τ 2 2 10=sqrt{frac{2}{{2}{ au_1^2-2 au_2^2}}}10=2τ12?2τ222
結(jié)合前面的公式,帶入K , ξ K,ξK,ξ的值,得到τ 1 , τ 2 au_1, au_2τ1,τ2的值,再根據(jù)τ 1 、 τ 2 τ_1、τ_2τ1、τ2的值,分別計(jì)算環(huán)路濾波器系數(shù)C1,C2。
1.4 理想二階環(huán)的V e r i l o g H D L Verilog HDLVerilogHDL設(shè)計(jì)
這里只介紹二階環(huán)的環(huán)路濾波器的v e r l i o g verliogverliog設(shè)計(jì),由前面推導(dǎo)得到的二階鎖相環(huán)的Z域公式,將Z域公式轉(zhuǎn)換到時(shí)域中,才能轉(zhuǎn)換為我們可以用的形式。
F ( z ) = Y ( z ) X ( z ) = C 1 + C 2 z ? 1 1 ? z ? 1 F(z)=frac{Y(z)}{X(z)}=C_1+frac{C_2 z^{-1}}{1-z^{-1}}F(z)=X(z)Y(z)=C1+1?z?1C2z?1
令
C 2 z ? 1 1 ? z ? 1 X ( z ) = D ( z ) frac{C_2 z^{-1}}{1-z^{-1}}X(z)=D(z)1?z?1C2z?1X(z)=D(z)
由z zz變換的性質(zhì),上式的時(shí)域表達(dá)式為:
C 2 x ( n ) + d ( n ) = d ( n + 1 ) C_2x(n)+d(n)=d(n+1)C2x(n)+d(n)=d(n+1)
結(jié)合整個(gè)Z ZZ域表達(dá)式,可得出其最終的時(shí)域表達(dá)式為:
y ( n ) = C 1 x ( n ) + d ( n ) y(n)=C_1x(n)+d(n)y(n)=C1x(n)+d(n)
具體實(shí)現(xiàn)代碼如下:
/* MODULE DECLARATION */ module LoopFilter( rst, clk, pd, frequency_df ); /* FUNCTION DECLARATION */ /* LOCAL PARAMETER */ /* PORT DECLARATION */ input rst; //復(fù)位信號(hào),高電平有效 input clk; //FPGA系統(tǒng)時(shí)鐘:8 kHz input signed [29:0] pd; // 輸入數(shù)據(jù):8 kHz,數(shù)據(jù)源來(lái)自fir濾波器的輸出 output signed [29:0] frequency_df; // 環(huán)路濾波器輸出數(shù)據(jù) /* REG & WIRE DECLARATION */ reg signed[29:0]sum_d; wire signed[29:0]pd_c2,pd_c1,sum; /ACHIEVEMENT assign pd_c1={{1{pd[29]}},pd[29:1]};//C1 assign pd_c2={{9{pd[29]}},pd[29:9]};//C2 always @(posedge clk or posedge rst) if (rst) sum_d <= 0; else sum_d <= sum; assign sum = pd_c2 + sum_d; assign frequency_df = sum_d + pd_c1; endmodule
這里需要說(shuō)明的是,為了簡(jiǎn)化運(yùn)算,C1和C2以移位代替了乘法,所以數(shù)值采用了近似的方法。
再結(jié)合一階環(huán)中的其他代碼,就可以得到完整的二階環(huán)v e r l i o g verliogverliog代碼。
二.二階環(huán)路濾波器仿真相關(guān)結(jié)論
經(jīng)過(guò)對(duì)二階環(huán)的仿真,我們得出了下面的結(jié)論:
理想二階環(huán)路增益直接影響環(huán)路的鎖定性能,當(dāng)環(huán)路參數(shù)設(shè)定后,環(huán)路的最大增益就確定了,當(dāng)增益超過(guò)這個(gè)值時(shí),環(huán)路不能鎖定。
環(huán)路能夠正常鎖定的情況下,增益越大,鎖定時(shí)間越大,鎖定速度越快。
理想二階環(huán)路的捕獲帶寬在工程設(shè)計(jì)中是有限的。
僅改變環(huán)路增益,對(duì)捕獲帶寬的影響不大。
-
FPGA
+關(guān)注
關(guān)注
1643文章
21925瀏覽量
612463 -
鎖相環(huán)
+關(guān)注
關(guān)注
35文章
591瀏覽量
88362
原文標(biāo)題:數(shù)字鎖相環(huán):二階環(huán)的FPGA實(shí)現(xiàn)
文章出處:【微信號(hào):gh_9d70b445f494,微信公眾號(hào):FPGA設(shè)計(jì)論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
用FPGA設(shè)計(jì)一階全數(shù)字鎖相環(huán)的方法
二階鎖相環(huán)
鎖相環(huán)二階廣義積分?
基于FPGA的全數(shù)字鎖相環(huán)設(shè)計(jì)

二階鎖相環(huán)的EBPSK信號(hào)解調(diào)分析
鎖相環(huán)技術(shù)在頻率跟蹤中的應(yīng)用研究
寬頻帶數(shù)字鎖相環(huán)的設(shè)計(jì)及基于FPGA的實(shí)現(xiàn)

數(shù)字鎖相環(huán)(DPLL),數(shù)字鎖相環(huán)(DPLL)是什么?
基于FPGA的數(shù)字鎖相環(huán)設(shè)計(jì)與實(shí)現(xiàn)
用FPGA實(shí)現(xiàn)數(shù)字鎖相環(huán)
詳解FPGA數(shù)字鎖相環(huán)平臺(tái)

采用二階無(wú)源環(huán)路濾波器實(shí)現(xiàn)三階電荷泵鎖相環(huán)的設(shè)計(jì)

如何使用FPGA實(shí)現(xiàn)高性能全數(shù)字鎖相環(huán)的設(shè)計(jì)

如何使用FPGA實(shí)現(xiàn)高性能全數(shù)字鎖相環(huán)的設(shè)計(jì)

評(píng)論