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.

fftc例程中输入数据的实虚部排列方式怎么是个反的?



TI提供的FFTC例程中输入输出的数据格式如下:

#ifndef xdc_target__bigEndian
typedef struct _Cplx16
{
/** Imaginary part of the FFT data */
Int16 imag;

/** Real part of the FFT data */
Int16 real;
} Cplx16;
#else
typedef struct _Cplx16
{
/** Real part of the FFT data */
Int16 real;

/** Imaginary part of the FFT data */
Int16 imag;
} Cplx16;
#endif

小端模式下,数据低地址是实部,高地址是虚部,怎么FFT的输入是低地址是虚部,高地址是实部,为什么是这样呢?

数据这样排列,后续数据不好处理

  • 如FFTC user guide endian support section描述,FFTC输入要求输入的数据实部在32bit的MSB,虚部在LSB,所以对于大端而言memory中存储数据低地址为实部,高地址为虚部,小端则是低地址为虚部,高地址为实部。