Array
(
    [content] => 
    [params] => Array
        (
            [0] => /forum/index.php?threads/complex-iir-filter-design-toolbox.7229/
        )

    [addOns] => Array
        (
            [DL6/MLTP] => 13
            [Hampel/TimeZoneDebug] => 1000070
            [SV/ChangePostDate] => 2010200
            [SemiWiki/Newsletter] => 1000010
            [SemiWiki/WPMenu] => 1000010
            [SemiWiki/XPressExtend] => 1000010
            [ThemeHouse/XLink] => 1000970
            [ThemeHouse/XPress] => 1010570
            [XF] => 2021370
            [XFI] => 1050270
        )

    [wordpress] => /var/www/html
)

Complex IIR Filter Design Toolbox

kw_martin

New member
About 12 years ago, I developed a Matlab toolbox for designing complex IIR filters. Recently, I had reason to revisit this toolbox and made a couple of updates so it was compatible with more recent versions of Matlab (and fixed a bug when fixed poles are adjacent). Surprisingly, it appears to me that the equivalent is not readily available (as far as I can tell). I have therefore pushed the routines to Github. They can be downloaded by changing to a desired download directory, and then running
>git clone https://github.com/kwmartin/KM_ComplexFilterToolbox.git
The routines are being released under an open source GPLv3 license. The routines require Matlab's Control Toolbox and Signal Processing Toolbox. I had to add a workaround as Matlab's zpk models don't properly support complex coefficients. There is an example directory to help one get started, and I also included my very old paper describing the routines in a doc directory (it needs a bit of proof-reading - a to do task). I also included in the doc directory a paper written by Martin Snelgrove and others that the routines are based on. This paper was never published and it would be a shame if the advances in this paper were lost. The routines currently only support a single passband, but they do allow for unequal stop bands, and the frequency of the passband can be anywhere; there is no requirement for conjugate symmetry as in real filters. The routines support both fixed and moveable poles; for example, having a fixed pole at d.c. is useful in wireless front-ends. If anyone finds any bugs, please get back to me; I'll fix them as much as my day-job commitments allows me to find time. If anyone finds them useful, it would be nice to know.
-Ken
 
Back
Top