📄 lfm1.m
字号:
%Conputer experiments on adaptive equalization Experiment 2: LMS algorithm
clear;close all;clc;
N=1000;delta=7;
u3=[0.0075 0.025 0.075];
wk_mean=zeros(4,11);
err_mean=zeros(4,993);
for ii=1:3
w=3.3;u=u3(ii); % w the factor of amplitude distortion;u step length
wk=zeros(100,11); % wk=zeros(N,11);%Weight vector ZEROS([M,N]) is an M-by-N matrix of zeros
err=zeros(100,N-7);
power_v=0.001;
hn=[0,0.5*(1+cos(2*pi/w*((1:3)-2)))];%The impulse response of the channel
Am=sqrt(power_v); % Power of additive gaussian white noise
for nn=1:100
bernuli=randsrc(1,N);% Generate Bernoulli sequence RANDSRC(M,N) generates an M-by-N random bipolar matrix 1*1000
vn=Am*randn(1,N+3);%Additive gaussian white noise RANDN(M,N) and RANDN([M,N]) are M-by-N matrices with random entries 1*1003
signal_in=[zeros(1,10),conv(bernuli,hn)+vn];%The input signal of adaptive transversal equalization C = CONV(A, B) convolves vectors A and B. The resulting. 1*1013
bernuli_delta=[zeros(1,delta),bernuli]; % 1*1007
for m=1:N-7
alc_data=signal_in(m+10:-1:m); %
err(nn,m)=bernuli_delta(m)-alc_data*wk(nn,:)'; %
wk(nn,:)=wk(nn,:)+u*err(nn,m)*signal_in(m+10:-1:m); %
end
end
wk_mean(ii,:)=sum(wk)/100;%
err_mean(ii,:)=sum(err.*err)/100;%
end
subplot(3,1,1);
stem(wk_mean(1,:));title('u=0.0075');axis([0 11 -1 1.8]);grid on;
subplot(3,1,2);
stem(wk_mean(2,:));title('u=0.025');axis([0 11 -1 1.8]);grid on;
subplot(3,1,3);
stem(wk_mean(3,:));title('u=0.075');axis([0 11 -1 1.8]);grid on;
figure;
semilogy(1:993,err_mean(1,1:993),1:993,err_mean(2,1:993),1:993,err_mean(3,1:993));
xlabel('Number of iterations n');ylabel('Ensemble averange square error');
legend('u=0.0075','u=0.025','u=0.075');title('LMS algorithm');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -