Home > m > timetools > statespacefunctions > ltpda_ss_tomiir.m

ltpda_ss_tomiir

PURPOSE ^

makeSubsystem is the generic function to decalre or load a subsystem.

SYNOPSIS ^

function iirs = ltpda_ss_tomiir(varargin)

DESCRIPTION ^

 makeSubsystem is the generic function to decalre or load a subsystem.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

 DESCRIPTION: ltpda_ss_tofiir

 CALL: iir = ltpda_ss_tofiir(varargin)

 INPUTS: subsys - subsystem dscribed by a plist

 OUTPUTS: iir - a miiir object

 ***** THERE ARE NO DEFAULT PARAMETERS *****

 VERSION: $Id: ltpda_ss_tomiir.html,v 1.1 2008/03/01 12:29:32 hewitson Exp $

 HISTORY: 10-02-2008
 22-01-2008 A Grynagier
 Creation 02-01-2008 A Grynagier

 To do :  more checks! Numerical and syntaxic. 
 Also discuss the case when the ouput is in PFD form...
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function iirs = ltpda_ss_tomiir(varargin)
0002 % makeSubsystem is the generic function to decalre or load a subsystem.
0003 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0004 %
0005 % DESCRIPTION: ltpda_ss_tofiir
0006 %
0007 % CALL: iir = ltpda_ss_tofiir(varargin)
0008 %
0009 % INPUTS: subsys - subsystem dscribed by a plist
0010 %
0011 % OUTPUTS: iir - a miiir object
0012 %
0013 % ***** THERE ARE NO DEFAULT PARAMETERS *****
0014 %
0015 % VERSION: $Id: ltpda_ss_tomiir.html,v 1.1 2008/03/01 12:29:32 hewitson Exp $
0016 %
0017 % HISTORY: 10-02-2008
0018 % 22-01-2008 A Grynagier
0019 % Creation 02-01-2008 A Grynagier
0020 %
0021 % To do :  more checks! Numerical and syntaxic.
0022 % Also discuss the case when the ouput is in PFD form...
0023 %
0024 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0025 
0026 %% standard calls for LTPDA function data
0027 
0028 ALGONAME = mfilename;
0029 VERSION = '$Id: ltpda_ss_tomiir.html,v 1.1 2008/03/01 12:29:32 hewitson Exp $';
0030 display(['starting ' mfilename]);
0031 
0032 if isequal( varargin{1}, 'Version')
0033     listMeta = VERSION;
0034     return;
0035 elseif isequal(varargin{1}, 'Params')
0036     listMeta = plist();
0037     return;
0038 elseif isequal(varargin{1}, 'Category')
0039     listMeta = 'To be defined / State Space / Time domain analysis';
0040     return;
0041 end
0042 
0043 %% proceeding data
0044 syst = varargin{1};
0045 
0046 AMAT = find(syst,'AMAT');
0047 CMAT = find(syst,'CMAT');
0048 BMATS = find(syst,'BMATS');
0049 DMATS = find(syst,'DMATS');
0050 Ninputs = find(syst,'NBINPUTS');
0051 NAME = find(syst,'NAME');
0052 INPUTSIZES = find(syst,'IMPUTSIZES');
0053 INPUTNAMES = find(syst,'INPUTNAMES');
0054 STEPSIZE = find(syst,'TIMESTEP');    
0055 
0056 syms s
0057 %found no other way to declare right size of iir array
0058 iirs{1,1,1} = miir();
0059 if STEPSIZE == 0
0060     %to do instead : discretize system to 0.1s
0061     display('Error because timestep must be nonzero to make a time discrete filter');
0062     STEPSIZE = 1;
0063 end
0064 for i=1:Ninputs
0065     if size(AMAT{1},1)==0
0066         D = DMATS{i};
0067         C = CMAT{1};
0068         for j=1:size(C,1)
0069             for k=1:size(D,2)
0070                 a = D(j,k);
0071                 b = 1;
0072                 iirs{i,j,k} = miir(plist('a', a, 'b', b, 'gain', 1, 'ntaps', 1, 'name', [NAME,'_',INPUTNAMES{i}], 'fs', 1/STEPSIZE));
0073             end
0074         end
0075     elseif size(BMATS{i},2)==0 ||size(CMAT{1},1)==0
0076         iirs{i,1,1} = {};
0077     else
0078         C = CMAT{1};
0079         B = BMATS{i};
0080         D = DMATS{i};
0081         for j=1:size(C,1)
0082             for k=1:size(B,2)
0083                 [a,b] = ss2tf(AMAT{1}, B(:,k), C(j,:), D(j,k));
0084                 Gain=1;
0085                 iirs{i,j,k} = miir(plist('a', a, 'b', b, 'gain', Gain, 'ntaps', 1, 'name', [NAME,'_',INPUTNAMES{i}], 'fs', 1/STEPSIZE));
0086             end
0087         end
0088     end
0089 end
0090 
0091 end
0092

Generated on Fri 22-Feb-2008 23:32:26 by m2html © 2003