matlab滤波器

来源:百度知道 编辑:UC知道 时间:2024/05/29 12:51:47
我想用matlab设计一个低通滤波器,但是里面很多模块比如butterworth等都有一定的相位延迟,我想知道有没有哪个模块是可以做到没有相位延迟的,注意是要调用模块,不是写计算程序...
回答的好的可以再加分
一楼的回答很好,但是具体怎么在simlink里面实现啊?就是要把labc_L电流进行滤波....

I=imread('picture.tif');%将要滤波的图像读到I中,当然要换成你的图片名字了
imshow(I);
f=double(I);
g=fft2(f);
g=fftshift(g);
[N1,N2]=size(g);
n=2;
d0=50; %此处d0为截止频率,你可以依次换成60、70、80进行滤波比较
n1=fix(N1/2);
n2=fix(N2/2);
for i=1:N1
for j=1:N2
d=sqrt((i-n1)^2+(j-n2)^2);
h=1/(1+0.414*(d/d0)^(2*n));
result(i,j)=h*g(i,j);
end
end
result=ifftshift(result);
X2=ifft2(result);
J=uint8(real(X2));
figure,imshow(J);

这是标准的低通滤波器

http://hi.baidu.com/kblost/blog/item/e0552ea8c8d7b6b2cb130c25.html