文獻標(biāo)識碼: A
文章編號: 0258-7998(2012)01-0097-03
目前,基于軟件無線電的數(shù)字接收機,其定時同步主要采用異步采樣恢復(fù),即采樣時鐘獨立工作,通過估算定時誤差,控制內(nèi)插濾波器內(nèi)插出最佳采樣時刻的值。常用的定時誤差估計算法主要有:遲早門算法、米勒-穆雷算法、Gardner算法。其中遲早門算法和米勒-穆雷算法都對載波相位敏感。Gardner算法[1]每個符號需要兩個采樣點,雖然計算量比米勒-穆雷算法稍大,但對載波頻偏和相位不敏感,可提前獨立于載波同步完成,降低了系統(tǒng)復(fù)雜度。
QAM調(diào)制方式特別是高階QAM調(diào)制因其較高的頻譜利用率得到了廣泛應(yīng)用,但是高階QAM數(shù)字接收機算法的運算量也相對較大。隨著FPGA芯片集成度的提高,現(xiàn)在可以在像Altera Cyclone3 這種低成本FPGA上實現(xiàn)較復(fù)雜的算法。本文針對128 QAM調(diào)制信號,設(shè)計了定時同步算法結(jié)構(gòu),并且用MATLAB做了仿真驗證,最后在FPGA平臺上實現(xiàn)了該算法。
1 定時同步結(jié)構(gòu)設(shè)計
1.1 算法結(jié)構(gòu)
定時同步結(jié)構(gòu)如圖1所示。該結(jié)構(gòu)是基于Gardner算法[2]而設(shè)計的,包括用來進行符號采樣的內(nèi)插濾波器、定時誤差檢測器、環(huán)路濾波器、插值控制器。其中,內(nèi)插濾波器從輸入的非同步被測基帶I/Q采樣信號中恢復(fù)出發(fā)送的符號,而定時恢復(fù)環(huán)路用來控制內(nèi)插濾波器的插值相位。定時誤差檢測器提取出當(dāng)前采樣相位誤差,將其送入環(huán)路濾波器濾波后控制NCO的振蕩頻率。當(dāng)被測信號等效采樣無相偏時,環(huán)路進入穩(wěn)定狀態(tài),此時NCO的振蕩頻率就等于實際被測信號的碼率或碼率的整數(shù)倍[3]。下面只對定時同步的關(guān)鍵結(jié)構(gòu)進行闡述。
1.2 插值濾波器
插值濾波器是符號定時同步的核心部分。高階QAM對插值精度的要求非常高,傳統(tǒng)的內(nèi)插濾波器如線性內(nèi)插、3次立方內(nèi)插、帶參數(shù)的4點分段擬合內(nèi)插等已不能滿足要求。插值濾波器的設(shè)計關(guān)鍵是插值函數(shù)的設(shè)計,由于多項式內(nèi)插函數(shù)能夠用Farrow結(jié)構(gòu)實現(xiàn),運算量較低,所以插值函數(shù)最好能夠用多項式擬合實現(xiàn)。參考文獻[4]給出了一種基于多項式插值濾波器的設(shè)計方法。這種多項式內(nèi)插濾波器通過在通帶和阻帶上設(shè)置需要的幅度和加權(quán)系數(shù),結(jié)合最優(yōu)化算法和具體要求的頻帶特性,可以實現(xiàn)頻域上的任意頻響。
1.3 定時誤差提取
傳統(tǒng)Gardner算法是針對BPSK/QPSK調(diào)制信號提出的,不適用于高階QAM這種多電平信號,必須對傳統(tǒng)Gardner算法進行改進。改進Gardner算法的思路是改變其只對零點檢測有效性的缺點,將中間值y((n-1/2)T+t)歸零化即可[5]。改進的定時誤差提取公式為:
2 MATLAB仿真分析
仿真參數(shù)設(shè)置:128 QAM調(diào)制、升余弦滾降系數(shù)0.1、信噪比23 dB、定時延遲0.6個碼元時間、載頻124 MHz、采樣率102.4 MHz,匹配濾波器為100階。
從圖2中可以看出,分數(shù)延遲收斂于0.6處,波動小于0.01,表明定時同步環(huán)路完全收斂。圖3是定時同步收斂后的輸出信號星座圖,可以看出星座點非常集中,星座間隔清晰,信噪比由于匹配濾波器作用有了大幅度提高,能夠很好地實現(xiàn)符號判決。
3 定點仿真到FPGA設(shè)計實現(xiàn)
定點仿真是在浮點仿真的基礎(chǔ)上,通過限定各個變量的精度,分析有限字長對系統(tǒng)性能的影響,權(quán)衡資源消耗和系統(tǒng)性能,從而得出各個信號合適的位寬,為FPGA實現(xiàn)做好準(zhǔn)備。
圖4是定時同步硬件實現(xiàn)的系統(tǒng)框圖。clk是I、Q兩路輸入信號的同步時鐘,也是主系統(tǒng)時鐘,此處為102.4 MHz(系統(tǒng)采樣率)。reset是全局同步復(fù)位信號,當(dāng)其為有效電平時,步長w初始化為Ts/Ti,這里為0.5;分數(shù)間隔u可以初始化為任何值,這里取0;其余寄存器都初始化為0。I_in和Q_in是定時同步的兩路輸入信號,從整個接收機的角度來看是DDC模塊的輸出。I_out和Q_out是定時同步的輸出數(shù)據(jù),送給接收機的均衡模塊。clkout是輸出數(shù)據(jù)的同步時鐘。control模塊就是1.4節(jié)中的插值控制器,當(dāng)數(shù)控振蕩器溢出,插值控制信號nco為1,同時按式(3)更新分數(shù)間隔u;當(dāng)數(shù)控振蕩器不溢出,則信號nco為0,分數(shù)間隔u保持原值。這兩個信號(nco和u)與I、Q兩路輸入信號一起送給interpolator模塊(插值濾波器),需要強調(diào)的是,nco信號也作為后面兩個模塊的控制信號,用以控制數(shù)據(jù)流動的節(jié)拍。兩路數(shù)據(jù)經(jīng)過match_filter模塊(匹配濾波器)后進入err_step模塊,該模塊包括定時誤差提取和環(huán)路濾波器兩個部分,用以得到步長w的更新值然后反饋給control模塊進行下一輪的計算,并且對其輸入數(shù)據(jù)進行兩倍抽取得到定時同步的輸出信號。
圖5是Quartus功能仿真波形圖,可以看出環(huán)路收斂前nco信號存在一定的抖動,導(dǎo)致輸出時鐘clkout并不是規(guī)則的時鐘信號,同樣存在抖動。環(huán)路內(nèi)部的數(shù)據(jù)流動都是在nco信號的控制節(jié)拍下進行的。
將Quartus 功能仿真后的波形數(shù)據(jù)讀取到MATLAB的工作空間中,可以得到分數(shù)間隔收斂曲線(圖6)和收斂后輸出星座圖(圖7),通過比較發(fā)現(xiàn),Quartus功能仿真結(jié)果與MATLAB浮點仿真結(jié)果基本一致。
對于高階高碼率QAM調(diào)制系統(tǒng),設(shè)計并實現(xiàn)了一種定時同步結(jié)構(gòu),該結(jié)構(gòu)能夠提前獨立于載波同步單獨完成。MATLAB仿真和Quartus功能仿真結(jié)果表明,系統(tǒng)具有良好的性能。最后,通過時序分析,硬件系統(tǒng)的最高運行頻率可以達到200 MHz,完全滿足采樣率102.4 MHz的要求。
參考文獻
[1] GARDNER F M. Interpolation in digital modems-partⅠ: fundamentals[J]. IEEE Transactions On Communicaitons, 1993,41(3):501-507.
[2] ERUP L, GARDNER F M, HARRIS R A. Interpolation in digital modems-part Ⅱ: implementation and performance [J]. IEEE Transactions on Communications, 1993, 41(6):998-1008.
[3] 閻嘯,王茜,秦開宇,等.寬帶OQPSK信號實時多域測試定時同步技術(shù)研究 [J].電子測量與儀器學(xué)報,2009,23(10):48-52.
[4] 劉莉琛.DVB-C全數(shù)字QAM接收機定時同步模塊設(shè)計及Verilog實現(xiàn)[D].成都:電子科技大學(xué)碩士學(xué)位論文, 2004:30.
[5] 李滾,王瑞紅,秦開宇,等.一種改進的定時恢復(fù)方法 [J]. 電子測量與儀器學(xué)報,2009,23(7):46-50.