kaiser_bessel_derived#
- scipy.signal.windows.kaiser_bessel_derived(M, beta, *, sym=True, xp=None, device=None)[Quelle]#
Gibt ein Kaiser-Bessel-abgeleitetes Fenster zurück.
- Parameter:
- Mint
Anzahl der Punkte im Ausgabefenster. Wenn Null, wird ein leeres Array zurückgegeben. Eine Ausnahme wird ausgelöst, wenn es negativ ist. Beachten Sie, dass dieses Fenster nur für eine gerade Anzahl von Punkten definiert ist.
- betafloat
Formparameter des Kaiser-Fensters.
- symbool, optional
Dieser Parameter existiert nur, um der von den anderen Fensterfunktionen angebotenen Schnittstelle zu entsprechen und um von
get_windowaufgerufen werden zu können. Wenn True (Standard), wird ein symmetrisches Fenster für den Einsatz im Filterdesign generiert.- xparray_namespace, optional
Optionaler Array-Namespace. Sollte mit dem Array-API-Standard kompatibel sein oder von array-api-compat unterstützt werden. Standard:
numpy- device: any
optionale Gerätespezifikation für die Ausgabe. Sollte mit einer der unterstützten Gerätespezifikationen in
xpübereinstimmen.
- Rückgabe:
- wndarray
Das Fenster, normalisiert zur Erfüllung der Princen-Bradley-Bedingung.
Siehe auch
Hinweise
Es wurde entwickelt, um für die modifizierte diskrete Cosinus-Transformation (MDCT) geeignet zu sein und wird hauptsächlich in der Audio-Signalverarbeitung und Audio-Kodierung verwendet.
Hinzugefügt in Version 1.9.0.
Referenzen
[1]Bosi, Marina, und Richard E. Goldberg. Introduction to Digital Audio Coding and Standards. Dordrecht: Kluwer, 2003.
[2]Wikipedia, „Kaiser window“, https://en.wikipedia.org/wiki/Kaiser_window
Beispiele
Plottet das Kaiser-Bessel-abgeleitete Fenster basierend auf der Wikipedia-Referenz [2]
>>> import numpy as np >>> from scipy import signal >>> import matplotlib.pyplot as plt >>> fig, ax = plt.subplots() >>> N = 50 >>> for alpha in [0.64, 2.55, 7.64, 31.83]: ... ax.plot(signal.windows.kaiser_bessel_derived(2*N, np.pi*alpha), ... label=f"{alpha=}") >>> ax.grid(True) >>> ax.set_title("Kaiser-Bessel derived window") >>> ax.set_ylabel("Amplitude") >>> ax.set_xlabel("Sample") >>> ax.set_xticks([0, N, 2*N-1]) >>> ax.set_xticklabels(["0", "N", "2N+1"]) >>> ax.set_yticks([0.0, 0.2, 0.4, 0.6, 0.707, 0.8, 1.0]) >>> fig.legend(loc="center") >>> fig.tight_layout() >>> fig.show()