| Control System Toolbox Function Reference | ![]() |
Generate test input signals for lsim
Syntax
[u,t] = gensig(type,tau) [u,t] = gensig(type,tau,Tf,Ts)
Description
[u,t] = gensig(type,tau)
generates a scalar signal u of class type and with period tau (in seconds). The following types of signals are available.
|
Sine wave. |
|
Square wave. |
|
Periodic pulse. |
gensig returns a vector t of time samples and the vector u of signal values at these samples. All generated signals have unit amplitude.
[u,t] = gensig(type,tau,Tf,Ts)
also specifies the time duration Tf of the signal and the spacing Ts between the time samples t.
You can feed the outputs u and t directly to lsim and simulate the response of a single-input linear system to the specified signal. Since t is uniquely determined by Tf and Ts, you can also generate inputs for multi-input systems by repeated calls to gensig.
Example
Generate a square wave with period 5 seconds, duration 30 seconds, and sampling every 0.1 seconds.
[u,t] = gensig('square',5,30,0.1)
plot(t,u) axis([0 30 -1 2])
![]()
See Also
lsimSimulate response to arbitrary inputs
| freqresp | get | ![]() |