用恒模算法进行盲自适应均衡的MATLAB仿真

合集下载

如何通过MATLAB进行模拟与仿真

如何通过MATLAB进行模拟与仿真

如何通过MATLAB进行模拟与仿真MATLAB是一种用于科学计算、数据分析和可视化的强大工具,它也是进行模拟和仿真的理想选择。

通过MATLAB,用户可以编写脚本或函数来描述和模拟各种现象,并通过可视化结果来验证和分析模拟过程。

在本文中,我们将介绍如何使用MATLAB进行模拟和仿真,包括建模、求解、可视化和分析。

首先,建立一个模型是进行模拟和仿真的第一步。

在MATLAB中,可以使用符号计算工具箱或数值计算方法来建立模型。

符号计算工具箱提供了一种使用符号表达式而不是数值进行计算的方法,这对于一些复杂系统的建模非常有用。

数值计算方法则使用数值解来近似求解模型。

在MATLAB中,可以通过定义变量和方程来建立模型。

例如,假设我们要建立一个简单的弹簧振动系统的模型,可以使用如下的方程:m*x''+k*x=0其中,m是质量,x是位移,k是弹簧常数。

我们可以使用MATLAB的符号计算工具箱来定义这个方程:syms x(t) m keqn = m * diff(x, t, t) + k * x == 0这样,我们就建立了一个描述弹簧振动系统的方程。

接下来,我们需要求解这个方程。

在MATLAB中,可以使用ode45函数来求解常微分方程。

例如,使用ode45函数求解上面的方程,并绘制振动的位移随时间的变化曲线:tspan = [0 10]; % 时间范围x0=1;%初始位移v0=0;%初始速度parameters = {m, k}; % 参数figure;plot(t, x(:, 1))xlabel('时间')ylabel('位移')title('弹簧振动')function dxdt = spring_ode(t, x, m, k)dxdt = [x(2); -k/m * x(1)];end在上面的代码中,我们定义了一个名为spring_ode的函数来描述弹簧振动的常微分方程。

自适应均衡器的设计与仿真毕业设计论文

自适应均衡器的设计与仿真毕业设计论文

毕业设计(论文)自适应均衡器的设计与仿真摘要在移动通信领域中,码间干扰始终是影响通信质量的主要因素之一。

为了提高通信质量,减少码间干扰,在接收端通常采用均衡技术抵消信道的影响。

由于信道响应是随着时间变化的,通常采用自适应均衡器。

自适应均衡器能够自动的调节系数从而跟踪信道,成为通信系统中一项关键的技术。

本篇论文在对无线通信信道进行研究的基础上,阐述了信道产生码间干扰的原因以及无码间干扰的条件,介绍了奈奎斯特第一准则和时域均衡的原理。

深入研究了均衡器的结构和自适应算法,在均衡器的结构中主要介绍了4种自适应均衡器结构即线性横向均衡器、线性格型均衡器、判决反馈均衡器和分数间隔均衡器,并对这几种结构进行了比较。

对于系数调整算法主要介绍了常用的几种算法,包括LMS算法、RLS算法以及盲均衡常用的恒模算法(CMA),并讨论了它们各自的优缺点。

最后选用线性横向均衡器结构与上述3种系数调整算法,利用MATLAB进行仿真,并对结果进行分析与比较。

关键字:自适应均衡器,LMS,RLS,CMA ,MATLABAbstractIn the field of mobile communications, the inter-symbol interferences (ISI) is always one of the primary factor which effects transmission. Adaptive equalization is mainly solution of dealing with ISI. Equalizers are often used to combat the influence of channels for improving communication’s quality and decreasing ISI in receivers. Sometimes, channel response varies due to time, the adaptive equalizer is always necessary. Equalizer coefficients can be automatically adjusted to track the channel as a key communication system technology.On the basis of studying on wireless communication channel, this paper discusses the reasons of resulting inter-symbol interference (ISI) and without conditions, introduces Nyquist first rule and the theory of adaptive equalizers. The equalizer structures and the adaptive algorithm are particularly studied in this paper. Mainly introducing and comparing four adaptive equalizer structures, such as linear horizontal equalizer, line personality type equalizer, decision feedback equalizer, fractionally spaced equalizers. Then we research the algorithms of the adaptive equalizer which are often used, including LMS, RLS, CMA, and discuss their respective advantages and disadvantages. Finally, we choose different adaptive equalizer structures and algorithms, and use the MATALB tool to simulate, at the end of this paper we analyze and compare the results.Keywords: adaptive equalizer, LMS, RLS, CAM, MATLAB目录摘要 (I)ABSTRACT (II)目录 (III)第一章绪论 (1)1.1引言 (1)1.2国内(外)研究现状 (1)1.3论文研究的内容及主要工作 (2)第二章信道、码间干扰及均衡技术 (3)2.1信道 (3)2.1.1 恒参信道 (4)2.1.2 变参信道 (4)2.2通信信道模型 (6)2.3码间干扰 (7)2.4自适应均衡的原理与特点 (10)2.5本章小结 (11)第三章均衡器结构 (12)3.1自适应均衡简介 (12)3.2均衡器的分类 (12)3.3线性横向均衡器结构(LTE) (13)3.4线性格型均衡器(LLE) (14)3.5判决反馈均衡器(DFE) (15)3.6分数间隔均衡器(FSE) (17)3.7本章总结 (21)第四章自适应均衡算法的理论基础 (22)4.1最小均衡误差算法(LMS) (22)4.2递归最小二乘算法(RLS) (25)4.3盲均衡算法 (27)4.4本章小结 (30)第五章均衡器的仿真与实现 (31)5.1采用线性横向均衡器与LMS算法 (31)5.2采用线性横向均衡器与RLS算法 (31)5.3利用恒模算法和线性横向均衡器 (32)总结 (35)参考文献 (36)致谢 (37)附录 (38)第一章绪论1.1引言通常信道特性是一个复杂的函数,它可能包括各种线性失真、非线性失真、交调失真、衰落等。

如何利用Matlab进行模拟和仿真实验

如何利用Matlab进行模拟和仿真实验

如何利用Matlab进行模拟和仿真实验Matlab是一种功能强大的数学计算和数据可视化软件。

它不仅可以进行数学模拟和仿真实验,还可以处理数据、绘制图表和实施算法。

在工程、物理学、生物学等领域,Matlab被广泛用于解决各种实际问题。

本文将介绍如何利用Matlab进行模拟和仿真实验,并探讨其在实验设计和结果分析中的应用。

一. Matlab的基本功能Matlab具有很多基本功能,如矩阵操作、数值计算、符号计算等。

这些功能使得Matlab成为进行模拟和仿真实验的理想选择。

在Matlab中,可以定义和操作矩阵,进行线性代数运算,如求解方程组、矩阵求逆等。

此外,Matlab还提供了许多内置函数,可以进行数值计算和符号计算,如求解微分方程、积分、数值优化等。

二. 模拟实验的设计在进行模拟实验之前,首先需要设计实验方案。

实验设计包括选择合适的模型和参数设置,确定实验变量和观测指标等。

在Matlab中,可以使用函数或脚本来定义模型和参数,通过修改参数值来观察实验结果的变化。

比如,可以使用Matlab的模型库来选择合适的模型,然后使用函数传入参数值进行求解。

此外,Matlab还提供了绘图功能,可以绘制实验结果的图表,以便更直观地分析数据。

三. 仿真实验的实施在设计好实验方案后,就可以开始进行仿真实验了。

在Matlab中,可以使用已定义的模型和参数进行仿真计算。

可以通过Matlab的编程功能来实现计算过程的自动化。

比如,可以使用循环语句来迭代计算,以观察参数变化对结果的影响。

此外,Matlab还提供了随机数生成和统计分析函数,可以用于生成随机变量和分析实验数据。

四. 实验结果的分析在完成仿真实验后,需要对实验结果进行分析。

Matlab提供了丰富的数据处理和分析工具,可以对实验数据进行统计分析、绘图和可视化展示。

可以使用Matlab的数据处理函数来计算均值、标准差、相关系数等统计指标。

此外,Matlab还可以通过绘图函数来绘制直方图、散点图、线图等图形,以便更好地理解和展示数据。

如何使用Matlab技术进行模拟仿真

如何使用Matlab技术进行模拟仿真

如何使用Matlab技术进行模拟仿真引言在科学研究和工程设计中,模拟仿真是一种重要的工具。

它可以帮助研究人员和工程师预测和评估系统的性能、优化设计方案、解决问题等。

近年来,Matlab成为了广泛使用的科学计算软件,具有强大的数值计算和仿真功能。

本文将介绍如何使用Matlab技术进行模拟仿真,以及一些常见的应用案例。

一、Matlab的基本介绍Matlab是由美国MathWorks公司开发的一种科学计算软件。

它具有丰富的数学函数库和各种工具箱,可以进行数值计算、数据可视化、统计分析、信号处理、控制系统设计等。

Matlab是一种解释性的编程语言,用户可以通过编写脚本文件或使用命令行进行交互式计算。

二、Matlab的仿真建模工具Matlab提供了Simulink这一强大的仿真建模工具。

Simulink使用图形化界面,可以直观地构建系统模型。

可以将系统抽象成各种不同的模块,通过连接这些模块来描述系统的结构和行为。

Simulink支持常见的连续时间仿真、离散时间仿真和混合仿真,并提供了丰富的仿真调试工具。

三、Matlab的数值计算和优化在模拟仿真过程中,通常需要进行数值计算和参数优化。

Matlab提供了强大的数值计算功能,可以进行矩阵运算、数值积分、微分方程求解、优化等。

用户可以通过编写自定义函数和调用内置函数来实现数值计算和优化任务。

Matlab还提供了各种优化算法,如遗传算法、模拟退火算法、粒子群优化算法等,可以解决复杂的优化问题。

四、Matlab在控制系统设计中的应用控制系统是一种常见的工程系统,如何设计合适的控制策略是一个重要的问题。

Matlab提供了专门的控制系统工具箱,包括系统建模、控制器设计、仿真测试等功能。

用户可以使用Matlab进行控制系统建模,通过调整控制器参数来达到所需的性能指标,并使用Simulink进行仿真测试。

Matlab还提供了自适应控制、最优控制、模糊控制等高级控制方法,可以满足不同的控制需求。

模糊自适应整定PID控制matlab仿真程序(刘金锟-先进PID控制及其MATLAB仿真)

模糊自适应整定PID控制matlab仿真程序(刘金锟-先进PID控制及其MATLAB仿真)

模糊自适应整定PID控制matlab仿真程序(刘金锟-先进PID控制及其MATLAB仿真)2这个例子的程序百度文库里有很多版本,但我下了很多都有错误,运行不了。

以下程序我一字一字的敲出来的,已经成功运行,绝对无误。

仿真实例,被控对象为p G (s)=ss s 1047035.8752350023++ 采样时间为1ms ,采用模糊PID 控制进行阶跃响应,在第300个采样时间时控制器输出加1.0的干扰,相应的运行结果如图1~13所示。

仿真程序如下:将以下程序保存为fuzzypid.m 文件,即可得到仿真结果。

%fuzzy tunning PID controlclear all ;clear all ;a=newfis('fuzzpid');a=addvar(a,'input','e',[-3,3]); %parameter ea=addmf(a,'input',1,'NB','zmf',[-3,-1]);a=addmf(a,'input',1,'NM','trimf',[-3,-2,0]);a=addmf(a,'input',1,'NS','trimf',[-3,-1,1]);a=addmf(a,'input',1,'Z','trimf',[-2,0,2]);a=addmf(a,'input',1,'PS','trimf',[-1,1,3]);a=addmf(a,'input',1,'PM','trimf',[0,2,3]);a=addmf(a,'input',1,'PB','smf',[1,3]);a=addvar(a,'input','ec',[-3,3]); %parameter eca=addmf(a,'input',2,'NB','zmf',[-3,-1]);a=addmf(a,'input',2,'NM','trimf',[-3,-2,0]);a=addmf(a,'input',2,'NS','trimf',[-3,-1,1]);a=addmf(a,'input',2,'Z','trimf',[-2,0,2]);a=addmf(a,'input',2,'PS','trimf',[-1,1,3]);a=addmf(a,'input',2,'PM','trimf',[0,2,3]);a=addmf(a,'input',2,'PB','smf',[1,3]);a=addvar(a,'output','kp',[-0.3,0.3]); %parameter kpa=addmf(a,'output',1,'NB','zmf',[-0.3,-0.1]);a=addmf(a,'output',1,'NM','trimf',[-0.3,-0.2,0]);a=addmf(a,'output',1,'NS','trimf',[-0.3,-0.1,0.1]);a=addmf(a,'output',1,'Z','trimf',[-0.2,0,0.2]);a=addmf(a,'output',1,'PS','trimf',[-0.1,0.1,0.3]);a=addmf(a,'output',1,'PM','trimf',[0,0.2,0.3]);a=addmf(a,'output',1,'PB','smf',[0.1,0.3]);a=addvar(a,'output','ki',[-0.06,0.06]); %parameter ki a=addmf(a,'output',2,'NB','zmf',[-0.06,-0.02]);a=addmf(a,'output',2,'NM','trimf',[-0.06,-0.04,0]);a=addmf(a,'output',2,'NS','trimf',[-0.06,-0.02,0.02]); a=addmf(a,'output',2,'Z','trimf',[-0.04,0,0.04]);a=addmf(a,'output',2,'PS','trimf',[-0.02,0.02,0.06]);a=addmf(a,'output',2,'PM','trimf',[0,0.04,0.06]);a=addmf(a,'output',2,'PB','smf',[0.02,0.06]);a=addvar(a,'output','kd',[-3,3]); %parameter kda=addmf(a,'output',3,'NB','zmf',[-3,-1]);a=addmf(a,'output',3,'NM','trimf',[-3,-2,0]);a=addmf(a,'output',3,'NS','trimf',[-3,-1,1]);a=addmf(a,'output',3,'Z','trimf',[-2,0,2]);a=addmf(a,'output',3,'PS','trimf',[-1,1,3]);a=addmf(a,'output',3,'PM','trimf',[0,2,3]);a=addmf(a,'output',3,'PB','smf',[1,3]);rulelist=[1 1 7 1 5 1 1;1 2 7 1 3 1 1;1 3 62 1 1 1;1 4 62 1 1 1;1 5 5 3 1 1 1;1 6 4 42 1 1;1 7 4 4 5 1 1;2 1 7 1 5 1 1;2 2 7 13 1 1;2 3 6 2 1 1 1;2 4 53 2 1 1;2 5 53 2 1 1;2 6 4 43 1 1;2 734 4 1 1;3 1 6 14 1 1;3 2 6 2 3 1 1;3 3 6 3 2 1 1;3 4 5 3 2 1 1;3 54 4 3 1 1;3 6 3 5 3 1 1;3 7 3 54 1 1;4 1 6 2 4 1 1;4 2 6 2 3 1 1;4 35 3 3 1 1;4 4 4 4 3 1 1;4 5 3 5 3 1 1;4 6 2 6 3 1 1;4 7 2 6 4 1 1;35 1 5 2 4 1 1;5 2 5 3 4 1 1;5 3 4 4 4 1 1;5 4 3 5 4 1 1;5 5 3 5 4 1 1;5 6 2 6 4 1 1;5 7 2 7 4 1 1;6 1 5 47 1 1;6 2 4 4 5 1 1;6 3 3 5 5 1 1;6 4 2 5 5 1 1;6 5 2 6 5 1 1;6 6 27 5 1 1;6 7 1 7 7 1 1;7 1 4 4 7 1 1;7 2 4 4 6 1 1;7 3 2 5 6 1 1;7 4 2 6 6 1 1;7 5 2 6 5 1 1;7 6 1 7 5 1 1;7 7 1 7 7 1 1];a=addrule(a,rulelist);a=setfis(a,'DefuzzMethod','mom');writefis(a,'fuzzpid');a=readfis('fuzzpid');%PID controllerts=0.001;sys=tf(5.235e005,[1,87.35,1.047e004,0]); dsys=c2d(sys,ts,'tustin');[num,den]=tfdata(dsys,'v');u_1=0.0;u_2=0.0;u_3=0.0;y_1=0;y_2=0;y_3=0;x=[0,0,0]';4error_1=0;e_1=0.0;ec_1=0.0;kp0=0.40;kd0=1.0;ki0=0.0;for k=1:1:500time(k)=k*ts;rin(k)=1;%using fuzzy inference to tunning PIDk_pid=evalfis([e_1,ec_1],a);kp(k)=kp0+k_pid(1);ki(k)=ki0+k_pid(2);kd(k)=kd0+k_pid(3);u(k)=kp(k)*x(1)+kd(k)*x(2)+ki(k)*x(3);if k==300 %adding disturbance(1.0v at time 0.3s)u(k)=u(k)+1.0;endif u(k)>=10u(k)=10;endif u(k)<=-10u(k)=-10;endyout(k)=-den(2)*y_1-den(3)*y_2-den(4)*y_3+num(1)*u(k)+num(2)*u_1+num(3)*u_2+num(4)*u_3;error(k)=rin(k)-yout(k);%%%%%%%%%%%%%%%%%%%%%%%%%return of pid parameters%%%%%%%%%%%%%%%%%%%%%%%% u_3=u_2;u_2=u_1;u_1=u(k);y_3=y_2;y_2=y_1;y_1=yout(k);5x(1)=error(k); %calculating Px(2)=error(k)-error_1; %calculating Dx(3)=x(3)+error(k); %calculating De_1=x(1);ec_1=x(2);error_2=error_1;error_1=error(k);endshowrule(a)figure(1);plot(time,rin,'b',time,yout,'r'); xlabel('time(s)');ylabel( 'rin,yout');figure(2);plot(time,error,'r');xlabel('time(s)');ylabel( 'error ');figure(3);plot(time,u,'r');xlabel('time(s)');ylabel( 'u ');figure(4);plot(time,kp,'r');xlabel('time(s)');ylabel( 'kp ');figure(5);plot(time,ki,'r');xlabel('time(s)');ylabel( 'ki ');figure(6);plot(time,kd,'r');xlabel('time(s)');ylabel( 'kd ');figure(7);plotmf(a,'input',1);figure(8);plotmf(a,'input',2);figure(9);plotmf(a,'output',1);figure(10);plotmf(a,'output',2);figure(11);plotmf(a,'output',3);plotfis(a);fuzzy fuzzpid.fis6仿真运行结果:789。

智能天线自适应算法MATLAB仿真分析与研究(毕业设计).

智能天线自适应算法MATLAB仿真分析与研究(毕业设计).

RLS递推 最小二乘 算法
递推最小二乘是一种自适应横向滤波器的递归算法,即给定n-1次 迭代滤波器抽头权向量最小二乘估计,依据新到达的数据计算n次 迭代权向量的最新估计。
CMA恒模 算法
恒模算法(CMA)属于盲自适应算法,在不需要任何参考信号的 情况下,普通的均衡器一般需要经过训练和跟踪两个阶段,而盲 均衡技术在天线的发射端发送训练序列,仅知道信号输出输入的 统计特性即可,它在信号眼图中,即使眼图不张开,也能收敛。
本科毕业设计
4.MATLAB仿真分析与研究
LMS算法MATLAB仿真实验 本实验将分三个步骤完成:
先定义参变量M、 N,w=zeros(M,N, 3,2)f=zeros(M,N, 3,2),括号里的3 和2分别用来控制 3种步长因子和a 的两个不同参数
然后,对不同的 参数a、不同的步 长因子u和不同的 试验次数M分别 进行N次迭代来 获得每个点的权 值系数。
本科毕业设计
滤波:y(n) wH (n 1)u(n) 估计误差: e(n) d (n) y(n)
4.4 RLS仿真结果
图3 误差e(k)(蓝色)和输出信号y(k)(红 色)的对比图
图4 滤波器系数变化曲线
本科毕业设计
4.5 RLS仿真结论分析
算法初始化之后,天线阵列信号的信息可以通过自适应算法 RLS得到。在权值迭代调整过程中,利用矩阵运算性质得到信 号相关程度,从而显著提高自适应波束的收敛速度。自适应 滤波器除噪声系统能够有效地从噪声中恢复出原始信号,但 在实际应用中,要注意参考信号与噪声信号的相关性,相关 性越大,自适应噪声抵销系统的噪声抵消效果越好。
本科毕业设计
2.本选题研究的意义
智能天线的前景无可限量,现实中已经有很多国家投入了大 量的资金和技术支持,并相继取得了一些瞩目的成就。目前 对于智能天线的研究主要体现在解决下面两个问题:

基于恒模准则的盲均衡算法仿真

基于恒模准则的盲均衡算法仿真

i t . cod gt t f i c f l vr n e dp ae o t o C A i l i vr b e— z A, oi d C ( C A fsy A cri e ec nyo s w cn e ec n hs t e f M , c d g a al s ps e M M d e MA M M ) rl n o di e h o o g a ra d n u n a i et i C i f
复发送 序 列 , 便 是 盲 均 衡 技术 L2。 在各 种 盲 均 这 1』 . 衡算 法 中 , oa G dr d和 Te h r 人 提 出的 恒模 算 法 ri l 等 ce
时 , 利 用 接 收 序 列 本 身 的 先 验 信 息 就 能 够 正 确 恢 仅
1 恒 模 算 法
B s a g 质盲均衡 器 是在 传 统 自适应 均衡 技 us n 性 g 术的基 础上发展 起 来 的 , 它是 盲 均衡 技术 的一个 分 支 , 显著特 点是不 增加计算 的复杂 度 , 其 物理 概念清 楚, 易于实现 。不 同 B s a g 质 盲 均衡 器 具 有不 us n 性 g 同的无记忆 非线性 函数 , 其原 理如 图 1 所示 。
ag rtmsa ee p an d. n tlain fg r sa d MS c re r b ie fe q aiain, ih idc tsg d e e t n e u lzr lo h r x li e Co selto ue i i n E u v sae o t n d atre u lzto whc n iae o f cso q aie . a Ke r s CMA ; ln q aiain; a a l tp sz y wo d bid e u z t l o v r b ese — ie CMA; i MCMA ; MA M

基于恒模准则的盲均衡算法仿真

基于恒模准则的盲均衡算法仿真

基于恒模准则的盲均衡算法仿真
陶立伟
【期刊名称】《无线电工程》
【年(卷),期】2007(37)3
【摘要】阐述了用于信道盲均衡的恒模算法的数学模型和基本原理.针对恒模算法存在收敛速度慢和相位旋转等不足,对近年来出现的一些性能优良的基于恒模准则的盲均衡算法--变步长恒模算法、修正恒模算法和多模算法进行了分析与仿真,并对各种改进算法在不同调制方式下的优缺点进行了说明.最后得到不同算法均衡后的星座图和均方误差曲线,表明具有较好的均衡效果.
【总页数】3页(P22-24)
【作者】陶立伟
【作者单位】中国电子科技集团公司第54研究所,河北,石家庄,050081
【正文语种】中文
【中图分类】TN911
【相关文献】
1.基于恒模类的盲均衡算法的仿真研究 [J], 孟新红;孙丽君
2.基于行列变换的恒模医学CT图像盲均衡算法 [J], 孙云山;张立毅;段继忠
3.一种改进的基于恒模准则的盲均衡算法 [J], 栾松国
4.恒模盲均衡算法的物理级建模与仿真 [J], 刘剑锋;蒋卓勤;盛小平;霍效新
5.基于最大相关熵准则的恒模盲均衡算法 [J], 毕英杰; 李森
因版权原因,仅展示原文概要,查看原文内容请购买。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

用恒模算法进行盲自适应均衡的MATLAB仿真
一:仿真内容:
1:了解盲均衡算法和CMA算法的原理;
2:用CMA算法来仿真4QAM信号;
二:算法原理:
1:盲均衡算法:
一般的均衡器需要训练和跟踪两个时期,在训练时期,需要已知信号的一些特性参数来训练均衡滤波器,或直接周期地发送训练序列。

由于训练序列并非含用户的数据,而占用了信道资源,自然会降低信道的利用率。

另外,在跟踪时期,不发送训练序列,若是信道特性是快速转变的,均衡器的性能将迅速恶化。

盲均衡能够不借助训练序列(即咱们通常所说的“盲”,而仅仅利用所接收到的信号序列即可对信道进行均衡。

换言之,其本身完全不用训练序列,就能够够自启动收敛并避免死锁情形,且能使滤波器的输出与要恢复的输入信号相等。

盲均衡从全然上幸免了训练序列的利用,收敛范围大,应用范围广,克服了传统自适应均衡的缺点,从而降低了对信道和信号的要求。

盲均衡的原理框图如下:
在上图中,x(n)为系统的发送序列,h(n)为离散时刻传输信道的冲激响应,其依据所用调制方式的不同,能够是实值,也能够是复值;n(n)为信道中叠加的高斯噪声;y(n)为通过信道传输后的接收序列,同时也是均衡器的输入序列;w(n)为盲均衡器的冲激响应,盲均衡器一样采纳有限长横向滤波器,其长度为L;
x为盲均衡器的输出信号,也即通过均衡后的恢复序列。

)(~n
且有下式成立:
y(n)=h(n)*x(n)+n(n);
x=w(n)*y(n)=w(n)*h(n)*x(n);
(~n
)
2:Bussgang算法
Bussgang类盲均衡算法作为盲均衡算法的一个分支,是在原先需要训练序列的传统自适应均衡算法基础上进展起来的。

初期的盲均衡器以横向滤波器为大体结构,利用信号的物理特点选择适合的代价函数和误差操纵函数来调剂均衡器的权系数。

这种算法是以一种迭代方式进行盲均衡,并在均衡器的输出端对数据进行非线性变换,当算法以平均值达到收敛时,被均衡的序列表现为Bussgang 统计量。

因此,此类算法称为Bussgang类盲均衡算法。

Bussgang类盲均衡算法的显著特点是算法思路维持了传统自适应均衡的简单性,物理概念清楚,没有增加计算复杂度,运算量较小,便于实时实现。

缺点是算法的收敛时刻较长,收敛后剩余误差较大,没有解决均衡进程中局部收敛问题,对非线性信道或存在零点的信道均衡成效不佳。

Bussgang类算法的原理框图如下:
Godard是其中性能最好的算法:a.代价函数的推导只与接收信号的幅值有关,与相位无关,因此对载波相位偏移不灵敏;b.在稳态条件下,此算法能取得比其它算法小的均方误差;c.它能均衡一色散信道,即便起始眼图是关闭的。

Godard最先提出了恒模盲均衡算法。

恒模盲均衡算法适用于所有具有恒定包络(简称恒模)的发射信号的均衡,它是Bussgang算法的一个特例。

3:CMA(恒模算法)
现代通信系统中经常使用的QAM 调制方式具有频带利用率高的显著优势,随着电平级数的增加,传输数码率越高,但电平间的距离减小,码间干扰增加,抗噪性能变差。

最近几年来,研究最多的盲均衡算法是恒模算法(CMA)。

CMA 算法被普遍用于恒包络信号的均衡,因其计算量小及良好的收敛性能也应用于非恒包络信号的盲均衡,如QAM 信号。

但是,其初始化以后的收敛成效却不令人中意,存在较大的剩余误差,关于非恒模信号来讲,误符号的方差加倍严峻。

同时,CMA 及其改良算法关于高阶的QAM 信号都存在较大的失调。

这就需要咱们对CMA 算法进行适当改良,以达到更好的收敛成效。

CMA 算法的诸多优势使之被普遍应用于恒包络信号的均衡、非恒包络信号(如QAM 信号)及自适应阵列处置等领域中。

恒模算法(Const Modulus Algorithm ,CMA)确实是当参数p=2时的Godard 算法,是由Godard 最先提出的。

它是Bussgang 类盲均衡算法中最经常使用的一种,具有计算复杂度低、易于实时实现、收敛性能好等优势,己成为通信系统中普遍采纳的盲均衡技术。

恒模算法的代价函数为:
J(w(n))=E{(|x ~
(n)|-R 2)2} 依照传输理论和盲均衡的框图能够取得:
y(n)=h(n)*x(n)+n(n);
均衡器的输出为:
)(~n x =w(n)*y(n)=w(n )*h(n)*x(n)=w T (n)*y(n)
由上取得权系数的更新公式为:
)(])(~)[(~)()1(*22n y n x R n x n W n W -+=+μ
式中μ是自适应步长,通常取足够小的正常数。

下表给出CMA 算法的流程:
三:仿真内容:
利用CMA 算法来仿真QAM 信号:第一举4QAM 调制的例子。

用复信号表示4QAM 调制相当于只传输4种取值的信号,即x=a+bj ,a=2/2±,b=2/2±,因此发送信号的星座是四个点,假设4QAM 的基带信号通过一个信道,信道用一个FIR 滤波器来表示,滤波器的传输函数为:
3211.05.02.0)(----++=z z z z H 信号经FIR 滤波器输出后加入了高斯白噪声,
信噪比为30db ,接收到的4QAM 信号通过一个均衡器,均衡器是由长度为6的FIR 滤波器组成,应用CMA 算法进行盲均衡,步长取(成效很差,因此将步长稍改大)。

(仿真程序见附件)
四:结果分析:
以下图是仿真图形:
第一个图为通过4QAM 调制后产生的传输序列sn 所组成的星座图:能够明显的看到4QAM 基带信号的星座图。

-0.8-0.6-0.4-0.200.20.40.60.8
-0.8-0.6
-0.4
-0.2
0.2
0.4
0.6
0.8
传输序列的4QAM 星座图
第二个图为通过信道以后的输出信号,由于码间干扰, 4QAM 信号已经有点混乱。

-1.5-1-0.500.51 1.5
-1.5-1
-0.5
0.5
1
1.5
经过FIR 滤波器之后的输出4QAM 信号
第三个图为加上一个30dB 的高斯白噪声以后的星座图,能够看到由于噪声干扰,接收到的信号已经超级混乱。

-1.5-1-0.500.51 1.5
-1.5-1
-0.5
0.5
1
1.5
加过噪声之后的4QAM 信号
第四个图是收敛后的均衡器输出的散布图,由图能够看到盲均衡器将输出聚集在4个星座的周围。

由于前面一部份的序列会被看成训练序列,因此实际的发送序列是从中间序列开始的。

-1-0.8-0.6-0.4-0.200.20.40.60.81
-1-0.8
-0.6
-0.4
-0.2
0.2
0.4
0.6
0.8
1
盲均衡器输出的4QAM 信号分布图
以下图为CMA 算法的收敛图,由图能够看出,作为盲均衡器的CMA 算法的收敛速度明显比LMS 算法的慢,大约要到接近1000次迭代以后才能达到收敛,而LMS 算法一样只需几十至几百次迭代,这确实是缺乏期望响应的代价。

由于步长和初值的不同,使得收敛的值有所不同。

0100020003000400050006000
70008000900010000
-180-160
-140
-120
-100
-80
-60
-40
-20
CMA 算法的收敛图
点数/n e n .2/d B
五:结论
本报告第一介绍了盲均衡算法的数学模型,接着分析了Bussgang类盲均衡算法,重点介绍了其中的最为经常使用的且是本实验用到的CMA算法并对其进行了MATLAB仿真,分析了仿真结果。

可是CMA算法采纳固定步长,这就使得步长关于CMA算法的收敛性能起着决定性的作用。

固定步长CMA算法在收敛速度和收敛精度方面对调整步长的要求是相矛盾的,在实际应用中,要依照不同的需求决定步长值的大小。

因此本实验中我采纳的步长才能取得此成效,若是采纳的步长,收敛成效和星座图的成效很差,需要提出一种更有利的算法,使得算法的收敛性有更大提高。

总之,通过查阅资料完成这次仿真,让我了解了盲自适应均衡的模型和恒模算法的原理,也让我看到在恒模算法中存在的需要改良的地址。

但由于知识有限,仅做到此,希望教师能多多指教。

相关文档
最新文档