• 大小: 995B
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-08
  • 语言: 其他
  • 标签:

资源简介

恒模滤波算法针对4QAM

资源截图

代码片段和文件信息

clear all
close all
clc
M=4;
n=5000; %信号数据量及迭代次数
m=100;
h1=[0.005 0.009 -0.024 0.854 -0.218 0.049 -0.016];%信道冲击响应
L=11;
u1=0.01;
u2=0.005;
u3=0.001;
mse_av1=zeros(1n-L+1);
mse_av2=zeros(1n-L+1);
mse_av3=mse_av2;
snr=20;
for f=1:m
            s=randint(1nM);%生产1*n矩阵随机数,范围在M以内
            sk=qammod(sM)%4-QAM信号产生
            m1=sum(abs(sk).^4);
            m2=sum(abs(sk).^2);
            R2=m1/m2;%计算CMA恒模常数。
            s1=sk.*exp(j*pi/5);%星座图旋转
                       s2=filter(h11s1);
            x=awgn(s2snr‘measured‘);
                 w1=[0 0 0 0 0 1 0 0 0 0 0];%滤波器抽头系数初始值。
            w2=w1;
            w3=w1;
            for i=1:n-L+1
                 y=x(i+L-1:-1:i);
                 z1(i)=w1*y‘; z2(i)=w2*y‘;z3(i)=w3*y‘;%FIR均衡后信号。
                 e1=(R2-(abs(z1(i))^2));%误差函数
                 e2=(R2-(abs(z2(i))^2));
                 e3=(R2-(abs(z3(i))^2));
                 w1=w1+u1*e1*y*z1(i);
                 w2=w2+u2*e2*y*z2(i);
                  w3=w3+u3*e3*y*z3(i);
                  mse1(i)=e1^2;%均衡后第i个数据的误差。
                  mse2(i)=e2^2;
                  mse3(i)=e3^2;
            end
            mse_av1=mse_av1+mse1;
            mse_av2=mse_av2+mse2;
            mse_av3=mse_av3+mse3;
end
a=mse_av1/m;
b=mse_av2/m;
c=mse_av3/m;
plot(a‘k‘)hold on
plot(b‘y‘)hold on
plot(c‘g‘)hold on
legend(‘u1=0.01‘‘u2=0.005‘‘u3=0.001‘)
title(‘CMA‘)
xlabel(‘迭代次数‘‘fontsize‘14)
ylabel(‘Mean-square Error‘‘fontsize‘14)
hold on 
scatterplot(s110‘k*‘)
hold on 
scatterplot(x10‘k*‘)%信道传输后+高斯白噪声信号
hold on 
scatterplot(z110‘k*‘)%信道传输后+高斯白噪声信号
hold on 
scatterplot(z210‘k*‘)
hold on 
scatterplot(z310‘k*‘)



 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        1821  2017-07-12 11:09  QAM4filter.m

评论

共有 条评论

相关资源