徐步威
(電子科技大學(xué)電子工程學(xué)院, 成都 611731)
QAM調(diào)制方式特別是高階QAM調(diào)制由于其較高的頻譜利用率得到了廣泛應(yīng)用。隨著4G技術(shù)的研發(fā)和數(shù)字電視的普及,QAM將更加受到重視。
QAM隨著階數(shù)的增加,對(duì)載波恢復(fù)的要求也越嚴(yán)格。對(duì)于高階QAM載波恢復(fù),一個(gè)很重要的問(wèn)題是盲恢復(fù)。它是在沒(méi)有導(dǎo)頻或者訓(xùn)練序列幫助的情況下,根據(jù)接收到的QAM信號(hào)提取出相位誤差信息。但是這種方式中同步帶寬和相位抖動(dòng)情況是一對(duì)矛盾問(wèn)題。針對(duì)上述考慮,本文采用雙模式切換的極性判決相位檢測(cè)算法,在捕獲模式利用有較大頻偏捕獲能力的極性判決算法[1],而在跟蹤模式中則使用傳統(tǒng)的DD算法[2-3],因?yàn)镈D算法具有很好的跟蹤性能。這種算法具有更好的頻偏捕獲能力和健壯性。
隨著微電子技術(shù)的發(fā)展,F(xiàn)PGA技術(shù)也在通信中得到了廣泛的應(yīng)用。其高效的運(yùn)算與高集成度在通信系統(tǒng)中占據(jù)了越來(lái)越多的優(yōu)勢(shì)。本文闡述的FPGA設(shè)計(jì)方案也在Altera公司的FPGA芯片上得到了實(shí)現(xiàn)。
極性判決算法鎖相環(huán)路由判決器,鑒相器,環(huán)路濾波器,壓控振蕩器VCO以及一個(gè)乘法器組成。
極性判決算法的結(jié)構(gòu)及信號(hào)流程如圖1所示。為便于理解,這里簡(jiǎn)述極性判決算法原理。假設(shè)n時(shí)刻接收到信號(hào)y(n),解調(diào)之后得到信號(hào)q(n)。然后對(duì)信號(hào)q(n)進(jìn)行功率檢測(cè),即通過(guò)判斷q (n )2>τ2(τ為功率檢測(cè)門(mén)限)是否成立來(lái)選擇需要鑒相的接收信號(hào)點(diǎn)。q (n )2<τ2時(shí)相位檢測(cè)輸出為0,q (n )2>τ2時(shí)相位檢測(cè)輸出該信號(hào)點(diǎn)的極性判決值。并將解調(diào)后的信號(hào)q(n)與極性判斷的復(fù)信號(hào)p(n)相除取虛部,得到誤差信號(hào)e(n),再經(jīng)環(huán)路濾波器,VCO后對(duì)輸入信號(hào)y(n)進(jìn)行補(bǔ)償。所謂極性判決就是根據(jù)接收到的符號(hào)的極坐標(biāo)判決到對(duì)應(yīng)對(duì)角線上。當(dāng)極性判決環(huán)路鎖定大概頻偏后便轉(zhuǎn)向DD算法環(huán)路進(jìn)行跟蹤并糾正剩余的小頻偏。
圖1 極性判決算法流程圖
傳統(tǒng)極性判決算法由于其單一的判決門(mén)限導(dǎo)致收斂速度慢鎖定誤差大等缺陷。對(duì)于高階高碼率的QAM信號(hào)來(lái)說(shuō)這是不符合需求的。為解決以上缺陷以適應(yīng)高階高碼率QAM信號(hào),本文采用多門(mén)限極性判決。
多門(mén)限極性判決[4]的核心思想是增加了鎖定誤差為零的信號(hào)點(diǎn)。在星座圖中,根據(jù)能量的不同,將信號(hào)劃分為不同的能量圈。通過(guò)降低最外圈門(mén)限,可以讓更多的信號(hào)點(diǎn)通過(guò),但是會(huì)引入鎖定誤差,因此可以通過(guò)設(shè)定多個(gè)門(mén)限來(lái)多重篩選信號(hào)點(diǎn)以逐步鎖定相位。
一階環(huán)路濾波器和VCO組成的二階環(huán)路如圖2所示。其中G1和G2為環(huán)路濾波器系數(shù),z-1為一個(gè)周期延。
圖2 環(huán)路濾波器與VCO環(huán)路結(jié)構(gòu)
其中系數(shù)G1,G2可以通過(guò)以下經(jīng)驗(yàn)公式計(jì)算得到:
上述公式中ξ為阻尼系數(shù),fn為環(huán)路濾波器本振頻率,Ts為符號(hào)周期。
從捕獲模式轉(zhuǎn)換到跟蹤模式需要有一個(gè)轉(zhuǎn)換模塊來(lái)控制環(huán)路的切換[5-6]。模式轉(zhuǎn)換控制有多種方法,可以利用均方誤差MSE,也可以根據(jù)幅值的平均或根據(jù)信噪比的高低為門(mén)限來(lái)實(shí)現(xiàn)轉(zhuǎn)換模式的控制并改變環(huán)路濾波器參數(shù)的調(diào)整。本文采用的是MSE方法來(lái)控制模式的轉(zhuǎn)換。下面介紹MSE控制方法的具體設(shè)計(jì),圖3為實(shí)現(xiàn)的流程圖。
圖3 模式轉(zhuǎn)換算法流程圖
圖3中的Uc是指極性判決環(huán)路的環(huán)路濾波器輸出。我們針對(duì)極性判決環(huán)路的環(huán)路濾波器輸出,每64個(gè)數(shù)據(jù)求一個(gè)均值,然后對(duì)這些均值數(shù)據(jù),每32個(gè)均值求一次方差,最后針對(duì)方差來(lái)設(shè)置一個(gè)門(mén)限,這個(gè)門(mén)限具體可以通過(guò)對(duì)環(huán)路濾波器輸出的仿真來(lái)求得。同時(shí)在這個(gè)設(shè)計(jì)中,我們總共設(shè)置兩個(gè)條件來(lái)作為模式切換的條件,其中一個(gè)就是針對(duì)方差的門(mén)限判斷,另一個(gè)是用于防止假鎖出現(xiàn)的均值符號(hào)判斷。由于均值有可能出現(xiàn)負(fù)值而導(dǎo)致假鎖現(xiàn)象,所以需要對(duì)均值符號(hào)做判斷,如果每32個(gè)均值中超過(guò)半數(shù)為正值,則斷定此次方差門(mén)限判決結(jié)果有效。通過(guò)以上轉(zhuǎn)換控制流程可以準(zhǔn)確及時(shí)地對(duì)模式進(jìn)行轉(zhuǎn)換。
首先給出仿真的參數(shù):調(diào)制方式為128QAM,采樣率為102.4 MHz,信號(hào)碼速率為25.6 MHz,信噪比為30 dB,對(duì)輸入信號(hào)加入300 kHz的頻偏和π/3的相偏,功率檢測(cè)設(shè)置雙門(mén)限2.2和13.5,仿真點(diǎn)數(shù)100 000。同時(shí)這里需要給出本文使用的數(shù)字接收機(jī)[7-8]系統(tǒng)框圖以示具體信號(hào)流程,系統(tǒng)框圖如圖4所示。
圖4 數(shù)字接收機(jī)部分系統(tǒng)框圖
根據(jù)系統(tǒng)框圖,我們將定時(shí)同步和信道均衡之后的數(shù)據(jù)作為本文載波恢復(fù)仿真的輸入數(shù)據(jù)。
下面我們看載波恢復(fù)算法頻偏跟蹤效果以及星座圖。分別如圖5與圖6所示。
圖5 載波恢復(fù)頻偏跟蹤結(jié)果
圖6 載波恢復(fù)后星座圖
從上述圖中可以看到環(huán)路最終鎖定效果非常好,頻偏穩(wěn)定在300 kHz左右。并且輸出星座點(diǎn)清晰可見(jiàn),達(dá)到了理想的情況。
在FPGA設(shè)計(jì)實(shí)現(xiàn)之前,需要通過(guò)定點(diǎn)仿真來(lái)限定各個(gè)變量的精度,分析有限字長(zhǎng)對(duì)系統(tǒng)性能的影響,權(quán)衡資源消耗和系統(tǒng)性能,從而得出各個(gè)信號(hào)合適的位寬。
圖7為載波恢復(fù)算法FPGA實(shí)現(xiàn)框圖,框圖反映了載波恢復(fù)算法實(shí)現(xiàn)的信號(hào)流程以及模塊的劃分。
算法框圖中clk為全局時(shí)鐘信號(hào),此處為碼速率25.6MHz ;reset為系統(tǒng)復(fù)位信號(hào);Iin,Qin分別是輸入數(shù)據(jù)的實(shí)部虛部;Iout,Qout分別是輸出數(shù)據(jù)的實(shí)部虛部。這里所有模塊均使用的全局時(shí)鐘,因?yàn)榇a速率始終不變。cmultip_mult模塊為輸入信號(hào)與VCO輸出的復(fù)乘模塊,在復(fù)乘模塊之后對(duì)應(yīng)兩個(gè)環(huán)路,分別是極性判決環(huán)路和DD算法環(huán)路。在捕獲階段系統(tǒng)運(yùn)行在極性判決環(huán)路,首先是經(jīng)過(guò)power_dectect 模塊即功率檢測(cè)模塊,然后將判決結(jié)果送往鑒相器模塊phase_detect_a進(jìn)行鑒相,之后送往環(huán)路濾波器loop_filter_a,對(duì)于環(huán)路濾波器輸出會(huì)有一個(gè)計(jì)算其輸出值均方誤差的MSE模塊,并由MSE模塊產(chǎn)生一個(gè)環(huán)路切換控制信號(hào)control。這個(gè)控制信號(hào)會(huì)實(shí)現(xiàn)2個(gè)控制功能,一個(gè)是決定是否轉(zhuǎn)向DD算法環(huán)路,另一個(gè)是選擇輸入到VCO模塊的數(shù)據(jù),即當(dāng)前所運(yùn)行環(huán)路的濾波器輸出數(shù)據(jù)。當(dāng)環(huán)路切換至跟蹤模式時(shí),先進(jìn)行全星座判決即dd_adjudge模塊,然后將判決結(jié)果送至鑒相器phase_detect_b,再送交環(huán)路濾波器loop_filter_b,之后輸出給VCO模塊。
圖7 載波恢復(fù)算法FPGA實(shí)現(xiàn)框圖
值得特別說(shuō)明的是復(fù)乘模塊與VCO模塊,根據(jù)算法我們需要將輸入數(shù)據(jù)和VCO做一次復(fù)乘運(yùn)算。這里直接將每個(gè)數(shù)據(jù)分解為實(shí)部虛部分別和正余弦值的乘加運(yùn)算,于是就有:
這其中實(shí)部虛部均分開(kāi)單獨(dú)處理。上式中涉及的正余弦的值通過(guò)VCO模塊的正余弦查找表來(lái)獲取。同時(shí)由于VCO是進(jìn)行相位累加運(yùn)算,最后的相位值必然遠(yuǎn)大于2π,而我們的正余弦查找表是存儲(chǔ)的一個(gè)周期的值,因此我們需要在每次累加之后對(duì)累加的相位值進(jìn)行對(duì)2π求余。
這里FPGA功能仿真使用QUARTUS軟件自帶的仿真工具。輸入數(shù)據(jù)采用MATLAB仿真時(shí)候的數(shù)據(jù)源以便對(duì)比,這之前需要對(duì)其量化。圖8為整體的功能仿真圖。其中Uc,Ud分別是極性判決環(huán)路和DD環(huán)路的環(huán)路濾波輸出,從圖中可以看到Ud數(shù)據(jù)還為0,這是因?yàn)榄h(huán)路還沒(méi)有切換的原因,當(dāng)環(huán)路切換后Uc為0,Ud為對(duì)應(yīng)數(shù)據(jù);control_1為環(huán)路切換控制信號(hào),當(dāng)滿(mǎn)足環(huán)路切換條件時(shí)置1,否則為0;phi_vco為相位累加結(jié)果,也即正余弦查找表的輸入;sin1,cos為查找表結(jié)果,并作為復(fù)乘模塊輸入。經(jīng)綜合后該算法結(jié)構(gòu)的資源使用情況如圖9所示,可見(jiàn)所消耗的邏輯資源很少。
圖8 載波恢復(fù)算法FPGA整體仿真圖
圖9 載波恢復(fù)算法FPGA資源使用情況
在仿真后我們將需要的仿真結(jié)果導(dǎo)入到MATLAB中處理可以得到各個(gè)環(huán)節(jié)的情況。這里給出最后的頻率收斂情況(見(jiàn)圖10)以及載波恢復(fù)后的星座圖(見(jiàn)圖11)以示設(shè)計(jì)的效果。從圖中可以看到FPGA處理的效果與MATLAB仿真結(jié)果基本一致,且星座圖效果理想。這說(shuō)明了本文的FPGA設(shè)計(jì)是完全符合實(shí)際要求的。
圖10 FPGA仿真載波恢復(fù)頻率收斂曲線
圖11 FPGA仿真載波恢復(fù)輸出星座圖
本文針對(duì)高階QAM的載波恢復(fù),采用了雙模式切換的極性判決算法,并在實(shí)際使用中收到了很好的效果。同時(shí),本文針對(duì)128QAM設(shè)計(jì)的FPGA實(shí)現(xiàn)方案效果理想,且消耗的邏輯資源很少,最后經(jīng)過(guò)時(shí)序約束后運(yùn)行速率可以達(dá)到29 MHz,完全滿(mǎn)足系統(tǒng)25.6 MHz的要求。
[1]Kim,Kim-Yun,Choi,Hyung-Jin.Design of Carrier Recovery Algorithm for high_order QAM with large Frequency Acquisition Range[J].IEEE,ICC 2001,Helsinki,Finland,2001, 6:(11-14):1016-1020.
[2]HORIKAWA I,MURASE T,SAITO Y.Design and performances of a 200 Mbit/s 16QAM digital radio system[J].IEEE Trans.Communica-tons,1979,27(12):1953-1958.
[3]劉劍波,牛亞青.QAM調(diào)制解調(diào)系統(tǒng)中的載波同步算法研究[J].廣播與電視技術(shù),2002(7):79-84.
[4]沈麗麗,米亮,葛建華.適合高階QAM載波恢復(fù)算法[J].電視技術(shù), 2003(12):14-17.
[5]胡楠,鐘洪聲.高階QAM快速載波恢復(fù)電路設(shè)計(jì)[J].通信技術(shù),2007(11):57-60.
[6]梁海麗,段吉海,游路路.1024QAM調(diào)制解調(diào)系統(tǒng)的FPGA 實(shí)現(xiàn)[J].電視技術(shù),2007,31(4):31-32.
[7]陳祝明.軟件無(wú)線電基礎(chǔ)[M].北京:高等教育出版社:58-124.
[8]周媛,賈懷義.基于FPGA 的全數(shù)字64QAM調(diào)制解調(diào)器設(shè)計(jì)[J].電視技術(shù),2007,31(S1):40-42.