📄 wiener.m
字号:
%Wiener(x,s,N)维纳滤波器,其中x是观测信号,s是期望信号,h是滤波器系数,N是滤波器长度;
function h=Wiener(x,s,N);
if nargin<3
N=length(x);
end
L=length(x);
Rxs=xcorr(s,x,'biased');%使用有偏估计;
Rxs=Rxs(L:L+N-1);%取Rxs的0~N-1个元素;
Rxs=conj(Rxs');
Rxx=xcorr(x,x,'biased');%使用有偏估计;
Rxx=Rxx(L:L+N-1);%取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\Rxs;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -