优客文库提供全面的范文格式和文档模板,包括申请书、合同、借据、证明、求职信等,助力您快速撰写专业文档。

用高斯函数定义高通滤波器,绘制,时域图和频谱图

来自 重庆市重庆市 的网友 时间: 热度:°C 加入收藏 我要投稿 点赞()
首先,我们需要了解高斯函数和高通滤波器的定义。

高斯函数(Gaussian function)是一种常见的概率分布函数,其表达式为:

f(x) = (1 / (σ * sqrt(2 * π))) * exp(-(x - μ)^2 / (2 * σ^2))

其中,μ表示均值,σ表示标准差。

高通滤波器(High-pass filter)是一种允许高频信号通过,而衰减低频信号的滤波器。在时域中,高通滤波器的脉冲响应通常是正负交替的振荡波形。

接下来,我们将使用Python的matplotlib库绘制高斯函数的时域图和频谱图。

```python
import numpy as np
import matplotlib.pyplot as plt
from scipy import signal

# 定义高斯函数参数
mu = 0
sigma = 1

# 生成时间序列
t = np.linspace(-5, 5, 1000)

# 计算高斯函数值
gaussian = (1 / (sigma * np.sqrt(2 * np.pi))) * np.exp(-(t - mu) ** 2 / (2 * sigma ** 2))

# 设计高通滤波器
b, a = signal.butter(4, 1, fs=1000, btype='highpass')
w, h = signal.freqz(b, a)

# 绘制高斯函数时域图
plt.figure()
plt.plot(t, gaussian)
plt.title('高斯函数时域图')
plt.xlabel('时间')
plt.ylabel('幅度')

# 绘制高斯函数频谱图
plt.figure()
plt.plot(w, 20 * np.log10(abs(h)))
plt.title('高斯函数频谱图')
plt.xlabel('频率')
plt.ylabel('幅度 (dB)')

# 显示图像
plt.show()
```

上述代码首先定义了高斯函数的参数(均值μ和标准差σ),然后生成了一个时间序列。接着,计算高斯函数的值,并使用scipy库中的`signal`模块设计一个4阶的高通滤波器。最后,分别绘制高斯函数的时域图和频谱图。
221381
领取福利

微信扫码领取福利

微信扫码分享