scipy.signal.

tf2sos#

scipy.signal.tf2sos(b, a, pairing=None, *, analog=False)[Quelle]#

Gibt Zweipol-Abschnitte aus der Übertragungsfunktionsdarstellung zurück

Parameter:
barray_like

Koeffizienten des Zählerpolynoms.

aarray_like

Koeffizienten des Nennerpolynoms.

pairing{None, ‘nearest’, ‘keep_odd’, ‘minimal’}, optional

Die Methode zur Kombination von Pol- und Nullstellenpaaren zu Abschnitten. Informationen und Einschränkungen zu den Argumenten pairing und analog finden Sie unter zpk2sos.

analogbool, optional

Wenn True, ist das System analog, andernfalls diskret.

Hinzugefügt in Version 1.8.0.

Rückgabe:
sosndarray

Array von Zweipol-Filterkoeffizienten mit der Form (n_sections, 6). Die Spezifikation des SOS-Filterformats finden Sie unter sosfilt.

Siehe auch

zpk2sos, sosfilt

Hinweise

Es wird generell davon abgeraten, von TF in das SOS-Format zu konvertieren, da dies in der Regel keine Verbesserung von numerischen Präzisionsfehlern bewirkt. Betrachten Sie stattdessen das Design von Filtern im ZPK-Format und die direkte Konvertierung in SOS. TF wird in SOS konvertiert, indem es zuerst in das ZPK-Format konvertiert und dann ZPK in SOS konvertiert wird.

Hinzugefügt in Version 0.16.0.

Beispiele

Finden Sie die „sos“ (Zweipol-Abschnitte) der Übertragungsfunktion H(s) unter Verwendung ihrer Polynomdarstellung.

\[H(s) = \frac{s^2 - 3.5s - 2}{s^4 + 3s^3 - 15s^2 - 19s + 30}\]
>>> from scipy.signal import tf2sos
>>> tf2sos([1, -3.5, -2], [1, 3, -15, -19, 30], analog=True)
array([[  0. ,   0. ,   1. ,   1. ,   2. , -15. ],
       [  1. ,  -3.5,  -2. ,   1. ,   1. ,  -2. ]])