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.

[参考译文] CCS/TM4C123GH6PM:FIR 滤波器

Guru**** 2478765 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/693227/ccs-tm4c123gh6pm-fir-filter

器件型号:TM4C123GH6PM

工具/软件:Code Composer Studio

您好!

我使用 CMSIS DSP 库 ARM_fir F32函数创建一个低通滤波器、以滤除以256Hz 采样的512个样本。 这种情况非常好。

现在、我有2个大小相同(512)的数组。 我使用了两次滤波器、一个数据集被正确过滤、而另一个数组的前几个样本被破坏。  

IP=&FFFT_Input[0];
OP=Output[0];
ARM_Fir 实例 F32 S;
arm_fir_init_F32 (&S、NUM_TAPS、(float32_t *)&firCoeffs32[0]、&StatefirF32[0]、blocksize);

IP1=&FFFT_Input1[0];
OP1=Output1[0];
ARM_fir 实例 F32 T;
arm_fir_init_F32 (&T、NUM_TAPS、(float32_t *)&firCoeffs32[0]、&StatefirF32_2[0]、blocksize);

while (1){

if (complete_conv){

for (i=0;i <(numBlocks);i++){
arm_fir f32 (&S、ip +(i*blocksize)、op +(i*blocksize)、blocksize);

for (i=0;i <(numBlocks);i++){
arm_fir F32 (&T、IP1 +(i*blocksize)、op1 +(i*blocksize)、blocksize);

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Prabath 您好!

    如果您添加了一个额外的数组、并且问题突然出现、我怀疑堆栈溢出是问题所在。 请尝试为您的项目增加堆栈大小。 您可以在 Project Properties -> Build -> ARM Linker -> Basic Options -> Set C system stack size 中执行此操作
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Ralph:

    您提供的解决方案解决了我的问题。 非常感谢您的支持和快速响应。

    非常感谢