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: []]

 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.54 2008/08/22 14:17:27 ingo 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 %
0111 % From Poles/Zeros
0112 % ----------------
0113 %
0114 %   Construct a PZMODEL from poles and zeros.
0115 %
0116 %   'Gain'   - model gain [default: 1]
0117 %   'Poles'  - vector of pole objects [default: empty pole]
0118 %   'Zeros'  - vector of zero objects [default: empty zero]
0119 %   'name'   - name of model [default: 'None']
0120 %
0121 %            Example: plist('name', 'lp_filter', 'poles', [pole(0.1) pole(1,100)], ...
0122 %                     'gain', 2);
0123 %
0124 % From Plist
0125 % ----------
0126 %
0127 %   'Plist'    - construct from a plist. The value passed should be a plist
0128 %                object.
0129 %                [default: empty plist]
0130 %
0131 % EXAMPLE 1:   Still to be written ...
0132 %
0133 % M-FILE INFO: The following call returns an minfo object that contains
0134 %              information about the pzmodel constructor:
0135 %                   >> info = pzmodel.getInfo
0136 %              or   >> info = pzmodel.getInfo('pzmodel')
0137 %
0138 %              You can get information about class methods by calling:
0139 %                   >> info = pzmodel.getInfo(method)
0140 %              e.g. >> info = pzmodel.getInfo('eq')
0141 %
0142 %              You can also restrict the sets of parameters contained in
0143 %              the minfo object by calling:
0144 %                   >> info = pzmodel.getInfo(method, set)
0145 %              e.g. >> info = pzmodel.getInfo('pzmodel', 'From Pzmodel')
0146 %
0147 % VERSION:     $Id: pzmodel.m,v 1.54 2008/08/22 14:17:27 ingo Exp $
0148 %
0149 % HISTORY:     03-04-2007 M Hewitson
0150 %                 Creation
0151 %
0152 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0153 
0154 classdef pzmodel < ltpda_uoh
0155 
0156   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0157   %                            Property definition                            %
0158   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0159 
0160   %---------- Public (read/write) Properties  ----------
0161   properties
0162   end
0163 
0164   %---------- Protected read-only Properties ----------
0165   properties (SetAccess = protected)
0166     gain  = NaN;
0167     poles = pz;
0168     zeros = pz;
0169   end
0170 
0171   %---------- Private Properties ----------
0172   properties (GetAccess = protected, SetAccess = protected)
0173   end
0174 
0175   %---------- Abstract Properties ----------
0176   properties (Abstract = true, SetAccess = protected)
0177   end
0178 
0179   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0180   %                          Check property setting                           %
0181   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0182 
0183   methods
0184     function obj = set.gain(obj, val)
0185       if ~isnumeric(val) || isempty(val) || ~isreal(val)
0186         error('### The value for the property ''gain'' must be a real number');
0187       end
0188       obj.gain = val;
0189     end
0190     function obj = set.poles(obj, val)
0191       if ~isa(val, 'pz') && ~isempty(val)
0192         error('### The value for the property ''poles'' must be an array of pz objects.');
0193       end
0194       obj.poles = val;
0195     end
0196     function obj = set.zeros(obj, val)
0197       if ~isa(val, 'pz') && ~isempty(val)
0198         error('### The value for the property ''zeros'' must be an array of pz objects.');
0199       end
0200       obj.zeros = val;
0201     end
0202   end
0203 
0204   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0205   %                                Constructor                                %
0206   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0207 
0208   methods
0209     function obj = pzmodel(varargin)
0210 
0211       import utils.const.*
0212       utils.helper.msg(msg.OMNAME, 'running %s/%s', mfilename('class'), mfilename);
0213       
0214       % Call superclass
0215       obj = obj@ltpda_uoh(varargin{:});
0216 
0217       %%%%%%%%%%   Set dafault values   %%%%%%%%%%
0218       %%% Exept for a struct as an input
0219       if ~(nargin == 1 && isstruct(varargin{1}))
0220         % set version
0221         obj.prependVersion('$Id: pzmodel.m,v 1.54 2008/08/22 14:17:27 ingo Exp $');
0222       end
0223 
0224       % Collect all pzmodel objects
0225       [pzs, invars, rest] = utils.helper.collect_objects(varargin(:), 'pzmodel');
0226 
0227       if isempty(rest) && ~isempty(pzs)
0228         % Do copy constructor and return
0229         utils.helper.msg(msg.OPROC1, 'copy constructor');
0230         obj = copy(pzs, 1);
0231         for kk=1:numel(obj)
0232           obj(kk).addHistory(pzmodel.getInfo('pzmodel', 'None'), [], [], obj(kk).hist);
0233         end
0234         return
0235       end
0236       
0237       switch nargin
0238         case 0
0239           utils.helper.msg(msg.OPROC1, 'empty constructor');
0240           obj.addHistory(pzmodel.getInfo('pzmodel', 'None'), plist(), [], []);
0241           %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0242           %%%%%%%%%%%% Zero inputs %%%%%%%%%%%%%%%
0243           %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0244         case 1
0245           %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0246           %%%%%%%%%%%% One inputs %%%%%%%%%%%%%%%
0247           %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0248 
0249           if ischar(varargin{1})
0250             %======== Filename
0251             %%%%%%%%%%   pzm = pzmodel('foo.mat')   %%%%%%%%%%
0252             %%%%%%%%%%   pzm = pzmodel('foo.xml')   %%%%%%%%%%
0253             %%%%%%%%%%   pzm = pzmodel('foo.liso')  %%%%%%%%%%
0254             utils.helper.msg(msg.OPROC1, 'constructing from file %s', varargin{1});
0255             obj = fromFile(obj, varargin{1});
0256 
0257           elseif isstruct(varargin{1})
0258             %======== Struct
0259             %%%%%%%%%%   pzm = pzmodel(struct)   %%%%%%%%%%
0260 
0261             %%% Set properties which are declared in this class
0262             utils.helper.msg(msg.OPROC1, 'constructing from struct');
0263             pzm_struct = varargin{1};
0264 
0265             obj.gain  = pzm_struct.gain;
0266             obj.poles = utils.helper.struct2obj(pzm_struct.poles, 'pz');
0267             obj.zeros = utils.helper.struct2obj(pzm_struct.zeros, 'pz');
0268 
0269           elseif isa(varargin{1}, 'plist')
0270             %======== Plist
0271             %%%%%%%%%%   pzm = pzmodel(plist)   %%%%%%%%%%
0272             pl       = varargin{1};
0273             filename = find(pl, 'filename');
0274             hostname = find(pl, 'hostname');
0275             conn     = find(pl ,'conn');
0276             gain     = find(pl, 'gain');
0277             ipl      = find(pl, 'plist');
0278 
0279             % Selection of construction method
0280             if ~isempty(filename)
0281               utils.helper.msg(msg.OPROC1, 'constructing from file %s', varargin{1});
0282               % construct from file
0283               obj = fromFile(obj, pl);
0284             elseif ~isempty(hostname) || ~isempty(conn)
0285               utils.helper.msg(msg.OPROC1, 'constructing from repository %s', hostname);
0286               % do hostname constructor
0287               obj = obj.fromRepository(pl);
0288             elseif ~isempty(gain)
0289               utils.helper.msg(msg.OPROC1, 'constructing from poles and zeros');
0290               % Construct from poles and zeros
0291               obj = fromPolesAndZeros(obj, pl);
0292             elseif ~isempty(ipl)
0293               % if the plist is empty, we return an empty PZMODEL
0294               if ipl.nparams == 0
0295               else
0296                 % do plist constructor
0297                 obj = pzmodel(ipl);
0298               end
0299             else
0300               %%% if the plist is empty then return empty PZMODEL
0301               if nparams(pl) == 0
0302               else
0303                 error('### Unknown PZMODEL constructor method.');
0304               end
0305             end
0306           else
0307             error('### Unknown single argument constructor.');
0308           end
0309         case 2
0310           %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0311           %%%%%%%%%%%%% Two inputs %%%%%%%%%%%%%%%
0312           %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0313           if isa(varargin{1}, 'database') && isnumeric(varargin{2})
0314 
0315             %%%%%%%%%%  f = pzmodel(<database-object>, [IDs])   %%%%%%%%%%
0316             % pzmodel(<database-object>, [IDs])
0317             utils.helper.msg(msg.OPROC1, 'retrieve from repository');
0318             obj = obj.fromRepository(plist('conn', varargin{1}, 'id', varargin{2}));
0319 
0320           else
0321             error('### Unknown 2 argument constructor.');
0322           end
0323 
0324           
0325         case 3
0326           %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0327           %%%%%%%%%%%% Three inputs %%%%%%%%%%%%%%
0328           %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0329 
0330           %%%%%%%%%%   pzm = pzmodel(gain, poles, zeros)   %%%%%%%%%%
0331           utils.helper.msg(msg.OPROC1, 'constructing from poles and zeros');
0332           pl = plist('gain', varargin{1}, 'poles', varargin{2}, 'zeros', varargin{3});
0333           obj = fromPolesAndZeros(obj, pl);
0334         case 4
0335           %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0336           %%%%%%%%%%%% Four inputs %%%%%%%%%%%%%%%
0337           %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0338 
0339           %%%%%%%%%%   pzm = pzmodel(gain, poles, zeros, name)   %%%%%%%%%%
0340           utils.helper.msg(msg.OPROC1, 'constructing from poles and zeros');
0341           pl = plist('gain', varargin{1}, 'poles', varargin{2}, 'zeros', varargin{3}, 'name', varargin{4});
0342           obj = fromPolesAndZeros(obj, pl);
0343 
0344         otherwise
0345           error('### Unknown number of arguments.');
0346       end
0347 
0348     end % End constructor
0349 
0350   end
0351 
0352   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0353   %                             Methods (protected)                           %
0354   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0355   methods (Access = protected)
0356     obj = setGain(obj, val)
0357     obj = setPoles(obj, val)
0358     obj = setZeros(obj, val)
0359   end
0360 
0361   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0362   %                            Methods (static)                               %
0363   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0364   methods (Static)
0365 
0366     varargout = update_struct(varargin);
0367 
0368     function out = VEROUT()
0369       out = '$Id: pzmodel.m,v 1.54 2008/08/22 14:17:27 ingo Exp $';
0370     end
0371 
0372     function ii = getInfo(varargin)
0373       ii = utils.helper.generic_getInfo(varargin{:}, 'pzmodel');
0374     end
0375 
0376     function out = SETS()
0377       out = {...
0378         'From XML File', ...
0379         'From MAT File', ...
0380         'From LISO File', ...
0381         'From Repository', ...
0382         'From Poles/Zeros', ...
0383         'From Plist'};
0384     end
0385 
0386     function out = getDefaultPlist(set)
0387       switch set
0388         %--- Pole/zero constructor
0389         case 'From Poles/Zeros'
0390           out = plist('gain', 1, ...
0391             'poles', [], ...
0392             'zeros', [], ...
0393             'name', 'None');
0394           %--- Repository constructor
0395         case 'From Repository'
0396           out = plist('hostname', 'localhost', 'database', 'ltpda', 'ID', []);
0397           %--- Read from XML file
0398         case 'From XML File'
0399           out = plist('filename', '');
0400           %--- Read from MAT file
0401         case 'From MAT File'
0402           out = plist('filename', '');
0403           %--- Create from LISO file
0404         case 'From LISO File'
0405           out = plist('filename', '');
0406           %--- Create from a plist
0407         case 'From Plist'
0408           out = plist('Plist', []);
0409         otherwise
0410           out = plist();
0411       end
0412     end % function out = getDefaultPlist(varargin)
0413 
0414   end % End static methods
0415 
0416   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0417   %                         Methods (static, private)                         %
0418   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0419 
0420   methods (Static, Access=private)
0421 
0422     [ao,bo] = abcascade(a1,b1,a2,b2)
0423 
0424   end % End static, private methods
0425 
0426   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0427   %                             Methods (public)                              %
0428   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0429   methods
0430     varargout = char(varargin)
0431     varargout = display(varargin)
0432     varargout = string(varargin)
0433     varargout = copy(varargin)
0434 
0435     f = getlowerFreq(varargin)
0436     f = getupperFreq(varargin)
0437     f = tomiir(varargin)
0438     f = tomfir(varargin)
0439     varargout = pzm2ab(varargin)
0440     varargout = fngen(varargin)
0441     varargout = resp(varargin)
0442   end
0443   
0444   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0445   %                            Methods (protected)                            %
0446   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0447   methods (Access = protected)
0448     pzm = fromLISO(pzm, pli)
0449   end
0450 
0451   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0452   %                           Methods (private)                               %
0453   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0454   methods (Access = private)
0455     % Constructors
0456     varargout = fromPolesAndZeros(varargin)
0457 
0458     % Converters
0459     [a,b] = cp2iir(p, fs)
0460     [a,b] = rp2iir(p, fs)
0461     [a,b] = cz2iir(z, fs)
0462     [a,b] = rz2iir(z, fs)
0463   end
0464 
0465 end % End classdef
0466

Generated on Mon 25-Aug-2008 22:39:29 by m2html © 2003