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.
我们使用 Hercules DSPLIB v1.0.0 在我们的应用中执行一些信号处理。 为了简单地使用库进行触控、我们只需对直流信号执行128点 FFT 即可获得脉冲响应。
以下代码 摘录:
float32_t test[128]={1.0};
arm_rfft_instance_f32 rfft_instance;
arm_rfft_instance_f32* rfft_instance_ptr =(arm_rfft_instance_f32*)&rfft_instance;
ARM_CFFT_radx4_instance_F32 CFFT_instance;
ARM_CFFT_radx4_instance_f32* CFFT_instance_ptr =(ARM_CFFT_radx4_instance_f32*)&CFFT_instance;
arm_rfft_init_F32 (rfft_instance_ptr、CFFT_instance_ptr、128、0、1);
float32_t out[256]={0.0};
arm_rfft_F32 (rfft_instance_ptr、test、out);
但是,当我打印“输出”的结果时,我得到了一个1、0、1、0……的流 而不是幅度为128的脉冲。
实数[0]=1、实数[1]=1、实数[2]=1……
Complex [0]= 0,Complex [1]=0,Complex [2]=0……
我是否不正确地使用此功能?
您好 Dhruva、
BTW、您使用的是哪个器件?
arm_rfft_F32输出的格式(...) 是 :{REAL [0]、IMag[0]、REAL [1]、IMag[1]、REAL [2]、 伊玛格[2] 实数[(N/2)-1]、imag[(N/2)-1}
N/2是实数部分、N/2是交错的虚数部分、共为 N/2复数对。
您好 Dhruva、
可以在 AM65x 器件上使用代码。
您好、Wang、
是的。 就是我有一个交替的1和0流作为输出。 直流信号的 FFT 应该已经为我提供了一个纯实脉冲响应。
我只期望 REAL [0]具有一个值、其他所有值都为零。
预期输出为[128、0、0、0、0..]
但我得到的是[1,0,1,0,1,0............]
我在 AM6546上使用它。 我们为 R5F 编译了 HerculesLIB、并开始了一些工作。
[引用 user="Dhruva Krishnadas "] float32_t test[128]={1.0};[/引用]
我认为这只会将第一个元素初始化为1.0。 所有其他的将是0.0。 您是否已仔细检查调试器?
谢谢 Brad。 这就是诀窍。