AnyMath 文档

[医]相色

数字滤波器的相位延迟。

库::`工程师`

语法

函数调用

  • [参数:phi],<参数:w_out>>=phasedelay(<参数:ba>>,<参数:n>>) -计算指定数字滤波器的相位延迟。 指定具有分子系数的数字滤波器 b 和分母的系数 a. 函数返回 [参数:n]-输出参数中相位延迟特性的点矢量 [参数:phi] 和对应的角频率矢量 [参数:w_out].

  • phi,w=phasedelay((B,A,g),"ctf",n) -回报 [参数:n]-CTF格式的数字滤波器的相位延迟特性的点矢量。 指定具有分子系数的滤波器 B,分母的系数 a 和比例值 [参数:g] 通过过滤部分。

  • phasedelay(___;<参数:out>=:情节) -根据频率绘制相位延迟。

争论

输入参数

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

+ 向量资料

Details

传递函数的系数,设为向量。

数据类型

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

# *n*是 计算相位延迟特性的频率点的数目

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

Details

计算相位延迟特性的频率点的个数,设为正整数。 设置参数 n 超过筛选顺序的值。

数据类型

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

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

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

Details

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

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

  • -过滤段数;

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

  • -过滤器分母的顺序。

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

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

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

# g — 比例值

+ 标量,标量 | 向量资料

Details

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

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

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

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

数据类型

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

# sos — 二阶段的系数

+ 矩阵

Details

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

数据类型

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

# w — 角频率

+ 向量资料

Details

函数计算相位延迟特性的角频率设定为矢量,测量单位为rad/count。 频率通常在 0 以前 . 向量资料 w 必须包含至少两个元素。

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

Details

采样频率,设置为实标量并以Hz表示。

数据类型

漂浮64</无翻译>

# f — 频率

+ 向量资料

Details

函数计算相位延迟特性的频率,以矢量形式给出,以Hz表示。 向量资料 f 必须包含至少两个元素。

名称-值输入参数

# — 输出数据的类型

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

Details

输出数据的类型:

  • :数据 -函数返回数据;

  • :剧情 -函数返回一个图形。

# nout — 输出参数数

+ 2 (默认情况下)| 1

Details

输出参数的数量,设置为 21. 如果论点是 nout 省略,默认函数返回两个向量的元组。 如果 nout=1,该函数将仅返回相位延迟特征向量 [参数:phi].

输出参数

# phi — 相位延迟特性

+ 向量资料

Details

作为长度向量返回的相位延迟特性 [参数:n]. 相位延迟特性计算在 [参数:n] 沿单位圆的上半部分等距的点。

如果函数的输入数据为 phasedelay 它具有单精度,该函数使用单精度算术计算相位延迟特性。 输出参数 它有一个单一的精度。

# w — 角频率

+ 向量资料

Details

角频率作为矢量返回,以rad/计数表示。 如果给出了参数 [参数:n],向量 w 具有长度为 [参数:n]. 如果 [参数:n] 如果未指定或设置为空向量,则向量的长度为 w 等于 512.

# f — 频率

+ 向量资料

Details

频率作为矢量返回,以Hz表示。 如果给出了参数 [参数:n],向量 f 具有长度为 [参数:n]. 如果 [参数:n] 如果未指定或设置为空向量,则向量的长度为 f 等于 512.

例子:

二阶段的相位延迟特性

Details

让我们设计一个具有截止频率的三阶巴特沃斯低通滤波器 200 赫兹。 采样率为 1000 赫兹。

import EngeeDSP.Functions: butter

fc = 200
fs = 1000

z, p, k = butter(3, fc/(fs/2), "low", out = 3)

使用函数 zp2sos系列 将零、极点和增益转换为二阶段. 计算滤波器的相位延迟的特性,并将评估点的数量设置为 1024. 让我们绘制结果图。

import EngeeDSP.Functions: zp2sos, phasedelay

sos = zp2sos(z, p, k)
phasedelay(sos, 1024, out = :plot)

phasedelay

椭圆滤波器的相位延迟特性

Details

让我们设计一个椭圆过滤器 10-带归一化带宽频率的阶数 0.4. 设置带宽中的纹波 0.5 dB和延迟带中的衰减 20 分贝。 让我们绘制滤波器相位延迟在整个单位圆上的特性。

import EngeeDSP.Functions: ellip, phasedelay

b, a = ellip(10, 0.5, 20, 0.4)
phasedelay(b, a, 512, "whole", out = :plot)

phasedelay 1

此外

级联传递函数

Details

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

butter cn

以CTF格式设置数字滤波器

Details

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

过滤器的影响

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

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

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

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

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

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

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

效应和放大

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

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

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

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

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

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

算法

滤波器的相位延迟的特性对应于每个频率分量随着输入信号通过系统而经历的时间延迟。 功能 phasedelay 返回滤波器的相位延迟特征向量和频率向量

给定输入参数中分子和分母的系数 ba.

文学作品

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