Noise/distortion after doing filters with vDSP_deq22 (biquad IIR filter) <p>I'm working on a DSP class (obj-c++) for <a href="http://alexbw.github.com/novocaine/" rel="nofollow">Novocaine</a>, but my filters only seem to cause noise/distortion on the signal.</p> <p>I've posted my full code and coefficients here: <a href="https://gist.github.com/2702844" rel="nofollow">https://gist.github.com/2702844</a> But it basically boils down to:</p> <pre><code>// Deinterleaving... // DSP'ing one channel: NVDSP *handleDSP = [[NVDSP alloc] init]; [handleDSP setSamplingRate:audioManager.samplingRate]; float cornerFrequency = 6000.0f; float Q = 0.5f; [handleDSP setHPF:cornerFrequency Q:Q]; [handleDSP applyFilter:audioData length:numFrames]; // DSP other channel in the same way // Interleaving and sending to audio output (Novocaine block) </code></pre> <p>See the gist for full code/context.</p> <p>The coefficients:</p> <pre><code>2012-05-15 17:54:18.858 nvdsp[700:16703] b0: 0.472029 2012-05-15 17:54:18.859 nvdsp[700:16703] b1: -0.944059 2012-05-15 17:54:18.860 nvdsp[700:16703] b2: 0.472029 2012-05-15 17:54:18.861 nvdsp[700:16703] a1: -0.748175 2012-05-15 17:54:18.861 nvdsp[700:16703] a2: 0.139942 </code></pre> <p>(all divided by <code>a0</code>)</p> <p>Since I presumed the coefficients are in the order of: <code>{ b0/a0, b1/a0, b2/a0, a1/a0, a2/a0 }</code> (see: <a href="http://stackoverflow.com/questions/10375359/iir-coefficients-for-peaking-eq-how-to-pass-them-to-vdsp-deq22">IIR coefficients for peaking EQ, how to pass them to vDSP_deq22?</a>)</p> <p>What is causing the distortion/noise (the filters don't work)?</p>