sinc#
- scipy.special.sinc(x)#
Gibt die normierte Sinc-Funktion zurück.
Die Sinc-Funktion ist gleich \(\sin(\pi x)/(\pi x)\) für jedes Argument \(x\ne 0\).
sinc(0)nimmt den Grenzwert 1 an, wodurchsincnicht nur überall stetig, sondern auch unendlich oft differenzierbar ist.Hinweis
Beachten Sie den Normierungsfaktor von
pi, der in der Definition verwendet wird. Dies ist die am häufigsten verwendete Definition in der Signalverarbeitung. Verwenden Siesinc(x / np.pi), um die unnormierte Sinc-Funktion \(\sin(x)/x\) zu erhalten, die in der Mathematik gebräuchlicher ist.- Parameter:
- xndarray
Array (möglicherweise mehrdimensional) von Werten, für die
sinc(x)berechnet werden soll.
- Rückgabe:
- outndarray
sinc(x), das die gleiche Form wie die Eingabe hat.
Hinweise
Der Name sinc ist eine Abkürzung für "sine cardinal" oder "sinus cardinalis".
Die Sinc-Funktion wird in verschiedenen Signalverarbeitungsanwendungen eingesetzt, unter anderem bei Antialiasing, beim Aufbau eines Lanczos-Resampling-Filters und bei der Interpolation.
Für die bandbegrenzte Interpolation von diskreten Zeitsignalen ist der ideale Interpolationskern proportional zur Sinc-Funktion.
Referenzen
[1]Weisstein, Eric W. „Sinc Function.“ Aus MathWorld–A Wolfram Web Resource. https://mathworld.wolfram.com/SincFunction.html
[2]Wikipedia, „Sinc function“, https://en.wikipedia.org/wiki/Sinc_function
Beispiele
>>> import numpy as np >>> import matplotlib.pyplot as plt >>> x = np.linspace(-4, 4, 41) >>> np.sinc(x) array([-3.89804309e-17, -4.92362781e-02, -8.40918587e-02, # may vary -8.90384387e-02, -5.84680802e-02, 3.89804309e-17, 6.68206631e-02, 1.16434881e-01, 1.26137788e-01, 8.50444803e-02, -3.89804309e-17, -1.03943254e-01, -1.89206682e-01, -2.16236208e-01, -1.55914881e-01, 3.89804309e-17, 2.33872321e-01, 5.04551152e-01, 7.56826729e-01, 9.35489284e-01, 1.00000000e+00, 9.35489284e-01, 7.56826729e-01, 5.04551152e-01, 2.33872321e-01, 3.89804309e-17, -1.55914881e-01, -2.16236208e-01, -1.89206682e-01, -1.03943254e-01, -3.89804309e-17, 8.50444803e-02, 1.26137788e-01, 1.16434881e-01, 6.68206631e-02, 3.89804309e-17, -5.84680802e-02, -8.90384387e-02, -8.40918587e-02, -4.92362781e-02, -3.89804309e-17])
>>> plt.plot(x, np.sinc(x)) [<matplotlib.lines.Line2D object at 0x...>] >>> plt.title("Sinc Function") Text(0.5, 1.0, 'Sinc Function') >>> plt.ylabel("Amplitude") Text(0, 0.5, 'Amplitude') >>> plt.xlabel("X") Text(0.5, 0, 'X') >>> plt.show()