Home > classes > @zero > cz2iir.m

cz2iir

PURPOSE ^

CZ2IIR return a,b IIR filter coefficients for a complex zero designed using the bilinear transform.

SYNOPSIS ^

function [a,b] = cz2iir(z, fs)

DESCRIPTION ^

 CZ2IIR return a,b IIR filter coefficients for a complex zero designed using the bilinear transform.

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

 DESCRIPTION: CZ2IIR return a,b IIR filter coefficients for a complex zero
              designed using the bilinear transform.

 CALL:        [a,b] = cz2iir(z, fs)

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

 INPUTS:      z  - zero object
              fs - the sample rate for the filter

 VERSION:     $Id: cz2iir.m,v 1.5 2008/02/12 19:54:16 hewitson Exp $

 HISTORY:     03-04-2007 Hewitson
                 Creation

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

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function [a,b] = cz2iir(z, fs)
0002 % CZ2IIR return a,b IIR filter coefficients for a complex zero designed using the bilinear transform.
0003 %
0004 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0005 %
0006 % DESCRIPTION: CZ2IIR return a,b IIR filter coefficients for a complex zero
0007 %              designed using the bilinear transform.
0008 %
0009 % CALL:        [a,b] = cz2iir(z, fs)
0010 %
0011 % REMARK:      This is just a helper function. This function should only be
0012 %              called from class functions.
0013 %
0014 % INPUTS:      z  - zero object
0015 %              fs - the sample rate for the filter
0016 %
0017 % VERSION:     $Id: cz2iir.m,v 1.5 2008/02/12 19:54:16 hewitson Exp $
0018 %
0019 % HISTORY:     03-04-2007 Hewitson
0020 %                 Creation
0021 %
0022 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0023 
0024 VERSION  = '$Id: cz2iir.m,v 1.5 2008/02/12 19:54:16 hewitson Exp $';
0025 CATEGORY = 'Internal';
0026 
0027 %%%%%   'Params' && 'Version' Call   %%%%%
0028 if nargin == 2
0029   if isa(z, 'zero') && ischar(fs)
0030     in = fs;
0031     if strcmp(in, 'Params')
0032       a = plist();
0033       return
0034     elseif strcmp(in, 'Version')
0035       a = VERSION;
0036       return
0037     elseif strcmp(in, 'Category')
0038       a = CATEGORY;
0039       return
0040     end
0041   end
0042 end
0043 
0044 f0 = get(z, 'f');
0045 q  = get(z, 'q');
0046 
0047 w0  = f0*2*pi;
0048 w02 = w0^2;
0049 
0050 a(1) = (-q*w02/2 - 2*q*fs*fs - w0*fs) / (q*w02);
0051 a(2) = (-w02+4*fs*fs) / w02;
0052 a(3) = (-q*w02/2 - 2*q*fs*fs + w0*fs) / (q*w02);
0053 
0054 b(1) =  1;
0055 b(2) = -2;
0056 b(3) = -1;
0057 
0058 % END

Generated on Mon 31-Mar-2008 13:54:54 by m2html © 2003