基于System Generator实现高速盲均衡器设计并阐述了MCMA算法的实现过程

基于System Generator实现高速盲均衡器设计并阐述了MCMA算法的实现过程,第1张

摘 要: 基于System Generator软件,在xc7z020-1clg484芯片上设计了一种高速盲均衡器。该盲均衡器由延迟模块、滤波模块、误差计算模块和系数更新模块构成,采用MCMA算法,使用并行结构和流水线技术。其数据位宽为16 bit,阶数为13阶,能够对16QAM和QPSK信号进行均衡,输入速率达到67 Mb/s。硬件协同仿真结果表明,该高速盲均衡器是有效的。

无线通信中,由于受多径效应、噪声、衰落等的影响,接收端信号不可避免地存在码间干扰,这样会限制无线通信系统的最大传输率,并导致接收端产生较大的误码率。均衡器可以消除码间干扰,但自适应均衡器具有三大局限性:(1)在多点无线网络通信中,如果发送的周期性训练序列被中断,将导致无法通信;(2)发送周期性的训练序列增加了系统传输的额外开销,降低了传输效率;(3)在一些特殊环境,接收端根本不可能得到发送端的训练序列[1]。基于以上原因,所以提出了盲均衡器。本文采用QPSK和16QAM两种调制方式,使用System Generator软件对其进行设计。首先在Simulink下对MCMA算法进行浮点建模仿真,再利用Xilinx公司模块进行定点仿真,而后由定点仿真模型直接生成FPGA代码,最后下载到芯片中进行测试

1 MCMA盲均衡原理

恒模算法(CMA)是一种在实际生活中广泛应用的盲均衡算法[2-4],但是CMA算法存在着信号收敛速度慢、剩余误差大和相位偏移等局限性。因此,修正恒模算法(MCMA)被提出。MCMA算法[5]将信号的虚部和实部分开进行处理,对信号的虚部和实部分别进行均衡,使其信号中含有相位信息,这样可以有效地对信道引起的相位偏移进行补偿,使星座图输出变正。

基于System Generator实现高速盲均衡器设计并阐述了MCMA算法的实现过程,基于System Generator实现高速盲均衡器设计并阐述了MCMA算法的实现过程,第2张

基于System Generator实现高速盲均衡器设计并阐述了MCMA算法的实现过程,基于System Generator实现高速盲均衡器设计并阐述了MCMA算法的实现过程,第3张

2 盲均衡器设计

2.1 总体结构
本文利用xc7z020-1clg484芯片实现MCMA算法盲均衡器,由于芯片资源比较丰富,采用了自上而下的设计方法,并采用流水线技术和并行结构。将总体结构按功能分成滤波器模块、误差计算模块、系更新模块、数据延迟模块4个模块,并分别对模块进行设计。盲均衡器总体结构图如图1所示。

基于System Generator实现高速盲均衡器设计并阐述了MCMA算法的实现过程,盲均衡器总体结构图,第4张

2.2 数据延迟模块设计
数据延迟模块的输入信号有I路和Q路,I路代表信号的虚部,Q路代表信号的实部,每一路都是16 bit并行输入,1 bit为符号位,其余15 bit为小数位的数据。数据延迟模块的结构示意图如图2所示。由于后面设计的滤波器模块要采用并行结构,完成滤波器输入信号与所有抽头系数的相乘,所以数据延迟模块将均衡器输入信号(Qdata和Idata)的所有延迟信号(Qdata0~Qdata12和Idata0~Idata12)并行输出,并将它们输入到滤波器模块的输入端,用于和相应的抽头系数进行并行相乘。同时,这26路并行数据还将输入到系数更新模块,完成所有抽头系数的并行更新。

基于System Generator实现高速盲均衡器设计并阐述了MCMA算法的实现过程,数据延迟模块的结构示意图,第5张

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为小数位的数据。这两路信号既要作为盲均衡器的输出信号,又要经过截取并重新定义,作为误差模块的输入信号。

基于System Generator实现高速盲均衡器设计并阐述了MCMA算法的实现过程,滤波器的子模块,第6张

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2645414.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-12
下一篇 2022-08-12

发表评论

登录后才能评论

评论列表(0条)

保存