主题中讨论的其他器件:ADS1299
工具/软件:Code Composer Studio
您好!
看 一下 TMS320C55x DSP 库编程器的参考、我不清楚这条信息:是否有32位滤波器? 我想将 C5535与 ADS1299搭配使用、我想使用两个滤波器、一个陷波器和一个巴特沃斯滤波器、但所有 IIR 滤波器例程都将数据显示为输入。 如何将 IIR 滤波器与此 DSP 配合使用?
谢谢、
Luis
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.
工具/软件:Code Composer Studio
您好!
看 一下 TMS320C55x DSP 库编程器的参考、我不清楚这条信息:是否有32位滤波器? 我想将 C5535与 ADS1299搭配使用、我想使用两个滤波器、一个陷波器和一个巴特沃斯滤波器、但所有 IIR 滤波器例程都将数据显示为输入。 如何将 IIR 滤波器与此 DSP 配合使用?
谢谢、
Luis
你(们)好。
我们一直在使用这些滤波器、位数量问题不再是问题。 现在、我们正在尝试使一些滤波器正常工作、但目前我们仍未解决。 我们现在的问题是系数缩放或样本缩放。 我们有以下代码:
/******** IIR 滤波器 / 对于(i = 0;i < NX;i++){ xaux[i]=(x50hz[i]/(1024)); } 错误代码= fltoq15 (xaux、xaux1、nx); 对于(j = 0;j < nx;j++){ haux[j]=(h5[j]/2); } errorcode2=fltoq15 (haux、haux1、5); q15tofl (haux1、haux2、5); //清除 对于(j = 0;j < nx;j++) R[j]= 0; //清除输出缓冲器(可选) 对于(I = 0;I <(2 * NBIQ)+ 1;I++) Dbuffer[i]= 0;//清除延迟缓冲器(必须一个) //计算 成功= iircas5 (xaux1、hauux1、r、DP、NBIQ、 nx);
xaux1和 hauux1都是介于+1和-1之间的值、这不会引起任何问题、但滤波器溢出。 我们的输入是一个频率为50Hz 的正弦波、振幅介于1024和-1024之间、第一个输入是将其下调至1/-1。 这些系数是使用 MATLAB 计算得出的、是-2和2之间的值、这是一个问题。 在这个执行中、我们决定将它们除以2、因为我们充分意识到这不是实现它的正确方法。 尽管如此、iircas5仍会溢出。
iircas5例程仅在我们将第一个 for 更改为:
对于(i = 0;i < NX;i++){ xaux[i]=(x50hz[i]/(1024*128)); }
所以,我的问题是:我们如何解决这个问题呢? 由于系数和数据都在+1/-1范围内、是否应该避免溢出? 如果没有、我们如何缩放系数以停止滤波器过流?
谢谢