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.

[参考译文] TMS570LS1224:对于包络高阶、DSP FIR 无法正常工作

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/576097/tms570ls1224-dsp-fir-not-working-properly-for-envelope-high-order

器件型号:TMS570LS1224

你(们)好

我尝试对信号进行包络。 包络是一个具有256个阶的 FIR 滤波器、但在运行时、它会崩溃...  

为什么会发生这种情况? 订单是否太高?

我如何解决这个问题?

谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您能否提供更具描述性的解释而不是崩溃? 问题的症状是什么?

    是否得到中止? 如果是、什么类型的中止? 是否可以将中止跟踪到特定指令?

    MCU 是否挂起? 如果是、它在哪个代码上挂起? 它在软复位时清除还是需要上电复位?

    算法是否只是返回垃圾答案、否则 MCU 会继续执行?

    我们需要更多信息来提供帮助。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    它会中止
    dabort
    stmfdR13!、{r0 - R12、LR};将寄存器和链接寄存器推入堆栈

    一个示例。
    可以是订单吗? 这太大了?

    此致
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    还可以。。。 它已经工作了... 我刚刚将订单更改为255、并且工作正常
    所以... 两个选项:
    1)滤波器阶数必须是奇数、因此 FIR_STATE 必须是偶数
    2)内部的计数器是一个字符、导致了问题
    我不知道它是哪一个、但是... 嗯... 工作。
    很高兴知道是哪一个。 但是... 对于我在 DSP 库中看到的源代码、它们没有对计数器使用字符。 所以... 对于记录:对筛选顺序使用奇数。

    谢谢!