why bandwidth returns an "inf"?
이전 댓글 표시
I have this tf with the following bode plot
k = 1
z = [-1 4 0]
p = [-10+4*j -10-4*j -3 -3 -3]
sys = zpk(z,p,k);
display(sys);
figure(1);
bode(sys);
grid

Why, in this case, the bandwidth(sys) retruns an "Inf"?
And is it only a problem in matlab to calculate the bandwidth or a bandpass exist but I have to calculate in another way?
it is not clear to me looking the plot.
thanks in advance.
채택된 답변
추가 답변 (1개)
fb = bandwidth(sys) returns the bandwidth of the SISO dynamic system model sys. The bandwidth is the first frequency where the gain drops below 70.79% (-3 dB) of its DC value. The bandwidth is expressed in rad/TimeUnit, where TimeUnit is the TimeUnit property of sys.
So this bandwidth is applicable for a low pass filter only.
For your system, DC response is 0, so the bandwidth is Inf
댓글 수: 2
Antonio Del Vecchio
2021년 12월 15일
Chunru
2021년 12월 15일
You can write a code to do that:
- Find the peak response
- Find the first points to the left of peak that is 3dB lower
- Find the first points to the right of peak that is 3dB lower
- Then compute the bandwidth.
Note that this is not full-proof bandwidth for arbitrary response.
카테고리
도움말 센터 및 File Exchange에서 Plot Customization에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
