0001 function varargout = utp_ltpda_ss_iir2ss(varargin)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023 ALGONAME = mfilename;
0024 VERSION = '$Id: utp_ltpda_ss_iir2ss.m,v 1.3 2008/03/11 16:52:56 adrien Exp $';
0025 CATEGORY = 'STATESPACE';
0026 display(['starting ' ALGONAME]);
0027
0028 if not(isempty(varargin))
0029 if isequal( varargin{1}, 'Version')
0030 varargout = VERSION;
0031 return;
0032 elseif isequal(varargin{1}, 'Params')
0033 varargout = plist();
0034 return;
0035 elseif isequal(varargin{1}, 'Category')
0036 varargout = CATEGORY;
0037 return;
0038 end
0039 end
0040 result = 1;
0041
0042
0043 f = miir(plist('type', 'bandpass','fs', 1000,'fc', [50 100],'order', 3,'gain',2,'ripple',0.7));
0044
0045 name = f.name;
0046 T = 1/(f.fs);
0047 ntaps =f.ntaps;
0048
0049 d1 = [1 1];
0050 d2 = [1 2];
0051 d3 = conv([1 3],[1 3]);
0052 d4 = [1 8 17];
0053 d5 = conv([1 10 29],conv([1 10 29],[1 10 29]));
0054 d6 = conv([1 6],conv([1 6],[1 6]));
0055 n1 = [0 1];
0056 n2 = [0 2];
0057 n3 = [0 3 4];
0058 n4 = [0 5 6];
0059 n5 = [0 0 0 0 0 7 8] + conv([1 10 29],[0 0 0 9 10]) + conv([1 10 29],conv([1 10 29],[0 11 12]));
0060 n6 = [0 0 0 13] + conv([0 1 6],[0 14]) + conv([1 6],conv([1 6],[0 15]));
0061 d0 = -1;
0062 f.a = conv(n1,conv(d2,conv(d3,conv(d4,conv(d5,d6))))) + conv(d1,conv(n2,conv(d3,conv(d4,conv(d5,d6))))) + conv(d1,conv(d2,conv(n3,conv(d4,conv(d5,d6))))) + conv(d1,conv(d2,conv(d3,conv(n4,conv(d5,d6))))) + conv(d1,conv(d2,conv(d3,conv(d4,conv(n5,d6))))) + conv(d1,conv(d2,conv(d3,conv(d4,conv(d5,n6)))))+d0* conv(d1,conv(d2,conv(d3,conv(d4,conv(d5,d6)))));
0063 f.b = conv(d1,conv(d2,conv(d3,conv(d4,conv(d5,d6)))));
0064 f.gain = 1;
0065
0066 subsys = ltpda_ss_iir2ss(f, f , f);
0067 subsys = ltpda_ss_iir2ss([f, f , f]);
0068
0069
0070 f.a = [1 2 4];
0071 f.b = [1 3 2];
0072 subsys = ltpda_ss_iir2ss(f);
0073 AMAT = find(subsys,'AMAT');
0074 BMATS = find(subsys,'BMATS');
0075 CMAT = find(subsys,'CMAT');
0076 DMATS = find(subsys,'DMATS');
0077 a = AMAT{1};
0078 b = BMATS{1};
0079 c = CMAT{1};
0080 d = DMATS{1};
0081 A=[0 1; 2 3];
0082 B=[0;1];
0083 C=[2 -1];
0084 D=1;
0085 if (norm(A-[0 1; 2 3]) + norm(B-[0;1]) + norm(C-[2 -1]) + norm(D-1))>1e-14
0086 result = 0;
0087 end
0088
0089 varargout = {result};
0090
0091 end