dsp-0.2: Digital Signal ProcessingContentsIndex
DSP.Filter.IIR.Bilinear
Portabilityportable
Stabilityexperimental
Maintainerm.p.donadio@ieee.org
Description

The module contains a function for performing the bilinear transform.

The input is a rational polynomial representation of the s-domain function to be transformed.

In the bilinear transform, we substitute

       2    1 - z^-1
s <--  -- * --------
       ts   1 + z^-1

into the rational polynomial, where ts is the sampling period. To get a rational polynomial back, we use the following method:

  1. Substitute s^n with (2/ts * (1-z^-1))^n == [ -2/ts, 2/ts ]^n

2. Multiply the results by (1+z^-1)^n == [ 1, 1 ]^n

3. Add up all of the common terms

4. Normalize all of the coeficients by a0

where n is the maximum order of the numerator and denominator

Synopsis
zm :: (Integral b, Fractional a) => a -> b -> [a]
zp :: (Integral b, Num a) => b -> [a]
step1 :: Fractional a => a -> [a] -> [[a]]
step2 :: (Num a, Integral b) => b -> [[a]] -> [[a]]
step3 :: Num a => [[a]] -> [a]
step4 :: Fractional a => a -> [a] -> [a]
bilinear :: Double -> ([Double], [Double]) -> ([Double], [Double])
prewarp :: Double -> Double -> Double
Documentation
zm :: (Integral b, Fractional a) => a -> b -> [a]
zp :: (Integral b, Num a) => b -> [a]
step1 :: Fractional a => a -> [a] -> [[a]]
step2 :: (Num a, Integral b) => b -> [[a]] -> [[a]]
step3 :: Num a => [[a]] -> [a]
step4 :: Fractional a => a -> [a] -> [a]
bilinear
:: DoubleT_s
-> ([Double], [Double])(b,a)
-> ([Double], [Double])(b',a')
Performs the bilinear transform
prewarp
:: Doublew_c
-> DoubleT_s
-> DoubleW_c
Function for frequency prewarping
Produced by Haddock version 0.8