《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 業(yè)界動態(tài) > 全數(shù)字接收機中定時同步算法和實現(xiàn)

全數(shù)字接收機中定時同步算法和實現(xiàn)

2008-07-25
作者:晏 蕾, 余 榮, 梅順良

  摘 要: 采用了基于Farrow結(jié)構(gòu)的內(nèi)插" title="內(nèi)插">內(nèi)插濾波器,同時使用Garnder的定時誤差計算方法為內(nèi)插濾波器提供插值" title="插值">插值相位。通過MATLAB仿真,表明這種內(nèi)插濾波器可以很好地解決定時同步問題,并在現(xiàn)場可編程芯片F(xiàn)PGA上實現(xiàn)了該算法,使得數(shù)字解調(diào)的硬件實現(xiàn)具有很好的移植性和靈活性。
  關(guān)鍵詞: 內(nèi)插濾波器(Interpolator) 定時誤差 插值相位 SIMULINK FPGA實現(xiàn)


  在數(shù)字接收系統(tǒng)中,為了正確恢復(fù)出發(fā)送端的符號信息,必須做到定時同步。傳統(tǒng)的接收機采用同步采樣,利用定時誤差信號調(diào)整接收端采樣時鐘的相位,使之與符號同步;而全數(shù)字" title="全數(shù)字">全數(shù)字接收機采用固定的采樣頻率,一般來說,采樣時鐘和符號時鐘相互獨立,這種情況下可以用數(shù)字信號處理的方法實現(xiàn)對符號速率的鎖定。
  隨著數(shù)字信號處理器和可編程邏輯芯片速度的提高,利用這些芯片完成定時同步算法" title="定時同步算法">定時同步算法,為接收機的設(shè)計帶來了很大的靈活性。本文對全數(shù)字接收機中的定時同步算法進行了分析,將內(nèi)插濾波與誤差檢測算法相結(jié)合,提出了一種簡單有效的算法,同時利用MATLAB進行了仿真。實驗結(jié)果表明該算法確實具有簡單高效的特點。最后,給出了FPGA實現(xiàn)該算法的方法。
1 定時同步算法
  根據(jù)F M.Gardner 的結(jié)論[1],內(nèi)插恢復(fù)電路可以從采樣序列中恢復(fù)出最佳采樣點的值。圖1給出了基于內(nèi)插濾波的定時同步結(jié)構(gòu)框圖。


  設(shè)帶限連續(xù)信號x(t),符號周期為T。在滿足Nyquist定理的條件下,以TS為間隔采樣得x(mTS),通常T/TS為無理數(shù)。經(jīng)內(nèi)插恢復(fù)環(huán)路后,輸出y(kTi),其中Ti=T/K,K為小整數(shù)。對y(kTi)進行K倍抽取,即得到與發(fā)送端符號同步的最佳采樣值序列z(nT)。
  內(nèi)插恢復(fù)電路包括一個內(nèi)插濾波器和內(nèi)插濾波控制電路。內(nèi)插濾波器(Interpolator)從采樣序列中恢復(fù)出最佳采樣值,是整個定時同步技術(shù)的關(guān)鍵。控制電路包括定時誤差檢測電路(TED)、環(huán)路濾波器(LPF)和數(shù)控振蕩器(NCO),向內(nèi)插濾波器提供插值相位和插值輸出時各個信號的權(quán)值。下面簡單介紹內(nèi)插恢復(fù)電路的各個部分。
1.1內(nèi)插濾波器
  設(shè)內(nèi)插濾波器沖激響應(yīng)的連續(xù)形式為hI(t),采樣信號x(mTS)經(jīng)過內(nèi)插器" title="內(nèi)插器">內(nèi)插器,輸出
  
  其中μk為插值相位,滿足μk∈[0,1),mk為插值抽取的位置,將式(2)改寫成
  
  (4)式即定時同步內(nèi)插的基本公式。
  理想內(nèi)插器的沖激響應(yīng)為si函數(shù),因此
  
  可以看出,內(nèi)插器實質(zhì)就是一個時變的濾波器,各級系數(shù)的變化與輸入的μk有關(guān)。理想內(nèi)插器是不可實現(xiàn)的,但是由于只需恢復(fù)出最佳采樣點的信號值而不是完全恢復(fù)出原信號x(t),因此可以采用其它線性相位的可實現(xiàn)內(nèi)插器,去逼近理想內(nèi)插器的頻譜特性。通常采用基于Lagrange多項式的內(nèi)插方法,即濾波器可以寫成系數(shù)為μk的多項式:
  
  那么,輸出為
  
  M為多項式的階數(shù),2N-1為濾波器的階數(shù)。基于多項式的內(nèi)插濾波器可用Farrow結(jié)構(gòu)實現(xiàn),如圖2所示。


  這種濾波器實現(xiàn)起來很簡單,使用較低的階數(shù)(N=3,M=2)就能獲得較好的頻譜性能。表1給出了Farrow濾波器的各階系數(shù)。


1.2 定時誤差檢測(TED)
  根據(jù)Garnder的定時誤差檢測算法[2],一個符號只需要兩個采樣信號就可以得到定時誤差,并且可以在兩個采樣點之一的位置恢復(fù)出最佳采樣信號值。定時誤差計算的表達式為:
  
  其中n為數(shù)據(jù)符號的標號,ε(n)表示第n個符號的定時誤差,τ為實際采樣位置距離最佳采樣位置的偏移,y(tn)為第n個符號最佳采樣值。
  定時誤差算法解釋如下:相鄰的兩個符號值y(tn-1)、y(tn)不相同的情況下,y(tn-1/2+τ)的平均值如果為零,則不存在定時誤差;如果不為零,則可以用y(tn-1/2+τ)的數(shù)值代表定時誤差的大小。但是y(tn-1/2+τ)并不能指示誤差調(diào)整的方向,因此用[y(tn+τ)-y(tn-1+τ)]來表示誤差調(diào)整方向,二者的乘積即為定時誤差信號。如果y(tn-1)、y(tn)兩個符號值相同,則[y(tn+τ)-y(tn-1+τ)]為零,使得y(tn-1/2+τ)的值被屏蔽了,在這種情況下是不能提取誤差信號的。根據(jù)Garnder算法可以構(gòu)造出定時誤差提取的實現(xiàn)結(jié)構(gòu)如圖3。
1.3 環(huán)路濾波器(LPF)和數(shù)控振蕩器(NCO)
  定時誤差信號通過低通環(huán)路濾波器(LPF)濾波后,控制數(shù)控振蕩器(NCO)工作。這兩部分的實現(xiàn)結(jié)構(gòu)如圖4。
  LPF采用二階濾波器,包含比例路徑和積分路徑,這兩條路徑分別可以跟蹤相位誤差和頻率誤差。通過控制比例增益k1和積分增益k2,可以調(diào)整環(huán)路的帶寬和收斂速度。NCO是一個相位累加器,對輸入的相位誤差進行累加,為內(nèi)插濾波器提供插值相位。

?


2 數(shù)字解調(diào)系統(tǒng)的定時同步仿真
  本文對一個全數(shù)字BPSK解調(diào)系統(tǒng)進行了MATLAB仿真,旨在驗證上述定時同步算法。首先,利用SIMULINK搭建了整個接收系統(tǒng),包括AD轉(zhuǎn)換、載波同步、定時同步、匹配濾波和判決;其次,對輸入信號進行了模擬,模擬的輸入信號為中頻10.7MHz、帶寬1.5MHz的BPSK已調(diào)信號,符號速率為660kbps。對此信號帶通采樣,采樣頻率為符號速率的5倍即3.3Mbps。由于上述定時同步算法要求一個符號有兩個采樣信號,故載波同步恢復(fù)成基帶信號后,調(diào)整采樣速率使之成為符號速率的2倍,再進行定時同步、匹配濾波和判決輸出。


  圖5給出了定時同步模塊中TED的輸出ε、LPF的輸出e和NCO的輸出μ的仿真結(jié)果??梢钥吹?,大約100個符號后,μ趨于一穩(wěn)定值,定時環(huán)路鎖定同步。
  在這種定時結(jié)構(gòu)下,對100,000個隨機符號進行數(shù)次仿真,實現(xiàn)的BPSK接收系統(tǒng)在輸入信噪比Eb/N0=12.5dB情況下,平均能夠達到10-6的誤碼性能。事實上,基于內(nèi)插濾波的定時算法不僅適用于BPSK接收系統(tǒng),只要修改定時誤差的計算式[2],不難將它推廣到nQPSK、nQAM等其它解調(diào)系統(tǒng)。
3 FPGA實現(xiàn)
3.1 從SIMULINK仿真到FPGA實現(xiàn)

  利用SIMULINK搭建BPSK解調(diào)系統(tǒng),主要目的是確定定時同步的結(jié)構(gòu)、仿真定時算法的性能,同時也為下一步的設(shè)計——用現(xiàn)場可編程芯片(FPGA)實現(xiàn)該算法,提供了簡單有效的方法。由于SIMULINK仿真的電路已經(jīng)做到寄存器級,各部分的電路主要由乘法器、加/減法器、鎖存器和移位寄存器等組成,便于向FPGA的設(shè)計輸入方法轉(zhuǎn)換。事實上,一些公司已經(jīng)開發(fā)出第三方軟件,如Altera開發(fā)的DSP Builder,可以嵌入在MATLAB軟件中,直接完成從MATLAB的設(shè)計到FPGA實現(xiàn)的轉(zhuǎn)換,縮短了設(shè)計周期。
3.2 FPGA實現(xiàn)結(jié)構(gòu)
  圖6給出了FPGA實現(xiàn)整個BPSK中頻數(shù)字解調(diào)系統(tǒng)的結(jié)構(gòu)圖。其中,實線框內(nèi)為定時同步相關(guān)電路。


  對輸入的時鐘信號(5fsymbol)進行5分頻和2.5分頻,可以得到符號鐘(fsymbol)和2倍符號鐘(2fsymbol),提供給各模塊。
  由于FPGA只能處理有限精度的數(shù)據(jù),可以通過SIMULINK定點仿真來選取合適的數(shù)據(jù)位寬和精度,即保證系統(tǒng)性能,又節(jié)省資源。在設(shè)計中采用了10位帶符號數(shù)作為主要數(shù)據(jù)類型,對TED、NCO、LPF這些數(shù)據(jù)精度要求高的模塊則采用16位帶符號數(shù)。電路的設(shè)計可以盡量簡化,如內(nèi)插濾波器的級數(shù)為N=3、M=2時,就可以有較好的內(nèi)插效果,不需要采用更高階數(shù)的濾波器。利用ISE6.2開發(fā)環(huán)境中的綜合工具XST,對定時同步的設(shè)計進行行為級和RTL級綜合,得到各部分資源占用情況,如表2。


  乘數(shù)為常數(shù)的乘法,如Interpolator和LPF中的部分乘法運算,在實現(xiàn)過程中是轉(zhuǎn)化成移位和加減運算的,大大節(jié)省了硬件資源。
  本文討論了一種基于Farrow結(jié)構(gòu)的內(nèi)插濾波器,其利用Garnder的定時誤差計算方法,經(jīng)環(huán)路濾波提取誤差信號,為內(nèi)插濾波器提供插值相位。仿真結(jié)果表明該算法具有良好的性能和較低的復(fù)雜度。同時,給出了FPGA硬件實現(xiàn),為全數(shù)字解調(diào)算法的實現(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

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。