Home > classes > @pzmodel > pzmodel.m

pzmodel

PURPOSE ^

PZMODEL constructor for pzmodel class.

SYNOPSIS ^

This is a script file.

DESCRIPTION ^

 PZMODEL constructor for pzmodel class.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

 DESCRIPTION: PZMODEL constructor for pzmodel class.

 SUPER CLASSES: ltpda_uoh < ltpda_uo < ltpda_obj

 PROPERTIES:

     Inherit Properties (read only)
       name     - name of object
       created  - creation time (time-object)
       prov     - contains a instance of the provenance class.
       hist     - history of the object (history object)
       version  - cvs-version string.

     Protected Properties (read only)
       gain     - gain of the model
       poles    - pole-array of the model
       zeros    - zero-array of the model

 PZMODEL Methods:

     Defined Abstract methods:
       char          - returns one character string which represents the object
       copy          - copies an object
       display       - displays an object
       string        - converts an object to a command string which will
                       recreate the plist object
       update_struct - updates a object structure to the current tbx-version

     Public methods:
       fngen             - creates an arbitrarily long time-series based on
                           the input pzmodel
       getlowerFreq      - gets the frequency of the lowest pole or zero in
                           the model
       getupperFreq      - gets the frequency of the highest pole or zero in
                           the model
       pzm2ab            - convert pzmodel to IIR filter coefficients using
                           bilinear transform
       resp              - returns the complex response of a pzmodel as
                           an Analysis Object
       tomfir            - approximates a pole/zero model with an FIR filter
       tomiir            - converts a pzmodel to an IIR filter using
                           a bilinear transform.

     Protected methods:
       setGain           - set the property 'gain'
       setPoles          - set the property 'poles'
       setZeros          - set the property 'zeros'

     Private methods:
       fromFile          - construct a pzmodel from a file
       fromRepository    - construct a pzmodel from a repository
       fromPolesAndZeros - construct a pzmodel from poles and zeros

 CONSTRUCTOR:

       pzm = pzmodel()                - creates an empty pzmodel object
       pzm = pzmodel(g, p, z)         - construct from gain, poles, zeros
       pzm = pzmodel(g, p, z, 'name') - construct including name
       pzm = pzmodel('foo.fil')       - construct from LISO .fil file
       pzm = pzmodel('foo.xml')       - construct by loading the pzmodel from disk
       pzm = pzmodel('foo.mat')       - construct by loading the pzmodel from disk
       pzm = pzmodel(pl)              - create a pzmodel object from the
                                        description given in the parameter list.

 Parameter sets for plist constructor (in order of priority):

 From XML File
 -------------

   Construct a PZMODEL by loading it from an XML file.

   'filename' - construct a PZMODEL from a filename.
                Example: plist('filename', 'pzm1.xml')
                [default: empty string]

 From MAT File
 -------------

   Construct a PZMODEL by loading it from a MAT file.

   'filename' - construct a PZMODEL from a filename.
                Example: plist('filename', 'pzm1.mat')
                [default: empty string]

 From LISO File
 --------------

   Construct a PZMODEL by loading it from a LISO file.

   'filename' - construct a PZMODEL from a filename.
                Example: plist('filename', 'pzm1.fil')
                [default: empty string]

 From Repository
 ---------------

   Construct a PZMODEL by retrieving it from an LTPDA repository.

   'Hostname' - the repository hostname. Only those objects which
                are PZMODELs are returned.
                [default: 'localhost'];

                Additional parameters:

                'Database'   - The database name [default: 'ltpda']
                'ID'         - A vector of object IDs. [default: []]
                'CID'        - Retrieve all pzmodel objects from a particular
                               collection.

 From Poles/Zeros
 ----------------

   Construct a PZMODEL from poles and zeros.

   'Gain'   - model gain [default: 1]
   'Poles'  - vector of pole objects [default: empty pole]
   'Zeros'  - vector of zero objects [default: empty zero]
   'name'   - name of model [default: 'None']

            Example: plist('name', 'lp_filter', 'poles', [pole(0.1) pole(1,100)], ...
                     'gain', 2);

 From Plist
 ----------

   'Plist'    - construct from a plist. The value passed should be a plist
                object.
                [default: empty plist]

 EXAMPLE 1:   Still to be written ...

 M-FILE INFO: The following call returns an minfo object that contains
              information about the pzmodel constructor:
                   >> info = pzmodel.getInfo
              or   >> info = pzmodel.getInfo('pzmodel')

              You can get information about class methods by calling:
                   >> info = pzmodel.getInfo(method)
              e.g. >> info = pzmodel.getInfo('eq')

              You can also restrict the sets of parameters contained in
              the minfo object by calling:
                   >> info = pzmodel.getInfo(method, set)
              e.g. >> info = pzmodel.getInfo('pzmodel', 'From Pzmodel')

 VERSION:     $Id: pzmodel.m,v 1.60 2008/09/07 10:48:46 hewitson Exp $

 HISTORY:     03-04-2007 M Hewitson
                 Creation

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

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SUBFUNCTIONS ^

SOURCE CODE ^

0001 % PZMODEL constructor for pzmodel class.
0002 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0003 %
0004 % DESCRIPTION: PZMODEL constructor for pzmodel class.
0005 %
0006 % SUPER CLASSES: ltpda_uoh < ltpda_uo < ltpda_obj
0007 %
0008 % PROPERTIES:
0009 %
0010 %     Inherit Properties (read only)
0011 %       name     - name of object
0012 %       created  - creation time (time-object)
0013 %       prov     - contains a instance of the provenance class.
0014 %       hist     - history of the object (history object)
0015 %       version  - cvs-version string.
0016 %
0017 %     Protected Properties (read only)
0018 %       gain     - gain of the model
0019 %       poles    - pole-array of the model
0020 %       zeros    - zero-array of the model
0021 %
0022 % PZMODEL Methods:
0023 %
0024 %     Defined Abstract methods:
0025 %       char          - returns one character string which represents the object
0026 %       copy          - copies an object
0027 %       display       - displays an object
0028 %       string        - converts an object to a command string which will
0029 %                       recreate the plist object
0030 %       update_struct - updates a object structure to the current tbx-version
0031 %
0032 %     Public methods:
0033 %       fngen             - creates an arbitrarily long time-series based on
0034 %                           the input pzmodel
0035 %       getlowerFreq      - gets the frequency of the lowest pole or zero in
0036 %                           the model
0037 %       getupperFreq      - gets the frequency of the highest pole or zero in
0038 %                           the model
0039 %       pzm2ab            - convert pzmodel to IIR filter coefficients using
0040 %                           bilinear transform
0041 %       resp              - returns the complex response of a pzmodel as
0042 %                           an Analysis Object
0043 %       tomfir            - approximates a pole/zero model with an FIR filter
0044 %       tomiir            - converts a pzmodel to an IIR filter using
0045 %                           a bilinear transform.
0046 %
0047 %     Protected methods:
0048 %       setGain           - set the property 'gain'
0049 %       setPoles          - set the property 'poles'
0050 %       setZeros          - set the property 'zeros'
0051 %
0052 %     Private methods:
0053 %       fromFile          - construct a pzmodel from a file
0054 %       fromRepository    - construct a pzmodel from a repository
0055 %       fromPolesAndZeros - construct a pzmodel from poles and zeros
0056 %
0057 % CONSTRUCTOR:
0058 %
0059 %       pzm = pzmodel()                - creates an empty pzmodel object
0060 %       pzm = pzmodel(g, p, z)         - construct from gain, poles, zeros
0061 %       pzm = pzmodel(g, p, z, 'name') - construct including name
0062 %       pzm = pzmodel('foo.fil')       - construct from LISO .fil file
0063 %       pzm = pzmodel('foo.xml')       - construct by loading the pzmodel from disk
0064 %       pzm = pzmodel('foo.mat')       - construct by loading the pzmodel from disk
0065 %       pzm = pzmodel(pl)              - create a pzmodel object from the
0066 %                                        description given in the parameter list.
0067 %
0068 % Parameter sets for plist constructor (in order of priority):
0069 %
0070 % From XML File
0071 % -------------
0072 %
0073 %   Construct a PZMODEL by loading it from an XML file.
0074 %
0075 %   'filename' - construct a PZMODEL from a filename.
0076 %                Example: plist('filename', 'pzm1.xml')
0077 %                [default: empty string]
0078 %
0079 % From MAT File
0080 % -------------
0081 %
0082 %   Construct a PZMODEL by loading it from a MAT file.
0083 %
0084 %   'filename' - construct a PZMODEL from a filename.
0085 %                Example: plist('filename', 'pzm1.mat')
0086 %                [default: empty string]
0087 %
0088 % From LISO File
0089 % --------------
0090 %
0091 %   Construct a PZMODEL by loading it from a LISO file.
0092 %
0093 %   'filename' - construct a PZMODEL from a filename.
0094 %                Example: plist('filename', 'pzm1.fil')
0095 %                [default: empty string]
0096 %
0097 % From Repository
0098 % ---------------
0099 %
0100 %   Construct a PZMODEL by retrieving it from an LTPDA repository.
0101 %
0102 %   'Hostname' - the repository hostname. Only those objects which
0103 %                are PZMODELs are returned.
0104 %                [default: 'localhost'];
0105 %
0106 %                Additional parameters:
0107 %
0108 %                'Database'   - The database name [default: 'ltpda']
0109 %                'ID'         - A vector of object IDs. [default: []]
0110 %                'CID'        - Retrieve all pzmodel objects from a particular
0111 %                               collection.
0112 %
0113 % From Poles/Zeros
0114 % ----------------
0115 %
0116 %   Construct a PZMODEL from poles and zeros.
0117 %
0118 %   'Gain'   - model gain [default: 1]
0119 %   'Poles'  - vector of pole objects [default: empty pole]
0120 %   'Zeros'  - vector of zero objects [default: empty zero]
0121 %   'name'   - name of model [default: 'None']
0122 %
0123 %            Example: plist('name', 'lp_filter', 'poles', [pole(0.1) pole(1,100)], ...
0124 %                     'gain', 2);
0125 %
0126 % From Plist
0127 % ----------
0128 %
0129 %   'Plist'    - construct from a plist. The value passed should be a plist
0130 %                object.
0131 %                [default: empty plist]
0132 %
0133 % EXAMPLE 1:   Still to be written ...
0134 %
0135 % M-FILE INFO: The following call returns an minfo object that contains
0136 %              information about the pzmodel constructor:
0137 %                   >> info = pzmodel.getInfo
0138 %              or   >> info = pzmodel.getInfo('pzmodel')
0139 %
0140 %              You can get information about class methods by calling:
0141 %                   >> info = pzmodel.getInfo(method)
0142 %              e.g. >> info = pzmodel.getInfo('eq')
0143 %
0144 %              You can also restrict the sets of parameters contained in
0145 %              the minfo object by calling:
0146 %                   >> info = pzmodel.getInfo(method, set)
0147 %              e.g. >> info = pzmodel.getInfo('pzmodel', 'From Pzmodel')
0148 %
0149 % VERSION:     $Id: pzmodel.m,v 1.60 2008/09/07 10:48:46 hewitson Exp $
0150 %
0151 % HISTORY:     03-04-2007 M Hewitson
0152 %                 Creation
0153 %
0154 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0155 
0156 classdef pzmodel < ltpda_uoh
0157 
0158   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0159   %                            Property definition                            %
0160   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0161 
0162   %---------- Public (read/write) Properties  ----------
0163   properties
0164   end
0165 
0166   %---------- Protected read-only Properties ----------
0167   properties (SetAccess = protected)
0168     gain    = NaN;
0169     poles   = pz;
0170     zeros   = pz;
0171     version = '$Id: pzmodel.m,v 1.60 2008/09/07 10:48:46 hewitson Exp $';
0172   end
0173 
0174   %---------- Private Properties ----------
0175   properties (GetAccess = protected, SetAccess = protected)
0176   end
0177 
0178   %---------- Abstract Properties ----------
0179   properties (Abstract = true, SetAccess = protected)
0180   end
0181 
0182   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0183   %                          Check property setting                           %
0184   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0185 
0186   methods
0187     function obj = set.gain(obj, val)
0188       if ~isnumeric(val) || isempty(val) || ~isreal(val)
0189         error('### The value for the property ''gain'' must be a real number');
0190       end
0191       obj.gain = val;
0192     end
0193     function obj = set.poles(obj, val)
0194       if ~isa(val, 'pz') && ~isempty(val)
0195         error('### The value for the property ''poles'' must be an array of pz objects.');
0196       end
0197       obj.poles = val;
0198     end
0199     function obj = set.zeros(obj, val)
0200       if ~isa(val, 'pz') && ~isempty(val)
0201         error('### The value for the property ''zeros'' must be an array of pz objects.');
0202       end
0203       obj.zeros = val;
0204     end
0205   end
0206 
0207   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0208   %                                Constructor                                %
0209   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0210 
0211   methods
0212     function obj = pzmodel(varargin)
0213 
0214       import utils.const.*
0215       utils.helper.msg(msg.OMNAME, 'running %s/%s', mfilename('class'), mfilename);
0216 
0217       % Call superclass
0218       obj = obj@ltpda_uoh(varargin{:});
0219 
0220       %%%%%%%%%%   Set dafault values   %%%%%%%%%%
0221 
0222       % Collect all pzmodel objects
0223       [pzs, invars, rest] = utils.helper.collect_objects(varargin(:), 'pzmodel');
0224 
0225       if isempty(rest) && ~isempty(pzs)
0226         % Do copy constructor and return
0227         utils.helper.msg(msg.OPROC1, 'copy constructor');
0228         obj = copy(pzs, 1);
0229         for kk=1:numel(obj)
0230           obj(kk).addHistory(pzmodel.getInfo('pzmodel', 'None'), [], [], obj(kk).hist);
0231         end
0232         return
0233       end
0234 
0235       switch nargin
0236         case 0
0237           utils.helper.msg(msg.OPROC1, 'empty constructor');
0238           obj.addHistory(pzmodel.getInfo('pzmodel', 'None'), [], [], []);
0239           %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0240           %%%%%%%%%%%% Zero inputs %%%%%%%%%%%%%%%
0241           %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0242 
0243         case 1
0244           %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0245           %%%%%%%%%%%% One inputs %%%%%%%%%%%%%%%
0246           %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0247 
0248           if ischar(varargin{1})
0249             %======== Filename
0250             %%%%%%%%%%   pzm = pzmodel('foo.mat')   %%%%%%%%%%
0251             %%%%%%%%%%   pzm = pzmodel('foo.xml')   %%%%%%%%%%
0252             %%%%%%%%%%   pzm = pzmodel('foo.liso')  %%%%%%%%%%
0253             utils.helper.msg(msg.OPROC1, 'constructing from file %s', varargin{1});
0254             obj = fromFile(obj, varargin{1});
0255 
0256           elseif isstruct(varargin{1})
0257             %======== Struct
0258             %%%%%%%%%%   pzm = pzmodel(struct)   %%%%%%%%%%
0259 
0260             %%% Set properties which are declared in this class
0261             utils.helper.msg(msg.OPROC1, 'constructing from struct');
0262             pzm_struct = varargin{1};
0263 
0264             obj.gain    = pzm_struct.gain;
0265             obj.poles   = utils.helper.struct2obj(pzm_struct.poles, 'pz');
0266             obj.zeros   = utils.helper.struct2obj(pzm_struct.zeros, 'pz');
0267             obj.version = varargin{1}.version;
0268 
0269           elseif isa(varargin{1}, 'plist')
0270             %======== Plist
0271             %%%%%%%%%%   pzm = pzmodel(plist)   %%%%%%%%%%
0272             pl       = varargin{1};
0273 
0274             % Selection of construction method
0275             if pl.isparam('filename')
0276               utils.helper.msg(msg.OPROC1, 'constructing from file %s', varargin{1});
0277               % construct from file
0278               obj = fromFile(obj, pl);
0279             elseif pl.isparam('hostname') || pl.isparam('conn')
0280               utils.helper.msg(msg.OPROC1, 'constructing from repository %s', pl.find('hostname'));
0281               % do hostname constructor
0282               obj = obj.fromRepository(pl);
0283             elseif pl.isparam('gain') || pl.isparam('poles') || pl.isparam('zeros')
0284               utils.helper.msg(msg.OPROC1, 'constructing from poles and zeros');
0285               % Construct from poles and zeros
0286               obj = fromPolesAndZeros(obj, pl);
0287             elseif pl.isparam('ipl')
0288               ipl = find(pl, 'plist');
0289               % if the plist is empty, we return an empty PZMODEL
0290               if ipl.nparams == 0
0291               else
0292                 % do plist constructor
0293                 obj = pzmodel(ipl);
0294               end
0295             else
0296               %%% if the plist is empty then return empty PZMODEL
0297               if nparams(pl) == 0
0298               else
0299                 error('### Unknown PZMODEL constructor method.');
0300               end
0301             end
0302           else
0303             error('### Unknown single argument constructor.');
0304           end
0305 
0306         case 2
0307           %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0308           %%%%%%%%%%%%% Two inputs %%%%%%%%%%%%%%%
0309           %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0310           if isa(varargin{1}, 'database') && isnumeric(varargin{2})
0311 
0312             %%%%%%%%%%  f = pzmodel(<database-object>, [IDs])   %%%%%%%%%%
0313             % pzmodel(<database-object>, [IDs])
0314             utils.helper.msg(msg.OPROC1, 'retrieve from repository');
0315             obj = obj.fromRepository(plist('conn', varargin{1}, 'id', varargin{2}));
0316           elseif isa(varargin{1}, 'pzmodel') && isa(varargin{2}, 'plist') && isempty(varargin{2}.params)
0317             % pass to copy constructor
0318             obj = pzmodel(varargin{1});
0319           else
0320             error('### Unknown 2 argument constructor.');
0321           end
0322 
0323         case 3
0324           %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0325           %%%%%%%%%%%% Three inputs %%%%%%%%%%%%%%
0326           %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0327 
0328           %%%%%%%%%%   pzm = pzmodel(gain, poles, zeros)   %%%%%%%%%%
0329           utils.helper.msg(msg.OPROC1, 'constructing from poles and zeros');
0330           pl = plist('gain', varargin{1}, 'poles', varargin{2}, 'zeros', varargin{3});
0331           obj = fromPolesAndZeros(obj, pl);
0332         case 4
0333           %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0334           %%%%%%%%%%%% Four inputs %%%%%%%%%%%%%%%
0335           %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0336 
0337           %%%%%%%%%%   pzm = pzmodel(gain, poles, zeros, name)   %%%%%%%%%%
0338           utils.helper.msg(msg.OPROC1, 'constructing from poles and zeros');
0339           pl = plist('gain', varargin{1}, 'poles', varargin{2}, 'zeros', varargin{3}, 'name', varargin{4});
0340           obj = fromPolesAndZeros(obj, pl);
0341 
0342         otherwise
0343           [pzs, invars, rest] = utils.helper.collect_objects(args, 'pzmodel');
0344 
0345           %%% Do we have a list of AOs as input
0346           if ~isempty(pzs) && isempty(rest)
0347             obj = pzmodel(pzs);
0348           else
0349             error('### Unknown number of arguments.');
0350           end
0351       end
0352 
0353     end % End constructor
0354 
0355   end
0356 
0357   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0358   %                             Methods (protected)                           %
0359   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0360   methods (Access = protected)
0361     obj = setGain(obj, val)
0362     obj = setPoles(obj, val)
0363     obj = setZeros(obj, val)
0364   end
0365 
0366   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0367   %                            Methods (static)                               %
0368   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0369   methods (Static)
0370 
0371     varargout = update_struct(varargin);
0372 
0373     function out = VEROUT()
0374       out = '$Id: pzmodel.m,v 1.60 2008/09/07 10:48:46 hewitson Exp $';
0375     end
0376 
0377     function ii = getInfo(varargin)
0378       ii = utils.helper.generic_getInfo(varargin{:}, 'pzmodel');
0379     end
0380 
0381     function out = SETS()
0382       out = {...
0383         'Default',       ...
0384         'From XML File', ...
0385         'From MAT File', ...
0386         'From LISO File', ...
0387         'From Repository', ...
0388         'From Poles/Zeros', ...
0389         'From Plist'};
0390     end
0391 
0392     function out = getDefaultPlist(set)
0393       switch set
0394         case 'Default'
0395           out = plist();
0396           %--- Pole/zero constructor
0397         case 'From Poles/Zeros'
0398           out = plist('gain', 1, ...
0399             'poles', [], ...
0400             'zeros', [], ...
0401             'name', 'None');
0402           %--- Repository constructor
0403         case 'From Repository'
0404           out = plist('hostname', 'localhost', 'database', 'ltpda', 'ID', []);
0405           %--- Read from XML file
0406         case 'From XML File'
0407           out = plist('filename', '');
0408           %--- Read from MAT file
0409         case 'From MAT File'
0410           out = plist('filename', '');
0411           %--- Create from LISO file
0412         case 'From LISO File'
0413           out = plist('filename', '');
0414           %--- Create from a plist
0415         case 'From Plist'
0416           out = plist('Plist', []);
0417         otherwise
0418           out = plist();
0419       end
0420     end % function out = getDefaultPlist(varargin)
0421 
0422   end % End static methods
0423 
0424   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0425   %                         Methods (static, private)                         %
0426   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0427 
0428   methods (Static, Access=private)
0429 
0430     [ao,bo] = abcascade(a1,b1,a2,b2)
0431 
0432   end % End static, private methods
0433 
0434   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0435   %                             Methods (public)                              %
0436   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0437   methods
0438     varargout = char(varargin)
0439     varargout = display(varargin)
0440     varargout = string(varargin)
0441     varargout = copy(varargin)
0442 
0443     f = getlowerFreq(varargin)
0444     f = getupperFreq(varargin)
0445     f = tomiir(varargin)
0446     f = tomfir(varargin)
0447     varargout = pzm2ab(varargin)
0448     varargout = fngen(varargin)
0449     varargout = resp(varargin)
0450   end
0451 
0452   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0453   %                            Methods (protected)                            %
0454   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0455   methods (Access = protected)
0456     pzm = fromLISO(pzm, pli)
0457   end
0458 
0459   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0460   %                           Methods (private)                               %
0461   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0462   methods (Access = private)
0463     % Constructors
0464     varargout = fromPolesAndZeros(varargin)
0465 
0466     % Converters
0467     [a,b] = cp2iir(p, fs)
0468     [a,b] = rp2iir(p, fs)
0469     [a,b] = cz2iir(z, fs)
0470     [a,b] = rz2iir(z, fs)
0471   end
0472 
0473 end % End classdef
0474

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