登录论坛

查看完整版本 : [MATLAB数学相关] LSF 的FFT转换,频率问题


jinxc1979
2009-05-21, 02:13
请教高手,我有一个很窄的line spread function,现在做一个FFT转换求MTF,我的线宽是5微米,1024个点,最大的频率应该是100lp/mm,可是我不知道怎么在MATLAB中换算过来,下面是我试写的,但结果不是很对,不知道怎么改,请高手指点一下。
谢谢!
LSF在附件里!
% FFT to calculate the MTF
[FileName, PathName]=uigetfile('*.xls','Select the Excel File');
[Data,TXT,RAW]=xlsread([PathName,FileName]);% file is 100u-LSF
xx=Data(:,1);

AA=Data(:, 3);
%curve= fit(xx,AA,'gauss1');
%X=curve(xx);

%BB=fft(X,4096);
BB=fft(AA,2048);
Pyy = BB.* conj(BB) / 2048;
yy=max(Pyy);
Pyy=Pyy./yy;
x=[0:1023].*100./1023;

plot (x(1:10),Pyy(1:10));

jinxc1979
2009-05-27, 09:04
有人做这一块么?帮帮忙啊!