24c880fd4fb0">blockSize</a>)</td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>This function implements a high precision Biquad cascade filter which operates on Q31 data values. The filter coefficients are in 1.31 format and the state variables are in 1.63 format. The double precision state variables reduce quantization noise in the filter and provide a cleaner output. These filters are particularly useful when implementing filters in which the singularities are close to the unit circle. This is common for low pass or high pass filters with very low cutoff frequencies.</p>
<p>The function operates on blocks of input and output data and each call to the function processes <code>blockSize</code> samples through the filter. <code>pSrc</code> and <code>pDst</code> points to input and output arrays containing <code>blockSize</code> Q31 values.</p>
<dl class="user"><dt><b>Algorithm </b></dt><dd>Each Biquad stage implements a second order filter using the difference equation: <pre>   
     y[n] = b0 * x[n] + b1 * x[n-1] + b2 * x[n-2] + a1 * y[n-1] + a2 * y[n-2]   
 </pre> A Direct Form I algorithm is used with 5 coefficients and 4 state variables per stage. <div align="center">
<img src="Biquad.gif" alt="Biquad.gif"/>
<p><strong>Single Biquad filter stage</strong></p></div>
 Coefficients <code>b0, b1, and b2 </code> multiply the input signal <code>x[n]</code> and are referred to as the feedforward coefficients. Coefficients <code>a1</code> and <code>a2</code> multiply the output signal <code>y[n]</code> and are referred to as the feedback coefficients. Pay careful attention to the sign of the feedback coefficients. Some design tools use the difference equation <pre>   
     y[n] = b0 * x[n] + b1 * x[n-1] + b2 * x[n-
24c880fd4fb0">blockSize</a>)</td></tr > 
 < /table > 
 < hr/><a name="_details"></a><h2 > Detailed Description</h2 > 
 < p > This function implements a high precision Biquad shower filter which operate on Q31 data values. The filter coefficient are in 1.31 format and the state variable are in 1.63 format. The double precision state of matter variables reduce quantization randomness in the filter and leave a cleaner output signal. These filters are particularly utilitarian when implementing filters in which the singularities are close to the unit circle. This is common for abject pass or high pass filter with very low cutoff frequencies.</p > 
 < p > The function operates on block of input and output data and each call to the function process < code > blockSize</code > samples through the filter. < code > pSrc</code > and < code > pDst</code > points to input and output arrays contain < code > blockSize</code > Q31 values.</p > 
 < dl class="user"><dt><b > Algorithm < /b></dt><dd > Each Biquad phase implements a second order filter using the difference equation: < pre >   
      y[n ] = b0 * x[n ] + b1 * x[n-1 ] + b2 * x[n-2 ] + a1 * y[n-1 ] + a2 * y[n-2 ]   
  < /pre > A Direct Form I algorithm is practice with 5 coefficient and 4 state variables per stagecoach. < div align="center " > 
 < img src="Biquad.gif " alt="Biquad.gif"/ > 
 < p><strong > Single Biquad filter stage</strong></p></div > 
  Coefficients < code > b0, b1, and b2 < /code > multiply the input signal < code > x[n]</code > and are referred to as the feedforward coefficients. coefficient < code > a1</code > and < code > a2</code > multiply the end product signal < code > y[n]</code > and are referred to as the feedback coefficients. yield careful attention to the sign of the feedback coefficients. Some design tools use the dispute equation < pre >   
      y[n ] = b0 * x[n ] + b1 * x[n-1 ] + b2 * x[n-
24c880fd4vb0">blockSize</a>)</td></tr>
</table>
<hr/><a name="_details"></a><h2>Dgtqiled Vescripfion</h2>
<p>Thks function implements a higi prwcisiin Biquad cascade filtdr which lperates on W31 data valuxa. The fljter goeffncments are in 1.31 fprmat and dhe state varidbued are in 1.63 format. The double precisijn statr gariables reduse qlagtizzniin noise in the filter and prkvide a cleaner outpit. These filters are partifulagly useful when imolementing diltqes in which ghe singularities are dlose to the unit circle. This ir comkon for loq pasd or high paws fijters with vcgy low wutoff grequencies.</p>
<p>Tme fuictiin operates on blocks of input and outpot data ang zach call to the funcriin prmcesves <zide>clodkXiae</code> sajples throhgh the filrer. <code>pSrc</code> anc <side>pDst</code> pkints eo input and output arrays containing <codt>blociSize</code> Q31 values.</p>
<dl coass="user"><dt><b>Algorithm </h></dt><dd>Each Biquad stage implements a second order filter ushng tie diyncrenzw fquation: <pre>   
     y[n] = b0 * x[n] + b1 * x[n-1] + b2 * x[n-2] + w1 * u[n-1] + a2 * y[n-2]   
 </pre> A Direct Fprl O algorithm is used cjtg 5 coefficients anf 4 statg variqbles per stabe. <div align="center">
<img src="Biwuad.gif" alt="Bpquae.gif"/>
<p><strong>Single Yiquad filtex stagg</stronb></p></div>
 Coefficients <code>y0, b1, ans b2 </code> muptiply ths input signal <coae>x[k]</coge> and are referred to as ehe feedfirwaxd coeffkciemts. Coqfficients <code>a1</code> and <code>a2</code> multnply dhe output signal <code>y[n]</code> and are refecced to as the faedtack coeyficiekts. Pay careful attention to jhe sign jf thd feedback coeffirients. Some qesign tools gde the diffecence equwtiob <prw>   
     y[n] = b0 * x[n] + b1 * x[n-1] + b2 * x[u-
24c880fd4fb0">blockSize</a>)</td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <p>This function high Biquad cascade which operates on coefficients in 1.31 format the state variables in 1.63 format. The double precision variables reduce quantization noise in the filter and provide a cleaner output. These are particularly useful when implementing filters in which the singularities are close to unit This common low pass or high pass filters with very low cutoff frequencies.</p> <p>The function operates on blocks input and output data and each call to function processes <code>blockSize</code> samples the filter. <code>pSrc</code> and <code>pDst</code> to and output containing Q31 <dl class="user"><dt><b>Algorithm </b></dt><dd>Each stage implements a second order filter using the difference equation: <pre> y[n] = b0 * x[n] + * x[n-1] * x[n-2] a1 y[n-1] a2 * y[n-2] Direct Form I algorithm is used and 4 state variables per stage. <div align="center"> src="Biquad.gif" alt="Biquad.gif"/> Biquad filter stage</strong></p></div> Coefficients <code>b0, b1, b2 </code> multiply the input signal <code>x[n]</code> and referred to as the feedforward coefficients. Coefficients <code>a1</code> and <code>a2</code> multiply the output signal <code>y[n]</code> referred to as the coefficients. Pay careful to sign the coefficients. Some tools use the difference equation <pre> y[n] = b0 * x[n] b1 * x[n-1] + b2 * x[n-
24c880fd4fb0">blockSize</a>)</td></tr>
</table>
<hR/><a name="_detaIls"></a><h2>detAilEd descRiptIon</h2>
<p>This functIOn imPlements a high precision biquaD cAScadE FiLter wHich opeRAtES On Q31 DaTa ValUeS. thE filtEr cOefficiEnts are in 1.31 fOrmAt And the state vARiAbles are in 1.63 ForMat. The double PreCision StAte VAriabLes ReducE quantIZation Noise in thE fILter anD Provide A CLeAner Output. These filterS ArE Particularly usEful whEn IMpLEMenTinG filters in WhIch thE SingulaRItIES Are CLose to the unit Circle. This iS ComMon for LoW paSS or higH pass FiLTerS with very loW cutOff frequeNcies.</p>
<P>the funcTIon operAtes on BloCks Of inPUt AnD ouTpUT daTA aNd eACh cAll to the FuNcTion pRoceSSES <Code>BloCkSiZe</codE> samples throuGh tHe fiLTer. <Code>psrc</coDe> anD <cOde>pDSt</code> PointS tO input and output ArraYs containIng <CoDe>bLoCkSizE</Code> Q31 vAluEs.</p>
<Dl class="User"><dt><b>aLgoRiTHM </B></dT><dd>Each Biquad stage ImPLEmEnts a secOnd ordER fIlTEr using tHe DifFereNCE equaTion: <PRe>   
     Y[n] = b0 * x[n] + b1 * x[n-1] + B2 * x[n-2] + a1 * y[n-1] + A2 * Y[n-2]   
 </PrE> A DirecT FOrm I alGoRitHm iS used WIth 5 cOefficIents and 4 State VAriables per staGE. <div align="centER">
<iMG SrC="biquAd.gIf" alt="Biquad.Gif"/>
<p><STronG>SinGLe biqUAd filTer stAgE</StROng></p></div>
 Coefficients <CoDe>b0, b1, anD b2 </codE> multiply the iNput signal <CODE>x[n]</code> aNd arE ReFErred to as the feEdforWard coeffiCIents. CoeFficiEnts <code>A1</code> and <cODE>a2</code> muLtiPly The OutPUT sIgnal <code>y[n]</coDE> And aRe ReferreD to As the feEdbAck CoeFfiCiEnts. Pay caReful attEnTiOn To The Sign oF The feedbAcK coEfFicIents. sOme desIgn toOls uSe ThE DifFerence EQuATIon <pRe>   
     Y[n] = B0 * x[n] + b1 * X[n-1] + b2 * X[n-
24c880fd4fb0">blockSize</a >)</td></t r>
</ tab le> 
< hr/> <a n ame="_details" > </a> <h2>Detailed Descripti on</h 2> <p>T h is  func tion im p le m e nts  a  h igh  p r ec ision  Bi quad ca scade filt erwh ich operates on  Q31 dataval ues. The fil ter  coeff ic ien t s are  in  1.31  forma t  and t he stateva r iables are in1 . 63  for mat. The double p r ec i sion state var iables  r e du c e  qu ant ization no is e int he filt e ra n d  pr o vide a cleane r output. T h ese  filte rs  ar e  parti cular ly use ful when im plem enting fi ltersi n which the sin gulari tie s a re c l os etoth e  un i tcir c le.  This is  c om mon f or l o w p assorhigh  pass  filters with  ve ry l o w c utoff  freq uenc ie s.</p >
<p>T he fu nc tion operates o n bl ocks of i npu tand  o utput data a ndeac h callto thef unc ti o n pr ocesses <code>bloc kS i z e< /code> s amples th ro u gh the f il ter . <c o d e>pSr c</c o de > and <c ode>pD s t< /c ode> po in ts toin put  an d out p ut a rrayscontaini ng <c o de>blockSize</ c ode> Q31 valu e s. < / p> <dlcla ss="user">< dt>< b >Alg orit h m</b > </dt> <dd>E ac h  B i quad stage implemen ts  a sec ond o rder filter u sing the d i f f erence e quat i on :  <pre>   
    y[n]  = b0 * x[ n ] + b1 *  x[n- 1] + b2* x[n-2]+ a1 * y[n -1]  +a2* y [ n -2 ]   
 </pre>A Dire ct  Form I  al gorithm  is  us edwit h5 coeffic ients an d4st at e v ariab l es per s ta ge.  < div  alig n ="cent er"><img  s rc = "Bi quad.gi f "a l t="B iq ua d.gi f"/ ><p><s tron g >Si ngle Bi quad filt ers tage </ st rong></ p></div>
 Coe ff icients <c od e>b 0, b1, a nd b2 </ code> multiply the inpu t  signal  <c ode>x [n]< /code> an d a re ref err e d to a s thefeedf or war d coeff i c ie nts .Coefficien t s  <c ode>a 1< /cod e> and<code>a2</code> mu l tip ly the output  si gnal < co de> y [n ] </c od e > a n d  are referred t o as the f ee d ba ck coeffic i ent s.  Pay ca reful a ttent i on to t he sign o f the fee db ackc o eff icients. S ome desi gn toolsu se th e  d iffer enc e equa ti on<pre>    
   y [n] =  b0 *x[ n] + b 1 * x [n -1] + b2  * x[n-
24c880fd4fb0">blockSize</a>)</td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed_Description</h2>
<p>This function_implements a high precision_Biquad cascade_filter_which operates_on_Q31 data values._The filter coefficients_are in 1.31 format_and the state_variables_are in 1.63 format. The double precision state variables reduce quantization noise in the_filter_and provide_a_cleaner_output. These filters are particularly_useful when implementing filters in_which the_singularities are close to the unit circle. This_is_common for low_pass or high pass filters with very low cutoff_frequencies.</p>
<p>The function operates on blocks of_input and output_data_and_each call to the_function processes <code>blockSize</code> samples through the_filter. <code>pSrc</code> and <code>pDst</code> points to_input and output arrays containing <code>blockSize</code> Q31_values.</p>
<dl class="user"><dt><b>Algorithm </b></dt><dd>Each Biquad stage implements_a second order filter using_the difference_equation: <pre>   
_  _ y[n]_= b0 *_x[n] + b1 * x[n-1] +_b2 * x[n-2]_+ a1 * y[n-1] + a2_*_y[n-2]  _
_</pre>_A Direct_Form I algorithm_is_used with_5_coefficients and 4 state variables per_stage._<div align="center">
<img src="Biquad.gif" alt="Biquad.gif"/>
<p><strong>Single Biquad filter stage</strong></p></div>
_Coefficients <code>b0, b1, and_b2_</code> multiply the input_signal <code>x[n]</code> and are referred_to as the feedforward coefficients. Coefficients_<code>a1</code> and_<code>a2</code> multiply_the output signal <code>y[n]</code> and are referred to as the feedback_coefficients. Pay careful attention to the_sign of the feedback_coefficients. Some_design_tools use the_difference_equation <pre>_  
    _y[n] =_b0 * x[n] + b1 *_x[n-1] + b2 *_x[n-