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.

[参考译文] TMS320C5515:基于微处理器的信号处理器件

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1224423/tms320c5515-microprocessor-based-signal-processing-devices

器件型号:TMS320C5515

您好、E2E 专家!

你好。

您可以帮助我讲一讲 TMS320C5515微处理器的 C 代码吗? 我的任务是为每个双二阶滤波器编写一个使用4个系数的函数级联 IIR 直接形式 II。 我为这个函数写了一个算法,但有一个问题与"dbuff[0]存储缓冲器中当前元素的索引,而缓冲器本身是循环的:"Dbuffer 的第一个位置为索引保留"有关。

ushort iircas4 (data *x, data *h, data *r, data *dbuffer, ushort nbiq, ushort nx){

Int I, J;

数据 y;

对于(i = 0;i < nx;++i){

data tmp =(long) x[i]-(long) h[0]*(long) dbuffer[0]>>16)-((long) h[2]*(long) dbuffer[nbiq]>>16);

y = tmp +((long) h[1]*(long) dbuffer[0]>>16)+((long) h[3]*(long) dbuffer[nbiq]>>16);

dbuff[nbiq]= dbuff[0];

dbuff[0]= tmp;

 

对于(j = 1;j < nbiq;++j){

ushort hOffset =(4 * j)>> 1;

tmp = y -((long) h[hOffset]*(long) dbuffer[j]>>16)-((long) h[hOffset + 2]*(long) dbuffer[nbiq + j]>>16);

y = tmp +((long) h[hOffset + 1]*(long) dbuffer[j]>>16)+((long) h[hOffset +3]*(long) dbuffer[nbiq + j]>>16);

dbuff[j + nbiq]= dbuff[j];

dbuff[j]= tmp;

       }

       R[I]= y;

   }

   volatile ushort oflag = 0;

   返回标志;

}


您可以用 C 语言向我发送 iircas4函数的代码吗

此致、

CSC