• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Matlab下各个滤波器传递函数透视图的绘制

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

原文地址:http://blog.csdn.net/ljp1919/article/details/44781215

本文主要绘制常用滤波器的透视图,包括低通,带阻和带通滤波器。而这三类滤波器又各自包含了理想、巴特沃兹和高斯滤波器。如,低通滤波器就可以分为理想低通滤波器、n阶巴特沃兹滤波器和高斯低通滤波器。

第一:低通滤波器

1)理想低通滤波器

传递函数:


透视图结果:


代码:

[cpp] view plain copy
 
  1. a=100;  
  2. b=100;  
  3. U=0:a;  
  4. V=0:b;  
  5. M=length(U);N=length(V);  
  6. D0=10;%W=200;%D0是频带的中心半径;W是频带的宽度  
  7. x1=50;y1=50;  
  8. x0=-50;y0=-50;  
  9. m=fix(M/2); n=fix(N/2);  
  10. H=zeros(M,N);  
  11. n=8;  
  12. for u=1:M  
  13.     for v=1:N  
  14.      a=sqrt((U(u) - 50) .* (U(u)-50) + (V(v) - 50) .* (V(v) - 50));%D(u,v)的值  
  15.             if(a<=D0)%理想陷波器  
  16.                 H(u,v)=1;  
  17.             else  
  18.                 H(u,v)=0;  
  19.             end  
  20.     end  
  21. end  
  22. %在绘制高斯曲面的时候,加上下述代码,显示得美观  
  23. figure;  
  24. surf(U,V,H)  


2)n阶巴特沃兹低通滤波器

传递函数:


透视图结果:


代码:

[cpp] view plain copy
 
  1. a=100;  
  2. b=100;  
  3. U=0:a;  
  4. V=0:b;  
  5. M=length(U);N=length(V);  
  6. D0=10;%W=200;%D0是频带的中心半径;W是频带的宽度  
  7. x1=50;y1=50;  
  8. x0=-50;y0=-50;  
  9. m=fix(M/2); n=fix(N/2);  
  10. H=zeros(M,N);  
  11. n=8;  
  12. for u=1:M  
  13.     for v=1:N  
  14.       a=sqrt((U(u) - 50) .* (U(u)-50) + (V(v) - 50) .* (V(v) - 50));%D(u,v)的值  
  15.       b=1+(a/D0)^2*n;  
  16.       H(u,v)=1/b;%尝试下,非理想滤波器,如巴特沃兹或者高斯  
  17.     end  
  18. end  
  19. figure;  
  20. surf(U,V,H)  
  21. title('n=8')  



3)高斯低通滤波器

传递函数:


透视图结果:


代码:

[cpp] view plain copy
 
  1. a=100;  
  2. b=100;  
  3. U=0:a;  
  4. V=0:b;  
  5. M=length(U);N=length(V);  
  6. D0=10; %D0是频带的中心半径;W是频带的宽度  
  7. x1=50;y1=50;  
  8. x0=-50;y0=-50;  
  9. m=fix(M/2); n=fix(N/2);  
  10. H=zeros(M,N);  
  11.   
  12. for u=1:M  
  13.     for v=1:N  
  14.         D1=((u-m-x0)^2+(v-n-y0).^2)^0.5;  
  15.         D2=((u-m+x0)^2+(v-n+y0).^2)^0.5;  
  16.         D11=((u-m-x1)^2+(v-n-y1).^2)^0.5;  
  17.         D21=((u-m+x1)^2+(v-n+y1).^2)^0.5;  
  18.         %高斯低通曲面  
  19.         H(u,v) = (U(u) - 50) .* (U(u)-50) + (V(v) - 50) .* (V(v) - 50);  
  20.           
  21.     end  
  22. end  
  23. %在绘制高斯曲面的时候,加上下述代码,显示得美观  
  24. fangcha=50;  
  25. H = -H/(2*fangcha);  
  26. H = exp(H) / (sqrt(2*pi) * sqrt(fangcha));  
  27.   
  28. surf(U,V,H)  


第二:带阻滤波器

1)理想带阻滤波器

传递函数:


透视图结果:


代码:

[cpp] view plain copy
 
  1. % %绘制函数剖面线  
  2. % [u,v] = meshgrid(-400:400, -400:400);  
  3. a=100;%图像的尺寸,长  
  4. b=100;%图像的尺寸,宽  
  5. U=0:a;  
  6. V=0:b;  
  7. M=length(U);N=length(V);  
  8. D0=30;%W=200;%D0是频带的中心半径;W是频带的宽度  
  9. x1=50;y1=50;  
  10. x0=-50;y0=-50;  
  11. m=fix(M/2);n=fix(N/2);  
  12. H=zeros(M,N);  
  13. % n=8;  
  14. W=10;%W是频带的宽度  
  15. for u=1:M  
  16.     for v=1:N  
  17. %         D1=((u-m-x0)^2+(v-n-y0).^2)^0.5;  
  18. %         D2=((u-m+x0)^2+(v-n+y0).^2)^0.5;  
  19. %         D11=((u-m-x1)^2+(v-n-y1).^2)^0.5;  
  20. %         D21=((u-m+x1)^2+(v-n+y1).^2)^0.5;  
  21.   
  22. %         % %设计带阻滤波器  
  23. %         H(u,v)=1-exp(-0.5*((D(u,v)^2-D0^2)/(D(u,v)*W))^2);  
  24.             D=sqrt((U(u) - m) .* (U(u)-m) + (V(v) - n) .* (V(v) - n));%D(u,v)的值  
  25.             if((D<D0-W/2) || (D>D0+W/2))%理想带阻滤波器  
  26.                 H(u,v)=1;  
  27.             else  
  28.                 H(u,v)=0;  
  29.             end  
  30.   
  31. %         H(u,v)=1-exp(-0.5*((D1*D2/D0^2)));%尝试下,非理想滤波器,如巴特沃兹或者高斯  
  32. %       a=sqrt((U(u) - 50) .* (U(u)-50) + (V(v) - 50) .* (V(v) - 50));%D(u,v)的值  
  33. %       b=1+(a/D0)^2*n;  
  34. %       H(u,v)=1/b;%尝试下,非理想滤波器,如巴特沃兹或者高斯  
  35.     end  
  36. end  
  37. %在绘制高斯曲面的时候,加上下述代码,显示得美观  
  38. % fangcha=50;  
  39. % H = -H/(2*fangcha);  
  40. % H = exp(H) / (sqrt(2*pi) * sqrt(fangcha));  
  41. figure;  
  42. surf(U,V,H)  
  43. title('理想带阻滤波器:D0=30,W=10')  
  44. % [X,Y] = meshgrid(-2:.2:2, -2:.2:5);                                  
  45. % Z = X .* exp(-X.^2 - Y.^2);                                          
  46. % surf(X,Y,Z)  

2)n阶巴特沃兹带阻滤波器

传递函数:


透视图结果:


代码:

上一篇:
delphi中Tstringlist分割字符串的用法发布时间:2022-07-18
下一篇:
关于Delphi中多线程传递参数的简单问题发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap