24小时热门版块排行榜    

CyRhmU.jpeg
查看: 233  |  回复: 1
当前主题已经存档。
【有奖交流】积极回复本帖子,参与交流,就有机会分得作者 syy2468 的 2 个金币

syy2468

金虫 (正式写手)

忠实虫友

[交流] 【求助】一维维纳滤波的MATLAB程序

MATLAB里有二维的命令是wiener2处理图像,我做的是语音,求助一维的,希望大家能够帮助,提供一些较好的程序,非常感谢
回复此楼
飞跃2017
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

波不动

木虫 (正式写手)

Wave No Move

★ ★ ★ ★ ★
nono2009(金币+5,VIP+0):Great! 11-28 18:09
这是我平时常用的一维的维纳滤波程序,仅供参考~~~!!
CODE:
%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;

端好自己的碗,吃好自己的饭。
2楼2009-11-28 13:40:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 syy2468 的主题更新
普通表情 高级回复(可上传附件)
信息提示
请填处理意见