标题: 信道均衡 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 |