AnyMath 文档

伊斯特布尔

确定过滤器是否稳定。

库::`工程师`

语法

函数调用

  • [参数:flag]=isstable([参数:ba]) -返回逻辑输出信号等于 真的 如果指定的过滤器是稳定的。 指定具有分子系数的滤波器 b 和分母的系数 a.

争论

输入参数

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

+ 向量资料

Details

传递函数的系数,设为向量。 价值 ba 它们分别表示分子和分母中多项式的系数。

数据类型

漂浮64, 漂浮物32</无翻译> 支持复数::是

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

+ 标量,标量 | 向量资料 | 矩阵

Details

级联传递函数的系数,指定为标量、矢量或矩阵。 在矩阵中 BA 分别列出了级联传递函数的分子和分母的系数。

矩阵 B 必须有一个大小 ,和矩阵 A ,在哪里

  • -过滤段数;

  • -过滤器的分子的顺序;

  • -过滤器分母的顺序。

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

如果矩阵的任何元素 A[:,1] 如果不等于一,则函数 isstable 通过归一化滤波器系数 A[:,1]. 在这种情况下 A[:,1] 它必须是非零。
数据类型

漂浮64, 漂浮物32</无翻译> 支持复数::是

# g — 比例值

+ 标量,标量 | 向量资料

Details

标度值指定为实标量或矢量,实值包含 其中的元素 -级联传递函数的节数。 比例值表示滤波器增益在级联滤波器表示的各部分之间的分布。

功能 isstable 使用函数将增益应用于滤波器部分 标量筛选器 取决于参数的设置方式 g:

  • 标量,标量 -该功能在滤波器的所有部分均匀分布增益;

  • 向量资料 -该功能应用第一个 将增益值应用于相应的滤波器部分,并将最后一个增益值均匀分布在所有滤波器部分。

数据类型

漂浮64, 漂浮物32</无翻译>

# sos — 二阶段的表示

+ 矩阵

Details

二阶段的表示,定义为大小矩阵 ,在哪里 -二阶段的数量。 矩阵

它表示二阶函数的部分 :

数据类型

漂浮64, 漂浮物32</无翻译> 支持复数::是

输出参数

# 旗帜 — 过滤器稳定性标志

+ 真的 | 错误

Details

作为布尔值返回的过滤器稳定性标志。 如果极点位于圆上或圆外,则函数返回 错误. 如果极点在圆内,则函数返回 真的.

数据类型

布尔</无翻译>

例子:

过滤器稳定性

Details

让我们设计一个使用二阶段的六阶巴特沃斯高通滤波器。 设置归一化截止频率 0.7. 我们来判断滤波器是否稳定。

import EngeeDSP.Functions: butter, zp2sos, isstable

z,p,k = butter(6,0.7,"high", out=3)
SOS = zp2sos(z,p,k)
flag = isstable(SOS)
true
plt = plot(aspect_ratio=:equal, xlims=(-1.1, 1.1), ylims=(-1.1, 1.1),
           title="Zero-Pole Plot", xlabel="Real", ylabel="Imag")

θ=范围(0,2π,长度=100)
阴谋!(cos.(theta),罪。(theta),color=:black,linestyle=:dash,label="单位圆")

散开!(real(z),imag(z),marker=:circle,color=:blue,label="Zeros",markersize=8)
散开!(real(p),imag(p),marker=:x,color=:red,label="Poles",markersize=8)

isstable

让我们创建一个过滤器,并确定其稳定性在双精度和单精度。

b = [1 -0.5]
a = [1 -0.999999999]
act_flag1 = isstable(b,a)
true
act_flag2 = isstable(Float32.(b),Float32.(a))
false

此外

级联传递函数

Details

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

butter cn

以CTF格式设置数字滤波器

Details

数字滤波器可以设计成CTF格式来分析、可视化和过滤信号. 滤波器通过枚举其系数来设置 Ba. 您还可以通过设置标量或矢量值来按部分指定过滤器的缩放因子。 [参数:g].

过滤器的影响

形式设置系数时 -小写矩阵

假设滤波器被设置为 级联传递函数,使得滤波器的完整传递函数具有形

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

*如果 定义为向量,假设基本系统为单节IIR滤波器( ),在哪里 表示传递函数的分子,并且 -它的分母。

*如果 -标量,假设滤波器是全极点IIR滤波器的级联,每个部分的总系统增益等于 .

*如果 -标量,假设滤波器是FIR滤波器的级联,每个部分的总系统增益等于 .

要将二阶截面矩阵转换为级联传递函数,请使用该函数 *sos2ctf.

要将具有零、极点和增益的滤波器表示转换为级联传递函数,请使用函数 *zp2ctf.

效应和放大

如果有一个共同的尺度增益或几个尺度增益因子在滤波器系数的值之外,则可以将系数和增益指定为元组。 (B,A,g). 在使用定点算术时,缩放滤波器部分尤其重要,以确保每个滤波器部分的输出信号具有相似的幅度水平,这有助于避免由于计算精度有限而导致滤波器频率响应的不准确性。

增益可以是标量总增益或区段增益系数的向量。

*如果增益是标量的,则其值均匀地应用于级联滤波器的所有部分。

*如果增益因子是矢量,则它必须包含比滤波器部分数多一个元素。 在级联中。 每个第一 比例值应用于相应的滤波器部分,最后一个值平均应用于级联滤波器的所有部分。

如果将滤波器系数矩阵和增益系数向量指定为

假设滤波器系统的传递函数具有形式

文学作品

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