matlab 中哪个命令可以实现维纳滤波器的功能
急用维纳滤波器,我需要它来仿真信号的消噪[ 本帖最后由 eight 于 2008-3-24 17:18 编辑 ] =imread('eight.tif');
J1=imnoise(I,'gaussian',0,0.02); % 受高斯噪声干扰,结果如图3-17(b)所示
=wiener2(J1, );%自适应维纳滤滤
subplot(131),imshow(I);title('原图l')
subplot(132),imshow(J1);title('噪声干扰图')
subplot(133),imshow(K);title('滤波后图像')
自适应维纳滤滤波示例,仅供参考。
更具体的用法参wiener2帮助文档.... 非常感谢!!!:lol
求助:IIR陷波滤波器的matlab仿真
急用它来进行信号的消噪 设计方法很多:冲击响应不变法,双线性Z变换法等具体步骤:(1) 将数字滤波器性能指标变换成模拟滤波器指标
(2) 归一化到低通滤波器的设计指标
(3) 设计模拟低通滤波器
(4) 转换成所需的模拟滤波器转移函数
(5) 将所得的转移函数数字化得到需要的数字滤波器
说明:此方法适合与带通、带阻、高通滤波器的设计
以上每个步骤都有相应的实现函数,不再一一列出
函数butter(巴特沃数字斯滤波器)
函数chey1(切比雪夫1型数字斯滤波器)
可以实现上边的5个步骤;
更详细的请参看文献《数字信号处理》 清华大学出版社 胡广书
最后一点建议:你的这些都可以在书上找得到,算是很基础的东西。
与其在这里问,还不如好好看下书本.....
[ 本帖最后由 花如月 于 2007-6-6 15:57 编辑 ] 以下给出IIR陷波器的设计方法: 这里给出一个陷波器的例子:
% 50Hz notch filter
% sample frequency=400
%
clear all;
clc;
b=;
a=;
=freqz_m(b, a);
subplot(221); plot(w*200/pi, db); title(' Magnitude Response' );
xlabel('frequency in Hz'); ylabel('dB'); axis();
set(gca, 'XTickMode', 'manual', 'XTick', );
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();
title('Spectrum for original');
set(gca, 'XTickMode', 'manual', 'XTick', );
set(gca, 'YTickmode', 'manual', 'YTick', ); 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();
title('Spectrum after filter');
set(gca, 'XTickMode', 'manual', 'XTick', );
set(gca, 'YTickmode', 'manual', 'YTick', ); grid
回复 #7 songzy41 的帖子
非常感谢,前几天在图书馆里啃书去了,一直没来。原来有这么多大哥帮我,受益非浅!!!!谢!!!回复 5楼 花如月 的帖子
你好 这步骤适合维纳滤波器的设计么,维纳滤波带通的怎么设计啊 有直接调用的函数么回复 10楼 海峡的风 的帖子
我用的是7.0版本,没有对1维信号处理的例子5楼是常规数字滤波器设计的方法和思路,没现成的就根据原理自己设计
页:
[1]