📄 fg_08_20.m
字号:
% fg_08_20 Noise cancelling - TSE versus N.
K=40000; T=1/40000;
% Copy the speech signal.
fid=fopen(['signal_3.txt']);
s=fscanf(fid,'%7d%8d%8d%8d%8d%8d%8d%8d%8d%8d\n',K);
fclose(fid);
s=127*s'/max(abs(s));
% Generate the rock drill n.
b=[1 zeros(1,99) -.99];
a=[1 -2*.99*cos(2*pi*2/100) .99^2];
randn('seed',0);
n=filter(b,a,10*rand(1,40000));
% Generate the corellated noise.
theta=[0 3 4 5 6];
zer=.9*[exp(j*theta) exp(-j*theta)];
f=.01*filter(1,poly(zer),n);
% TSE versus N.
Nmin=0; Nmax=14;
rdd0=(s+n)*(s+n)';
TSE=rdd0*ones(1,Nmax);
for N=Nmin:Nmax,
Rff=autocovar_mat(f,N);
rfd=crosscovar(f,s+n,N);
b=Rff\rfd;
TSE(N+1)=rdd0+b'*Rff*b-2*b'*rfd;
end
% Plot TSE versus N.
sp_fig(1,9,4);
set(gca,'fontsize',16);
dB=10*log10(TSE);
line([0:Nmax],dB,'color','r','marker','o','markersize',9);
grid on; xlabel('No. weights (N)');
ylabel('10*log_{10}(TSE_{min})');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -