声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 10254|回复: 9

[综合讨论] matlab 中哪个命令可以实现维纳滤波器的功能

[复制链接]
发表于 2007-6-6 14:11 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
急用维纳滤波器,我需要它来仿真信号的消噪

[ 本帖最后由 eight 于 2008-3-24 17:18 编辑 ]
回复
分享到:

使用道具 举报

发表于 2007-6-6 14:39 | 显示全部楼层
[I,map]=imread('eight.tif');
J1=imnoise(I,'gaussian',0,0.02); % 受高斯噪声干扰,结果如图3-17(b)所示
[K noise]=wiener2(J1, [5 5]);%自适应维纳滤滤
subplot(131),imshow(I);title('原图l')
subplot(132),imshow(J1);title('噪声干扰图')
subplot(133),imshow(K);title('滤波后图像')
自适应维纳滤滤波示例,仅供参考。
更具体的用法参wiener2帮助文档....

评分

1

查看全部评分

 楼主| 发表于 2007-6-6 14:46 | 显示全部楼层
非常感谢!!!:lol
 楼主| 发表于 2007-6-6 14:49 | 显示全部楼层

求助:IIR陷波滤波器的matlab仿真

急用它来进行信号的消噪
发表于 2007-6-6 15:52 | 显示全部楼层
设计方法很多:冲击响应不变法,双线性Z变换法等
具体步骤:(1) 将数字滤波器性能指标变换成模拟滤波器指标
                (2) 归一化到低通滤波器的设计指标
                (3) 设计模拟低通滤波器
                (4) 转换成所需的模拟滤波器转移函数
                (5) 将所得的转移函数数字化得到需要的数字滤波器
说明:此方法适合与带通、带阻、高通滤波器的设计
以上每个步骤都有相应的实现函数,不再一一列出
函数butter(巴特沃数字斯滤波器)
函数chey1(切比雪夫1型数字斯滤波器)
可以实现上边的5个步骤;
更详细的请参看文献《数字信号处理》   清华大学出版社    胡广书

最后一点建议:你的这些都可以在书上找得到,算是很基础的东西。
与其在这里问,还不如好好看下书本.....

[ 本帖最后由 花如月 于 2007-6-6 15:57 编辑 ]

评分

1

查看全部评分

发表于 2007-6-6 18:29 | 显示全部楼层
以下给出IIR陷波器的设计方法:

陷波器设计方法

陷波器设计方法
发表于 2007-6-6 18:31 | 显示全部楼层
这里给出一个陷波器的例子:
% 50Hz notch filter
% sample frequency=400
%
clear all;
clc;

b=[1 -sqrt(2) 1];
a=[1 -sqrt(2)*0.999 0.999];
[db, mag, pha, grd, w]=freqz_m(b, a);        
subplot(221); plot(w*200/pi, db); title(' Magnitude Response' );
xlabel('frequency in Hz'); ylabel('dB'); axis([0, 100, -200, 5]);
set(gca, 'XTickMode', 'manual', 'XTick', [0, 50, 100]);
set(gca, 'YTickmode', 'manual', 'YTick', [-200, -100, 0]); grid
title('Notch filter response');
t0=1:8000;
t=1:256;
t1=1:100;
t2=1:128;
x=sin(2*pi*50*t0/400)+0.5*sin(2*pi*100*t0/400);
x1=x(t);
y=filter(b,a,x1);
subplot(222); plot(x1);
title('Original waveform');
X=fft(x1);
subplot(223); plot(t2*400/256,abs(X(t2)));
xlabel('frequency in Hz'); ylabel('|H|'); axis([0, 200, 0, 150]);
title('Spectrum for original');
set(gca, 'XTickMode', 'manual', 'XTick', [0, 50, 100, 150]);
set(gca, 'YTickmode', 'manual', 'YTick', [50, 100]); grid
y=filter(b,a,x);
x1=y(t+7600);
X=fft(x1);
subplot(224); plot(t2*400/256,abs(X(t2)));
xlabel('frequency in Hz'); ylabel('|H|'); axis([0, 200, 0, 150]);
title('Spectrum after filter');
set(gca, 'XTickMode', 'manual', 'XTick', [0, 50, 100, 150]);
set(gca, 'YTickmode', 'manual', 'YTick', [50, 100]); grid

评分

1

查看全部评分

 楼主| 发表于 2007-6-13 22:12 | 显示全部楼层

回复 #7 songzy41 的帖子

非常感谢,前几天在图书馆里啃书去了,一直没来。原来有这么多大哥帮我,受益非浅!!!!谢!!!
发表于 2009-8-24 10:58 | 显示全部楼层

回复 5楼 花如月 的帖子

你好 这步骤适合维纳滤波器的设计么,维纳滤波带通的怎么设计啊 有直接调用的函数么
发表于 2009-8-24 18:11 | 显示全部楼层

回复 10楼 海峡的风 的帖子

我用的是7.0版本,没有对1维信号处理的例子
5楼是常规数字滤波器设计的方法和思路,没现成的就根据原理自己设计
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-17 00:50 , Processed in 0.062913 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表