How do I input a tranfer function in simulink with just a numerator?

For example "3s", I thought about using a gain block but couldnt insert the s. I've also tried putting a 1 on the denominator in a transfer function block but also get an error.

답변 (2개)

Andy Bartlett
Andy Bartlett 2021년 11월 4일
편집: Andy Bartlett 2021년 11월 8일

0 개 추천

The Laplace operator s represents a derivative and its inverse (1/s) represents an integrator.
In concept, you could model 3*s as a derivative block and a gain block in series. However, noise due to numeric roundoffs and such would likely give very poor behavior in practice. For this reason, realizations of continuous-time systems are usually based on integrators and not on differentiators. See slide 14 here as an example of an integrator based realization.
If you look at the problem you are trying to solve from a higher level, I suspect you will find that you don't need to model 3*s directly and you can use an integrator based realization.
You could also play a practical "trick" of creating a filtered derivative by adding a sufficiently fast pole, i.e. model
s/(s-fastPoleLocations)

댓글 수: 2

Shouldn't that be:
-s / (s/fastPoleLocation - 1) % assume fastPoleLocation < 0
Good point, the key idea is to provide nearly identical frequency response for "low" frequencies
s = j*w
0 <= w < 0.1*abs(fastPoleLocation) % Frequencies one decade or more below the pole
The formula I showed reduces the magnitude response at low frequencies by 1/abs(fastPoleLocation)
With your correction, the goal is satisfied of approximately equality
3*j*w == 3*j*w /( j*w/(-fastPoleLocation) + 1) for 0 <= w < 0.1*abs(fastPoleLocation)

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터File Exchange에서 Simulink에 대해 자세히 알아보기

제품

릴리스

R2018a

질문:

2021년 11월 4일

댓글:

2021년 11월 9일

Community Treasure Hunt

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

Start Hunting!

Translated by