📄 lr1641.m
字号:
%--------------------------------
%基带信号产生
N=1000;%序列长度
[x]=gene(N);%产生基带信号
fd=100; % fd-原始信号采样率
fs=600; % fs-滤波器采样频率
alpha=1;%滚降系数系数
%-------------------------------
%对原信号抽样产生数字信号
for i=1:N
for j=1:(fs/fd)
dk((fs/fd)*(i-1)+j)=x(i);%因为fs/fd=6,即每个脉冲采6个点
end
end
m1=dk;%第一路信号
m2=[zeros(1,9),dk(1:(length(dk)-9))];%因每10ms采个点,第2路信号比第一路信号延时15ms,所以第2路信号前9都为0;
m3=[zeros(1,15),dk(1:(length(dk)-15))];%第2路信号比第一路信号延时25ms,所以第2路信号前15都为0;
[NUM,DEN] = RCOSINE(fd, fs, 'fir',alpha );%建立升余弦信模,NUM代滤波器数,DEN为1;
M1=filter(NUM,1,m1);
M2=filter(NUM,1,m2);
M3=filter(NUM,1,m3);
X1=M1+M2;%均衡器输入信号
X2=M1+M3;
X3=M1;
X1=X1./max(X1);
X2=X2./max(X2);
X3=X3./max(X3);
%--------------------------------------
%显示均衡器输入信号
figure(1)
subplot(3,1,1)
stem(X1);%显示相差15ms的二径信号
axis([1 100 -0.1 1.3]);
subplot(3,1,2)
stem(X2);%显示相25ms的二径信号
axis([1 100 -0.1 1.3]);
subplot(3,1,3)
stem(X3);%显示相25ms的二径信号
axis([1 100 -0.1 1.3]);
%--------------------------------------
%LMS自适滤波器实现
delt=0.05;%迭步长
M=2;%抽头数
[yn1,MSE1]=lms1(X1(1:500),M1(1:500),M,delt);
[yn2,MSE2]=lms1(X2(1:500),M1(1:500),M,delt);
[yn3,MSE3]=lms1(X3(1:500),M1(1:500),M,delt);
%-----------------------------------
%绘制最均方差的函数曲线
figure(2)
plot(MSE1);
title('无延迟信号与延迟15ms的信号合成信号的代价函数');
ylabel('信号的最小均方误差1');
figure(3)
plot(MSE2);
title('无延迟信号与延迟25ms的信号合成信号的代价函数');
ylabel('信号的最小均方误差2');
figure(4)
plot(MSE3);
title('第二路信号设为0的代价函数');
ylabel('信号的最小均方误差3');
%------------------------------------
%计算迭代次数
%计算到达收敛的迭代次数
[n1]=diedai(MSE1);
[n2]=diedai(MSE2);
[n3]=diedai(MSE2);
n1%显示迭代次数
n2
n3
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -