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

12 views (last 30 days)
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 Comments
mahmoud fawzi
mahmoud fawzi on 12 Sep 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

Sign in to comment.

Answers (1)

Paul
Paul on 12 Sep 2022
Edited: Paul on 12 Sep 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 Comments
mahmoud fawzi
mahmoud fawzi on 12 Sep 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

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!

Translated by