Re: [Scilab-users] Question syslin

2014-12-21 Thread Samuel Gougeon

Le 20/12/2014 21:54, t...@wescottdesign.com a écrit :


I'm not one of the maintainers -- just a happy user for over a 
decade.  If someone wants to put the above description into the syslin 
help, they're welcome to it.
After logging, every valuable comment may be posted by users for each 
online help page : http://help.scilab.org/docs/5.5.1/en_US/syslin.html

This is an added value compared to the embedded help page.
Best regards

___
users mailing list
users@lists.scilab.org
http://lists.scilab.org/mailman/listinfo/users


Re: [Scilab-users] Question syslin

2014-12-21 Thread Andreas Ladanyi


Am 16.12.2014 um 18:54 schrieb Tim Wescott:

Hey Andreas:

Domain = 'c' is for a continuous-time system, where the system is
defined as

dx/dt = A * x + B * u,
y = C * x + D * u

This is a normal continuous-time linear state-space system description.

Domain = 'd' is for a discrete-time system where the sampling interval
is left undefined for whatever reason (in my case, it's usually because
I'm being lazy, but sometimes it's because the sampling interval isn't
constant, or because there's no meaningful sampling interval in the
problem).

It defines the sampled-time system:

x{k} = A * x{k-1} + B * u{k}
y{k} = C * x{k-1} + D * u{k}

(Note the mixed time indexes on the input and state variables on the
right-hand side of these equations.  You'll sometimes see this expressed
differently, so if you're trying to implement something from an article
or book, pay attention!)

Domain = n is for a discrete-time system where the sampling interval is
defined.  It works exactly like domain = 'd', except that things that
depend on the real-world frequency, like Bode plots, will come out
right.
At this point i am a little bit confused. How does syslin works when the 
sampling interval is not defined (dom=d) ? And why the bode plots come 
out wrong ? What syslin is doing wrong if dom=d ?

When I am doing control system design this is usually the form that I
use, because by the time I'm down to this level of detail I've usually
established the sampling rate, and I'm working at tuning the system to,
or verifying it against, some real-world criteria that must be expressed
in the frequency domain.


cheers,
Andy
___
users mailing list
users@lists.scilab.org
http://lists.scilab.org/mailman/listinfo/users


Re: [Scilab-users] Question syslin

2014-12-21 Thread tim

On 2014-12-21 16:23, Andreas Ladanyi wrote:

Am 16.12.2014 um 18:54 schrieb Tim Wescott:

Hey Andreas:


 snip 

Domain = n is for a discrete-time system where the sampling interval 
is

defined.  It works exactly like domain = 'd', except that things that
depend on the real-world frequency, like Bode plots, will come out
right.



At this point i am a little bit confused. How does syslin works when
the sampling interval is not defined (dom=d) ? And why the bode plots
come out wrong ? What syslin is doing wrong if dom=d ?


Syslin, by itself, is just a structure consisting of three or four 
matrices (the 'D' matrix is optional) that describe a system, and a 
domain tag.  The domain tag just tells the various things that use the 
syslin structure how to interpret the description.


When you set dom = 'd', the various bits of code that use syslin either 
interpret the structure to describe some sampled system of unknown 
sampling interval (i.e., ss2tf, which returns a ratio of polynomials in 
z with dom = 'd'), or they implicitly take the sampling interval to be 1 
(i.e., Bode plots).


Syslin isn't doing _wrong_ if dom = 'd', unless the system described 
actually does have a well-defined sampling interval.  There are systems 
that do not have a well-defined sampling interval, or at least not in 
time -- I have worked on phase-locked loops that sample on every cycle 
of the oscillator (or motor), and use the duration of a cycle as the 
feedback.  In this case the sampling rate is itself being servoed, and 
as such is not constant.  Sometimes you're always locking to the same 
reference, and you can take that reference as your sampling interval -- 
sometimes not.  It's also not uncommon to want to define some signal 
processing to be done on data that's sampled at positions on a line or a 
grid, in which case the frequency is in cycles per meter (or pixels, 
or whatever) -- in that case, having a domain that implies a sampling 
frequency in Hz is misleading.


Note that I'm not the original author of this data structure, so I may 
be missing some finer points of intent.  I just do what works for me: I 
set the domain to the actual sampling rate if I know and care what it 
is, or to 'd' if I just want to play around in the abstract, without 
being bound to any particular sampling rate.

___
users mailing list
users@lists.scilab.org
http://lists.scilab.org/mailman/listinfo/users


Re: [Scilab-users] Question syslin

2014-12-20 Thread Andreas Ladanyi

On Tue, 2014-12-16 at 11:01 +0100, Andreas Ladanyi wrote:

Hi,

i am reading the help of scilab to understand the syslin function. In
the help i can see 3 options for the dom parameter. There is an option
for a sampled system 'n'.

In this help there is no example for a sampled system. So what is the
difference between a discrete system and a sampled system ? What is the
difference between an discrete system d and an sampled system n for syslin ?

In the most examples i read in the web syslin is called with dom='c'.

Hey Andreas:

Hi Tim,

thank you for your excellent description. Could this be inserted to the 
online help of the syslin function ?


cheers,
Andreas

Domain = 'c' is for a continuous-time system, where the system is
defined as

dx/dt = A * x + B * u,
y = C * x + D * u

This is a normal continuous-time linear state-space system description.

Domain = 'd' is for a discrete-time system where the sampling interval
is left undefined for whatever reason (in my case, it's usually because
I'm being lazy, but sometimes it's because the sampling interval isn't
constant, or because there's no meaningful sampling interval in the
problem).

It defines the sampled-time system:

x{k} = A * x{k-1} + B * u{k}
y{k} = C * x{k-1} + D * u{k}

(Note the mixed time indexes on the input and state variables on the
right-hand side of these equations.  You'll sometimes see this expressed
differently, so if you're trying to implement something from an article
or book, pay attention!)
Domain = n is for a discrete-time system where the sampling interval is
defined.  It works exactly like domain = 'd', except that things that
depend on the real-world frequency, like Bode plots, will come out
right.

 
When I am doing control system design this is usually the form that I

use, because by the time I'm down to this level of detail I've usually
established the sampling rate, and I'm working at tuning the system to,
or verifying it against, some real-world criteria that must be expressed
in the frequency domain.



___
users mailing list
users@lists.scilab.org
http://lists.scilab.org/mailman/listinfo/users


Re: [Scilab-users] Question syslin

2014-12-16 Thread Serge Steer


- Mail original -
 De: Andreas Ladanyi andreas.lada...@gmx.net
 À: users@lists.scilab.org
 Envoyé: Mardi 16 Décembre 2014 11:01:25
 Objet: [Scilab-users] Question syslin
 
 Hi,
 
 i am reading the help of scilab to understand the syslin function. In
 the help i can see 3 options for the dom parameter. There is an option
 for a sampled system 'n'.
example syslin(0.01,...) defines a discrete linear dynamical system with sample 
period equal to 0.01.

 
 In this help there is no example for a sampled system. So what is the
 difference between a discrete system and a sampled system ? What is the
 difference between an discrete system d and an sampled system n for syslin ?
 
 In the most examples i read in the web syslin is called with dom='c'.
 
 cheers,
 Andreas
 ___
 users mailing list
 users@lists.scilab.org
 http://lists.scilab.org/mailman/listinfo/users
 
___
users mailing list
users@lists.scilab.org
http://lists.scilab.org/mailman/listinfo/users