pxycla
2007-06-02, 10:26
function LMS_adaptive_filter;%定义功能函数
samples_per_period=40;%周期采样频率
N=10*samples_per_period-1;%总采样次数
signal=sin(2*pi*0.02*[0:N-1]);%初始输入信号
figure;%作图1的第一子图
subplot(2,1,1);
plot(signal);
grid;
title('自适应滤波器的理想输入');
nvar=0.5;%噪声方差
noise=nvar*randn(1,N);%噪声信号
X=signal+noise;%带加性噪声的输入信号
delayX=[0 X];%输入信号延时
SIGNAL=[signal 0];
M=32;%滤波器长度
mu=0.035;%迭代步长
subplot(2,1,2);%作图1的第二子图
plot(delayX);
grid;
title('自适应滤波器的噪声输入');
initial_status=initlms(zeros(1,M),mu);%滤波器设初值
[Y,e,initial_status]=adaptlms(X,SIGNAL,initial_status);%LMS自适应滤波器输出
figure;%作图2的第一子图
subplot(2,1,1);
plot(0:N-1,Y,'.',0:N,SIGNAL,'k');
grid;
title('预测信号与实际信号的比较');
legend('预测信号,实际信号');
[以上程序没问题,但如果把一段语音作为输入,即x=('E:/1.wav'),噪声为高频余弦后,自适应滤波器的程序如何改,而且SIGNAL=[signal 0]是什么意思
samples_per_period=40;%周期采样频率
N=10*samples_per_period-1;%总采样次数
signal=sin(2*pi*0.02*[0:N-1]);%初始输入信号
figure;%作图1的第一子图
subplot(2,1,1);
plot(signal);
grid;
title('自适应滤波器的理想输入');
nvar=0.5;%噪声方差
noise=nvar*randn(1,N);%噪声信号
X=signal+noise;%带加性噪声的输入信号
delayX=[0 X];%输入信号延时
SIGNAL=[signal 0];
M=32;%滤波器长度
mu=0.035;%迭代步长
subplot(2,1,2);%作图1的第二子图
plot(delayX);
grid;
title('自适应滤波器的噪声输入');
initial_status=initlms(zeros(1,M),mu);%滤波器设初值
[Y,e,initial_status]=adaptlms(X,SIGNAL,initial_status);%LMS自适应滤波器输出
figure;%作图2的第一子图
subplot(2,1,1);
plot(0:N-1,Y,'.',0:N,SIGNAL,'k');
grid;
title('预测信号与实际信号的比较');
legend('预测信号,实际信号');
[以上程序没问题,但如果把一段语音作为输入,即x=('E:/1.wav'),噪声为高频余弦后,自适应滤波器的程序如何改,而且SIGNAL=[signal 0]是什么意思