discrete TF ""the order of the denominator must be greater than or equal to the order of the numerator""

23 visualizzazioni (ultimi 30 giorni)
i am working on designing a repetitive controller in discrete time , one of its component is the low pass filter Q(z)
Q(z)=a1*z^2+ a0+ a1*z^-1
when i use the discrete TF block in simulink it gives the error message "the order of the denominator must be greater than or equal to the order of the numerator"
please, is there any method to implement this function on simulink
  4 Commenti
Walter Roberson
Walter Roberson il 12 Set 2022
When you are using discrete time z notation, positive exponents results refer what the signal would do in the future. For example if you were filtering random tosses of a coin, then z^2 would refer to the results that the coin will have in the second flip that has not been made yet. Unless you are using a signal that is perfectly predictable down to the last bit, that is something you simply cannot know.
Which is to say... you do not implement z^2 in Simulink. Instead you multiply the transfer function by z^(-2) and put in two signal delays, so that your output for time t is not available until at least time t+2*dt
mahmoud fawzi
mahmoud fawzi il 12 Set 2022
Dear Walter
Thank you for your help
FYI, Q(z) is multiplied by the function Z^-N/1-Z^-N where N is an integer number
i multiplied the two functions and it now works but the simulation is relatively slow.
Regards,
mahmoud

Accedi per commentare.

Risposte (1)

Paul
Paul il 12 Set 2022
Modificato: Paul il 12 Set 2022
Hi mahmoud.
Q(z) can't be implemented in Simulink. If the model has another element, call it P(z), in series with Q(z), then the product Q(z)*P(z) can be implemented in a single block as long as the order of the denominator of P(z) is at least two higher than the order of its numerator. Doing so preserves the correct output/input relationship in that path, but signals internal to that path will be lost, or at least take on a new meaning.
  2 Commenti
Walter Roberson
Walter Roberson il 12 Set 2022
Good point, if you have a path in which the net transfer function does not have positive powers of z, then if you can build the overall transfer function (or state space model) in MATLAB, ending up with something that does not need to predict the future, then you can use the consolidated function. Might not be as understandable or convenient but potentially do-able.
mahmoud fawzi
mahmoud fawzi il 12 Set 2022
Dear Paul
Thank you for your help
FYI, Q(z) is multiplied by the function Z^-N/1-Z^-N where N is an integer number
i multiplied the two functions and it now works but the simulation is relatively slow.
Regards,
mahmoud

Accedi per commentare.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by