scipy.signal.

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 cheby2 zur Erzielung von Filterergebnissen. Wenn fs angegeben ist, ist diese in denselben Einheiten, und fs muss ebenfalls an cheby2 übergeben werden.

Siehe auch

cheby2

Filterentwurf unter Verwendung von Ordnung und kritischen Punkten

buttord

Ordnung und kritische Punkte aus Durchlass- und Sperrbereichsspezifikationen ermitteln

cheb1ord, ellipord
iirfilter

Allgemeines Filterdesign unter Verwendung von Ordnung und kritischen Frequenzen

iirdesign

Allgemeines 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()
../../_images/scipy-signal-cheb2ord-1.png