a489596815 发表于 2013-1-14 20:07

FFT,IFFT问题求解惑!!!!!在线等!!!

本帖最后由 a489596815 于 2013-1-14 20:09 编辑

N=8192;
fs=0.8192*10^9;
T=1/fs;
n=1:N;
t=n*T;w=fs*n/N;f(t)=(exp(-1.5*t*10^6)-exp(-2.6*t*10^8));f(w)=ifft(f(t))/N;plot(w,abs(f(w)));这个是f(t)经过ifft变换的频谱图F(w)=(1./(1.5*10^6+j*w)-1./(2.6*10^8+j*w));plot(w,bs(F(w)));这个是直接频域表达式出图
已知f(t)=(exp(-1.5*t*10^6)-exp(-2.6*t*10^8));它经过傅里叶变换的计算,可得出表达式,
F(w)=(1./(1.5*10^6+j*w)-1./(2.6*10^8+j*w));
以上是数学计算就可得出的,但是对f(t)经过FFT变换的图像不是F(w);
两个图像不一样,而且F(w)ifft变换也不是f(t)的图像 ,就高手解惑。。。。。。

321forever 发表于 2013-1-15 05:03

1. lz的程序有效错误,f(t) f(w) 应该要改成 f,f1 这样的吧, 还有就是plot(w,bs(F(w))); 这里 abs吧。
2. f(w)=ifft(f(t))/N;plot(w,abs(f(w)));这个是f(t)经过ifft变换的频谱图
   这个不太明白,f(t) 不就是时域的么 应该做的是fft吧
3. lz的F(w)是离散傅立叶的结果还是连续傅立叶的结果呢? matlab中的fft 是Discrete Fourier transform
下面的程序 中的时域也是指数函数,从视域 ->频域->时域的过程fs=100;%设定采样频率
N=128;
n=0:N-1;
t=n/fs;
x=pi/2*exp(-0.25*t.^2);
figure(1);
subplot(311);
plot(t,x);
%进行FFT变换并做频谱图
y=fft(x,N)/N;%进行fft变换
mag=abs(y);%求幅值
f=(0:N-1)'*100/N;%进行对应的频率转换
subplot(312);
plot(f,mag);%做频谱图
%用IFFT恢复原始信号
xifft=ifft(y)*N;
magx=real(xifft);
subplot(313);
plot(t,magx);

a489596815 发表于 2013-6-1 00:36

321forever 发表于 2013-1-15 05:03 static/image/common/back.gif
1. lz的程序有效错误,f(t) f(w) 应该要改成 f,f1 这样的吧, 还有就是plot(w,bs(F(w))); 这里 abs吧。
2 ...

谢谢~小弟问题是 这样的 就是知道一个f=(1./(1.5*10^6+j*w)-1./(2.6*10^8+j*w));这样的频域表达式,想把它变到时域的波形图   请求指导

伤痕累累 发表于 2013-6-4 19:27

a489596815 发表于 2013-6-1 00:36 static/image/common/back.gif
谢谢~小弟问题是 这样的 就是知道一个f=(1./(1.5*10^6+j*w)-1./(2.6*10^8+j*w));这样的频域表达式,想 ...

这样的传递函数,你只需要Laplace逆变换就可以了,直接编程得到的还是频域图像。
页: [1]
查看完整版本: FFT,IFFT问题求解惑!!!!!在线等!!!