fg_09_06.m
来自「英文书《Digital Signal Processing with Examp」· M 代码 · 共 44 行
M
44 行
% fg_09_06 Prediction of signal with freq. shift.
N=2; u=.2; v1=0.05; v2=0.1; K=1000;
k1=0:3*K/4-1; k2=3*K/4:K;
% Signals d and f.
s=[sin(2*pi*v1*k1) -sin(2*pi*v2*k2)]';
f=s(1:K);
d=s(2:K+1);
% Stationary predictor.
Phiff=autocorr_mat(f,0,N);
phifd=crosscorr(f,d,0,N);
bsta=Phiff\phifd;
es=d-filter(bsta,1,f);
TSEs=es'*es
% LMS predictor. Do not use first e value.
[y,b]=lms_filter([0 0],u,d(1:3*K/4),f(1:3*K/4),1);
b0=b(:,3*K/4)'
ea=d-lms_filter(b0,u,d,f);
ea=[0;ea(2:K)];
TSEa=ea'*ea
% Plots. Do not use ea(1).
sp_fig(1,9,5.5);
k=0:K-1;
subplot(3,1,1);
set(gca,'fontname','times','fontsize',16);
plot(k,d,'k'); grid;
axis([0,K,-1.4,1.4]);
ylabel('Signal d_k','position',[-80 -0.0424 17.32]);
subplot(3,1,2);
set(gca,'fontname','times','fontsize',16);
plot(k,es,'k'); grid;
axis([0,K,-.5,.5]);
ylabel('Reisdue e_k');
text(210,.38,'Non-adaptive','fontname','times','fontsize',16);
subplot(3,1,3);
set(gca,'fontname','times','fontsize',16);
plot(k,ea,'k'); grid;
axis([0,K,-.5,.5]);
xlabel('k'); ylabel('Residue e_k');
text(210,.38,['Adaptive; u=',num2str(u)],'fontsize',16);
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?