Home > classes > @pz > cp2iir.m

cp2iir

PURPOSE ^

CP2IIR Return a,b IIR filter coefficients for a complex pole designed using the bilinear transform.

SYNOPSIS ^

function varargout = cp2iir(varargin)

DESCRIPTION ^

 CP2IIR Return a,b IIR filter coefficients for a complex pole designed using the bilinear transform.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

 DESCRIPTION: CP2IIR Return a,b IIR filter coefficients for a complex pole
              designed using the bilinear transform.

 CALL:        [a,b] = cp2iir(p, fs)

 REMARK:      This is just a helper function. This function should only be
              called from class functions.

 INPUT:       p  - pole object
              fs - the sample rate for the filter

 VERSION:     $Id: cp2iir.m,v 1.4 2008/09/04 15:29:31 ingo Exp $

 HISTORY:     03-04-2007 M Hewitson
                  Creation

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SUBFUNCTIONS ^

SOURCE CODE ^

0001 % CP2IIR Return a,b IIR filter coefficients for a complex pole designed using the bilinear transform.
0002 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0003 %
0004 % DESCRIPTION: CP2IIR Return a,b IIR filter coefficients for a complex pole
0005 %              designed using the bilinear transform.
0006 %
0007 % CALL:        [a,b] = cp2iir(p, fs)
0008 %
0009 % REMARK:      This is just a helper function. This function should only be
0010 %              called from class functions.
0011 %
0012 % INPUT:       p  - pole object
0013 %              fs - the sample rate for the filter
0014 %
0015 % VERSION:     $Id: cp2iir.m,v 1.4 2008/09/04 15:29:31 ingo Exp $
0016 %
0017 % HISTORY:     03-04-2007 M Hewitson
0018 %                  Creation
0019 %
0020 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0021 
0022 function varargout = cp2iir(varargin)
0023 
0024   %%% Check if this is a call for parameters
0025   if utils.helper.isinfocall(varargin{:})
0026     varargout{1} = getInfo(varargin{3});
0027     return
0028   end
0029   
0030   p  = varargin{1};
0031   fs = varargin{2};
0032 
0033   f0 = p.f;
0034   q  = p.q;
0035 
0036   w0  = f0*2*pi;
0037   w02 = w0^2;
0038 
0039   k    = (q*w02 + 4*q*fs*fs + 2*w0*fs) / (q*w02);
0040   b(1) =  1;
0041   b(2) = (2*w02-8*fs*fs) / (k*w02);
0042   b(3) = (q*w02 + 4*q*fs*fs - 2*w0*fs) / (k*q*w02);
0043 
0044   a(1) =  1/k;
0045   a(2) = -2/k;
0046   a(3) = -1/k;
0047   a    =  a*-2;
0048 
0049   varargout{1} = a;
0050   varargout{2} = b;
0051 end
0052 
0053 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0054 %                               Local Functions                               %
0055 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0056 
0057 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0058 %
0059 % FUNCTION:    getInfo
0060 %
0061 % DESCRIPTION: Get Info Object
0062 %
0063 % HISTORY:     11-07-07 M Hewitson
0064 %                Creation.
0065 %
0066 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0067 
0068 function ii = getInfo(varargin)
0069   if nargin == 1 && strcmpi(varargin{1}, 'None')
0070     sets = {};
0071     pl   = [];
0072   else
0073     sets = {'Default'};
0074     pl   = getDefaultPlist;
0075   end
0076   % Build info object
0077   ii = minfo(mfilename, 'pz', '', utils.const.categories.internal, '$Id: cp2iir.m,v 1.4 2008/09/04 15:29:31 ingo Exp $', sets, pl);
0078 end
0079 
0080 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0081 %
0082 % FUNCTION:    getDefaultPlist
0083 %
0084 % DESCRIPTION: Get Default Plist
0085 %
0086 % HISTORY:     11-07-07 M Hewitson
0087 %                Creation.
0088 %
0089 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0090 
0091 function plo = getDefaultPlist()
0092   plo = plist();
0093 end
0094

Generated on Mon 08-Sep-2008 13:18:47 by m2html © 2003