<dlclass="section user"><dt></dt><dd><code>pState</code> points to the array of state variables and some working memory for the Helium version. <code>pState</code> is of length <code>numTaps+blockSize-1</code> samples (except for Helium - see below), where <code>blockSize</code> is the number of input samples processed by each call to <code><aclass="el"href="group__FIR.html#ga0cf008f650a75f5e2cf82d10691b64d9"title="Processing function for the floating-point FIR filter. ">arm_fir_f32()</a></code>. </dd></dl>
<dlclass="section user"><dt>Initialization of Helium version</dt><dd>For Helium version the array of coefficients must be a multiple of 4 (4a) even if less then 4a coefficients are defined in the FIR. The additional coefficients (4a - numTaps) must be set to 0. numTaps is still set to its right value in the init function. It means that the implementation may require to read more coefficients due to the vectorization and to avoid having to manage too many different cases in the code.</dd></dl>
<dlclass="section user"><dt>Helium state buffer</dt><dd>The state buffer must contain some additional temporary data used during the computation but which is not the state of the FIR. The first blockSize samples are temporary data. The remaining samples are the state of the FIR filter. So the state buffer has size <code> numTaps + 2 * blockSize - 1 </code></dd></dl>
<dlclass="section user"><dt></dt><dd><code>pState</code> points to the array of state variables. <code>pState</code> is of length <code>numTaps+blockSize-1</code> samples, where <code>blockSize</code> is the number of input samples processed by each call to <code><aclass="el"href="group__FIR.html#ga0cf008f650a75f5e2cf82d10691b64d9"title="Processing function for the floating-point FIR filter. ">arm_fir_f32()</a></code>.</dd></dl>
<dlclass="section user"><dt></dt><dd>There is no Helium version of the fir F64. </dd></dl>