前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Butterworth 滤波器s函数及z变换 Part2

Butterworth 滤波器s函数及z变换 Part2

作者头像
用户7573907
发布2022-08-30 15:19:07
1.9K0
发布2022-08-30 15:19:07
举报
文章被收录于专栏:信号分析应用及算法

“ 前篇文章介绍了Butterworth滤波器的s函数及其推导,本篇将以一个2阶Butterworh滤波器实例具体介绍两部分内容:极点和传递函数的关系、s函数z变换的三种方法”

01

2阶Butterworth滤波器实例

采样频率Fs=4000Hz,截止频率fc=80Hz,2阶Butterworth滤波的公式,如图1:

图1

取N=2,即2阶Butterworth滤波器的公式,如图2:

图2

该滤波器有两个极点:p1 和 p2;没有零点。

特别注意:一般来讲,s=jw,文章为了书写方便,令s=jw/wc

02

极点和传递函数的关系

图2中的公式 H(s),分母是两个矢量(s-p1) 和(s-p2)的乘积,1除以这两个矢量的模(即长度)的乘积,即传递函数 H(s) 的幅频曲线,如图3。

图3左图中:

红色虚线箭头 --> :自变量 s=jw/wc 的矢量;

蓝色虚线箭头 --> :极点p1的矢量;

绿色虚线箭头 --> :极点p2的矢量;

蓝色实线箭头 —> :s-p1的矢量;

绿色实线箭头 —> :s-p2的矢量;

幅频曲线 = 1 /(蓝色实线箭头长度*绿色实线箭头长度),如图3。

图3

不断变换f的值(即不断变换 f/fc 或w/wc的值),相当于红色虚线箭头不断向上延伸,即得到幅频特性曲线,如图4动图。

图4

可见,f/fc(或w/wc)越大,传递函数的幅值越接近0。

当然,仅知道s表示的函数是不够的,需要将s函数进行z变换,从而将传递函数表示成以z表示的零点和极点,才可以构造实时的滤波器。

03

s函数的z变换

将jw替换成z(即离散变换),常用三种方法,在此之前,先介绍几个概念,如图5。

图5

1)一阶向前差分法:

1.1) 利用泰勒公式理解:

图6

*对于离散信号,Δt很小,所以可以去掉高阶次。

1.2) 利用曲线导数理解:

图7

图8

2)一阶向后差分法:

2.1)利用泰勒公式理解:

图9

2.2)利用曲线导数理解:

图10

图11

3)双线性变换法:

3.1)利用泰勒公式理解:

图12

3.2)利用曲线导数理解:

图13

以上,即是将jw替换成z(即离散变换),常用的三种方法:

04

下篇内容

对于Butterworth滤波器,Matlab和Python程序中常用的是第三种:双线性变换。但在双线性变换前,还有一个预畸变过程,将在接下来的文章中介绍。


有问题请指正,谢谢!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-05-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 信号分析应用及算法 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档