Simulation of Discrete time transfer function
21 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Given a transfer function like 1 / (1-z^(-1)), and a ExperimentInput.mat file where the values are in step size 1ms. How do I run a simulation similar to lsim for a s-domain transfer function?
0 commentaires
Réponse acceptée
Raj
le 12 Avr 2019
Correct me if I am wrong but i think "lsim" works for both continuous (S Domain) and discrete (Z Domain) transfer functions.
"The command lsim(sys,U,T,X0) plots the time response of a linear time-invariant system. This system can be continuous or discrete. For a continuous-time system, the differential equation is integrated from time T(0) to T(length(T)), starting at the initial condition X0 and using the input U. The input vector must have the same number of entries as the time vector. If the initial conditions are all zero, X0 may be omitted.
For a discrete-time system, U should be sampled at the same rate as the system (T is then redundant and may be omitted or set to the empty matrix, i.e. [ ])."
3 commentaires
Raj
le 12 Avr 2019
Modifié(e) : Raj
le 12 Avr 2019
Just use
lsim(sys,SpecialExperimentOutput_num,TimeVector_num)
your input SpecialExperimentOutput_num should be 1x4600 i.e. take a transpose of your original data because TimeVector_num = (0:0.001:4.599); will give you a 1x4600 matrix. OR you can take transpose of your time matrix and keep input as it is.
works perfectly!
Plus de réponses (0)
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!