摘 要: 采用了基于Farrow結(jié)構(gòu)的內(nèi)插" title="內(nèi)插">內(nèi)插濾波器,同時(shí)使用Garnder的定時(shí)誤差計(jì)算方法為內(nèi)插濾波器提供插值" title="插值">插值相位。通過(guò)MATLAB仿真,表明這種內(nèi)插濾波器可以很好地解決定時(shí)同步問(wèn)題,并在現(xiàn)場(chǎng)可編程芯片F(xiàn)PGA上實(shí)現(xiàn)了該算法,使得數(shù)字解調(diào)的硬件實(shí)現(xiàn)具有很好的移植性和靈活性。
關(guān)鍵詞: 內(nèi)插濾波器(Interpolator) 定時(shí)誤差 插值相位 SIMULINK FPGA實(shí)現(xiàn)
在數(shù)字接收系統(tǒng)中,為了正確恢復(fù)出發(fā)送端的符號(hào)信息,必須做到定時(shí)同步。傳統(tǒng)的接收機(jī)采用同步采樣,利用定時(shí)誤差信號(hào)調(diào)整接收端采樣時(shí)鐘的相位,使之與符號(hào)同步;而全數(shù)字" title="全數(shù)字">全數(shù)字接收機(jī)采用固定的采樣頻率,一般來(lái)說(shuō),采樣時(shí)鐘和符號(hào)時(shí)鐘相互獨(dú)立,這種情況下可以用數(shù)字信號(hào)處理的方法實(shí)現(xiàn)對(duì)符號(hào)速率的鎖定。
隨著數(shù)字信號(hào)處理器和可編程邏輯芯片速度的提高,利用這些芯片完成定時(shí)同步算法" title="定時(shí)同步算法">定時(shí)同步算法,為接收機(jī)的設(shè)計(jì)帶來(lái)了很大的靈活性。本文對(duì)全數(shù)字接收機(jī)中的定時(shí)同步算法進(jìn)行了分析,將內(nèi)插濾波與誤差檢測(cè)算法相結(jié)合,提出了一種簡(jiǎn)單有效的算法,同時(shí)利用MATLAB進(jìn)行了仿真。實(shí)驗(yàn)結(jié)果表明該算法確實(shí)具有簡(jiǎn)單高效的特點(diǎn)。最后,給出了FPGA實(shí)現(xiàn)該算法的方法。
1 定時(shí)同步算法
根據(jù)F M.Gardner 的結(jié)論[1],內(nèi)插恢復(fù)電路可以從采樣序列中恢復(fù)出最佳采樣點(diǎn)的值。圖1給出了基于內(nèi)插濾波的定時(shí)同步結(jié)構(gòu)框圖。
設(shè)帶限連續(xù)信號(hào)x(t),符號(hào)周期為T(mén)。在滿足Nyquist定理的條件下,以TS為間隔采樣得x(mTS),通常T/TS為無(wú)理數(shù)。經(jīng)內(nèi)插恢復(fù)環(huán)路后,輸出y(kTi),其中Ti=T/K,K為小整數(shù)。對(duì)y(kTi)進(jìn)行K倍抽取,即得到與發(fā)送端符號(hào)同步的最佳采樣值序列z(nT)。
內(nèi)插恢復(fù)電路包括一個(gè)內(nèi)插濾波器和內(nèi)插濾波控制電路。內(nèi)插濾波器(Interpolator)從采樣序列中恢復(fù)出最佳采樣值,是整個(gè)定時(shí)同步技術(shù)的關(guān)鍵??刂齐娐钒ǘ〞r(shí)誤差檢測(cè)電路(TED)、環(huán)路濾波器(LPF)和數(shù)控振蕩器(NCO),向內(nèi)插濾波器提供插值相位和插值輸出時(shí)各個(gè)信號(hào)的權(quán)值。下面簡(jiǎn)單介紹內(nèi)插恢復(fù)電路的各個(gè)部分。
1.1內(nèi)插濾波器
設(shè)內(nèi)插濾波器沖激響應(yīng)的連續(xù)形式為hI(t),采樣信號(hào)x(mTS)經(jīng)過(guò)內(nèi)插器" title="內(nèi)插器">內(nèi)插器,輸出
其中μk為插值相位,滿足μk∈[0,1),mk為插值抽取的位置,將式(2)改寫(xiě)成
(4)式即定時(shí)同步內(nèi)插的基本公式。
理想內(nèi)插器的沖激響應(yīng)為si函數(shù),因此
可以看出,內(nèi)插器實(shí)質(zhì)就是一個(gè)時(shí)變的濾波器,各級(jí)系數(shù)的變化與輸入的μk有關(guān)。理想內(nèi)插器是不可實(shí)現(xiàn)的,但是由于只需恢復(fù)出最佳采樣點(diǎn)的信號(hào)值而不是完全恢復(fù)出原信號(hào)x(t),因此可以采用其它線性相位的可實(shí)現(xiàn)內(nèi)插器,去逼近理想內(nèi)插器的頻譜特性。通常采用基于Lagrange多項(xiàng)式的內(nèi)插方法,即濾波器可以寫(xiě)成系數(shù)為μk的多項(xiàng)式:
那么,輸出為
M為多項(xiàng)式的階數(shù),2N-1為濾波器的階數(shù)。基于多項(xiàng)式的內(nèi)插濾波器可用Farrow結(jié)構(gòu)實(shí)現(xiàn),如圖2所示。
這種濾波器實(shí)現(xiàn)起來(lái)很簡(jiǎn)單,使用較低的階數(shù)(N=3,M=2)就能獲得較好的頻譜性能。表1給出了Farrow濾波器的各階系數(shù)。
1.2 定時(shí)誤差檢測(cè)(TED)
根據(jù)Garnder的定時(shí)誤差檢測(cè)算法[2],一個(gè)符號(hào)只需要兩個(gè)采樣信號(hào)就可以得到定時(shí)誤差,并且可以在兩個(gè)采樣點(diǎn)之一的位置恢復(fù)出最佳采樣信號(hào)值。定時(shí)誤差計(jì)算的表達(dá)式為:
其中n為數(shù)據(jù)符號(hào)的標(biāo)號(hào),ε(n)表示第n個(gè)符號(hào)的定時(shí)誤差,τ為實(shí)際采樣位置距離最佳采樣位置的偏移,y(tn)為第n個(gè)符號(hào)最佳采樣值。
定時(shí)誤差算法解釋如下:相鄰的兩個(gè)符號(hào)值y(tn-1)、y(tn)不相同的情況下,y(tn-1/2+τ)的平均值如果為零,則不存在定時(shí)誤差;如果不為零,則可以用y(tn-1/2+τ)的數(shù)值代表定時(shí)誤差的大小。但是y(tn-1/2+τ)并不能指示誤差調(diào)整的方向,因此用[y(tn+τ)-y(tn-1+τ)]來(lái)表示誤差調(diào)整方向,二者的乘積即為定時(shí)誤差信號(hào)。如果y(tn-1)、y(tn)兩個(gè)符號(hào)值相同,則[y(tn+τ)-y(tn-1+τ)]為零,使得y(tn-1/2+τ)的值被屏蔽了,在這種情況下是不能提取誤差信號(hào)的。根據(jù)Garnder算法可以構(gòu)造出定時(shí)誤差提取的實(shí)現(xiàn)結(jié)構(gòu)如圖3。
1.3 環(huán)路濾波器(LPF)和數(shù)控振蕩器(NCO)
定時(shí)誤差信號(hào)通過(guò)低通環(huán)路濾波器(LPF)濾波后,控制數(shù)控振蕩器(NCO)工作。這兩部分的實(shí)現(xiàn)結(jié)構(gòu)如圖4。
LPF采用二階濾波器,包含比例路徑和積分路徑,這兩條路徑分別可以跟蹤相位誤差和頻率誤差。通過(guò)控制比例增益k1和積分增益k2,可以調(diào)整環(huán)路的帶寬和收斂速度。NCO是一個(gè)相位累加器,對(duì)輸入的相位誤差進(jìn)行累加,為內(nèi)插濾波器提供插值相位。
?
2 數(shù)字解調(diào)系統(tǒng)的定時(shí)同步仿真
本文對(duì)一個(gè)全數(shù)字BPSK解調(diào)系統(tǒng)進(jìn)行了MATLAB仿真,旨在驗(yàn)證上述定時(shí)同步算法。首先,利用SIMULINK搭建了整個(gè)接收系統(tǒng),包括AD轉(zhuǎn)換、載波同步、定時(shí)同步、匹配濾波和判決;其次,對(duì)輸入信號(hào)進(jìn)行了模擬,模擬的輸入信號(hào)為中頻10.7MHz、帶寬1.5MHz的BPSK已調(diào)信號(hào),符號(hào)速率為660kbps。對(duì)此信號(hào)帶通采樣,采樣頻率為符號(hào)速率的5倍即3.3Mbps。由于上述定時(shí)同步算法要求一個(gè)符號(hào)有兩個(gè)采樣信號(hào),故載波同步恢復(fù)成基帶信號(hào)后,調(diào)整采樣速率使之成為符號(hào)速率的2倍,再進(jìn)行定時(shí)同步、匹配濾波和判決輸出。
圖5給出了定時(shí)同步模塊中TED的輸出ε、LPF的輸出e和NCO的輸出μ的仿真結(jié)果??梢钥吹剑蠹s100個(gè)符號(hào)后,μ趨于一穩(wěn)定值,定時(shí)環(huán)路鎖定同步。
在這種定時(shí)結(jié)構(gòu)下,對(duì)100,000個(gè)隨機(jī)符號(hào)進(jìn)行數(shù)次仿真,實(shí)現(xiàn)的BPSK接收系統(tǒng)在輸入信噪比Eb/N0=12.5dB情況下,平均能夠達(dá)到10-6的誤碼性能。事實(shí)上,基于內(nèi)插濾波的定時(shí)算法不僅適用于BPSK接收系統(tǒng),只要修改定時(shí)誤差的計(jì)算式[2],不難將它推廣到nQPSK、nQAM等其它解調(diào)系統(tǒng)。
3 FPGA實(shí)現(xiàn)
3.1 從SIMULINK仿真到FPGA實(shí)現(xiàn)
利用SIMULINK搭建BPSK解調(diào)系統(tǒng),主要目的是確定定時(shí)同步的結(jié)構(gòu)、仿真定時(shí)算法的性能,同時(shí)也為下一步的設(shè)計(jì)——用現(xiàn)場(chǎng)可編程芯片(FPGA)實(shí)現(xiàn)該算法,提供了簡(jiǎn)單有效的方法。由于SIMULINK仿真的電路已經(jīng)做到寄存器級(jí),各部分的電路主要由乘法器、加/減法器、鎖存器和移位寄存器等組成,便于向FPGA的設(shè)計(jì)輸入方法轉(zhuǎn)換。事實(shí)上,一些公司已經(jīng)開(kāi)發(fā)出第三方軟件,如Altera開(kāi)發(fā)的DSP Builder,可以嵌入在MATLAB軟件中,直接完成從MATLAB的設(shè)計(jì)到FPGA實(shí)現(xiàn)的轉(zhuǎn)換,縮短了設(shè)計(jì)周期。
3.2 FPGA實(shí)現(xiàn)結(jié)構(gòu)
圖6給出了FPGA實(shí)現(xiàn)整個(gè)BPSK中頻數(shù)字解調(diào)系統(tǒng)的結(jié)構(gòu)圖。其中,實(shí)線框內(nèi)為定時(shí)同步相關(guān)電路。
對(duì)輸入的時(shí)鐘信號(hào)(5fsymbol)進(jìn)行5分頻和2.5分頻,可以得到符號(hào)鐘(fsymbol)和2倍符號(hào)鐘(2fsymbol),提供給各模塊。
由于FPGA只能處理有限精度的數(shù)據(jù),可以通過(guò)SIMULINK定點(diǎn)仿真來(lái)選取合適的數(shù)據(jù)位寬和精度,即保證系統(tǒng)性能,又節(jié)省資源。在設(shè)計(jì)中采用了10位帶符號(hào)數(shù)作為主要數(shù)據(jù)類(lèi)型,對(duì)TED、NCO、LPF這些數(shù)據(jù)精度要求高的模塊則采用16位帶符號(hào)數(shù)。電路的設(shè)計(jì)可以盡量簡(jiǎn)化,如內(nèi)插濾波器的級(jí)數(shù)為N=3、M=2時(shí),就可以有較好的內(nèi)插效果,不需要采用更高階數(shù)的濾波器。利用ISE6.2開(kāi)發(fā)環(huán)境中的綜合工具XST,對(duì)定時(shí)同步的設(shè)計(jì)進(jìn)行行為級(jí)和RTL級(jí)綜合,得到各部分資源占用情況,如表2。
乘數(shù)為常數(shù)的乘法,如Interpolator和LPF中的部分乘法運(yùn)算,在實(shí)現(xiàn)過(guò)程中是轉(zhuǎn)化成移位和加減運(yùn)算的,大大節(jié)省了硬件資源。
本文討論了一種基于Farrow結(jié)構(gòu)的內(nèi)插濾波器,其利用Garnder的定時(shí)誤差計(jì)算方法,經(jīng)環(huán)路濾波提取誤差信號(hào),為內(nèi)插濾波器提供插值相位。仿真結(jié)果表明該算法具有良好的性能和較低的復(fù)雜度。同時(shí),給出了FPGA硬件實(shí)現(xiàn),為全數(shù)字解調(diào)算法的實(shí)現(xiàn)提供了一種簡(jiǎn)單有效的解決方案。
參考文獻(xiàn)
1 Gardner, F.M. Interpolation in digital modems. I.Fundamentals,Communications, IEEE Transactions on,1993;41(3):501~507
2 Gardner, F.M., A BPSK/QPSK Timing-Error Detector for Sampled Receivers; Communications, IEEE Transactions on [legacy, pre-1988], 1986;34(5):423~429
3 H. Meyr, M. Moeneclaey, S. A. Fechtel, Digital Communi-cation Receivers- Synchronization, Channel Estimation, and Signal Processing, John Wiley & Sons, 1998
4 Ki Hyuk Park, Dae Kyo Shin, Jun Sung Lee, Sunwoo, M.H., A QPSK/16 QAM receiver chip for LMDS application; ASICs,2000.AP-ASIC 2000.Proceedings of the Second IEEE Asia Pacific Conference on 28-30 Aug.2000:207~210