您好、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