% GET_TEST_OBJECTS_MIIR returns a set of MIIR objects suitable for many of the UTPs
%
% CALL: [iirhp,iirlp,iirbp,iirbr,iirpzm,iirab,iirv,iirm] = get_test_objects_miir
%       [iir1,iir2,iir3,iir4,iir5,iir6,iirv,iirm] = get_test_objects_miir
%
% OUTPUTS:
%           iirhp  - IIR highpass filter
%           iirlp  - IIR lowpass filter
%           iirbp  - IIR bandpass filter
%           iirbr  - IIR bandreject filter
%           iirpzm - IIR from pzmodel
%           iirab  - IIR from a,b
%           iirv   - [iirhp iirlp iirbr iirpzm]
%           iirm   - [iirab iirbr iirbp; iirlp iirpzm iirhp]
%
%
% M Hewitson 06-08-08
%
% $Id: get_test_objects_miir.m,v 1.3 2009/01/27 16:29:14 ingo Exp $
%
function [iirhp,iirlp,iirbp,iirbr,iirpzm,iirab,iirv,iirm] = get_test_objects_miir


  %% IIR highpass filter
  iirhp = miir(plist('type', 'highpass'));
  iirhp.setName();

  %% IIR lowpass filter
  iirlp = miir(plist('type', 'lowpass'));
  iirlp.setName();

  %% IIR bandpass filter
  iirbp = miir(plist('type', 'bandpass', 'fc', [0.01 0.1]));
  iirbp.setName();

  %% IIR bandreject filter
  iirbr = miir(plist('type', 'bandreject', 'fc', [0.01 0.1]));
  iirbr.setName();

  %% IIR created from pole/zero model
  pzm = pzmodel(1, [pz(1) pz(200)], pz(50));
  pzm.setName();
  pl = plist('pzmodel', pzm, 'fs', 1000);
  iirpzm = miir(pl);
  iirpzm.setName();

  %% IIR created from a and b
  a  = [0.5 -0.01];
  b  = [1 0.1];
  fs = 1;
  iirab = miir(a,b,fs);
  iirab.setName();

  %% IIR vector
  iirv = [iirhp iirlp iirbr iirpzm];

  %% IIR matrix
  iirm = [iirab iirbr iirbp; iirlp iirpzm iirhp];

end
