标题: 信道均衡 MCA算法 [打印本页]

作者: 254945521    时间: 2017-6-1 09:33
标题: 信道均衡 MCA算法
% -----------实值信号~均衡器 ----------------%
clear all;    close all;
%%  -----------实值信号~均衡器----------------%
% ----生成2PAM信号,点数为Num-------
Num=3e3;
Xn=rand(1,Num); Xn(Xn>=0.5)=1; Xn (Xn<0.5)=-1;
%% ----经过信道,并加噪-------
H=[0.005,0.009,-0.024,0.854,-0.218,0.049,-0.016];
%电话信道系数矩阵,长度为7. H(z)=0.005+0.009*(z^-1)-0.024*(z^-2)+...-0.016*(z^-6)、
Yn=filter(H,1,Xn);% 通过信道未加噪声序列,长度Num+6
SNR=20;  sig=awgn(Yn,SNR);  %加噪SNR=20dB
W=[0,0,0,1,0,0,0];     % 初始化均衡滤波器系数,长度为7
Y=[0,0,0,0,0,0,0];     % 长度为7
Lf=7;
mu=0.0008;
R2=1;    %恒模常量,2PAM
    for m=1:1:Num    % Num+6卷积后Yn的长度
        %------经过滤波器模块------
       Y=[sig(m) Y(1:6)];      
       s= Y(Lf:-1:1)*W(1:Lf).';
        X(m)=s;
        %------判决模块------
        a(m)=1;
        if X(m)<=0
            a(m)=-1;
        end
        %------误差信号计算模块------
        En=s *(s*s-R2);
        %------迭代模块(系数更新)------
        W=W-mu*En*Y(Lf:-1:1);
    end
   % ----- 计算误码率-----
    j=0; l=0;
    for k=1:Num-Lf+1
        if a(k+Lf-1)==Xn(k)
            l=l+1;
        else
             j=j+1;   % 计算错误的数量
            C(j)=k; % 计算出错位置           
        end
    end
BER=j/( Num-Lf+1);
%% ------------------程序后处理---------------------








欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1