why bandwidth returns an "inf"?
Show older comments
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.
Accepted Answer
More Answers (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 Comments
Antonio Del Vecchio
on 15 Dec 2021
Chunru
on 15 Dec 2021
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.
Categories
Find more on Response Computation and Visualization in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!