AnyMath 文档

grpdelay

平均滤波器延迟(群延迟)。

库::`工程师`

语法

函数调用

* [参数:gd],<参数:w_out>>=grpdelay(<参数:ba>>,<参数:n>>) -返回指定数字滤波器的群延迟时间的特性。 指定具有分子系数的数字滤波器 b 和分母的系数 a. 函数返回 [参数:n]-输出自变量中群延迟的频率响应的点矢量 [参数:gd] 和角频率的相应矢量 [参数:w_out].

* [参数:gd],<参数:w_out>>=grpdelay(<参数:BA>>,"ctf",<参数:n>>) -回报 [参数:n]-数字滤波器的群延迟时间的一个点特性,表示为 级联传递函数(CTF)与分子系数 B 和分母的系数 A.

* gd,w=grpdelay((B,A,g),"ctf",n) -回报 [参数:n]-CTF格式的数字滤波器的群延迟时间的点特性。 指定具有分子系数的滤波器 B,分母的系数 a 和比例因子 [参数:g] 通过过滤部分。

* [参数:gd],[参数:w_out]=grpdelay(<参数:sos>>,<参数:n>>) -回报 [参数:n]-二阶段矩阵对应的群延迟时间的点特征 [参数:sos].

* [参数:gd],<参数:w_out>>=grpdelay(___,"整体") -回报 [参数:n]-在整个单位圆上的群采样延迟时间的点特征。

* [参数:gd],[参数:f_out]=grpdelay(___,[参数:n],[参数:fs]) -返回群延迟时间的特性向量 [参数:gd] 和物理频率的对应向量 [参数:f_out] 用于设计用于过滤以频率采样的信号的数字滤波器 [参数:fs].

* [参数:gd],[参数:f_out]=grpdelay(___,[参数:n],"整体",[参数:fs]) -返回频率向量 [参数:n] 点的范围从 0 以前 [参数:fs].

* [参数:gd]=grpdelay(___,[参数:w_in]) -返回群延迟时间的特性向量 [参数:gd] 根据输入参数中指定的归一化频率计算 [参数:w_in].

* [参数:gd]=grpdelay(___,[参数:f_in],[参数:fs]) -返回群延迟时间的特性向量 [参数:gd] 以输入参数中指定的物理频率计算 [参数:f_in].

* grpdelay(___,<参数:out>=:情节) -绘制滤波器的群延迟时间的特性。

争论

输入参数

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

+ 向量资料

Details

传递函数的系数,设为向量。 传递函数表示为 ba 如下:

数据类型

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

# *n*是 用于评估特性的频率点的数量

+ 512 (默认情况下)| 一个正整数

Details

特性进行评价的频率点的个数,设定为至少正整数 2. 如果论点是 n 未指定,默认值为 512. 为获得最佳结果,请设置参数 n 超过筛选顺序的值。

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

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

Details

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

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

* -过滤器部分的数量; * -过滤器的分子的顺序; * -过滤器分母的顺序。

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

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

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

# *g* — 比例因子

+ 标量,标量 | 向量资料

Details

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

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

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

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

数据类型

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

# *sos* — 二阶段的系数

+ 矩阵

Details

二阶段的系数,指定为矩阵。 论点 sos —这是一个大小矩阵 ,节数在哪里 必须大于或等于 2. 如果节数较少 2,该函数将输入数据处理为数值器的向量。 每行 sos 对应于二阶滤波器(biquadrate filter)的系数; -我是一根绳子 sos 回应 繝ウ繝舌シ縺ォ縺、縺縺ヲ縺ッ縺薙■繧峨r縺碑ヲァ縺上□縺辅>缧.

数据类型

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

# *财政司司长* — 抽样调查 费率+ 标量,标量

Details

的采样率,设置为正标量。 如果时间单位是秒,则 财政司司长 以Hz表示。

数据类型

漂浮64</无翻译>

# *w* — 角频率

+ 向量资料

Details

角频率设定为矢量,测量单位为rad/count。 向量资料 w 它必须至少包含两个元素,否则函数将其解释为 [参数:n]. 参数的值 w=π 对应于奈奎斯特频率。

# *f* — 频率

+ 向量资料

Details

指定为矢量的频率。 向量资料 f 它必须至少包含两个元素,否则函数将其解释为 [参数:n]. 如果时间单位是秒,则 f 以Hz表示。

数据类型

漂浮64</无翻译>

名称-值输入参数

将可选参数对指定为 名称=值,在哪里 姓名 -参数的名称,以及 价值 -适当的值。

# *出* — 输出数据的类型

+ :数据 (默认情况下)| :剧情

Details

输出数据的类型:

* :数据 -函数返回数据; * :剧情 -函数返回一个图形。

输出参数

# *gd* — 群延迟时间的特征

+ 向量资料

Details

作为向量返回的群延迟时间的特性。 如果论点是 [参数:n] 如果设置,则矢量 政府资讯科技总监 具有长度为 [参数:n]. 如果 [参数:n] 如果未指定或设置为空向量,则向量的长度为 政府资讯科技总监 等于 512.

如果函数的输入数据为 *grpdelay* 具有单精度,该函数使用单精度算术计算群延迟。 输出参数 政府资讯科技总监 它有一个单一的精度。

# *w* — 角频率

+ 向量资料

Details

作为矢量返回的角频率。 参数的值 w0 以前 . 如果参数作为输入给出 "整体",则向量中的值 w 会因 0 以前 . 如果给出了参数 [参数:n],向量 w 具有长度为 [参数:n]. 如果 [参数:n] 如果未指定或设置为空向量,则向量的长度为 w 等于 512.

# *f* — 频率

+ 向量资料

Details

频率作为向量返回,以Hz表示。 论点 f 接受来自 0 以前 [参数:fs]/2 赫兹。 如果参数作为输入给出 "整体",则向量中的值 f 将在范围内 0 以前 [参数:fs] 赫兹。 如果给出了参数 [参数:n],向量 f 具有长度为 [参数:n]. 如果 [参数:n] 如果未指定或设置为空向量,则向量的长度为 f 等于 512.

例子:

巴特沃斯滤波器群延迟

Details

让我们设计一个具有归一化的6阶巴特沃斯滤波器 3 dB频率 rad/倒计时。 使用函数 *grpdelay* 来显示群延迟。

import EngeeDSP.Functions: butter, zp2sos, grpdelay

z, p, k = butter(6, 0.2, out = 3)
sos = zp2sos(z, p, k)

grpdelay(sos, 128, out = :plot)

grpdelay 1

我们将在一个图形上显示系统的群延迟和相位延迟。

import EngeeDSP.Functions: freqz, unwrap

gd = grpdelay(sos, 512)

h, w = freqz(sos, 512)
pd = -unwrap(angle(h))./w

plot(w/π, real.(gd[1]), label = "Group delay",
     xlabel = "Normalized Frequency (×π rad/sample)",
     ylabel = "Group and phase delays")
plot!(w/π, pd, label = "Phase delay")

grpdelay 1

此外

群延迟

Details

群延迟time_的特性是作为频率函数的平均滤波器延迟的度量。 它是用相反符号取的滤波器相位特性的一阶导数。 如果滤波器的频率响应为 ,则群延时为

哪里 -阶段,或参数, .

级联传递函数

Details

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

butter cn

以CTF格式设置数字滤波器

Details

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

过滤器的影响

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

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

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

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

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

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

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

效应和放大

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

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

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

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

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

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

文学作品

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