scipy.special.

sinc#

scipy.special.sinc(x)#

返回正規化的 sinc 函數。

對於任何參數 \(x\ne 0\),sinc 函數等於 \(\sin(\pi x)/(\pi x)\)sinc(0) 取極限值 1,使得 sinc 不僅處處連續,而且無限可微分。

注意

請注意定義中使用的正規化因子 pi。這是訊號處理中最常用的定義。使用 sinc(x / np.pi) 以獲得在數學中更常見的非正規化 sinc 函數 \(\sin(x)/x\)

參數:
xndarray

用於計算 sinc(x) 的值陣列 (可能是多維的)。

回傳值:
outndarray

sinc(x),其形狀與輸入相同。

註解

名稱 sinc 是 “sine cardinal” 或 “sinus cardinalis” 的縮寫。

sinc 函數用於各種訊號處理應用,包括抗鋸齒、Lanczos 重採樣濾波器的建構以及內插。

對於離散時間訊號的頻寬受限內插,理想的內插核與 sinc 函數成正比。

參考文獻

[1]

Weisstein, Eric W. “Sinc Function.” From MathWorld–A Wolfram Web Resource. http://mathworld.wolfram.com/SincFunction.html

[2]

Wikipedia, “Sinc function”, https://en.wikipedia.org/wiki/Sinc_function

範例

>>> 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()
../../_images/scipy-special-sinc-1.png