clear all
clc
%假定冲击响应为 h(k),K+1 个抽头,均衡器 2K+1 个抽头,
K=3;
a=zeros(1,10);
b=zeros(1,10);
ff=1;
kk=1;
for kk=1:10
b(kk)=0.1*kk;
end
%噪声方差
for sigma=0.1:0.1:1
wrong=0;
for i=1:10000
%产生 3000 个 bpsk 信号
n=3000;
for i=1:n
in(i)=2*round(rand)-1;
end
%随机产生信道
h=rand(1,K+1);
%h=[1 0.1 0.05 0.03];
%匹配滤波
x=conv(h,fliplr(h));
%求埃尔米特协方差矩阵
gamma=zeros(2*K+1,2*K+1);
x=fliplr(x);
for j=1:K+1
gamma(j,1:j+K)=x(length(x)-(j+K-1):end);
end
for j=K+2:2*K+1
gamma(j,j-K:end)=x(1:3*K+2-j);
end
%求列向量
y=zeros(1,2*K+1);
y(1:K+1)=fliplr(h);
y=y';
%求均衡器系数
c=inv(gamma)*y;
c=c.';
%加噪声
out=conv(in,h)+sqrt(sigma)*rand(1,3000+K);
%均衡