Home > m > timetools > statespacefunctions > utp_ltpda_ss_miir2ss.m

utp_ltpda_ss_miir2ss

PURPOSE ^

test function for ltpda_ss_miir2ss

SYNOPSIS ^

function result = utp_ltpda_ss_miir2ss

DESCRIPTION ^

 test function for ltpda_ss_miir2ss 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

 DESCRIPTION: test function for ltpda_ss_miir2ss 

 CALL: utp_ltpda_ss_miir2ss

 INPUTS: 
 
 OUTPUTS: 1/0

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function result = utp_ltpda_ss_miir2ss
0002 % test function for ltpda_ss_miir2ss
0003 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0004 %
0005 % DESCRIPTION: test function for ltpda_ss_miir2ss
0006 %
0007 % CALL: utp_ltpda_ss_miir2ss
0008 %
0009 % INPUTS:
0010 %
0011 % OUTPUTS: 1/0
0012 
0013 % VERSION: $Id: utp_ltpda_ss_miir2ss.html,v 1.1 2008/03/01 12:29:32 hewitson Exp $
0014 %
0015 % HISTORY: 22-01-2008 A Grynagier
0016 % Creation 02-01-2008 A Grynagier
0017 %
0018 % TO DO : more numerical checks with vpa function and jordan block
0019 % decomposition in ltpda_ss_miir2ss
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 %% part to generate a miir object
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 % poles
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 %% part with small numerical test
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 % display(subsys)
0078 % display(f)
0079 
0080 end

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