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.

[参考译文] TMS320F28377D:FPU FIR32.asm 采样延迟

Guru**** 2596665 points
Other Parts Discussed in Thread: CONTROLSUITE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/675085/tms320f28377d-fpu-fir32-asm-sample-delay

器件型号:TMS320F28377D
Thread 中讨论的其他器件:controlSUITE

我正在尝试将 FIR_32.asm 文件用于18抽头滤波器。  但是、当我第一次运行滤波器时、我得到的响应为零。  后续的滤波器迭代返回的结果与基于 Matlab 的示例匹配、但它们似乎是一个样本迭代延迟。   

我从这里编译并执行了示例代码 C:\ti\controlSUITE\libs\DSP\FPU\v1_50_00\examples\filter\2837x_fir、这似乎也被一个迭代延迟、在第一次调用 filter.calc ()时返回零   

是否有人可以指导我将结果更改为没有样本延迟。   

谢谢、  

长度  

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

    当我运行示例时、我还会看到结果数组中的第一个输出为零。 在这种情况下、结果的计算方法为:
    Xn = 0.5*sin (Rad)+ 0.5*sin (Rad2);

    在第一次调用时"Rad"和"Rad2"都为零、因此、假设滤波器延迟线初始化为零、即使在滤波器中有直接馈通、也会预期得到零的第一个结果。

    请记住、Matlab 和 C 语言之间的数组索引存在差异:MATLAB 在第一个元素中使用1、而 C 将始终从0开始。 这是否能解决差异?

    此致、

    Richard