📄 testlfpef.m
字号:
% LFPEF used in a adaptive line enhancer application.
% By the end of this script, the forward prediction error
% is the wide-band signal and the output of the equivalent
% transversal predictor is the narrow-band (sinusoidal) signal.
clear all;
iter = 5000;
rand('state',0);
t = (1:iter)/1000; % time index @ 1kHz
xn = 2*(rand(iter,1)-0.5) ; % Input signal, zero mean random.
xn = xn + 1 * cos(2*pi*50*t');
yn = zeros(iter,1); % narrow-band signal
en = yn; % error signal
% Initialize LFPEF
M = 10; % filter length
mu_p = 0.01; % Step size
[k,b,P,e,y,c] = init_lfpef(M); % Init LFPEF
%% Processing Loop
for (m=1:iter)
[k,b,P,e,y,c] = asptlfpef(k,b,P,xn(m),mu_p);
yn(m,:) = y; % save narrow-band
en(m,:) = e; % save wide-band
end;
% Transfer function between e(n) and x(n).
h = filter([1 ; -c],1,[1;zeros(1023,1)]);
f = (0:512)*500/512;
H = 20*log10(abs(fft(h)));
% display the results
subplot(2,2,1);plot(f,H(1:513,:)); grid;
xlabel('frequency [Hz]')
ylabel('amplitude [dB]')
subplot(2,2,2);
plot([yn(4800:5000)]);grid
axis([0 200 -1 1]);
ylabel('filter output')
xlabel('time [samples]')
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -