0001 function result = utp_ltpda_ss_miir2ss
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022 ALGONAME = mfilename;
0023 VERSION = 'Id: ltpda_ss_miir2ss.m,v 0.6 2008/02/13 11:32:19 agry';
0024 display(['starting ' mfilename]);
0025
0026
0027 f = miir(plist('type', 'bandpass','fs', 1000,'fc', [50 100],'order', 3,'gain',2,'ripple',0.7));
0028
0029 name = f.name;
0030 T = 1/(f.fs);
0031 ntaps =f.ntaps;
0032
0033 d1 = [1 1];
0034 d2 = [1 2];
0035 d3 = conv([1 3],[1 3]);
0036 d4 = [1 8 17];
0037 d5 = conv([1 10 29],conv([1 10 29],[1 10 29]));
0038 d6 = conv([1 6],conv([1 6],[1 6]));
0039 n1 = [0 1];
0040 n2 = [0 2];
0041 n3 = [0 3 4];
0042 n4 = [0 5 6];
0043 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]));
0044 n6 = [0 0 0 13] + conv([0 1 6],[0 14]) + conv([1 6],conv([1 6],[0 15]));
0045 d0 = -1;
0046 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)))));
0047 f.b = conv(d1,conv(d2,conv(d3,conv(d4,conv(d5,d6)))));
0048 f.gain = 1;
0049
0050 subsys = ltpda_ss_miir2ss(f);
0051
0052
0053
0054 f.a = [1 2 4];
0055 f.b = [1 3 2];
0056 subsys = ltpda_ss_miir2ss(f);
0057 AMAT = find(subsys,'AMAT');
0058 BMATS = find(subsys,'BMATS');
0059 CMAT = find(subsys,'CMAT');
0060 DMATS = find(subsys,'DMATS');
0061 a = AMAT{1};
0062 b = BMATS{1};
0063 c = CMAT{1};
0064 d = DMATS{1};
0065 A=[0 1; 2 3];
0066 B=[0;1];
0067 C=[2 -1];
0068 D=1;
0069 if (norm(A-[0 1; 2 3]) + norm(B-[0;1]) + norm(C-[2 -1]) + norm(D-1))>1e-14
0070 result = 0;
0071 end
0072
0073
0074
0075 result = 1;
0076
0077
0078
0079
0080 end