当前位置:首考文秘网>范文大全 > 公文范文 > 恒模算法的仿真分析与FPGA实现

恒模算法的仿真分析与FPGA实现

时间:2023-06-26 12:20:03 公文范文 来源:网友投稿

摘 要 介绍了恒模算法的原理,并用matlab仿真了在多径环境和群时延情况下恒模算法的均衡结果,通过分析均衡前后的星座图、误码率以及群时延曲线,验证了恒模算法可以减小由多径效应和群时延造成的码间干扰。最后给出了恒模算法的FPGA实现。

关键词 恒模算法;多径效应;群时延;FPGA

中图分类号:TN763 文献标识码:A 文章编号:1671-7597(2014)01-0058-02

在高速无线通信系统中,多径效应和窄带滤波器的群时延效应会导致数据传输时不可避免的产生码间干扰,并且随着通信速率的提高,这种影响越来越大,成为影响通信质量的主要因素。为了提高通信质量,减小码间干扰,在接收端通常采用均衡器来消除信道和窄带滤波器对通信系统的影响。

无需训练序列的均衡器称为盲均衡。盲均衡在没有关于信道任何先验知识和训练序列的情况下,仅仅利用所接收到的信号序列即可对信道均衡而获得了广泛的应用。本文选择了一种易于FPGA实现的盲均衡算法——恒模算法(CMA:Constant Modulus Algorithm)。

1 CMA算法原理

CMA均衡器实质上就是一个滤波器,它Godard算法的一个特例,通过调节均衡器的抽头增益使代价函数最小,从而减小接收端信号之间干扰,从而消除多径效应和群时延效应的影响。系统的盲均衡的原理图如图1所示。

图1 盲均衡原理图

图1中假设均衡器为一个抽头为2N+1的滤波器。经过均衡器后的输出数据表达式如公式(1)所示:

(1)

公式(1)中xk为时刻k均衡器的输入数值,yk为时刻k均衡器的输出数值,wik为均衡器经过k次调整后均衡器的第i个抽头系数。公式(1)中均衡器抽头系数更新如公式(2)所示。

(2)

其中,µ为算法迭代步长,通常取一较小的正实数,e(n)为算法误差函数。误差函数定义如公式(3)所示。

(3)

均衡器抽头系数通过误差函数进行调整。公式(3)中R2是一常数,定义如公式(4)所示。

(4)

公式(4)中为理想的基带输入信号。如果发射信号具有恒定的包络(例如MPSK,MFSK信号),此时R2=1。此外CMA算法也能均衡非恒模信号。

2 matlab仿真分析

文中首先采用matlab仿真工具仿真了多径和群时延情况下的均衡结果。两种情况下采用的基带输入信号为8PSK。

2.1 多径环境下的均衡

多径模拟环境如下:信噪比为30dB,信道采用多径信道h=[0.18,0.3,1,0.18,0.1,0.2],均衡器抽头为15,μ取值为0.001。仿真结果如图2所示。

图2 多径环境下均衡仿真图

从图2中可以看出均衡后的信号星座图明显优于均衡前的星座图,误差函数也逐渐减小,验证了CMA算法可以消除多径效应的影响。

为了定量分析多径环境下CMA算法的性能,分析了均衡前后的误码率。假定信道不变,均衡器抽头数也不变,分别仿真了在不同信噪比情况下的均衡前后的误码率曲线。如图3所示。

图3 不同信噪比时的误码率曲线

从图3中可以看出经过均衡算法后的误码率要远远的小于没有经过均衡的误码率。定量上验证CMA算法可以消除多径效应的影响。

2.2 群时延均衡

无线通信中信号经过信道或窄带滤波器时由于不同频率信号的延迟不一样,导致信号相位发生变化,导致信号发生畸变。接收端需要通过均衡来消除这样的影响。通过matlab来仿真CMA算法对群时延的均衡效果。

仿真时采用全通数字滤波器来模拟群时延。全通数字滤波器的幅频特性对所有的频率均等于常数,仅仅改变信号的相位特性。可以用来模拟群时延特性。

根据文献[4],采用的全通数字滤波器为a=[1,-0.7439,-0.1874,0.3119-0.0923,-0.0049,0.005,0.0015,-0.0034,0.0022,-0.002];b=[-0.0020,0.0022,-0.0034,0.0015,0.0050,-0.0049,-0.0923,0.3119,-0.1874,-0.7439,1]。滤波器响应为h=b/a。系统信噪比为30dB,均衡器抽头数为15,μ取值为0.001。仿真结果如图4所示。

图4 群时延均衡仿真图

图4中的右下图中细线为群时延曲线,粗线为均衡器抽头系数的群时延曲线。从图中可以看出均衡器抽头系数的群时延可以很好的补偿系统的群时延,最终使得系统的群时延为一个常数。同时均衡前后的星座图和误差曲线都也表明了CMA可以减小群时延的影响。

3 FPGA实现

FPGA是一种可由用户自行设计的大规模集成电路,具有高集成度、高速率等特点。在无线通信中已经获得了广泛的应用。文中将matlab仿真的程序用FPGA来实现。

FPGA中数据采用补码形式的定点数表示。将经过信道后的输入数据经过matlab量化为16bit的定点数据,最高位为符号位,其它位为小数位。均衡器抽头系数大小在运算中是不断变化的,采用定点数运算时必须截断。通过matlab仿真中间数据的范围,确定截断数据位。FPGA仿真后输出的数据再经过matlab读取并进行分析,绘出误差函数曲线。多径环境下FPGA实现的CMA算法的误差曲线如图5所示。

图5 FPGA均衡后的误差曲线

从图5中可以看出,经过FPGA输出的误差曲线与matlab仿真输出的误差曲线一致。

4 结论

本文采用matlab仿真分析了在多径效应和群时延情况下恒模算法的均衡效果,验证了CMA算法可以有效的减小多径效应和群时延造成的码间干扰。在对信道无先验知识或是无训练序列的情况下,可应用CMA算法。且CMA算法易于FPGA实现。

参考文献

[1]西蒙.赫金.自适应滤波器原理[M].北京:电子工业出版社,2006:542-580.

[2]赵雅兴,刘栋,张宁.一种适用于FPGA实现的盲均衡算法[J].通信学报,2001,22(8):108-112

[3]胡凡,朱立东.一种新的群时延自适应均衡算法[J].电视技术,2009,33:166-168.

[4]陈艳霞,孙锦华,金力军.一种数字全通滤波器的设计方法研究[J].电子科技,2006,2:6-8.

[5]杜勇,数字通信同步技术的MATLAB与FPGA实现[M].北京:电子工业出版社,2013.

[6]杜勇,数字滤波器的MATLAB与FPGA实现[M].北京:电子工业出版社,2012.

作者简介

徐立升(1983-),男,汉族,江苏南京人,博士,毕业于中国科学院研究生院,从事调制解调和均衡的研究。

推荐访问:算法 仿真 分析 FPGA

版权所有:首考文秘网 2015-2024 未经授权禁止复制或建立镜像[首考文秘网]所有资源完全免费共享

Powered by 首考文秘网 © All Rights Reserved.。备案号:冀ICP备15026071号-91