86 uint32_t i, tapCnt, blkCnt, outBlockSize = blockSize / S->
M;
89 #ifndef ARM_MATH_CM0_FAMILY 95 pStateCurnt = S->
pState + (numTaps - 1u);
98 blkCnt = outBlockSize;
107 *pStateCurnt++ = *pSrc++;
121 tapCnt = numTaps >> 2;
134 sum0 += (
q63_t) x0 *c0;
143 sum0 += (
q63_t) x0 *c0;
152 sum0 += (
q63_t) x0 *c0;
161 sum0 += (
q63_t) x0 *c0;
168 tapCnt = numTaps % 0x4u;
179 sum0 += (
q63_t) x0 *c0;
187 pState = pState + S->
M;
190 *pDst++ = (
q31_t) (sum0 >> 31);
203 i = (numTaps - 1u) >> 2u;
208 *pStateCurnt++ = *pState++;
209 *pStateCurnt++ = *pState++;
210 *pStateCurnt++ = *pState++;
211 *pStateCurnt++ = *pState++;
217 i = (numTaps - 1u) % 0x04u;
222 *pStateCurnt++ = *pState++;
234 pStateCurnt = S->
pState + (numTaps - 1u);
237 blkCnt = outBlockSize;
246 *pStateCurnt++ = *pSrc++;
270 sum0 += (
q63_t) x0 *c0;
278 pState = pState + S->
M;
281 *pDst++ = (
q31_t) (sum0 >> 31);
299 *pStateCurnt++ = *pState++;
int64_t q63_t
64-bit fractional data type in 1.63 format.
int32_t q31_t
32-bit fractional data type in 1.31 format.
Instance structure for the Q31 FIR decimator.
void arm_fir_decimate_q31(const arm_fir_decimate_instance_q31 *S, q31_t *pSrc, q31_t *pDst, uint32_t blockSize)
Processing function for the Q31 FIR decimator.