N阶Butterworth滤波器的频率响应(Python实现)

本文介绍了Butterworth滤波器的历史和特性,特别是其在通带内的平滑频率响应。通过Python(scipy库)演示了如何创建不同阶数(N=2, 4, 8)的低通滤波器,并展示了滤波器的幅频和相频响应。随着阶数增加,滤波效果更优。" 109164903,9952063,Neo4j Cypher 查询指南,"['图数据库', 'Neo4j', 'Cypher', '查询操作', '知识图谱']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Butterworth滤波器最先由英国工程师Stephen Butterworth于1930年发表在英国《无线电工程》期刊的名为“On the Theory of Filter Amplifiers”论文中提出。来自90余年前的古老智慧。

巴特沃斯滤波器在通带的频率响应曲线最平滑,其|H(jω)|^2在ω=0点的1至2N-1阶导数值为0,所以巴特沃斯滤波器也被称为也被称作最大平坦滤波器。

巴特沃斯低通滤波器的振幅平方对频率的公式为
Butterworth低通滤波器的振幅平方
使用Python做出不同阶数的Butterworth滤波器的频率响应如下图所示。阶数N=2,4,8,截止频率均为2。Butterworth模拟低通滤波器的频率响应(左:幅频响应,右:相频响应)
Butterworth模拟低通滤波器的频率响应

容易见得,Butterworth滤波器的阶数越高,幅频响应越陡峭,滤波效果越优越。

我采用了Python(v3.7.7)实现Butterworth模拟低通滤波器。具体采用了scipy(v1.6.0)的第三方包,来进行信号与系统的基本运算;采用了matplotlib(v3.3.3)作图。代码如下。

import matplotlib.pyplot as plt
import numpy as np
import scipy.signal as signal

w = 2*np.pi*np.linspace(0, 1, 10000)

system2 = signal.butter(2, 2, btype='low', analog=True, output='ba')
w2, H2 = signal.freqresp(system2, w
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值