| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 936 人关注过本帖
标题:请教:关于恒模算法仿真的问题
只看楼主 加入收藏
darkforce
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2006-5-26
收藏
 问题点数:0 回复次数:1 
请教:关于恒模算法仿真的问题

请问各位高手:
(1)以下是本人编写的CMA算法的程序,从仿真的结果得到,该算法滤波后的星座图(眼图)可以张开,但是MSE曲线却不收敛,而是形成一条直线的样子。这是怎么回事??该如何解决??
(2)恒模算法的权值迭代中,有的量需要取共轭复数,而再实际仿真的时候如果取共轭复数则算法就发散了,这是为什么???对于LMS算法也是这种情况。如何解释这种理论与仿真的差异呢???
(3)请大家针对我下面的程序给予指教。
(4)最后,如果那位专家有CMA仿真的程序,可以参考一下吗 ????
谢谢!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

N=6000; %信息序列的长度
K=11; %11个抽头系数
%实数信道
%actual_isi=[0.05 -0.063 0.088 -0.126 -0.25 0.9047 0.25 0 0.126 0.038 0.088];%有ISI的信道响应
%复数信道
%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];
actual_isi=[0.005 0.009 -0.024 0.854 -0.218 0.049 -0.016];
Num_of_realizations=50; %学习次数
mse_av=zeros(1,N-K+1);
snr=30;
delta_k=0.0001;
sigpower=1;
d=1; %QAM的欧式空间距离就是1了
M=16; %QAM的进制数
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;
-3*d -d;-d -d; d -d; 3*d -d;-3*d -3*d;-d -3*d; d -3*d; 3*d -3*d];
A=mapping;
A=A(:,1)+A(:,2)*j;
R2=mean((abs(A)).^4)/mean((abs(A)).^2); %输入信号的自相关
for jt=1:Num_of_realizations
%信源产生
for i=1:N
temp=rand; %rand是均匀随机数产生命令
dsource(i)=1+floor(M*temp);
end;
%信息到信号点的映射
for i=1:N
qam_sig(i,:)=mapping(dsource(i),:);
end;
%发送复数信号
r=qam_sig;
plot(r(:,1),r(:,2),'*'); %看星座图
rr=r(:,1)+j*r(:,2);
if(jt==1) end;
%序列通过有ISI的信道滤波器
ya1=filter(actual_isi,1,rr);
ya2=ya1';
yout= awgn(ya2,snr,sigpower);
estimated_c(1:K)=0;
estimated_c((K+1)/2)=1; %均衡器抽头系数的初值
for k=1:N-K+1 %迭代次数,490次。
y_k=yout(k:k+K-1);%;*exp(-j*an_w);
z_k=estimated_c*y_k'; %均衡器的输出信号
yt(k)=z_k;
gi_k=real(z_k)*(1+R2-real(z_k)^2); %误差信号,即期望(检测器输出)-均衡器的输出
gq_k=imag(z_k)*(1+R2-imag(z_k)^2);
g_k=gi_k+j*gq_k;
e_k=g_k-z_k;
mse(k)=abs(e_k)^2/2; %误差的平方
estimated_c=estimated_c+delta_k*y_k*e_k; %LMS算法的核心表达式。
end;
if(jt==1) end;
mse_av=mse_av+mse; %均方误差的累加。
end;
mse_av=mse_av/Num_of_realizations; %取平均
figure(1);
plot(mse_av);
figure(3);
plot(real(yt),imag(yt),'*'); %保留500个点数

搜索更多相关主题的帖子: 算法 仿真 
2006-06-12 16:38
gddka
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2007-5-7
收藏
得分:0 
回复:(darkforce)请教:关于恒模算法仿真的问题
e_k是一次迭代所得,可以用来表示均方误差吗?还有,如果楼主那样表示的话,MSE数值好象太大了(收敛后大约100多),怎么办?

请高手指教一下.
2007-05-07 20:19
快速回复:请教:关于恒模算法仿真的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.067590 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved