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 Comments

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
Paul
Paul on 11 Aug 2024
Edited: Paul on 11 Aug 2024
The OP is referring to the multiplicative inverse of G(s), which is, in fact, 1/G(s) = 7.5*s + 1.

Sign in to comment.

 Accepted Answer

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 Comment

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!

Sign in to comment.

More Answers (0)

Categories

Find more on Simulink in Help Center and File Exchange

Asked:

on 3 Feb 2021

Edited:

on 11 Aug 2024

Community Treasure Hunt

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

Start Hunting!