本文主要是先闡述傳統(tǒng)Gardner算法的原理,然后給出改進后的設計和FPGA實現方法,最后對結果進行仿真和分析,證明該設計方案的正確、可行性。
0 引言
數字通信中,位同步性能直接影響接收機的好壞,是通信技術研究的重點和熱點問題。通信系統(tǒng)中,接收端產生與發(fā)送基帶信號速率相同,相位與最佳判決時刻一致的定時脈沖序列,該過程即稱為位同步。常見的位同步方法包括濾波法和鑒相法。濾波法對接收波形進行變換,使之含有位同步信息,再通過窄帶濾波器濾出,缺點是只適用于窄帶信號。最為常用的位同步方法是鑒相法,包括鎖相法和內插法兩種。鎖相法采用傳統(tǒng)鎖相環(huán),需要不斷調整本地時鐘的頻率和相位,不適合寬速率范圍的基帶碼元同步。而內插法則利用數字信號的內插原理,通過計算直接得到最佳判決點的值和相位。
Gardner算法即是基于內插法的原理,通過定時環(huán)路調整內插計算的參數,從而跟蹤和鎖定位同步信號,該算法的優(yōu)點在于不需要改變本地采樣時鐘,可以適應較寬速率范圍內的基帶信號,因而具有傳統(tǒng)方法不可替代的優(yōu)勢。Gardner算法的實現方法,為算法的應用提供了基礎。Farrow結構非常適合實現Gardner算法的核心,即內插濾波器部分,其優(yōu)點是資源占用較少,且濾波器系數實時計算,便于內插參數調整。定時誤差檢測,但在定時誤差檢測時需要信號中存在判定信息,并且對載波相位偏差敏感。不足進行了改進,提出了GA-TED(Gardner Timing Error Detection)算法,其優(yōu)點是不需要預知判定信息,且獨立于載波同步,并且適合FPGA 實現。改進的Gardner 算法,并將其應用于M-PSK 系統(tǒng)。提高了Gardner 算法的抗自噪聲能力,即降低了對本地時鐘的要求。
本文基于FPGA 平臺并采用Gardner 算法設計,其中,內插濾波器采用Farrow 結構,定時誤差檢測采用GA-TED算法。同時對傳統(tǒng)Gardner算法結構進行了改進,使環(huán)路濾波器和NCO的參數可由外部控制器設置,以適應不同速率的基帶碼元,實現通用的位同步器的設計方案。此外,本設計方案還對FPGA 代碼進行了優(yōu)化,節(jié)省了大量硬件資源。最后進行了仿真和分析,給出了仿真結果,證實了該方案的可行性。
1 傳統(tǒng)Gardner 算法與改進
1.1 傳統(tǒng)Gardner算法基本原理
傳統(tǒng)Gardner算法結構如圖1所示。
在圖1中,輸入的連續(xù)時間信號x(t) 碼元周期為T,頻帶受限。在滿足奈奎斯特定理的條件下,接收端采用獨立時鐘對x(t) 進行采樣。內插濾波器計算出內插值y(k),送至定時環(huán)路進行誤差反饋和參數調整,并與控制器輸出的位同步脈沖BS一起送往解調器的抽樣判決器。
定時環(huán)路包含定時誤差檢測、環(huán)路濾波器和控制器。定時誤差檢測提取插值時刻和最佳判決時刻的誤差;該誤差經環(huán)路濾波器濾除高頻噪聲后送給控制器;控制器計算插值時刻(即為位同步信號的2倍頻)和誤差間隔。插值時刻和誤差間隔用于調整內插濾波器的系數,使插值時刻盡可能與最佳判決點同相,最終實現位同步信號的提取。
1.2 改進的Gardner算法結構
從上節(jié)可以看出,傳統(tǒng)Gardner算法無法滿足較寬速率范圍基帶信號的位同步要求。為實現該要求,本設計在FPGA 平臺的基礎上,對算法實現結構進行了改進,改進結構如圖2所示。
圖2中,內插濾波器采用Farrow結構的FIR 濾波器實現,濾波器系數實時計算;定時誤差檢測采用獨立于載波且采樣點較少的GA-TED 算法;環(huán)路濾波器、內部控制器可由外部控制器設置參數,基帶碼元速率變化時,相應參數可以隨之變化。因此,本設計可以滿足位同步器的通用性要求。
該同步器工作過程如下:外部控制器根據基帶碼元速率設置相應參數,通過外部控制器接口將控制、地址和數據信號分別送往分頻器、環(huán)路濾波器和內部控制器。時鐘電路分別提供采樣時鐘和FPGA 時鐘,FPGA工作時鐘在片內通過分頻器產生所需頻率的時鐘,供FPGA 各模塊使用。輸入連續(xù)時間信號x(t) 經由獨立時鐘控制的ADC 進行采樣,轉換為8 位數字信號送至FPGA 內,符號化后變?yōu)橛蟹枖底中蛄?,送入內插濾波器模塊。內插濾波器根據輸入信號的采樣值和內部控制器給出的參數μk,在每個插值時刻kTi 計算出最佳判決點的內插值y(kTi)。定時誤差檢測計算出誤差μτ (n),輸出至環(huán)路濾波器。環(huán)路濾波器依據當前的參數設定,濾除噪聲并將誤差信息送給內部控制器。內部控制器以NCO為核心,根據處理后的誤差信息和設定的頻率字參數調整插值時刻kTi,使之盡可能接近最佳判決時刻,并輸出位同步脈沖BS,同時計算出誤差間隔μk 送給內插濾波器,進行內插值計算,最終完成定時信息的恢復。
2 FPGA設計
2.1 整體結構設計
根據圖2的算法結構,FPGA設計采用模塊化方式,整體結構的頂層圖如圖3所示。
從圖3可以看到,該設計包含分頻器(DIV_FRE)、符號化(SYM)、內插濾波器(INTERPOLATION)、定時誤差檢測(TED)、環(huán)路濾波器(LPF)、內部控制器(INTER_CTL)和外部控制器接口的時序電路(EXTER_CTL)共7個模塊。其中,分頻器由片外晶振提供時鐘輸入,分頻后為片內其他模塊提供相應時鐘。其中碼元時鐘的分頻系數可由外部控制器通過接口進行設置。符號化是將A/D采樣產生的無符號數轉換為有符號數,以便后續(xù)模塊進行帶符號的運算。
外部控制器接口的時序電路將外部控制器送來的控制信號(ALE和RD)、地址信號(P2.0、P2.1)和數據信號(P0口)、轉換為FPGA 內分頻器、環(huán)路濾波器和NCO的使能信號和參數,實現對位同步器各參數的設置。
分頻器、符號化和外部控制器接口模塊實現較為簡單,不再贅述。而內插濾波器、定時誤差檢測、環(huán)路濾波器和內部控制器的實現較為復雜,且本設計通過采用相應算法和改進結構,實現了位同步器的通用性。本文將詳細闡述這些模塊的設計。