郭業才, 李 峰, 萬逸儒, 胡 崢
(1. 南京信息工程大學 電子與信息工程學院, 南京 210044; 2. 南京信息工程大學 濱江學院, 江蘇 無錫 214105)
近年來,隨著無線通信技術的快速發展,盲自適應均衡器的設計與實現研究成為重點關注的課題[1]。文獻[2]中設計的盲均衡器實現了Bussgang類算法中的B-G算法,文獻[3]中設計的盲均衡器成功地用于數字有線電視(Digital Video Broadcasting-C,DVB-C)全數字正交幅度調制(Quadrature Amplitude Modulation,QAM)接收機,文獻[4]中在深入分析Bussgang盲均衡算法及其特例基礎上,給出了盲均衡系統的一種硬件并行實現結構并總結了硬件設計和實現中的重要問題,文獻[5]中研究了分數間隔常模均衡器(Fractionally Spaced Equalization-Constant Modulus Algorithm,FSE-CMA)的現場可編程門陣列(Field Prograrnmable Cate Array, FPGA)實現問題。上述盲均衡器硬件實現成本高、占用邏輯資源多,難以用FPGA直接進行硬件實現[6]。為了克服所述不足,設計一款具有信號解調功能的盲均衡器硬件實現方法是十分必要的。
本文采用1 kHz~20 MHz的差分移相鍵控(Differrential Phase Shift Keying, DPSK)信號作為輸入信號,通過加入信號解調模塊、改進分數間隔盲均衡(FSE-CMA)結構,以利FPGA硬件實現。在盲均衡器的FPGA硬件實現過程中,通過Matlab和modelsim仿真驗證可行性。最后,通過搭建硬件測試平臺進行級聯測試,驗證均衡效果。
FSE-CMA盲均衡器的實現方法有多種,如基于軟件平臺的實現和基于硬件平臺的實現。本文采用基于FPGA硬件平臺來實現FSE-CMA盲均衡器。基于該平臺的系統框架結構,如圖1所示。

圖1 FSE-CMA盲均衡器總體系統框架圖
加噪后的AD模擬信號由AD9236采樣,將得到12位的數字信號輸入至FPGA中[7];在FPGA芯片內部對信號進行數字下變頻處理,通過解調后得到基帶信號;再由FSE-CMA盲均衡模塊對基帶信號進行運算,運算結果通過DA芯片AD9744[8]輸出。Nios II嵌入式平臺由QSYS工具搭建,其外部擴展了256 MB同步動態原儲器(Synchronous dynamic random access memory, SDRAM)、64 MB串行FLASH芯片EPCS64。SDRAM用來臨時存放數據[9],EPCS64用來存儲本設計的所有算法程序[10]。
FSE-CMA盲均衡器的硬件電路主要由電源、FPGA、A/D轉換、D/A轉換等模塊等構成,如圖2所示。
考慮到價格因素[11],選用Cyclone系列的EP3C16Q240C8N芯片。該芯片共有15 408個邏輯單元,0.5 MB的RAM,160個I/O控制引腳,20個全局時鐘域,4個鎖相環,56個乘法器,具有低成本、低功耗、高性能的特點[12]。FPGA模塊有以下配置:系統時鐘由50 MHz的有源晶振提供;存儲模塊分為帶電可擦可編程只讀存儲器(Electrically Erasable Programmable Fead only memory, EEPROM)模塊和SDRAM模塊,EEPROM芯片采用的是64 MB的EPCS64I16N串行Flash,用于存儲程序;SDRAM芯片采用的是64 MB的 MT48LC4M16A2,用于臨時存儲圖片、字符等數據,方便FPGA調用;FPGA程序下載接口采用JTAG+PS配置兩種模式,與JTAG+AS配置模式相比,省去了一個程序下載接口,節約了PCB空間;程序下載接口與EPCS64I16N上的專用引腳連接,SDRAM的時鐘引腳與FPGA芯片的全局時鐘引腳連接,由PLL核產生時鐘信號,其余引腳均與I/O引腳連接。

圖2 硬件電路模塊連接圖
電源模塊與其余各個模塊息息相關。A/D芯片AD9236采用3.3 V電壓供電;D/A芯片AD9744采用3.3V電壓供電,參考值電壓1.2 V;FPGA芯片采用3.3、2.5、1.2 V 3種電壓供電。因此,電源模塊使用AMS1117-3.3、AMS1117-2.5、AMS1117-1.2 3塊穩壓芯片分別輸出3.3、2.5和1.2 V電壓。
該盲均衡器的程序由數字下變頻、DPSK信號解調、FSE-CMA盲均衡算法3部分組成。
數字下變頻采用級聯多階CIC濾波器的方式來處理。根據CIC濾波器原理,其實現結構可分為無反饋有限脈沖響應(Finite Impulse Response, FIR)結構及有反饋的無限脈沖響應(Infinite Impulse Response, IIR)結構。采用Noble恒等式原理,變換多級CIC濾波器結構需要采用IIR濾波器結構[13],如圖3所示。

圖3 多級CIC濾波器結構
在FPGA上設計抽取倍數為5的抽取系統,采用5階3級CIC濾波器,并對抽取系統進行仿真測試,系統輸入數據位寬為10 bit,系統時鐘與數據頻率相同。在設計該濾波器之前,還需解決濾波器運算過程中的字長問題。估算運算過程字長為
WI=Win+Nlb(MD)
(1)
式中:WI為CIC濾波器的中間字長;Win為輸入數據位寬;N為CIC濾波器的階數;M為系統抽取因子;D為濾波器的級數。
本設計中,濾波器階數N=5,系統抽取因子M=5,濾波器級數D=3,則中間字長需要39 bit。
本設計采用Costas環解調DPSK信號。Costas環解調DPSK信號原理,如圖4所示,它是由輸入信號分別乘以同相和正交兩路載波信號而得名。輸入信號的上、下支路分別乘以同相和正交載波后,分別通過低通濾波器;兩個低通濾波器輸出再相乘,就完成了鑒相功能;最后,環路濾波器輸出控制本地振蕩器的誤差電壓。

圖4 Costas環解調DPSK信號原理
在設計Costas環之前,需要設計低通濾波器、數字鑒相器和環路濾波器。
3.2.1 低通濾波器設計
低通濾波器的設計是載波同步環中的一個重點,關鍵在于如何確定濾波器的過渡帶及截止頻率。過渡帶帶寬的選擇原則:必須確保濾除相鄰的A/D鏡像頻率成分;需要濾除數字下變頻引入的倍頻分量[14]。根據采樣定理,A/D鏡像頻率的最小間隔公式為
Δfad=min[2f1-kfs,(k+1)fs-2fh]
(2)
式中:f1為輸入信號的下邊緣頻率;fh為輸入信號的上邊緣頻率;fs為采樣頻率; min[ ]表示取小操作。本設計中, Δfad=4.8 MHz。
數字下變頻引入倍頻分量的最低頻率為
fcddc=
min[-2f0+(m+1)fs,2f0-mfs]-Bf/2
(3)
式中:f0為載波頻率,Bf為輸入信號處理帶寬。本設計中,fcddc=8.4 MHz。
低通濾波器的截止頻率為
fc=min[fcddc,Bf/2+Δfad]
(4)
本設計中,式(4)中Bf=7.2 MHz,故fc=8.4 MHz。
由Matlab提供的凱撒窗函數進行設計,得到低通濾波器的頻率特性,如圖5所示。

3.2.2 數字鑒相器設計
數字鑒相器實際上是同相支路與正交支路的相乘運算,在FPGA實現過程中,乘法運算需要消耗大量的硬件資源,而且運算速度也會受限制。若只取同相支路的符號位作為過零檢測脈沖,并與正交支路進行異或運算,則會大大減少對硬件資源的消耗并提高運算速度。其實現如圖6所示。

圖6 數字鑒相器設計圖
3.2.3 環路濾波器設計
環路濾波器在Costas環中,不僅能低通濾波,而且對環路參數調整起著決定作用[15]。其結構如圖7所示。

圖7 環路濾波器結構
由圖7可得,數字化系統函數為:
(5)
對于載波同步環路來說,環路中最重要的參數有:自然角頻率ωn、阻尼系數ξ、環路總增益K。工程設計中,ξ通常取0.707,K通常取接近于1的值,它們之間的關系為:
(6)
且要求ωn/fs<0.1、(S/N)L>6,i為輸入。
設計中,由Bi=12,fs=16得,70.72 rad·kHz<ωn<1 053 rad·kHz。又根據ωn/fs<0.1,得,ωn<1.6×106rad/s=254.65 rad·kHz。為兼顧穩態相差及快捕帶寬,本設計中ωn=150 rad·kHz、濾波器長度為38、系數絕對值之和為768,這時,濾波器輸出需增加13 bit位寬。而鎖相環路總增益為
(7)
可容易計算出,符合本設計的環路總增益為0.785 4。環路濾波器中C1、C2分別為
C1=2ξωnT/K
(8)
C2=(ωnT)2/K
(9)
代入已知量到式(8)、(9)中,計算得C1=0.002=2-9,C2=0.062 5=2-4。
3.2.4 Costas環的FPGA實現
Costas環的RTL圖,如圖8所示。圖8表明,本設計Costas環有:DDS、2個乘法器、2個低通濾波器和一個鑒相及環路濾波器等模塊組成。DDS模塊由NCO核生成;乘法器模塊由乘法器核直接生成,兩路輸入分別為8 bit和10 bit有符號數,輸出保留所有有效位;低通濾波器由FIR核生成,其參數為上述設計的低通濾波器參數。

圖8 Costas環的RTL圖
3.3.1 濾波器結構改進
常規型濾波器結構[16]如圖9所示。圖9中,粗線表示該濾波器的延遲路徑,延遲路徑上的運算單元包括1個乘法器和N-1個加法器,如8階濾波器有1個乘法器和7個加法器。可見,常規濾波器結構的計算延遲隨濾波器階數的增加而增加,這嚴重影響均衡器效果。

圖9 常規型濾波器結構
將常規型濾波器結構改造為具有流水線式高速結構,就除去了關鍵路徑上的單位延時。改進后的8階濾波器結構,如圖10所示。圖10表明,改進的8階濾波器的延遲路徑上有1個乘法器,但只有4個加法器;與8階常規濾波器結構相比,減少了3個加法器。也就是說,對于N階濾波器而言,改進后加法器數量為logN,大大縮短了計算所消耗的時間。

圖10 改進后的8階改進型濾波器結構
3.3.2 FSE-CMA的組成模塊
FSE-CMA的組成模塊,如圖11所示。
(1) 總控模塊。 該模塊控制系統的工作狀態,是系統的核心,主要為各模塊提供全局控制信號、初始化各個模塊并啟動均衡器。
(2) 輸入信號延時模塊。 該模塊對輸入信號進行延時存儲;在輸入時鐘上升沿將輸入信號向量輸入到輸出計算模塊和誤差計算模塊中。

圖11 FSE-CMA的組成
(3) 輸出計算模塊。 該模塊由乘法器、加法器、平方器和截位器組成,由其對輸入信號向量與相應子均衡器的各個抽頭系數進行乘法、加法、平方和截位運算,以得到均衡器輸出信號z(n)。
(4) 誤差計算模塊。該模塊用于計算FSE-CMA更新方程fn+1=fn-μz(n)r(n)(|z(n)|2-1)中誤差信號向量μz(n)r(n)(|z(n)|2-1)。計算過程如下:
均衡器輸出z(n)由平方器計算|z(n)|2并減1,得到|z(n)|2-1,同時均衡器輸入信號向量r(n)通過乘法器與z(n)相乘得到向量z(n)r(n);再將|z(n)|2-1與向量z(n)r(n)相乘,得到z(n)r(n)(|z(n)|2-1)后乘以步長因子μ;最終,得到誤差信號向量μz(n)r(n)(|z(n)|2-1)。該計算無須消耗時鐘,簡化了設計,提高了系統的處理速度。
(5) 抽頭系數調整模塊。 該模塊完成均衡器抽頭系數的更新運算。均衡器的抽頭系數向量fn存儲在寄存器中,誤差計算模塊輸出誤差向量信號μz(n)r(n)(|z(n)|2-1)與寄存器中當前抽頭系數向量fn對應相減,得到新的均衡器抽頭向量系數fn+1。待到下一個輸入時鐘上升沿被觸發,fn+1與新的輸入信號向量rn+1相乘,進行下一次迭代過程。
3.3.3 FSE-CMA的抽頭系數更新過程
T/2分數間隔均衡器的實現框圖,如圖12所示。

圖12T/2間隔的FSE-CMA實現框圖
計算步驟如下:

步驟2均衡器輸出z(n)平方后和常數1相減,得中間變量A。與此同時,均衡器輸入向量rn的每一個分量與z(n)相乘,得中間變量B;
步驟3A、B相乘后,再乘步長因子μ,得中間變量C,這里取2的整數次方;
步驟4C與抽頭系數fn的每一個分量對應相減,得新抽頭向量fn+1;
步驟5新抽頭系數向量再與下一個均衡器輸入向量重復進行步驟1~4操作,如此循環就實現了均衡過程。
3.3.4 FSE-CMA盲均衡器軟件總體系統
該盲均衡器軟件總體系統接口,如圖13所示。圖中,Clk表示模塊時鐘信號接口,與PLL提供的時鐘信號相連接;Reset表示模塊復位信號接口;Enable表示模塊使能信號接口,因為該模塊不間斷工作,因此該接口維持高電平以持續工作;Data_in[13..0]表示輸入信號接口,與DPSK信號解調模塊的輸出端相連;Data_out[13..0]表示輸出信號接口,與D/A模塊相連。

圖13 盲均衡器總體系統接口圖
該盲均衡器的硬件平臺,如圖14所示。

圖14 盲均衡器硬件平臺
測試平臺搭建效果,如圖15所示。該平臺由高階調制信號發生器、衛星信道模擬器、盲均衡器和示波器組成。其中,高階調制信號發生器、衛星信道模擬器均由本團隊研發,示波器采用DS4052。
該盲均衡器編譯報表,如圖16所示。

圖15 測試平臺搭建

圖16 盲均衡器編譯報表
圖16表明,FPGA完成FSE-CMA盲均衡器的計算需要消耗4 342個邏輯資源、占用2 877個寄存器、占用73 088 bit存儲容量。
DPSK信號解調模塊仿真,如圖17所示。圖中,df表示收斂情況,di為同相支路輸出結果,dq為正交支路輸出結果。
FSE-CMA盲均衡器模塊仿真結果如圖18所示。Xin為輸入信號,clk為FPGA整體時鐘信號,clk_data為FSE-CMA盲均衡模塊時鐘信號,rst為復位信號,Error為誤差收斂信號。圖19顯示了FPGA仿真和Matlab仿真的誤差收斂情況。該圖表明,兩種仿真的誤差收斂速度基本相同。也就是說,基于FPGA的FSE-CMA實現結果能滿足要求。
實際測試結果,如圖20所示。使用信號發生器產生600 kHz的DPSK信號,如圖20(a)所示,將此信號輸入衛星信道模擬器。模擬器產生50 dB的高斯白噪聲,如圖20(b)所示,隨后將信號輸出至盲均衡器。盲均衡器經過解調和均衡后,得到輸出波形,如圖20(c)所示。

圖17 DPSK信號解調模塊仿真結果

圖18 FSE-CMA模塊仿真結果


圖19 FPGA仿真與Matlab仿真誤差收斂情況

圖20 輸入DPSK信號實際測試結果
本文研究了FSE-CMA盲均衡器的硬件實現問題。在研究中給出了DPSK信號解調模塊和FSE-CMA盲均衡算法模塊的設計思路。以1 kHz~20 MHz的DPSK信號作為輸入信號,設計了盲均衡器硬件結構和PCB結構;利用Verilog HDL語言進行了實現,編譯成功后得到了完成該實現所需占用的邏輯資源數和儲存空間;將Matlab和modelsim仿真相結合,給出了兩種仿真結果;通過高階調制信號發生器、衛星信道模擬器以及示波器級聯測試,驗證了均衡效果。