声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2436|回复: 1

[图像处理] 求助!!怎样用Matlab显示图像的频谱?

[复制链接]
发表于 2006-7-11 15:09 | 显示全部楼层 |阅读模式

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

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

x
做了一个带阻滤波器,因为不知道噪声的频率所以无法选择滤波器的带宽和半径,
想看一下图像的频谱,可是不会显示,哪位高人给俺指点一下啊??
谢谢!!
回复
分享到:

使用道具 举报

发表于 2006-7-12 14:15 | 显示全部楼层
自定义函数
function [AW,f]=cftbyfft(wt,t,flag)
if nargin==2;flag=1;end
N=length(t);                                       
T=t(length(t))-t(1);                       
dt=T/N;                                               
W0=fft(wt);                                       
W=dt*W0;                                               
df=1/T;                                               
n=0:1:(N-1);
if flag==0
   n=-N/2:(N/2-1);
   W=fftshift(W);                       
end
f=n*df;                                       
AW=abs(W);                                       
if nargout==0
plot(f,AW);grid,xlabel('频率f');ylabel('|w(f)|')
end



调用自定义函数
M=5;                               
tend=1;       
T=10;                               
N=2^M;               
dt=T/N;       
n=0:N-1;       
t=n*dt;       
w=zeros(size(t,2),1);
Tow=find((tend-t)>0);                       
w(Tow,1)=ones(length(Tow),1);%
plot(t,w,'b','LineWidth',2.5),title('Time Waveform');xlabel('t --- >')
[AW,f]=cftbyfft(w,t,0);
ff=f+eps;
AWW=abs(sin(pi*ff)./(pi*ff));
plot(f,AW,'b-',ff,AWW,'r:')
title('Aliasing caused by undersampling')
xlabel('f --- >');ylabel('|W(f)|'),legend('by FFT','Theoretical')

评分

1

查看全部评分

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-20 04:53 , Processed in 0.060205 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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