cheb2ord#
- scipy.signal.cheb2ord(wp, ws, gpass, gstop, analog=False, fs=None)[Quelle]#
Bestimmung der Ordnung eines Chebyshev-Filters vom Typ II.
Gibt die Ordnung des niedrigsten digitalen oder analogen Chebyshev-Filters vom Typ II zurück, der im Durchlassbereich nicht mehr als gpass dB verliert und im Sperrbereich eine Dämpfung von mindestens gstop dB aufweist.
- Parameter:
- wp, wsfloat
Grenzfrequenzen des Durchlass- und Sperrbereichs.
Für digitale Filter sind diese in denselben Einheiten wie fs angegeben. Standardmäßig ist fs 2 Halbzyklen/Sample, sodass diese von 0 bis 1 normalisiert sind, wobei 1 die Nyquist-Frequenz ist. (wp und ws sind somit in Halbzyklen / Sample.) Zum Beispiel
Tiefpass: wp = 0.2, ws = 0.3
Hochpass: wp = 0.3, ws = 0.2
Bandpass: wp = [0.2, 0.5], ws = [0.1, 0.6]
Bandstopp: wp = [0.1, 0.6], ws = [0.2, 0.5]
Für analoge Filter sind wp und ws Winkelgeschwindigkeiten (z. B. rad/s).
- gpassfloat
Der maximale Verlust im Durchlassbereich (dB).
- gstopfloat
Die minimale Dämpfung im Sperrbereich (dB).
- analogbool, optional
Wenn True, wird ein analoger Filter zurückgegeben, andernfalls ein digitaler Filter.
- fsfloat, optional
Die Abtastfrequenz des digitalen Systems.
Hinzugefügt in Version 1.2.0.
- Rückgabe:
- ordint
Die niedrigste Ordnung für einen Chebyshev-Filter vom Typ II, der die Spezifikationen erfüllt.
- wnndarray oder float
Die natürliche Frequenz des Chebyshev-Filters (die „3-dB-Frequenz“) für die Verwendung mit
cheby2zur Erzielung von Filterergebnissen. Wenn fs angegeben ist, ist diese in denselben Einheiten, und fs muss ebenfalls ancheby2übergeben werden.
Siehe auch
cheby2Filterentwurf unter Verwendung von Ordnung und kritischen Punkten
buttordOrdnung und kritische Punkte aus Durchlass- und Sperrbereichsspezifikationen ermitteln
cheb1ord,ellipordiirfilterAllgemeines Filterdesign unter Verwendung von Ordnung und kritischen Frequenzen
iirdesignAllgemeines Filterdesign mit Spezifikationen für Durchlass- und Sperrbereich
Beispiele
Entwerfen Sie ein digitales Bandstoppfilter, das von 0,2*(fs/2) bis 0,5*(fs/2) eine Dämpfung von -60 dB aufweist, während es unterhalb von 0,1*(fs/2) oder oberhalb von 0,6*(fs/2) innerhalb von 3 dB bleibt. Plotten Sie seine Frequenzantwort, die die Beschränkungen des Durchlass- und Sperrbereichs in Grau zeigt.
>>> from scipy import signal >>> import matplotlib.pyplot as plt >>> import numpy as np
>>> N, Wn = signal.cheb2ord([0.1, 0.6], [0.2, 0.5], 3, 60) >>> b, a = signal.cheby2(N, 60, Wn, 'stop') >>> w, h = signal.freqz(b, a) >>> plt.semilogx(w / np.pi, 20 * np.log10(abs(h))) >>> plt.title('Chebyshev II bandstop filter fit to constraints') >>> plt.xlabel('Normalized frequency') >>> plt.ylabel('Amplitude [dB]') >>> plt.grid(which='both', axis='both') >>> plt.fill([.01, .1, .1, .01], [-3, -3, -99, -99], '0.9', lw=0) # stop >>> plt.fill([.2, .2, .5, .5], [ 9, -60, -60, 9], '0.9', lw=0) # pass >>> plt.fill([.6, .6, 2, 2], [-99, -3, -3, -99], '0.9', lw=0) # stop >>> plt.axis([0.06, 1, -80, 3]) >>> plt.show()