郭業(yè)才, 李 峰, 萬逸儒, 胡 崢
(1. 南京信息工程大學 電子與信息工程學院, 南京 210044; 2. 南京信息工程大學 濱江學院, 江蘇 無錫 214105)
近年來,隨著無線通信技術的快速發(fā)展,盲自適應均衡器的設計與實現(xiàn)研究成為重點關注的課題[1]。文獻[2]中設計的盲均衡器實現(xiàn)了Bussgang類算法中的B-G算法,文獻[3]中設計的盲均衡器成功地用于數(shù)字有線電視(Digital Video Broadcasting-C,DVB-C)全數(shù)字正交幅度調制(Quadrature Amplitude Modulation,QAM)接收機,文獻[4]中在深入分析Bussgang盲均衡算法及其特例基礎上,給出了盲均衡系統(tǒng)的一種硬件并行實現(xiàn)結構并總結了硬件設計和實現(xiàn)中的重要問題,文獻[5]中研究了分數(shù)間隔常模均衡器(Fractionally Spaced Equalization-Constant Modulus Algorithm,F(xiàn)SE-CMA)的現(xiàn)場可編程門陣列(Field Prograrnmable Cate Array, FPGA)實現(xiàn)問題。上述盲均衡器硬件實現(xiàn)成本高、占用邏輯資源多,難以用FPGA直接進行硬件實現(xiàn)[6]。為了克服所述不足,設計一款具有信號解調功能的盲均衡器硬件實現(xiàn)方法是十分必要的。
本文采用1 kHz~20 MHz的差分移相鍵控(Differrential Phase Shift Keying, DPSK)信號作為輸入信號,通過加入信號解調模塊、改進分數(shù)間隔盲均衡(FSE-CMA)結構,以利FPGA硬件實現(xiàn)。在盲均衡器的FPGA硬件實現(xiàn)過程中,通過Matlab和modelsim仿真驗證可行性。最后,通過搭建硬件測試平臺進行級聯(lián)測試,驗證均衡效果。
FSE-CMA盲均衡器的實現(xiàn)方法有多種,如基于軟件平臺的實現(xiàn)和基于硬件平臺的實現(xiàn)。本文采用基于FPGA硬件平臺來實現(xiàn)FSE-CMA盲均衡器。基于該平臺的系統(tǒng)框架結構,如圖1所示。
圖1 FSE-CMA盲均衡器總體系統(tǒng)框架圖
加噪后的AD模擬信號由AD9236采樣,將得到12位的數(shù)字信號輸入至FPGA中[7];在FPGA芯片內部對信號進行數(shù)字下變頻處理,通過解調后得到基帶信號;再由FSE-CMA盲均衡模塊對基帶信號進行運算,運算結果通過DA芯片AD9744[8]輸出。Nios II嵌入式平臺由QSYS工具搭建,其外部擴展了256 MB同步動態(tài)原儲器(Synchronous dynamic random access memory, SDRAM)、64 MB串行FLASH芯片EPCS64。SDRAM用來臨時存放數(shù)據(jù)[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個鎖相環(huán),56個乘法器,具有低成本、低功耗、高性能的特點[12]。FPGA模塊有以下配置:系統(tǒng)時鐘由50 MHz的有源晶振提供;存儲模塊分為帶電可擦可編程只讀存儲器(Electrically Erasable Programmable Fead only memory, EEPROM)模塊和SDRAM模塊,EEPROM芯片采用的是64 MB的EPCS64I16N串行Flash,用于存儲程序;SDRAM芯片采用的是64 MB的 MT48LC4M16A2,用于臨時存儲圖片、字符等數(shù)據(jù),方便FPGA調用;FPGA程序下載接口采用JTAG+PS配置兩種模式,與JTAG+AS配置模式相比,省去了一個程序下載接口,節(jié)約了PCB空間;程序下載接口與EPCS64I16N上的專用引腳連接,SDRAM的時鐘引腳與FPGA芯片的全局時鐘引腳連接,由PLL核產(chǎn)生時鐘信號,其余引腳均與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塊穩(wěn)壓芯片分別輸出3.3、2.5和1.2 V電壓。
該盲均衡器的程序由數(shù)字下變頻、DPSK信號解調、FSE-CMA盲均衡算法3部分組成。
數(shù)字下變頻采用級聯(lián)多階CIC濾波器的方式來處理。根據(jù)CIC濾波器原理,其實現(xiàn)結構可分為無反饋有限脈沖響應(Finite Impulse Response, FIR)結構及有反饋的無限脈沖響應(Infinite Impulse Response, IIR)結構。采用Noble恒等式原理,變換多級CIC濾波器結構需要采用IIR濾波器結構[13],如圖3所示。
圖3 多級CIC濾波器結構
在FPGA上設計抽取倍數(shù)為5的抽取系統(tǒng),采用5階3級CIC濾波器,并對抽取系統(tǒng)進行仿真測試,系統(tǒng)輸入數(shù)據(jù)位寬為10 bit,系統(tǒng)時鐘與數(shù)據(jù)頻率相同。在設計該濾波器之前,還需解決濾波器運算過程中的字長問題。估算運算過程字長為
WI=Win+Nlb(MD)
(1)
式中:WI為CIC濾波器的中間字長;Win為輸入數(shù)據(jù)位寬;N為CIC濾波器的階數(shù);M為系統(tǒng)抽取因子;D為濾波器的級數(shù)。
本設計中,濾波器階數(shù)N=5,系統(tǒng)抽取因子M=5,濾波器級數(shù)D=3,則中間字長需要39 bit。
本設計采用Costas環(huán)解調DPSK信號。Costas環(huán)解調DPSK信號原理,如圖4所示,它是由輸入信號分別乘以同相和正交兩路載波信號而得名。輸入信號的上、下支路分別乘以同相和正交載波后,分別通過低通濾波器;兩個低通濾波器輸出再相乘,就完成了鑒相功能;最后,環(huán)路濾波器輸出控制本地振蕩器的誤差電壓。
圖4 Costas環(huán)解調DPSK信號原理
在設計Costas環(huán)之前,需要設計低通濾波器、數(shù)字鑒相器和環(huán)路濾波器。
3.2.1 低通濾波器設計
低通濾波器的設計是載波同步環(huán)中的一個重點,關鍵在于如何確定濾波器的過渡帶及截止頻率。過渡帶帶寬的選擇原則:必須確保濾除相鄰的A/D鏡像頻率成分;需要濾除數(shù)字下變頻引入的倍頻分量[14]。根據(jù)采樣定理,A/D鏡像頻率的最小間隔公式為
Δfad=min[2f1-kfs,(k+1)fs-2fh]
(2)
式中:f1為輸入信號的下邊緣頻率;fh為輸入信號的上邊緣頻率;fs為采樣頻率; min[ ]表示取小操作。本設計中, Δfad=4.8 MHz。
數(shù)字下變頻引入倍頻分量的最低頻率為
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提供的凱撒窗函數(shù)進行設計,得到低通濾波器的頻率特性,如圖5所示。
3.2.2 數(shù)字鑒相器設計
數(shù)字鑒相器實際上是同相支路與正交支路的相乘運算,在FPGA實現(xiàn)過程中,乘法運算需要消耗大量的硬件資源,而且運算速度也會受限制。若只取同相支路的符號位作為過零檢測脈沖,并與正交支路進行異或運算,則會大大減少對硬件資源的消耗并提高運算速度。其實現(xiàn)如圖6所示。
圖6 數(shù)字鑒相器設計圖
3.2.3 環(huán)路濾波器設計
環(huán)路濾波器在Costas環(huán)中,不僅能低通濾波,而且對環(huán)路參數(shù)調整起著決定作用[15]。其結構如圖7所示。
圖7 環(huán)路濾波器結構
由圖7可得,數(shù)字化系統(tǒng)函數(shù)為:
(5)
對于載波同步環(huán)路來說,環(huán)路中最重要的參數(shù)有:自然角頻率ωn、阻尼系數(shù)ξ、環(huá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。又根據(jù)ωn/fs<0.1,得,ωn<1.6×106rad/s=254.65 rad·kHz。為兼顧穩(wěn)態(tài)相差及快捕帶寬,本設計中ωn=150 rad·kHz、濾波器長度為38、系數(shù)絕對值之和為768,這時,濾波器輸出需增加13 bit位寬。而鎖相環(huán)路總增益為
(7)
可容易計算出,符合本設計的環(huán)路總增益為0.785 4。環(huán)路濾波器中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環(huán)的FPGA實現(xiàn)
Costas環(huán)的RTL圖,如圖8所示。圖8表明,本設計Costas環(huán)有:DDS、2個乘法器、2個低通濾波器和一個鑒相及環(huán)路濾波器等模塊組成。DDS模塊由NCO核生成;乘法器模塊由乘法器核直接生成,兩路輸入分別為8 bit和10 bit有符號數(shù),輸出保留所有有效位;低通濾波器由FIR核生成,其參數(shù)為上述設計的低通濾波器參數(shù)。
圖8 Costas環(huán)的RTL圖
3.3.1 濾波器結構改進
常規(guī)型濾波器結構[16]如圖9所示。圖9中,粗線表示該濾波器的延遲路徑,延遲路徑上的運算單元包括1個乘法器和N-1個加法器,如8階濾波器有1個乘法器和7個加法器??梢?,常規(guī)濾波器結構的計算延遲隨濾波器階數(shù)的增加而增加,這嚴重影響均衡器效果。
圖9 常規(guī)型濾波器結構
將常規(guī)型濾波器結構改造為具有流水線式高速結構,就除去了關鍵路徑上的單位延時。改進后的8階濾波器結構,如圖10所示。圖10表明,改進的8階濾波器的延遲路徑上有1個乘法器,但只有4個加法器;與8階常規(guī)濾波器結構相比,減少了3個加法器。也就是說,對于N階濾波器而言,改進后加法器數(shù)量為logN,大大縮短了計算所消耗的時間。
圖10 改進后的8階改進型濾波器結構
3.3.2 FSE-CMA的組成模塊
FSE-CMA的組成模塊,如圖11所示。
(1) 總控模塊。 該模塊控制系統(tǒng)的工作狀態(tài),是系統(tǒng)的核心,主要為各模塊提供全局控制信號、初始化各個模塊并啟動均衡器。
(2) 輸入信號延時模塊。 該模塊對輸入信號進行延時存儲;在輸入時鐘上升沿將輸入信號向量輸入到輸出計算模塊和誤差計算模塊中。
圖11 FSE-CMA的組成
(3) 輸出計算模塊。 該模塊由乘法器、加法器、平方器和截位器組成,由其對輸入信號向量與相應子均衡器的各個抽頭系數(shù)進行乘法、加法、平方和截位運算,以得到均衡器輸出信號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)。該計算無須消耗時鐘,簡化了設計,提高了系統(tǒng)的處理速度。
(5) 抽頭系數(shù)調整模塊。 該模塊完成均衡器抽頭系數(shù)的更新運算。均衡器的抽頭系數(shù)向量fn存儲在寄存器中,誤差計算模塊輸出誤差向量信號μz(n)r(n)(|z(n)|2-1)與寄存器中當前抽頭系數(shù)向量fn對應相減,得到新的均衡器抽頭向量系數(shù)fn+1。待到下一個輸入時鐘上升沿被觸發(fā),fn+1與新的輸入信號向量rn+1相乘,進行下一次迭代過程。
3.3.3 FSE-CMA的抽頭系數(shù)更新過程
T/2分數(shù)間隔均衡器的實現(xiàn)框圖,如圖12所示。
圖12T/2間隔的FSE-CMA實現(xiàn)框圖
計算步驟如下:
步驟2均衡器輸出z(n)平方后和常數(shù)1相減,得中間變量A。與此同時,均衡器輸入向量rn的每一個分量與z(n)相乘,得中間變量B;
步驟3A、B相乘后,再乘步長因子μ,得中間變量C,這里取2的整數(shù)次方;
步驟4C與抽頭系數(shù)fn的每一個分量對應相減,得新抽頭向量fn+1;
步驟5新抽頭系數(shù)向量再與下一個均衡器輸入向量重復進行步驟1~4操作,如此循環(huán)就實現(xiàn)了均衡過程。
3.3.4 FSE-CMA盲均衡器軟件總體系統(tǒng)
該盲均衡器軟件總體系統(tǒng)接口,如圖13所示。圖中,Clk表示模塊時鐘信號接口,與PLL提供的時鐘信號相連接;Reset表示模塊復位信號接口;Enable表示模塊使能信號接口,因為該模塊不間斷工作,因此該接口維持高電平以持續(xù)工作;Data_in[13..0]表示輸入信號接口,與DPSK信號解調模塊的輸出端相連;Data_out[13..0]表示輸出信號接口,與D/A模塊相連。
圖13 盲均衡器總體系統(tǒng)接口圖
該盲均衡器的硬件平臺,如圖14所示。
圖14 盲均衡器硬件平臺
測試平臺搭建效果,如圖15所示。該平臺由高階調制信號發(fā)生器、衛(wèi)星信道模擬器、盲均衡器和示波器組成。其中,高階調制信號發(fā)生器、衛(wèi)星信道模擬器均由本團隊研發(fā),示波器采用DS4052。
該盲均衡器編譯報表,如圖16所示。
圖15 測試平臺搭建
圖16 盲均衡器編譯報表
圖16表明,F(xiàn)PGA完成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實現(xiàn)結果能滿足要求。
實際測試結果,如圖20所示。使用信號發(fā)生器產(chǎn)生600 kHz的DPSK信號,如圖20(a)所示,將此信號輸入衛(wèi)星信道模擬器。模擬器產(chǎn)生50 dB的高斯白噪聲,如圖20(b)所示,隨后將信號輸出至盲均衡器。盲均衡器經(jīng)過解調和均衡后,得到輸出波形,如圖20(c)所示。
圖17 DPSK信號解調模塊仿真結果
圖18 FSE-CMA模塊仿真結果
圖19 FPGA仿真與Matlab仿真誤差收斂情況
圖20 輸入DPSK信號實際測試結果
本文研究了FSE-CMA盲均衡器的硬件實現(xiàn)問題。在研究中給出了DPSK信號解調模塊和FSE-CMA盲均衡算法模塊的設計思路。以1 kHz~20 MHz的DPSK信號作為輸入信號,設計了盲均衡器硬件結構和PCB結構;利用Verilog HDL語言進行了實現(xiàn),編譯成功后得到了完成該實現(xiàn)所需占用的邏輯資源數(shù)和儲存空間;將Matlab和modelsim仿真相結合,給出了兩種仿真結果;通過高階調制信號發(fā)生器、衛(wèi)星信道模擬器以及示波器級聯(lián)測試,驗證了均衡效果。