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:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1252407/image.png)
For the second one:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1252412/image.png)
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!