dsp-0.1: demo/IIRDemo.hs
-- Copyright (c) 2003 Matthew P. Donadio (m.p.donadio@ieee.org)
--
-- This program is free software; you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by
-- the Free Software Foundation; either version 2 of the License, or
-- (at your option) any later version.
--
-- This program is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-- GNU General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with this program; if not, write to the Free Software
-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
module Main where
import Data.Array
import DSP.Filter.IIR.IIR
import DSP.Filter.IIR.Design
import Numeric.Transform.Fourier.FFTUtils
import DSP.Source.Basic
-- Examples from Oppenheim and Schafer
ex7'3 = mkButterworth (0.2 * pi, 1 - 0.89125) (0.3 * pi, 0.17783)
ex7'8 = mkChebyshev1 (0.2 * pi, 1 - 0.89125) (0.3 * pi, 0.17783)
ex7'5 = mkButterworth (0.4 * pi, 0.01) (0.6 * pi, 0.001)
ex7'6a = mkChebyshev1 (0.4 * pi, 0.01) (0.6 * pi, 0.001)
ex7'6b = mkChebyshev2 (0.4 * pi, 0.01) (0.6 * pi, 0.001)
main = do
write_rfft_info "ex-7.3" $ listArray (0,999) $ iir_df1 ex7'3 $ impulse
write_rfft_info "ex-7.8" $ listArray (0,999) $ iir_df1 ex7'8 $ impulse
write_rfft_info "ex-7.5" $ listArray (0,999) $ iir_df1 ex7'5 $ impulse
write_rfft_info "ex-7.6a" $ listArray (0,999) $ iir_df1 ex7'6a $ impulse
write_rfft_info "ex-7.6b" $ listArray (0,999) $ iir_df1 ex7'6b $ impulse