[SciPy-user] Fwd: signal.lti(A,B,C,D) with D=0
Wed Feb 18 13:39:08 CST 2009
On Wed, Feb 18, 2009 at 2:00 PM, William Purcell
> I was thinking the same thing. I am working on a thin wrapper over
> ltisys to do tests on the dimensions of the output and then looping if
> there is any stitching to be done. I was also thinking that I could
> loop over the inputs first and then in a sub-routine, loop over the
> outputs to come up with a two-dimensional list of what ever I need.
> For example, if I am passing a MIMO system to signal.lti, each of the
> representation conversions would be in matrix/list form corresponding
> to each input/output relationship. Or lti could test if its a MIMO or
> even SIMO and make a matrix/list of lti instances which would each
> have there own alternative representations through ss2zpk/ss2tf etc
> (which might be the cleaner of the two alternatives.) Do you think
> this would be a feature for ltisys (I don't think it would take much
> time to implement), or do you think that it is hackish and ltisys
> should stick to SISO systems?
Are you looking at parallel SISO and SIMO systems, or did you find
a way to have one output depend on two inputs?
Personally, I don't like to change code without having tests, to verify
that what I am doing doesn't break things and delivers what I want.
Since, ltisys doesn't have tests, I wouldn't want to do much surgery on
it, and I would prefer a separate wrapper, or subclassing or delegation
with minimal changes to the existing code.
Another idea for true MIMO system would be to extract what works for
that case and write a separate MIMO package. I think using only the
state space representation, it shouldn't be too difficult to get simulation
and similar things working correctly. The definition and representation
of transfer functions and zpk would be more difficult, and I don't know
much about it in the multi-dimensional input case (My intuition is more
in terms of time series analysis and I haven't looked at this very closely.)
Later if everything works and is tested, merging of MIMO and SISO
could be considered.
These are my thoughts as a (half) innocent bystander.
> On Wed, Feb 18, 2009 at 12:26 PM, <email@example.com> wrote:
>> another thought:
>> Obtaining multi-dimensional output can be done by stitching together
>> several lti systems or transfer functions by looping over the output
>> dimension (I did something similar for multi-dimensional filters with
>> However, multi-dimensional inputs cannot be handled this way. I didn't
>> see any way to merge 2 independent input signals to one output signal.
>> SciPy-user mailing list
> SciPy-user mailing list
More information about the SciPy-user