1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
3
<!--Converted with LaTeX2HTML 2002-2-1 (1.70)
4
original version by: Nikos Drakos, CBLU, University of Leeds
5
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
6
* with significant contributions from:
7
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
10
<TITLE>Discrete state-space system </TITLE>
11
<META NAME="description" CONTENT="Discrete state-space system ">
12
<META NAME="keywords" CONTENT="main">
13
<META NAME="resource-type" CONTENT="document">
14
<META NAME="distribution" CONTENT="global">
16
<META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1">
17
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
19
<LINK REL="STYLESHEET" HREF="main.css">
23
<BODY bgcolor="#FFFFFF">
25
<!--Table of Child-Links-->
26
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
29
<LI><A NAME="tex2html5034"
30
HREF="DLSS_f.htm#SECTION00585100000000000000">Library</A>
31
<LI><A NAME="tex2html5035"
32
HREF="DLSS_f.htm#SECTION00585200000000000000">Description</A>
33
<LI><A NAME="tex2html5036"
34
HREF="DLSS_f.htm#SECTION00585300000000000000">Dialog Box</A>
35
<LI><A NAME="tex2html5037"
36
HREF="DLSS_f.htm#SECTION00585400000000000000">Default properties</A>
37
<LI><A NAME="tex2html5038"
38
HREF="DLSS_f.htm#SECTION00585500000000000000">Interfacing function</A>
39
<LI><A NAME="tex2html5039"
40
HREF="DLSS_f.htm#SECTION00585600000000000000">Computational function (type 1)</A>
42
<!--End of Table of Child-Links-->
45
<H2><A NAME="SECTION00585000000000000000"></A><A NAME="DLSS_f"></A>
47
Discrete state-space system
51
$\epsfig{file=DLSS_f.eps,width=90.00pt}$
54
WIDTH="143" HEIGHT="81" ALIGN="BOTTOM" BORDER="0"
56
ALT="\epsfig{file=DLSS_f.eps,width=90.00pt}">
58
<H3><font color="blue"><A NAME="SECTION00585100000000000000">
63
<H3><font color="blue"><A NAME="SECTION00585200000000000000">
66
This block realizes a discrete-time linear state-space system. The
67
system is defined by the <IMG
68
WIDTH="96" HEIGHT="35" ALIGN="MIDDLE" BORDER="0"
70
ALT="$ (A,B,C,D)$"> matrices and the initial state
72
WIDTH="22" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
74
ALT="$ x_0$">. The dimensions must be compatible. At the arrival of an input
75
event on the unique input event port, the state is updated.
77
<H3><font color="blue"><A NAME="SECTION00585300000000000000">
81
<TABLE CELLPADDING=3 BORDER="1">
82
<TR><TD ALIGN="CENTER">Set discrete linear system parameters</TD>
85
<TR><TD ALIGN="CENTER">A matrix</TD>
86
<TD ALIGN="CENTER">-1</TD>
88
<TR><TD ALIGN="CENTER">B matrix</TD>
89
<TD ALIGN="CENTER">1</TD>
91
<TR><TD ALIGN="CENTER">C matrix</TD>
92
<TD ALIGN="CENTER">1</TD>
94
<TR><TD ALIGN="CENTER">D matrix</TD>
95
<TD ALIGN="CENTER">0</TD>
97
<TR><TD ALIGN="CENTER">Initial state</TD>
98
<TD ALIGN="CENTER">0</TD>
104
<LI>A matrix: square matrix. The<B>A </B>matrix
106
<LI>B matrix: the<B>B</B> matrix
108
<LI>C matrix: the <B>C</B> matrix
110
<LI>D matrix: the<B>D</B> matrix
112
<LI>Initial state <IMG
113
WIDTH="22" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
115
ALT="$ x_0$">: vector. The initial state of the system.
119
<H3><font color="blue"><A NAME="SECTION00585400000000000000">
120
Default properties</A>
124
<LI>always active: no
126
<LI>direct-feedthrough: no
128
<LI>zero-crossing: no
132
<LI>number/sizes of inputs: 1 / 1
134
<LI>number/sizes of outputs: 1 / 1
136
<LI>number/sizes of activation inputs: 1 / 1
138
<LI>number/sizes of activation outputs: 0 /
140
<LI>continuous-time state: no
142
<LI>discrete-time state: yes
144
<LI>name of computational function: <EM>dsslti</EM>
147
<H3><font color="blue"><A NAME="SECTION00585500000000000000">
148
Interfacing function</A>
150
<TT>scilab/macros/scicos_blocks/linear/DLSS_f.sci</TT>
152
<H3><font color="blue"><A NAME="SECTION00585600000000000000">
153
Computational function (type 1)</A>
156
<PRE> subroutine dsslti(flag,nevprt,t,xd,x,nx,z,nz,tvec,ntvec,
157
& rpar,nrpar,ipar,nipar,u,nu,y,ny)
160
c Scicos block simulator
161
c discrete state space linear system simulator
163
c rpar(nx*nx+1:nx*nx+nx*nu)=B
164
c rpar(nx*nx+nx*nu+1:nx*nx+nx*nu+nx*ny)=C
166
double precision t,xd(*),x(*),z(*),tvec(*),rpar(*),u(*),y(*)
167
integer flag,nevprt,nx,nz,ntvec,nrpar,ipar(*)
169
double precision w(100)
180
elseif(flag.eq.2) then
182
call dcopy(nz,z,1,w,1)
183
call dmmul(rpar(la),nz,w,nz,z,nz,nz,nz,1)
184
call dmmul1(rpar(lb),nz,u,nu,z,nz,nz,nu,1)
185
elseif(flag.eq.1.or.flag.eq.6) then
188
call dmmul(rpar(lc),ny,z,nz,y,ny,ny,nz,1)
189
call dmmul1(rpar(ld),ny,u,nu,y,ny,ny,nu,1)