How to invert a Transfer function in Simulink?

Hi everyone!
I am trying to invert my transfer function: 1/(7.5*s+1) in simulink to 1/G(s) = 7.5*s+1. The goal here is to use the output of the system, pass it through the inverse of the transfer function and get the original input of the system.
However, I have some difficulties establishing the transfer runction in Simulink. Any help is greatly appreciated. Thank you!

3 个评论

What I've done is produce time signals from x/y from the transfer function x by y. Then chirp this x/y function and recompute a y/x transfer function and drive iy by y to get x.
1/(7.5*s+1) in simulink to 1/G(s) = 7.5*s+1.
syms G s
eqn = G == 1/(7.5*s+1)
eqn = 
inveqn = solve(eqn, s)
inveqn = 
So the inverse of G is 2(1/15G - 1) not 7.5*G+1
The OP is referring to the multiplicative inverse of G(s), which is, in fact, 1/G(s) = 7.5*s + 1.

请先登录,再进行评论。

 采纳的回答

Transfer functions are not allowed to have a higher order in the numerator than in the denominator (more zeros than poles). This is because that makes them 'non-causal' which means that they depend on the future value of the input (which doesn't make sense).
Why would you want to "get the original input ot the system" when you already know what it is?

1 个评论

Thanks! yeah that makes sense, we originally wanted to reverse the output as the input to re-calibrate the system, but it seems like inverting the transfer function isn't doable. Thanks again!

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 MATLAB 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by