yanzy128 发表于 2007-4-1 19:33

关于FFT的问题(十万火急)

本帖最后由 wdhd 于 2016-9-2 15:16 编辑

  对于 迭代方程,取512个点进行FFT变换,
  可以得到X(k) (k=0,1,2....N-1),
  其中X(k)为复数,实部代表幅值,虚部
  代表相位,
  请问:
  如何作幅值谱,幅值谱的横轴的单位为甚么?
  不胜感激!!

eight 发表于 2007-4-1 19:36

原帖由 yanzy128 于 2007-4-1 19:33 发表
对于 迭代方程,取512个点进行FFT变换,
可以得到X(k)(k=0,1,2....N-1),
其中X(k)为复数,实部代表幅值,虚部
代表相位,
请问:

如何作幅值谱,幅值谱的横轴的单位为甚么?

不胜感激 ...


要是这么十万火急的话,何不自己动手呢?你要的东西本版就有

songzy41 发表于 2007-4-2 06:38

原帖由 yanzy128 于 2007-4-1 19:33 发表
对于 迭代方程,取512个点进行FFT变换,
可以得到X(k)(k=0,1,2....N-1),
其中X(k)为复数,实部代表幅值,虚部
代表相位,
请问:

如何作幅值谱,幅值谱的横轴的单位为甚么?

不胜感激 ...
幅值谱的横轴的单位是频率。
但楼主有一个概念上的错误:“X(k)为复数,实部代表幅值,虚部代表相位”。X(k)为复数没错,幅值是实部和虚部的模值,相位是由实部和虚部的arctan求得。

yanzy128 发表于 2007-4-2 11:05

不好意思,
void FftTransform(complex *pp,complex * ff,int num)
其中pp中计算了幅值和相位,
ff中保存了计算后的实部和虚部,

用FFT变换,可以根据sqrt(real^2+imag^2)得到幅值,
用artan(imag/real)得到相位。

问题的关键是横轴,怎么设置,
其单位又是什么?

aben7 发表于 2007-4-2 20:00

原帖由 yanzy128 于 2007-4-2 11:05 发表
不好意思,
void FftTransform(complex *pp,complex * ff,int num)
其中pp中计算了幅值和相位,
ff中保存了计算后的实部和虚部,

用FFT变换,可以根据sqrt(real^2+imag^2)得到幅值,
用artan(imag/real ...

假设FFT长度是N
则横轴:(0:N-1)/N*fs,对应是频率,

yanzy128 发表于 2007-4-2 20:05

对于迭代系统
fs代表什么?
:handshake

zhangnan3509 发表于 2007-4-2 20:11

应该是采样频率呀!fs还能表示什么呢?
页: [1]
查看完整版本: 关于FFT的问题(十万火急)