Engee 文档

黄油

巴特沃斯滤波器的设计。

库::`工程师`

语法

函数调用

  • b,a=butter(n,Wn,ftype) -设计数字巴特沃斯滤波器:低通滤波器,高通滤波器,带通滤波器或陷波滤波器,具体取决于参数的值 [参数:ftype] 和元素的数量 [参数:Wn]. 带通和陷波滤波器的设计顺序如下 2<参数:n>>.

    当设计与齿轮比高达IIR过滤器 `4`可能会遇到数值不稳定。 有关影响传递函数形成的数值问题的更多信息,请参阅传递函数和Ctf
  • [参数:zpk]=黄油(___,[参数:out]=3) -设计数字巴特沃斯滤波器并返回其零、极点和增益。 此语法可以包括前面选项中的任何输入参数。 论点 [参数:out] 显示函数将返回多少个输出参数。 如果论点是 [参数:out] 省略,该函数将仅对两个输出参数进行计算。

  • [参数:ABCD]=黄油(___,[参数:out]=4) -设计数字巴特沃斯滤波器并返回定义其在状态空间中的表示的矩阵。

  • ___ =黄油(___,"s") -使用前面语法中的任何输入或输出参数设计模拟巴特沃斯滤波器。

  • B,A=butter(n,Wn,"ctf") -设计一个数字巴特沃斯低通滤波器使用 级联传递函数(Cascaded Transfer Functions,CTF)。 该函数返回包含滤波器传递函数的分母和分子的多项式系数的矩阵,表示为滤波器部分的级联。 与单节传递函数相比,这种方法可以创建具有更高数值稳定性的IIR滤波器。

  • ___ =butter(n,Wn,ftype,"ctf") -设计数字巴特沃斯低通、高通、带通或陷波滤波器,并返回滤波器的CTF表示。 结构的生成部分具有以下顺序 2 (低通和高通滤波器)或 4 (带通和陷波滤波器)。

争论

输入参数

# n — 过滤顺序

+ 一个整数标量

Details

指定为整数标量的筛选器顺序小于或等于 500. 对于带通和陷波滤波器,参数 n 表示滤波器顺序的一半。

数据类型

漂浮64</无翻译>

# *Wn*是 截止频率

+ 标量,标量 | 二元素向量

Details

截止频率,指定为标量或双元素矢量。 截止频率是滤波器的幅频响应的频率。 .

  • 如果 西恩 是一个标量,那么函数 黄油 设计具有截止频率的低通或高通滤波器 西恩.

    如果 西恩 -双元向量 [w1,w2],在哪里 w1<w2,则函数 黄油 设计具有较低截止频率的带通或陷波滤波器 w1 和和上截止频率 w2.

  • 对于数字滤波器,截止频率应在范围内 0 以前 1,在哪里 1 对应于奈奎斯特频率-采样频率的一半或 rad/倒计时。

    对于模拟滤波器,截止频率必须以每秒弧度表示,并且可以取任意正值。

数据类型

漂浮64</无翻译>

# ftype — 过滤器类型

+ "低" | "带通" | "高" | "停止"

Details

使用以下方法之一设置的筛选器类型:

  • "低" 定义具有截止频率的低通滤波器 [参数:Wn]. 意义 "低" 是标量的默认值 [参数:Wn].

  • "高" 定义具有截止频率的高通滤波器 [参数:Wn].

  • "带通" 定义阶数的带通滤波器 2<参数:n>> 如果 [参数:Wn] -一个双元向量。 意义 "带通" 它是默认值,如果 [参数:Wn] 它由两个元素组成。

  • "停止" 定义阶数的陷波滤波器 2<参数:n>> 如果 [参数:Wn] -一个双元向量。

名称-值输入参数

# — 输出参数数

+ 正整数标量

Details

指定为正整数的输出参数数。 如果论点是 未指定,函数默认返回两个输出参数。

输出参数

# *b,a*是 传递函数的系数

+ 字符串向量

Details

作为行向量返回的滤波器传递函数的系数。 具有指定的过滤顺序 [参数:n] 函数返回 bar 通过计算在哪里 R=<参数:n>>+1 对于低通和高通滤波器和 r=2*[参数:n]+1 用于带通和陷波滤波器。

传递函数表示为 如下:

  • 用于数字滤波器;

  • 于模拟滤波器。

数据类型

漂浮64</无翻译>

# z,p,k — 零,极点和增益

+ 列向量, 标量,标量

Details

零,极点和滤波器增益,返回为两个向量-列和标量。 具有指定的过滤顺序 [参数:n] 函数返回 zpr 通过计算在哪里 R=<参数:n>> 对于低和高通滤波器和 r=2*<参数:n>> 用于带通和陷波滤波器。

传递函数表示为 , 如下:

  • 用于数字滤波器;

  • 于模拟滤波器。

数据类型

漂浮64</无翻译>

# A,B,C,D — 状态空间中的表示

+ 矩阵

Details

滤波器在状态空间中的表示形式,作为矩阵返回。 如果 R=<参数:n>> 对于低通和高通滤波器和 R=2<参数:n>> 对于带通和陷波滤波器,则 A 同样 , B 同样 , C 同样 ,而 D 同样 .

状态空间中的矩阵涉及状态向量 ,输入信号 和输出信号 借助于下列方程组之一。

  • 用于数字滤波器:

  • 模拟滤波器:

数据类型

漂浮64</无翻译>

# *B,A*是 级联传递函数的系数

+ 向量字符串 | 矩阵

Details

级联传递函数(CTF)的系数,作为行向量或矩阵返回。 BA -分别为级联传递函数的分子和分母的系数。

尺寸 BA: 相应地。 该函数返回矩阵的第一列 A 如何 1,因此, A(1)=1 何时 A -vector是一个字符串。

  • L -过滤器部分的数量。

  • m -过滤器的分子的顺序。

  • n -过滤器分母的顺序。

功能 黄油 返回具有以下阶数参数的级联传递函数的系数:

  • 用于低通和高通滤波器;

  • 用于带通和陷波滤波器。

要设置级联传递函数系数的计算,例如,在级联传递函数的系数中设置不同的顺序或调整增益缩放,请指定返回 [参数:zpk] 然后使用函数 zp2ctf 以获得 乙、甲.

有关级联传递函数格式和系数矩阵的详细信息,请参阅返回CTF格式的数字滤波器

# *gS*是 系统的总增益

+ 真正的标量

Details

系统的总增益,作为真正的标量返回。

  • 如果指定,则需要返回 gS,功能 黄油 归一化分子的系数,以便第一列 B 等于 1,并返回系统的总增益在 gS.

  • 如果没有指定,需要返回什么 gS,功能 黄油 使用该函数在系统的所有部分均匀分布系统增益 标量筛选器.

此外

级联传递函数

Details

将数字IIR滤波器拆分为级联部分可提高其数值稳定性并降低其对系数量化误差的敏感性。 传递函数的级联形式 传递函数 它有表格

butter cn

返回CTF格式的数字滤波器

Details

指定参数 BA 以返回滤波器系数。 您还可以指定 gS 以返回系统的整体增益。 通过指定这些输出参数,您可以设计CTF格式的数字滤波器,用于信号分析、可视化和滤波。

过滤器的影响

如果以CTF格式指定分子和分母系数的返回, -小写矩阵 他们被退回为

因此,滤波器的总传递函数为



哪里 -过滤器分子的顺序,以及 -分母的顺序。

以下功能可用于可视化和分析CTF格式的过滤器。 时域中的特征 — 长度impz. 频域中的特性 — freqz, grpdelay, phasedelayphasez. 过滤研究 — 岛相, ismaxphaseisstable.

效应和放大

您可以指定要使用输出参数的三元组返回系统的系数和总增益。 [参数:BA-CTF],[参数:gS]. 在这种情况下,分子的系数被归一化,以形式返回滤波器系数和增益因子的矩阵

所以传递函数具有形式



此传递函数等效于部分中定义的函数 滤波器系数,其中 .

传递函数和Ctf

Details

传递函数语法的数值不稳定性

一般而言,应该使用级联传递函数(语法)来设计数字IIR滤波器。 "ctf"). 使用传递函数(任何语法)设计过滤器时 [参数:ba-TF]),可能发生数值不稳定。 这些不稳定性是由舍入误差引起的,甚至可能以数量级出现 [参数:n] 最高可达 4.

算法

巴特沃斯滤波器在通带中具有最平坦的幅频响应(频率响应),并且总体上是单调的。 这种平滑度是通过降低液滴的陡度来实现的。 椭圆滤波器和切比雪夫滤波器通常为给定的滤波器顺序提供更陡的下降。

功能 黄油 使用五步算法:

  1. 它可以找到原型模拟低通滤波器的极点、零点和增益。

  2. 它将极点、零点和增益转换为状态空间形式。

  3. 如有必要,它使用状态空间变换将低通滤波器转换为具有所需频率限制的带通、高通或陷波滤波器。

  4. 双线性函数用于设计数字滤波器。 通过具有初步频率失真的双线性转换将模拟滤波器转换为数字滤波器。 精细频率调谐允许模拟和数字滤波器具有相同的频率响应幅度 西恩w1w2.

  5. 如果需要,它将状态空间滤波器变换回其传递函数或增益零极点形式。

文学作品

  1. 里昂,理查德G._Understanding数字信号处理._上鞍河,NJ:普伦蒂斯霍尔,2004.