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

16 ビュー (過去 30 日間)
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 件のコメント
Walter Roberson
Walter Roberson 2022 年 9 月 12 日
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 2022 年 9 月 12 日
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

サインインしてコメントする。

回答 (1 件)

Paul
Paul 2022 年 9 月 12 日
編集済み: Paul 2022 年 9 月 12 日
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 件のコメント
Walter Roberson
Walter Roberson 2022 年 9 月 12 日
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 2022 年 9 月 12 日
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

サインインしてコメントする。

Community Treasure Hunt

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

Start Hunting!

Translated by