scipy.signal.windows.

bartlett#

scipy.signal.windows.bartlett(M, sym=True)[source]#

返回 Bartlett 視窗。

Bartlett 視窗與三角形視窗非常相似,除了端點為零。它常用於訊號處理中,用於信號的錐形化 (tapering),而不會在頻域中產生過多的漣波 (ripple)。

參數:
M整數

輸出視窗中的點數。 如果為零,則返回一個空陣列。 當為負數時,會拋出例外。

sym布林值, 可選

當為 True (預設值) 時,產生一個對稱視窗,用於濾波器設計。 當為 False 時,產生一個週期性視窗,用於頻譜分析。

回傳值:
wndarray

三角形視窗,其第一個和最後一個樣本等於零,最大值正規化為 1 (但如果 M 為偶數且 sym 為 True,則不會出現值 1)。

另請參閱

triang

一個在端點不觸及零的三角形視窗

註解

Bartlett 視窗定義為

\[w(n) = \frac{2}{M-1} \left( \frac{M-1}{2} - \left|n - \frac{M-1}{2}\right| \right)\]

大多數關於 Bartlett 視窗的參考文獻來自訊號處理文獻,其中它被用作眾多視窗函數之一,用於平滑值。 請注意,與此視窗的卷積會產生線性內插。 它也稱為去足 (apodization) 函數 (意思是「去除腳」,即平滑採樣訊號開始和結束處的不連續性) 或錐形函數 (tapering function)。 Bartlett 視窗的傅立葉轉換是兩個 sinc 函數的乘積。 請注意 Kanasewich 的精彩討論。 [2]

參考文獻

[1]

M.S. Bartlett, “Periodogram Analysis and Continuous Spectra”, Biometrika 37, 1-16, 1950.

[2]

E.R. Kanasewich, “Time Sequence Analysis in Geophysics”, The University of Alberta Press, 1975, pp. 109-110.

[3]

A.V. Oppenheim and R.W. Schafer, “Discrete-Time Signal Processing”, Prentice-Hall, 1999, pp. 468-471.

[4]

Wikipedia, “Window function”, https://en.wikipedia.org/wiki/Window_function

[5]

W.H. Press, B.P. Flannery, S.A. Teukolsky, and W.T. Vetterling, “Numerical Recipes”, Cambridge University Press, 1986, page 429.

範例

繪製視窗及其頻率響應

>>> import numpy as np
>>> from scipy import signal
>>> from scipy.fft import fft, fftshift
>>> import matplotlib.pyplot as plt
>>> window = signal.windows.bartlett(51)
>>> plt.plot(window)
>>> plt.title("Bartlett window")
>>> plt.ylabel("Amplitude")
>>> plt.xlabel("Sample")
>>> plt.figure()
>>> A = fft(window, 2048) / (len(window)/2.0)
>>> freq = np.linspace(-0.5, 0.5, len(A))
>>> response = 20 * np.log10(np.abs(fftshift(A / abs(A).max())))
>>> plt.plot(freq, response)
>>> plt.axis([-0.5, 0.5, -120, 0])
>>> plt.title("Frequency response of the Bartlett window")
>>> plt.ylabel("Normalized magnitude [dB]")
>>> plt.xlabel("Normalized frequency [cycles per sample]")
../../_images/scipy-signal-windows-bartlett-1_00.png
../../_images/scipy-signal-windows-bartlett-1_01.png