|
|
|
|
@ -30,7 +30,7 @@
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
@ingroup groupFilters
|
|
|
|
|
*/
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
@defgroup BiquadCascadeDF2T Biquad Cascade IIR Filters Using a Direct Form II Transposed Structure
|
|
|
|
|
@ -117,7 +117,7 @@
|
|
|
|
|
where <code>numStages</code> is the number of Biquad stages in the filter;
|
|
|
|
|
<code>pState</code> is the address of the state buffer.
|
|
|
|
|
<code>pCoeffs</code> is the address of the coefficient buffer;
|
|
|
|
|
*/
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
@addtogroup BiquadCascadeDF2T
|
|
|
|
|
@ -335,7 +335,7 @@ void arm_biquad_cascade_df2T_f64(
|
|
|
|
|
/* d1 = b1 * x[n] + a1 * y[n] + d2 */
|
|
|
|
|
/* d2 = b2 * x[n] + a2 * y[n] */
|
|
|
|
|
|
|
|
|
|
/* 1 */
|
|
|
|
|
/* 1 */
|
|
|
|
|
Xn1 = *pIn++;
|
|
|
|
|
|
|
|
|
|
acc1 = b0 * Xn1 + d1;
|
|
|
|
|
@ -349,7 +349,7 @@ void arm_biquad_cascade_df2T_f64(
|
|
|
|
|
*pOut++ = acc1;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* 2 */
|
|
|
|
|
/* 2 */
|
|
|
|
|
Xn1 = *pIn++;
|
|
|
|
|
|
|
|
|
|
acc1 = b0 * Xn1 + d1;
|
|
|
|
|
@ -362,7 +362,7 @@ void arm_biquad_cascade_df2T_f64(
|
|
|
|
|
|
|
|
|
|
*pOut++ = acc1;
|
|
|
|
|
|
|
|
|
|
/* 3 */
|
|
|
|
|
/* 3 */
|
|
|
|
|
Xn1 = *pIn++;
|
|
|
|
|
|
|
|
|
|
acc1 = b0 * Xn1 + d1;
|
|
|
|
|
@ -375,7 +375,7 @@ void arm_biquad_cascade_df2T_f64(
|
|
|
|
|
|
|
|
|
|
*pOut++ = acc1;
|
|
|
|
|
|
|
|
|
|
/* 4 */
|
|
|
|
|
/* 4 */
|
|
|
|
|
Xn1 = *pIn++;
|
|
|
|
|
|
|
|
|
|
acc1 = b0 * Xn1 + d1;
|
|
|
|
|
@ -388,7 +388,7 @@ void arm_biquad_cascade_df2T_f64(
|
|
|
|
|
|
|
|
|
|
*pOut++ = acc1;
|
|
|
|
|
|
|
|
|
|
/* 5 */
|
|
|
|
|
/* 5 */
|
|
|
|
|
Xn1 = *pIn++;
|
|
|
|
|
|
|
|
|
|
acc1 = b0 * Xn1 + d1;
|
|
|
|
|
@ -401,7 +401,7 @@ void arm_biquad_cascade_df2T_f64(
|
|
|
|
|
|
|
|
|
|
*pOut++ = acc1;
|
|
|
|
|
|
|
|
|
|
/* 6 */
|
|
|
|
|
/* 6 */
|
|
|
|
|
Xn1 = *pIn++;
|
|
|
|
|
|
|
|
|
|
acc1 = b0 * Xn1 + d1;
|
|
|
|
|
@ -414,7 +414,7 @@ void arm_biquad_cascade_df2T_f64(
|
|
|
|
|
|
|
|
|
|
*pOut++ = acc1;
|
|
|
|
|
|
|
|
|
|
/* 7 */
|
|
|
|
|
/* 7 */
|
|
|
|
|
Xn1 = *pIn++;
|
|
|
|
|
|
|
|
|
|
acc1 = b0 * Xn1 + d1;
|
|
|
|
|
@ -427,7 +427,7 @@ void arm_biquad_cascade_df2T_f64(
|
|
|
|
|
|
|
|
|
|
*pOut++ = acc1;
|
|
|
|
|
|
|
|
|
|
/* 8 */
|
|
|
|
|
/* 8 */
|
|
|
|
|
Xn1 = *pIn++;
|
|
|
|
|
|
|
|
|
|
acc1 = b0 * Xn1 + d1;
|
|
|
|
|
@ -440,7 +440,7 @@ void arm_biquad_cascade_df2T_f64(
|
|
|
|
|
|
|
|
|
|
*pOut++ = acc1;
|
|
|
|
|
|
|
|
|
|
/* 9 */
|
|
|
|
|
/* 9 */
|
|
|
|
|
Xn1 = *pIn++;
|
|
|
|
|
|
|
|
|
|
acc1 = b0 * Xn1 + d1;
|
|
|
|
|
@ -453,7 +453,7 @@ void arm_biquad_cascade_df2T_f64(
|
|
|
|
|
|
|
|
|
|
*pOut++ = acc1;
|
|
|
|
|
|
|
|
|
|
/* 10 */
|
|
|
|
|
/* 10 */
|
|
|
|
|
Xn1 = *pIn++;
|
|
|
|
|
|
|
|
|
|
acc1 = b0 * Xn1 + d1;
|
|
|
|
|
@ -466,7 +466,7 @@ void arm_biquad_cascade_df2T_f64(
|
|
|
|
|
|
|
|
|
|
*pOut++ = acc1;
|
|
|
|
|
|
|
|
|
|
/* 11 */
|
|
|
|
|
/* 11 */
|
|
|
|
|
Xn1 = *pIn++;
|
|
|
|
|
|
|
|
|
|
acc1 = b0 * Xn1 + d1;
|
|
|
|
|
@ -479,7 +479,7 @@ void arm_biquad_cascade_df2T_f64(
|
|
|
|
|
|
|
|
|
|
*pOut++ = acc1;
|
|
|
|
|
|
|
|
|
|
/* 12 */
|
|
|
|
|
/* 12 */
|
|
|
|
|
Xn1 = *pIn++;
|
|
|
|
|
|
|
|
|
|
acc1 = b0 * Xn1 + d1;
|
|
|
|
|
@ -492,7 +492,7 @@ void arm_biquad_cascade_df2T_f64(
|
|
|
|
|
|
|
|
|
|
*pOut++ = acc1;
|
|
|
|
|
|
|
|
|
|
/* 13 */
|
|
|
|
|
/* 13 */
|
|
|
|
|
Xn1 = *pIn++;
|
|
|
|
|
|
|
|
|
|
acc1 = b0 * Xn1 + d1;
|
|
|
|
|
@ -505,7 +505,7 @@ void arm_biquad_cascade_df2T_f64(
|
|
|
|
|
|
|
|
|
|
*pOut++ = acc1;
|
|
|
|
|
|
|
|
|
|
/* 14 */
|
|
|
|
|
/* 14 */
|
|
|
|
|
Xn1 = *pIn++;
|
|
|
|
|
|
|
|
|
|
acc1 = b0 * Xn1 + d1;
|
|
|
|
|
@ -518,7 +518,7 @@ void arm_biquad_cascade_df2T_f64(
|
|
|
|
|
|
|
|
|
|
*pOut++ = acc1;
|
|
|
|
|
|
|
|
|
|
/* 15 */
|
|
|
|
|
/* 15 */
|
|
|
|
|
Xn1 = *pIn++;
|
|
|
|
|
|
|
|
|
|
acc1 = b0 * Xn1 + d1;
|
|
|
|
|
@ -531,7 +531,7 @@ void arm_biquad_cascade_df2T_f64(
|
|
|
|
|
|
|
|
|
|
*pOut++ = acc1;
|
|
|
|
|
|
|
|
|
|
/* 16 */
|
|
|
|
|
/* 16 */
|
|
|
|
|
Xn1 = *pIn++;
|
|
|
|
|
|
|
|
|
|
acc1 = b0 * Xn1 + d1;
|
|
|
|
|
|