why bandwidth returns an "inf"?
Afficher commentaires plus anciens
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.
Réponse acceptée
Plus de réponses (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 commentaires
Antonio Del Vecchio
le 15 Déc 2021
Chunru
le 15 Déc 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.
Catégories
En savoir plus sur Response Computation and Visualization dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
