How to implement a transfer function with variable coefficients?

조회 수: 4 (최근 30일)
Moon Diver
Moon Diver 2023년 1월 4일
편집: Bora Eryilmaz 2023년 1월 4일
I want to implement two filters using transfer functions with variable coefficients and passing a gaussian noise. The two filters are:
F1: F(s) = ((5d)^(1/2))/(b+s);
F2: F1(s) = (((5d)^(1/2))*((b/sqrt(3))+s)) / (b+s)^2;
Where d and b vary every time step.
The implementations for the two filters in simulink are as follow:
For the first filter:
For the second one:
The obtained results have values of 10^-12, while the expected results should be between 10^-3 - 10.
Since it's the first time when I try t implement a tf with variable coefficients I am not sure the implementations are correct.

답변 (1개)

Bora Eryilmaz
Bora Eryilmaz 2023년 1월 4일
편집: Bora Eryilmaz 2023년 1월 4일
The top part of your first diagram does not implement 1/(b+s).
To confirm this, label the output of the top sum block as e. Then you have
e = noise - b/s
Also, label the output that gets multiplied by sqrt(5d) as y. Then you have
y = e/s
Solving from noise to y gives
y = (noise - b/s) / s
which is obviously not
y = noise / (b+s)

카테고리

Help CenterFile Exchange에서 Digital Filter Analysis에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by