📄 wiener2.m
字号:
%Wiener(s,sigma,N)维纳滤波器,s是期望信号,sigma是白噪声方差,h是滤波器系数,N是滤波器长度;
function h=Wiener2(s,sigma,N);
if nargin<3
N=length(s);
end
L=length(s);
Rss=xcorr(s,s,'biased');%使用有偏估计;
Rss=Rss(L:L+N-1);%取Rss的0~N-1个元素;
Rss=conj(Rss');
Rxx=[Rss(1)+sigma,Rss(2:end)'];%取Rxx的0~N-1个元素;
Rxx1=Rxx;
%size(Rxx)
for k=1:N-1
Rxx2=Rxx1([k+1:-1:2,1:N-k]);
Rxx=[Rxx;Rxx2];%构造自相关矩阵;
end
h=Rxx\Rss;
h=h';
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -