zyy_ChinaVib 发表于 2012-3-7 08:07

用vdsp的库函数实现FFT相关运算的步骤

各位大侠,有用VisualDsp++中的FFT进行处理的吗?用过的请赐教,谢谢!
问题是此开发环境中提供的FFT函数原型为:
void cfft_fr16(const complex_fract16 input[],
complex_fract16 output[],
const complex_fract16 twiddle_table[],
int twiddle_stride,
int fft_size,
int *block_exponent,
int scale_method);
要求输入和输出均是fract16类型构成的一个复数,而fract16的范围是[-1.0,1.0),而我们采集的时域数据通常为一般的float类型,如何在调用此FFT函数之前对数据转换?FFT之后如何获得信号频谱的真实幅值?谢谢!

zyy_ChinaVib 发表于 2012-3-8 17:29

处理办法是: 将采集到的时域数据除一个数N,使处理过的数据在范围[-1,1)内,然后做cfft_fr16()操作,最后在需要的地方再乘以N。

firecat_2 发表于 2012-3-9 09:30

回复 2 # zyy_ChinaVib 的帖子

问题解决了!:@)
页: [1]
查看完整版本: 用vdsp的库函数实现FFT相关运算的步骤