This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS320F28335: controlSUITE中DSP库关于rfft输出相位的数据怎么理解和使用?

Part Number: TMS320F28335
Other Parts Discussed in Thread: CONTROLSUITE

controlSUITE中DSP库的函数void RFFT_f32_phase (RFFT_F32_STRUCT *),其输出应该在RFFT_F32_STRUCT结构体中的float32 *PhaseBuf指针中,但是需要多大的数组去存储结果?(FPU DSP Software Library USER’S GUIDE 5.16 Real Fast Fourier Transform Phase例程中没有定义该数组),另外其计算后相位的值怎么使用具体意义是什么?谢谢!

  • 您好,

    N-pt RFFT 由索引0、1、..N/2 (即 N/2 + 1复数值或 N+2实值)唯一指定(这是由于 N/2周围的共轭对称)
    N-pt RFFT 幅度由索引0、1、…唯一指定 N/2、即 N/2 + 1实数幅度值
    N-pt RFFT 相位由1、2、…唯一指定 N/2、即 N/2实数幅度值(索引0为 DC)

  • 谢谢。

    您好,请问相位的数据要结合幅度的数据来使用么?

    比如:输入的时域信号为下图: 可见,它是幅值都为1的50赫兹和150Hz的余弦叠加。

    采样频率为12800,采样点数为512。

    那么,经过dsp得到的幅值数据如下图:

    可见,数组的第三个元素对应50赫兹,第7个元素对应150Hz。结果没问题。

    而经过dsp得到的相位数据如下图:

    它的没个元素都有数值,要根据幅度数据来找相应的相位数值,这里对应的50赫兹和150Hz的相位基本就是0,与输入时域信号相符合。

    谢谢您!

  • 您的输入为 cos (2 π f n + phase)形式、其中 phase = 0。 所以答案是正确的。 

  • 好的。谢谢您!