马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
请达人帮忙解决一下:
问题1:前面四行程序是干什么的,因为刚开始研究盲均衡,所以不太懂
问题2:程序中的盲均衡处理是实部、虚部分开做的,可以这样吗,难道不可以一起做吗?
问题3:画图命令中为什么是length(z_k_r)/2,不可以从第一个点开始画吗?
d=1;
Eav=10*d^2;
snr_in_dB=30;
snr=10^(snr_in_dB/10);
sgma=sqrt(Eav/(8*snr));
M=16;
for i=1:N
temp=rand;
dsource(i)=1+floor(M*temp);
end
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];
for i=1:N
qam_sig(i,=mapping(dsource(i),;
end
h=[0.05 -0.063 0.088 -0.126 -0.25 0.9047 0.25 0 0.126 0.038 0.088];
x_r=filter(h,1,qam_sig(:,1)');
x_i=filter(h,1,qam_sig(:,2)');
x_r=x_r+sgma*randn(1,length(x_r));%信号加躁
x_i=x_i+sgma*randn(1,length(x_i));
s_r=qam_sig(:,1);
s_i=qam_sig(:,2);
R_r=mean(abs(s_r).^4)/mean(abs(s_r).^2);
R_i=mean(abs(s_i).^4)/mean(abs(s_i).^2);%求R
L=11;
alpha=0.00015;
estimated_c_r=[zeros(1,L/2),1,zeros(1,L/2)];
estimated_c_i=[zeros(1,L/2),1,zeros(1,L/2)];%权值
y_k_r=zeros(1,L);
y_k_i=zeros(1,L);
z_k_r=zeros(1,length(x_r));
z_k_i=zeros(1,length(x_i));
for k=1:length(x_r)
for t=1:L-1
y_k_r(1,L-t+1)=y_k_r(1,L-t);
y_k_i(1,L-t+1)=y_k_i(1,L-t);
end
y_k_r(1,1)=x_r(k);
y_k_i(1,1)=x_i(k);
z_k_r(k)=estimated_c_r*y_k_r.';
z_k_i(k)=estimated_c_i*y_k_i.';
e_k_r(k)=z_k_r(k)*(z_k_r(k)^2-R_r);
e_k_i(k)=z_k_i(k)*(z_k_i(k)^2-R_i);
estimated_c_r=estimated_c_r-alpha*y_k_r*e_k_r(k);
estimated_c_i=estimated_c_i-alpha*y_k_i*e_k_i(k);
end
plot(z_k_r(length(z_k_r)/2:length(z_k_r)),z_k_i(length(z_k_r)/2:length(z_k_r)),'x') |