📄 ale_lms.m
字号:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% ale_lms.m - ALE programs used in Section 9.8.1
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear all, close all;
Fs = 8000;
n = sqrt(0.1)*randn(1,500); % noise with var = 0.1
s = sin(2*pi*200*(1:1:500)/Fs); % signal with power = 0.5
d = s+n; % desired signal, d(n)
x = [0 d(1:length(d)-1)]; % input to AF, delayed version of d(n)
L = 16; % number of taps of FIR filter
w0 = zeros(1,L); % initialize filter coefficients
max_mu_lms = 1/(L*(0.5+0.1)); % maximum step size
mu_lms = 0.01; % step size
% Adaptive filtering with the LMS algorithm
Slms = initlms(w0,mu_lms);
[ylms,elms,Slms] = adaptlms(x,d,Slms);
figure(1)
subplot(311); plot(d); title('Sinewave corrupted by noise');
subplot(312); plot(ylms); title('Cleaned sinewave');
subplot(313); plot(elms); title('Error signal');
figure(2)
subplot(211);psd(d); title('PSD before ALE'); grid on;
subplot(212);psd(ylms);title('PSD after ALE (LMS)');grid on;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -