📄 testlbpef.m
字号:
% LBPEF used in a adaptive line enhancer application.
% By the end of this script, the backward prediction error
% is the wide-band signal and the output of the equivalent
% transversal predictor is the narrow-band signal.
clear all;
iter = 5000;
t = (1:iter)/1000; % time index @ 1kHz
xn = 2*(rand(iter,1)-0.5) ; % Input signal, zero mean random.
xn = xn + 2 * 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,x,c]=init_lbpef(M); % Init LBPEF
%% Processing Loop
for (m=1:iter)
x = [xn(m); x(1:end-1)];
[k,b,P,e,y,c] = asptlbpef(k,b,P,x,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 -2 2]);
ylabel('filter output')
xlabel('time [samples]')
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -