承接国内外服务器租用托管、定制开发、网站代运营、网站seo优化托管接单、网站代更新,新老站点皆可!!咨询QQ:3787320601
当前位置:首页  >  软件开发  >  python 矩形窗函数

python 矩形窗函数

管理员 2023-08-30 08:08:43 软件开发 0 ℃ 0 评论 1799字 收藏

python 矩形窗函数

矩形窗函数是一种经常使用的时域滤波器,也是数字信号处理中最基础的窗函数之一。Python中可使用NumPy库实现矩形窗函数的生成。

import numpy as np
def rect_window(N):
"""生成长度为N的矩形窗函数"""
return np.ones(N)
N = 10
window = rect_window(N)
print(window)

上述代码中,我们定义了一个rect_window函数,用于产生指定长度的矩形窗函数。在这里,我们使用了NumPy中的ones函数,来生成一个长度为N的全1数组,即矩形窗函数。

下面我们可以通过生成的窗函数,来对信号进行滤波处理。

import numpy as np
import matplotlib.pyplot as plt
def rect_window(N):
"""生成长度为N的矩形窗函数"""
return np.ones(N)
N = 50
f1 = 2
f2 = 10
n = np.arange(N)
x = 5 * np.sin(2 * np.pi * f1 * n / N) + 3 * np.sin(2 * np.pi * f2 * n / N)  # 原始信号
window = rect_window(N)  # 矩形窗
y = np.convolve(x, window, mode='same') / sum(window)  # 滤波后信号
plt.subplot(3, 1, 1)
plt.plot(n, x)
plt.title("Original Signal")
plt.subplot(3, 1, 2)
plt.plot(n, window)
plt.title("Rectangular Window")
plt.subplot(3, 1, 3)
plt.plot(n, y)
plt.title("Filtered Signal")
plt.tight_layout()
plt.show()

在以上代码中,我们定义了一个原始信号x,其中包括了两个频率分别为2Hz和10Hz的正弦波。然后我们生成一个长度为50的矩形窗,并将其与原始信号进行卷积,得到滤波后的信号y。最后我们将原始信号、矩形窗和滤波后的信号绘制在同一张图上,以视察信号的变化。

总的来讲,矩形窗函数是经常使用的数字信号处理工具之一,Python中NumPy库的使用可以方便地实现矩形窗函数的生成与信号的滤波处理。

文章来源:丸子建站

文章标题:python 矩形窗函数

https://www.wanzijz.com/view/75310.html

TAG: php教程 centos

相关文章

Related articles

X

截屏,微信识别二维码

微信号:weimawl

(点击微信号复制,添加好友)

打开微信