声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1950|回复: 2

[混合编程] 求助:关于CMA算法仿真

[复制链接]
发表于 2006-6-12 17:12 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
<P>请问各位高手:<BR>(1)以下是本人编写的CMA算法的程序,从仿真的结果得到,该算法滤波后的星座图(眼图)可以张开,但是MSE曲线却不收敛,而是形成一条直线的样子。这是怎么回事??该如何解决??<BR>(2)恒模算法的权值迭代中,有的量需要取共轭复数,而再实际仿真的时候如果取共轭复数则算法就发散了,这是为什么???对于LMS算法也是这种情况。如何解释这种理论与仿真的差异呢???<BR>(3)请大家针对我下面的程序给予指教。<BR> (4)最后,如果那位专家有CMA仿真的程序,可以参考一下吗 ????<BR>      谢谢!!!!!!!!!!!!!!!!!!!!!!!!!!!!!</P>
<P>N=6000;                    %信息序列的长度<BR>K=11;                      %11个抽头系数<BR>%实数信道<BR>%actual_isi=[0.05 -0.063 0.088 -0.126 -0.25 0.9047 0.25 0 0.126 0.038 0.088];%有ISI的信道响应<BR>%复数信道<BR>%actual_isi=[0.0410+0.0109j 0.0495+0.0123j 0.0672+0.0170j 0.0919+0.0235j 0.7920+0.1281j 0.3960+0.0871j 0.2715+0.0498j 0.2291+0.0414j 0.1287+0.0154j 0.1032+0.0119j];<BR>actual_isi=[0.005 0.009 -0.024 0.854 -0.218 0.049 -0.016];<BR>Num_of_realizations=50;      %学习次数<BR>mse_av=zeros(1,N-K+1);<BR>snr=30;<BR>delta_k=0.0001;<BR>sigpower=1; <BR>d=1;            %QAM的欧式空间距离就是1了<BR>M=16;              %QAM的进制数<BR>mapping=[-3*d 3*d;-d 3*d; d 3*d; 3*d 3*d;-3*d d;-d d; d d; 3*d d;<BR>        -3*d -d;-d -d; d -d; 3*d -d;-3*d -3*d;-d -3*d; d -3*d; 3*d -3*d];<BR>    A=mapping;         <BR>    A=A(:,1)+A(:,2)*j;<BR>  R2=mean((abs(A)).^4)/mean((abs(A)).^2);                 %输入信号的自相关<BR>   for jt=1:Num_of_realizations<BR>   %信源产生<BR>         for i=1:N<BR>             temp=rand;                       %rand是均匀随机数产生命令<BR>             dsource(i)=1+floor(M*temp);     <BR>         end;<BR>     %信息到信号点的映射<BR>         for i=1:N<BR>             qam_sig(i,:)=mapping(dsource(i),:);<BR>         end;<BR>    %发送复数信号<BR>             r=qam_sig;<BR>             plot(r(:,1),r(:,2),'*');      %看星座图<BR>             rr=r(:,1)+j*r(:,2);<BR>           if(jt==1) end;<BR>    %序列通过有ISI的信道滤波器<BR>           ya1=filter(actual_isi,1,rr);<BR>            ya2=ya1';<BR>         yout= awgn(ya2,snr,sigpower);<BR>        estimated_c(1:K)=0; <BR>       estimated_c((K+1)/2)=1;       %均衡器抽头系数的初值<BR>           for k=1:N-K+1                             %迭代次数,490次。  <BR>              y_k=yout(k:k+K-1);%;*exp(-j*an_w);                <BR>                z_k=estimated_c*y_k';                %均衡器的输出信号<BR>              yt(k)=z_k;<BR>             gi_k=real(z_k)*(1+R2-real(z_k)^2);                     %误差信号,即期望(检测器输出)-均衡器的输出<BR>             gq_k=imag(z_k)*(1+R2-imag(z_k)^2);   <BR>             g_k=gi_k+j*gq_k;<BR>             e_k=g_k-z_k;<BR>               mse(k)=abs(e_k)^2/2;                       %误差的平方<BR>               estimated_c=estimated_c+delta_k*y_k*e_k;  %LMS算法的核心表达式。<BR>            end;<BR>      if(jt==1)  end;<BR>    mse_av=mse_av+mse;                     %均方误差的累加。<BR>end;<BR>mse_av=mse_av/Num_of_realizations;          %取平均<BR>figure(1);<BR>plot(mse_av);<BR>figure(3);<BR>plot(real(yt),imag(yt),'*');   %保留500个点数</P>


回复
分享到:

使用道具 举报

发表于 2006-8-11 23:21 | 显示全部楼层

re[求助]CMA算法的仿真

我觉得R很有问题啊.
解决了告诉我下哈.
对了,把你图贴出来吧
发表于 2006-8-15 18:14 | 显示全部楼层
对CMA算法不了解,帮不上忙
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-6-7 13:23 , Processed in 0.082496 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表