cheb1ord#
- scipy.signal.cheb1ord(wp, ws, gpass, gstop, analog=False, fs=None)[Quelle]#
Bestimmung der Ordnung eines Chebyshev-Filters vom Typ I.
Gibt die Ordnung des niedrigsten digitalen oder analogen Chebyshev-Filters vom Typ I zurück, der im Durchlassbereich nicht mehr als gpass dB verliert und eine Dämpfung von mindestens gstop dB im Sperrbereich hat.
- 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 I, der die Spezifikationen erfüllt.
- wnndarray oder float
Die natürliche Frequenz des Chebyshev-Filters (die „3-dB-Frequenz“) zur Verwendung mit
cheby1, um Filterergebnisse zu erzielen. Wenn fs angegeben ist, ist dies in derselben Einheit, und fs muss ebenfalls ancheby1übergeben werden.
Siehe auch
cheby1Filterentwurf unter Verwendung von Ordnung und kritischen Punkten
buttordOrdnung und kritische Punkte aus Durchlass- und Sperrbereichsspezifikationen ermitteln
cheb2ord,ellipordiirfilterAllgemeines Filterdesign unter Verwendung von Ordnung und kritischen Frequenzen
iirdesignAllgemeines Filterdesign mit Spezifikationen für Durchlass- und Sperrbereich
Beispiele
Entwerfen Sie ein digitales Tiefpassfilter, sodass der Durchlassbereich bis zu 0,2*(fs/2) innerhalb von 3 dB liegt, während oberhalb von 0,3*(fs/2) eine Unterdrückung von mindestens -40 dB erreicht wird. Plottieren Sie dessen Frequenzgang und zeigen Sie die Durchlass- und Sperrbereichsbeschränkungen in Grau an.
>>> from scipy import signal >>> import matplotlib.pyplot as plt >>> import numpy as np
>>> N, Wn = signal.cheb1ord(0.2, 0.3, 3, 40) >>> b, a = signal.cheby1(N, 3, Wn, 'low') >>> w, h = signal.freqz(b, a) >>> plt.semilogx(w / np.pi, 20 * np.log10(abs(h))) >>> plt.title('Chebyshev I lowpass filter fit to constraints') >>> plt.xlabel('Normalized frequency') >>> plt.ylabel('Amplitude [dB]') >>> plt.grid(which='both', axis='both') >>> plt.fill([.01, 0.2, 0.2, .01], [-3, -3, -99, -99], '0.9', lw=0) # stop >>> plt.fill([0.3, 0.3, 2, 2], [ 9, -40, -40, 9], '0.9', lw=0) # pass >>> plt.axis([0.08, 1, -60, 3]) >>> plt.show()