0

目前我在输入数据上接吻 FFT ..

我在 std::vector& samples2 中有输入数据,我想将其转换为 KissFFT 所需的格式。

我正在使用以下代码来转换它,,

但最后我得到了差异值,请帮助..

这是我的代码

 ShortBuffer *pBuffer1 = pData->AsShortBufferN();

    std::vector<short> input(pBuffer1->GetPointer(),
            pBuffer1->GetPointer() + BUFFER_SIZE);

    kiss_fft_scalar* samples = (kiss_fft_scalar*) &input[0]; // Here my input data  is change 

请帮忙

4

2 回答 2

1

'kiss_fft_scalar' 的默认值是浮点数。但它可以是短类型或浮点类型。

http://www.reproducibility.org/RSF/book/rsf/manual/manual_html/node11.html

于 2013-06-05T06:11:12.730 回答
0

Kiss_fft_scalar的类型可以是 float、short、int32 或 __m128。它依赖于 FIXED_POINT 和 USE_SIMD 的相同预处理器定义。检查kiss_fft_scalar的类型是否较短。

您的编译器可以帮助您 - 不要使用C cast:

 kiss_fft_scalar* samples = &input[0];  // type of &input[0] must be kiss_fft_scalar* !!!
于 2013-06-05T05:18:25.073 回答