EDA365电子论坛网

标题: 为什么利用fft画出的频谱和直接利用公式画出的频谱不一致? [打印本页]

作者: lahhse    时间: 2022-7-21 11:25
标题: 为什么利用fft画出的频谱和直接利用公式画出的频谱不一致?
比如 时域信号 exp(-(t.^2)),波形图是:
+ g* y, ]2 P/ V1 i; a6 J5 @+ D" M3 `7 P! M' L& j% g$ J5 g
对它做fft变换,求得频谱是:- y6 ?  `+ A5 d3 z& S- Y

) e, n$ w0 E0 }% W* y另外,我知道exp(-(t.^2)) 的傅里叶变换的公式是sqrt(pi).*exp(-(pi.*freq).^2),直接仿真该公式:
6 D! l6 ^8 B2 Z& ]( }
7 S* U$ [" ~3 Y2 ]$ r# N再对其 ifft得到时域波形是:2 V8 ?" w/ d, k2 }/ K- l/ H/ M1 }7 K

9 J/ P- _3 y* N3 u不管时域波形和频域波形,都不一致啊,为什么呢?
, e8 z* m2 D2 h! J' Z+ V; q/ t8 r. x1 U$ A
clear all;close all;clc;
4 n  q& h- V' G$ E# T, }t=linspace(-10,10,1024);0 {+ P( H* `1 {
y=exp(-(t.^2));1 W+ _# W4 V9 [! }* O8 g' X
figure(1);
1 u' o/ W7 n# ]8 l, R9 Oplot(t,y);6 C) R8 o0 S7 B+ }% c
figure(2);. I2 E  T# h8 F+ k5 G+ c" }
y_spec=fft(y);
8 K6 n& B  c5 nfreq=linspace(-1/10,1/10,1024);& ~! }  v( u& z/ \3 r
plot(freq,fftshift(abs(y_spec)));
- n; ~, z8 \9 ], T3 efigure(3);
  Y7 D6 f/ ^* M8 |$ a' }4 qz_spec=sqrt(pi).*exp(-(pi.*freq).^2);
1 R# b5 I8 n7 j7 ?; jplot(freq,z_spec);
$ G1 P7 E, |5 @+ Dfigure(4);
6 w! G6 }- \# y" g# xplot(t,fftshift(ifft(z_spec)));
6 [  y5 H' y: I/ ?
作者: 芦根苏木    时间: 2022-7-21 13:17
fft是离散的,你给的那个傅里叶变换公式是连续信号的变换,两个信号都不一样,所以变换不一样1 ]' t* N6 y, q

作者: Memory00    时间: 2022-7-21 14:47
同问,求结果
/ S1 ^# Z+ b2 a$ I4 F
作者: ESCAPE    时间: 2022-7-21 15:37
再看看别人是怎么说的, P, w* {9 Z& }2 |: r/ g/ E





欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2