118 lines (81 with data), 3.8 kB
Control PROJECTS -*- text -*-
grep FIXME and/or TODO for more information
* Improve @lti/subsasgn.m
* Improve @lti/parallel.m by implementing "complicated" case
sys = parallel (sys1, sys2, in1, in2, out1, out2)
* n-th order approximation of time delay exp (tau*s)
sys = pade (tau, n)
* Add delays exp (-T*s) indelay, outdelay, stdelay, ...
-- Support time and frequency responses.
-- Support interconnections.
* Implement zpk models and @zpset similar to @tfpoly.
* SLICOT non-linear system identification.
idnlmodel class and simulation of Wiener models with SLICOT.
* Descriptor support for pole placement command "place".
* Implement mu-Synthesis command "dksyn" using muHopt.f.
* Implement d2d. In general, d2c followed by c2d could be used, maybe one derives
direct formulae for the bilinear case.
* Matched pole/zero method for c2d and d2c.
* Implement balreal. Based on SLICOT AB09HY?
* Add input and output groups to LTI models.
-- sys.ingroup.controls = [1, 3] (stored as a struct)
-- sys(:, "controls") (instead of sys(:, [1, 3]))
-- Handle __sys_group__ case when indices of the second lti need to be increased
by the size of the first lti.
-- Handle __sys_prune__ case when indices need to be deleted from all struct fields
and channels numbers after the deleted ones need to be decreased.
-- Handle conflicting names for __sys_group__.
-- Beware of indices not in ascending order.
* Fix PDF manual.
-- Use TEX for formulas (iftex)
* "horzcat" and "vertcat" are trivial operations for TF, FRD and ZPK models.
Therefore model-specific commands (@tf/horzcat, @tf/vertcat, @frd/...)
which override the generic commands (@lti/horzcat, @lti/vertcat) could
make practical sense.
* Support more than two arguments in __sys_group__.
* Display individual warnings/errors for iwarn/info in oct-files.
* Airtight argument checking for oct-files. Currently there are no checks
because LTI methods are "nice" to the oct-files. But oct-files are by no
means private and privateness is no protection because one could easily
create an @lti folder in an user directory and fool octave. This can
become a problem if - for example - someone sets up a public web interface
where people can try out octave through their web browsers.
* Use "axis tight" and multiplot for margin.m.
Frequency Response Data:
* Tolerances for intersection of frequency vectors in @frd/__sys_group__.m
* Balancing: TB01TD ?
* Support descriptor models for bilin and prewarp methods in c2d and d2c
if beta*E - A or alpha*E + A are singular.
Transfer Function Models:
* Find a transfer function to state-space conversion routine which
supports individual denominators for each input-output channel
(@tf/__sys2ss__.m). Support for non-proper descriptor state-space
systems would be nice, but otherwise Andras' trick that is already
used for the current solution is not bad either.
* Squash bugs.
* Write/improve documentation. If you implement a feature without documentation,
nobody besides you will ever use it! Don't waste your time :-)
* Add description of each input and output argument to texinfo strings of
functions on the INDEX list.
* Add tests.
* Test the control package on different platforms.
* Compare results to those from other free and non-free implementations of an