Borrar filtros
Borrar filtros

How to implement a transfer function with variable coefficients?

5 visualizaciones (últimos 30 días)
Moon Diver
Moon Diver el 4 de En. de 2023
Editada: Bora Eryilmaz el 4 de En. de 2023
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.

Respuestas (1)

Bora Eryilmaz
Bora Eryilmaz el 4 de En. de 2023
Editada: Bora Eryilmaz el 4 de En. de 2023
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)


Community Treasure Hunt

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

Start Hunting!

Translated by