|  | 
| | DSP.Filter.IIR.IIR | | Portability | portable |  | Stability | experimental |  | Maintainer | m.p.donadio@ieee.org | 
 | 
 | 
|  | 
|  | 
|  | 
| Description | 
|  IIR functions  IMPORTANT NOTE:  Except in integrator, we use the convention that y[n] = sum(k=0..M) b_k*x[n-k] - sum(k=1..N) a_k*y[n-k]          sum(k=0..M) b_k*z^-1 H(z) = ------------------------        1 + sum(k=1..N) a_k*z^-1 | 
|  | 
| Synopsis | 
|  | 
| | integrator :: (Num a) => a -> [a] -> [a] |  |  |  | fos_df1 :: (Num a) => a -> a -> a -> [a] -> [a] |  |  |  | fos_df2 :: (Num a) => a -> a -> a -> [a] -> [a] |  |  |  | fos_df2t :: (Num a) => a -> a -> a -> [a] -> [a] |  |  |  | biquad_df1 :: (Num a) => a -> a -> a -> a -> a -> [a] -> [a] |  |  |  | biquad_df2 :: (Num a) => a -> a -> a -> a -> a -> [a] -> [a] |  |  |  | biquad_df2t :: (Num a) => a -> a -> a -> a -> a -> [a] -> [a] |  |  |  | iir_df1 :: (Num a) => (Array Int a, Array Int a) -> [a] -> [a] |  |  |  | iir_df2 :: (Num a) => (Array Int a, Array Int a) -> [a] -> [a] | 
 | 
|  | 
| Documentation | 
|  | 
| integrator | 
| | :: (Num a) |  |  | => a | a |  | -> [a] | x[n] |  | -> [a] | y[n] |  |  This is an integrator when a==1, and a leaky integrator when 0 < a < 1. y[n] = a * y[n-1] + x[n] | 
 | 
|  | 
| fos_df1 | 
| | :: (Num a) |  |  | => a | a_1 |  | -> a | b_0 |  | -> a | b_1 |  | -> [a] | x[n] |  | -> [a] | y[n] |  |  First order section, DF1 v[n] = b0 * x[n] + b1 * x[n-1] y[n] = v[n] - a1 * y[n-1] | 
 | 
|  | 
| fos_df2 | 
| | :: (Num a) |  |  | => a | a_1 |  | -> a | b_0 |  | -> a | b_1 |  | -> [a] | x[n] |  | -> [a] | y[n] |  |  First order section, DF2 w[n] = -a1 * w[n-1] + x[n] y[n] = b0 * w[n] + b1 * w[n-1] | 
 | 
|  | 
| fos_df2t | 
| | :: (Num a) |  |  | => a | a_1 |  | -> a | b_0 |  | -> a | b_1 |  | -> [a] | x[n] |  | -> [a] | y[n] |  |  First order section, DF2T v0[n] = b0 * x[n] + v1[n-1] y[n] = v0[n] v1[n] = -a1 * y[n] + b1 * x[n] | 
 | 
|  | 
| biquad_df1 | 
| | :: (Num a) |  |  | => a | a_1 |  | -> a | a_2 |  | -> a | b_0 |  | -> a | b_1 |  | -> a | b_2 |  | -> [a] | x[n] |  | -> [a] | y[n] |  |  Direct Form I for a second order section v[n] = b0 * x[n] + b1 * x[n-1] + b2 * x[n-2] y[n] = v[n] - a1 * y[n-1] - a2 * y[n-2] | 
 | 
|  | 
| biquad_df2 | 
| | :: (Num a) |  |  | => a | a_1 |  | -> a | a_2 |  | -> a | b_0 |  | -> a | b_1 |  | -> a | b_2 |  | -> [a] | x[n] |  | -> [a] | y[n] |  |  Direct Form II for a second order section (biquad) w[n] = -a1 * w[n-1] - a2 * w[n-2] + x[n] y[n] = b0 * w[n] + b1 * w[n-1] + b2 * w[n-2] | 
 | 
|  | 
| biquad_df2t | 
| | :: (Num a) |  |  | => a | a_1 |  | -> a | a_2 |  | -> a | b_0 |  | -> a | b_1 |  | -> a | b_2 |  | -> [a] | x[n] |  | -> [a] | y[n] |  |  Transposed Direct Form II for a second order section v0[n] = b0 * x[n] + v1[n-1] y[n] = v0[n] v1[n] = -a1 * y[n] + b1 * x[n] + v2[n-1] v2[n] = -a2 * y[n] + b2 * x[n] | 
 | 
|  | 
| iir_df1 | 
| | :: (Num a) |  |  | => (Array Int a, Array Int a) | (b,a) |  | -> [a] | x[n] |  | -> [a] | y[n] |  |  Direct Form I IIR v[n] = sum(k=0..M) b_k*x[n-k] y[n] = v[n] - sum(k=1..N) a_k*y[n-k]  v[n] is calculated with fir | 
 | 
|  | 
| iir_df2 | 
| | :: (Num a) |  |  | => (Array Int a, Array Int a) | (b,a) |  | -> [a] | x[n] |  | -> [a] | y[n] |  |  Direct Form II IIR w[n] = x[n] - sum(k=1..N) a_k*w[n-k] y[n] = sum(k=0..M) b_k*w[n-k] | 
 | 
|  | 
| Produced by Haddock version 0.4 |