文獻標識碼: A
文章編號: 0258-7998(2014)07-0033-04
在無線通信中,由于受多徑效應、噪聲、衰落等的影響,接收端信號不可避免地存在碼間干擾,這樣會限制無線通信系統(tǒng)的最大傳輸率,并導致接收端產生較大的誤碼率。均衡器可以消除碼間干擾,但自適應均衡器具有三大局限性:(1)在多點無線網絡通信中,如果發(fā)送的周期性訓練序列被中斷,將導致無法通信;(2)發(fā)送周期性的訓練序列增加了系統(tǒng)傳輸的額外開銷,降低了傳輸效率;(3)在一些特殊環(huán)境,接收端根本不可能得到發(fā)送端的訓練序列[1]?;谝陨显颍蕴岢隽?a class="innerlink" href="http://ihrv.cn/tags/盲均衡器" title="盲均衡器" target="_blank">盲均衡器。本文采用QPSK和16QAM兩種調制方式,使用System Generator軟件對其進行設計。首先在Simulink下對MCMA算法進行浮點建模仿真,再利用Xilinx公司模塊進行定點仿真,而后由定點仿真模型直接生成FPGA代碼,最后下載到芯片中進行測試。
1 MCMA盲均衡原理
恒模算法(CMA)是一種在實際生活中廣泛應用的盲均衡算法[2-4],但是CMA算法存在著信號收斂速度慢、剩余誤差大和相位偏移等局限性。因此,修正恒模算法(MCMA)被提出。MCMA算法[5]將信號的虛部和實部分開進行處理,對信號的虛部和實部分別進行均衡,使其信號中含有相位信息,這樣可以有效地對信道引起的相位偏移進行補償,使星座圖輸出變正。
2 盲均衡器設計
2.1 總體結構
本文利用xc7z020-1clg484芯片實現MCMA算法盲均衡器,由于芯片資源比較豐富,采用了自上而下的設計方法,并采用流水線技術和并行結構。將總體結構按功能分成濾波器模塊、誤差計算模塊、系更新模塊、數據延遲模塊4個模塊,并分別對模塊進行設計。盲均衡器總體結構圖如圖1所示。
2.2 數據延遲模塊設計
數據延遲模塊的輸入信號有I路和Q路,I路代表信號的虛部,Q路代表信號的實部,每一路都是16 bit并行輸入,1 bit為符號位,其余15 bit為小數位的數據。數據延遲模塊的結構示意圖如圖2所示。由于后面設計的濾波器模塊要采用并行結構,完成濾波器輸入信號與所有抽頭系數的相乘,所以數據延遲模塊將均衡器輸入信號(Qdata和Idata)的所有延遲信號(Qdata0~Qdata12和Idata0~Idata12)并行輸出,并將它們輸入到濾波器模塊的輸入端,用于和相應的抽頭系數進行并行相乘。同時,這26路并行數據還將輸入到系數更新模塊,完成所有抽頭系數的并行更新。
2.3 濾波器模塊設計
濾波器的子模塊如圖3所示。濾波器模塊的輸入信號一部分是來自數據延遲模塊輸出的均衡器輸入信號的各延遲信號(Qdata0~Qdata12)和(Idata0~Idata12),這部分信號的數據寬度為16 bit,1 bit為符號位,其余15 bit為小數位的數據。由于濾波器的抽頭系數是不斷更新的,所以該模塊還有一部分輸入信號來自系數更新模塊更新后的抽頭系數,用于與相應的輸入信號相乘完成卷積運算,這部分信號的數據寬度為16 bit,其中1 bit為符號位,1 bit為整數位,其余14 bit為小數位。濾波器模塊由4路13階FIR濾波器(QFIR0、QFIR1、IFIR0、IFIR1),一個減法器和一個加法器構成。在本文中,QFIR0、QFIR1、IFIR0和IFIR1采用相同的并行流水線濾波器結構。Qdata0~Qdata12和Idata0~Idata12經過濾波器模塊處理后,IFR0和QFR1信號相減得到虛部輸出信號Y_I(n),QFIR0和IFR1信號相加得到實部輸出信號Y_Q(n)。這兩路信號的數據位寬都是36 bit,其中1 bit為符號位,5 bit為整數位,其余30 bit為小數位的數據。這兩路信號既要作為盲均衡器的輸出信號,又要經過截取并重新定義,作為誤差模塊的輸入信號。
2.4 誤差模塊設計
誤差模塊由虛部和實部誤差模塊構成,兩個模塊結構相同,其中MCMA誤差計算虛部模塊的結構圖如圖4所示。MCMA誤差計算模塊中主要包含數據的截取、重新定義、減法器和乘法器。根據定點仿真得出的結果,需要首先對濾波器模塊的虛部輸出信號Y_I(n)和實部輸出信號Y_Q(n)進行數據截取,截取為16 bit數據,舍棄低20位。再重新定義為1 bit為符號位、5 bit為整數位、10 bit為小數位的數據。這兩個信號經過取模后,分別輸入到16 bit×16 bit的硬核乘法器中,得到32 bit的絕對值的平方,再將得到的數據與32 bit減法器中的常模值相減,最后送到32 bit×16 bit的硬核乘法器中相乘,舍棄低24 bit,重新定義為1 bit為符號位、17 bit為整數位、其余6 bit為小數位的數據,便得到MCMA算法虛部的誤差信號。
2.5 系數更新模塊設計
系數更新模塊主要由1個數據延時模塊、13個系數增量模塊、13個新系數計算模塊構成。由于整個盲均衡器輸入信號比輸出信號晚16個時鐘周期,為了使誤差信號與輸入信號同時輸入到系數增量模塊,這里與輸入信號的信號延遲模塊有點不同,需要延遲16個時鐘周期。系數更新模塊都對應一個系數增量模塊,如圖5所示,因此需要調用該模塊13次,濾波器的每個系數也都對應一個新系數計算模塊,如圖6所示。所以新系數計算模塊也需要調用13次,才能完成所有的運算并輸出更新后的濾波系數。
3 仿真和實現結果
本文采用Xilinx公司的System Generator軟件[6]進行硬件協(xié)同仿真,如圖7所示,實際上就是PC和開發(fā)板的協(xié)同仿真,把硬件模塊下載到開發(fā)板中進行仿真,硬件模塊和PC共享存儲器交換數據。協(xié)同仿真參數設置如下:信源采用功率歸一化的16QAM[7]和QPSK信號,信噪比為25 dB,步長為0.002,信道參數為[1,0,0.299 7,0,0,-0.003 6],該信道的頻率響應起伏較大。MCMA均衡器采用中心抽頭[8]初始化,將I路信號中第7路的抽頭系數設為1,其他抽頭系數設為0,長度為13,采樣間隔時間為1/1 000 s。
在ISE軟件對整個工程文件進行綜合、轉換、映射、布局布線后,得到的靜態(tài)時間報告如表1所示。從中可以看出,輸入速率達到67 Mb/s。16QAM和QPSK信號經過信道衰減、噪聲過后,均衡前的星座圖如圖8和圖9所示;硬件協(xié)同仿真后,均衡星座圖如圖10和圖11所示。從圖8~圖11可以看出,MCMA算法設計是有效的,均衡信號的同時還糾正了相位偏移。
在無線非協(xié)作通信中,盲均衡器是非常關鍵的信號處理單元,消耗硬件資源很大。本文基于System Generator軟件,闡述了MCMA算法[9]的實現過程,通過優(yōu)化Xilinx公司模塊的參數配置,合理地利用xc7z020-1clg484芯片的資源,實現了高速盲均衡器,使輸入速度達到67 Mb/s。與傳統(tǒng)設計方法相比,提高了設計效率,對當前和今后復雜、高速的信號處理單元設計有一定借鑒意義。
參考文獻
[1] 許玲,蔣文軍.一種用于數字QAM接收機的盲均衡器實現[J].電視技術,2003(12):13-16.
[2] 尹曉璐.基于FPGA的信道均衡器的設計與實現[D].成都:電子科技大學,2005.
[3] 孫蘭清,葛臨東,劉鋒.常模類盲均衡算法的研究[J].電視技術,2006(10):10-14.
[4] JOHNSON C R,SCHNITER P,ENDRES T J,et al.Blind equalization using the constant modulus criterion:a review[J].Proceedings of the IEEE,1998,86(10):1927-1950.
[5] 何振亞.自適應信號處理[M].北京:科學出版社,2002.
[6] 田耘,胡彬,徐文波,等.Xilinx ISE Design Suite 10.x FPGA開發(fā)指南[M].北京:人民郵電出版社,2008.
[7] 王松濤,王波.高性能數字電視QAM均衡器的VLSI結構設計[J].電視技術,2008(32):14-17.
[8] BENVENISTE A,GOURSAT M.Bind equalizers[J].IEEE Trans.on Commun.,1984,32(8):871-883.
[9] ZHANG X,ZHUO D F.A modified blind equalization algorithm based on kurtosis of output signal[C].Proceedings of IEEE 2004 Conference on Radio Science.Qingdao:[s.n.],
2004:228-231.