How to implement a transfer function with variable coefficients?
7 ビュー (過去 30 日間)
古いコメントを表示
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.
0 件のコメント
回答 (1 件)
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)
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Transforms についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!