Python 入门基础:关于 numpy 窗函数 Blackman

布莱克曼窗(Blackman window):它是通过使用余弦求和的前三个项形成的圆锥。 它被设计为具有尽可能接近的最小泄漏。 它接近最佳,仅比Kaiser窗口(Kaiser window)差一点。
 
ASP站长网参数(numpy.blackman):
 
M:int输出窗口中的点数。
 
    如果为零或更少,则返回一个空数组。
 
返回值:
 
out:数组
 
最大值标准化为1的窗口(仅当样本数为奇数时才显示1)。
 
示例:
 
import numpy as np  
print(np.blackman(12))
输出:
 
[ -1.38777878e-17   3.26064346e-02   1.59903635e-01   4.14397981e-01
   7.36045180e-01   9.67046769e-01   9.67046769e-01   7.36045180e-01
   4.14397981e-01   1.59903635e-01   3.26064346e-02  -1.38777878e-17]
Python 入门教程:关于 numpy 窗函数 Blackman
 
绘制窗口及其频率响应(需要SciPy和matplotlib):
 
代码:对于窗口:
 
import numpy as np  
import matplotlib.pyplot as plt  
from numpy.fft import fft, fftshift  
 
window = np.blackman(51) 
 
plt.plot(window)  
plt.title("www.linuxidc.com") 
plt.ylabel("Amplitude")  
plt.xlabel("Sample")  
plt.show()
输出:
 
Python 入门教程:关于 numpy 窗函数 Blackman
 
代码:对于频率:
 
import numpy as np  
import matplotlib.pyplot as plt  
from numpy.fft import fft, fftshift  
 
window = np.blackman(51) 
 
plt.figure() 
 
A = fft(window, 2048) / 25.5
mag = np.abs(fftshift(A)) 
freq = np.linspace(-0.5, 0.5, len(A)) 
response = 20 * np.log10(mag) 
response = np.clip(response, -100, 100) 
 
plt.plot(freq, response) 
plt.title("www.linuxidc.com") 
plt.ylabel("Magnitude [dB]") 
plt.xlabel("Normalized frequency [cycles per sample]") 
plt.axis('tight') 
plt.show()

dawei

【声明】:九江站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。