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.

[参考译文] CCS/TM4C1294NCPDT:CMSIS DSP Biquad 定点错误

Guru**** 2524550 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/762747/ccs-tm4c1294ncpdt-cmsis-dsp-biquad-fixpoint-error

器件型号:TM4C1294NCPDT

工具/软件:Code Composer Studio

你(们)好

实施 CMSIS Biquad 低通滤波器时遇到问题。

CMSIS 浮点滤波器工作、但定点 Q15滤波器工作正常。

它只是一个简单的二阶(1级)滤波器。 使用 Matlab 计算系数。

是否有人尝试过这种情况并在此处看到错误?

chrip 函数生成振幅为+1的线性调频脉冲正弦。

提前感谢

勒内

// fs = 16000;
// fG = 1600Hz,fill
//[z、p、k]= fill (2、FG/FS、'low');
// sos2 = zp2sos (z、p、k);
// HD = dstutfilt.df2tsos (sos2);
// fvtool (zp2t)= 0.064n_f2




(dsp_ssnf)/f2);


// fi_inci20f 1 /f2 = ni20f 1 /f2 (dsps /f2)/fi_inci20f 1、nf 1、nf 1、t/f2、ni20f 1、t/f2)/f2、t/f2、nf2、t/f2、nf2、nf2、nf2、ni2、t/f2、ni2、t/f2、ni2、ni2、nf IIR_16;

// A11 und A12 müssen negiert werden
fCoeffs[]={0.0200833659619093、0.0401667319238186、0.0200833659619093、1.56101810932159、-0.641351521015167};
float32_t IIRstate[2*steps];
BiquadLP BiquadFloat (stages、fCoeffs、IIRstate);//这会调用 arm_biquad_cascad_df2T_init_F32 (&IIR、numStages_、pCoeffs_、pState_);


// A11 und A12 müssen iwerden
/负温度 B10、0、B11、B12、A11、 A12
Q15_t n16Coeffs[阶段* 6]={329、0、658、329、25576、 -10508};
Q15_t n16StateA[阶段* 4];
BiquadLP BiquadQ15 = BiquadLP (阶段、n16Coeffs、n16StateA);//这会调用 arm_biquad_cascad_DF1_init_Q15 (&IIR_16、numStages_、pCoeffs_、pState_、pState_、1);

float fFilterIn = chirp.calc_log();
fFilterOut1 = BiQuadFlat.filter (&fFilterIn); 
Q15_t n16FilterIn =(Q15_t)(fFilterIn * 16384.0f);//仅按 Q14进行缩放以进行测试 n16FilterOutQ15 = BiQuadQ15.filter (_n16FilterIn);

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

    第一个图表是线性调频脉冲信号(fFilterIn)。

    第二个是浮点滤波器(fFilterOut1)的输出。

    第三个是定点滤波器(n16FilterOutQ15)的输出。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    遗憾的是、对于浮点运算的工作原理、我们实际上并不是 CMSIS 库的专家、而是定点的专家。 如果问题与 CMSIS 函数相关、我认为 ARM 可以提供更好的支持。 如果您对 MCU 硬件有疑问、请告知我们。

    不确定下面的演示是否对您有所帮助。
    diliev.com/.../[Donald_S._Reay]_Digital_Signal_Processing_Using_t(BookZZ.org).pdf
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Sergey、
    不确定我在上一篇帖子中包含的链接是否能帮助您、以及您是否有机会联系 ARM 寻求支持。 我将假定您以某种方式解决了该问题。 我现在要关闭这个线程。 如果您有关于 MCU 操作的新问题、可以打开新主题。