AnyMath 文档

n.冷凝器,冷凝器

设计广义FIR Remez滤波器。

库::`工程师`

语法

函数调用

  • [参数:b],[参数:err],[参数:res]=firgr(<参数:m>>,<参数:f>>,<参数:a>>,<参数:r>>) -重新设计过滤器,直到找到指定的最小顺序的过滤器。 [参数:m] 并对应于参数 [参数:f][参数:a]. 论点 [参数:m] 它可以取其中一个值: "minorder", "mineven""minodd". 论点 [参数:r] -这是一个包含每个频带的峰值纹波的矢量,它必须被设置。 指定时 "mineven""minodd" 函数求出最小偶数阶或奇数阶滤波器。

  • [参数:b],[参数:err],[参数:res]=firgr((<参数:m>>,<参数:ni>>),<参数:f>>,<参数:a>>,<参数:r>>) -作为滤波器阶数的初始估计,使用以下 [参数:ni]. 论点 [参数:ni] 对于标准滤波器设计,它不是强制性的,但对于不可能使用的设计,它必须指定 菲尔普莫德 例如,在设计微分器或希尔伯特转换器时。

  • [参数:b],[参数:err],[参数:res]=firgr(<参数:n>>,<参数:f>>,<参数:a>>,<参数:w>>,<参数:e>>) -为不同波段设置独立的近似误差。 使用此语法设计具有额外纹波或最大纹波的滤波器。 这些过滤器具有有趣的属性,例如过渡的最小宽度。 论点 [参数:e] -这是一个字符串向量,指定应该使用的近似误差。 它的长度应该等于条纹的数量。

  • [参数:b],[参数:err],[参数:res]=firgr(<参数:n>>,<参数:f>>,<参数:a>>,<参数:s>>,<参数:w>>,<参数:e>>) -为具有特殊属性的滤波器设置滤波器权重和独立近似误差。 权重和属性包含在向量中 [参数:w][参数:e]. 有时可能需要使用独立的近似误差来确保设计与指定值收敛。 例如,

    b,err,res = firgr(82,[0 0.055 0.06 0.1 0.15 1], [0 0 0 0 1 1],['n' 'i' 'f' 'n' 'n' 'n'], [10 1 1] ,["e1" "e2" "e3"]);
  • [参数:b],[参数:err],[参数:res]=firgr(_,[参数:类型])-设计一个过滤器,其类型在参数中指定 [参数:类型]. 论点 [参数:类型] 设置为 "1" -对称偶数阶滤波器, "2" -对称奇阶滤波器, "3" -偶数阶的反对称滤波器或 "4" -奇数阶的反对称滤波器。 请注意,对于以下类型的FIR滤波器: "2", "3""4" 幅度值有限制 [参数:a]. 对于类型过滤器 "2""3" 幅度应等于 0 在频率上 <参数:f>=0<参数:f>=1,而对于像过滤器 "4" 幅度应等于 0 在频率上 <参数:f>=0.

争论

输入参数

# n — 过滤顺序

+ 标量,标量

Details

指定为整数的筛选顺序至少为 3.

数据类型

Int64</无翻译>

# f — 归一化频率

+ 向量资料

Details

归一化频点,定义为实数值的向量。 参数的值必须在范围内 [0, 1],在哪里 1 对应于奈奎斯特频率。 矢量长度 f 它必须是均匀的。 频率应按升序排列。

数据类型

漂浮64</无翻译>

# 一个 — 指定频率点的所需振幅

+ 向量资料

Details

在所示点的期望振幅 [参数:f],设置为向量。 向量资料 fa 它们必须具有相同的长度。 长度 a 它必须是均匀的。

数据类型

漂浮64</无翻译>

# w — 频带内的近似系数

+ 向量资料

Details

用于调整每个频带中的近似值的加权系数,作为实数值的向量给出。 长度 w 它是长度的一半 [参数:f][参数:a] 因此,每个条带正好有一个重量。

数据类型

漂浮64</无翻译>

# ftype — 过滤器类型

+ "希尔伯特" | "差异化"

Details

具有奇数对称性的线性相位滤波器的滤波器类型(III型和IV型),由以下值之一设置:

  • "希尔伯特" -在输出系数在 [参数:b] 他们服从比例 . 此类滤波器包括希尔伯特转换器,其具有等于指定幅度 1,在整个频带中。

    例如,

    b = firgr(30,[0.1 0.9],[1 1],"hilbert");

    设计长度的近似希尔伯特FIR转换器 31.

  • "差异化" -对于具有非零幅度的频带,滤波器通过因子对误差进行加权 ,因此低频时的误差明显小于高频时。 对于FIR微分器,其幅度特性与频率成比例,这些滤波器使最大相对误差(误差与期望幅度之比的最大值)最小化。

数据类型

字符串</无翻译>

# *m*是 设置最小筛选顺序的类型

+ "minorder" | "mineven" | "minodd"

Details

设置最小筛选顺序的类型,设置为 "minorder", "mineven""minodd". 指定时 "mineven""minodd" 函数设计最小偶数阶或最小奇数阶滤波器。

数据类型

字符串</无翻译>

# 类型 — 过滤器类型的编号

+ "1" | "2" | "3" | "4"

Details

由下列值之一指定的筛选器类型:

  • "1" -对称偶数阶滤波器;

  • "2" -对称奇阶滤波器;

  • "3" -偶数阶的反对称滤波器;

  • "4" -奇数阶的反对称滤波器。

数据类型

字符串, 查尔</无翻译>

# 议员 — 选择最小或最大相位滤波器

+ "minphase" | "maxphase"

Details

在具有最小值的过滤器之间进行选择 "minphase" 或最大 "maxphase" 的相位。

数据类型

字符串</无翻译>

# r — 频带内的峰值波纹

+ 向量资料

Details

频带内的峰值波纹,定义为实数值的向量。 长度 r 它是长度的一半 [参数:f][参数:a] 因此,每个波段有一个峰值纹波值。

数据类型

漂浮64</无翻译>

# *ni*是 滤波器阶数的初始估计

+ 标量,标量

Details

滤波器阶数的初始估计值,设为大于等于的整数 3. 该函数在语法中采用此值 b=firgr((m,ni),f,a,r). 论点 [参数:ni] 对于典型的滤波器设计,它不是强制性的,但对于不可能使用的设计,它必须指定 菲尔普莫德 例如,在设计微分器或希尔伯特转换器时。

数据类型

Int64</无翻译>

# e — 频带的独立近似误差

+ 向量资料 | 元组

Details

用于不同波段的独立近似误差,指定为字符串向量或元组。 长度 e 它必须等于车道数。 元素 e 必须有表格 "e#",在哪里 # 指定应将哪个近似误差用于相应的频带。 例如,当 e=["e1","e2","e1"] 第一和第三波段使用相同的近似误差 "e1",而第二条车道是另一条 "e2". 当所有波段使用相同的近似误差时,例如 ["e1","e1","e1",。..],这相当于跳过 e 如语法 b,err,res=firgr(n,f,a,w).

数据类型

字符串</无翻译>

# s — 频率点的规格

+ 向量资料 | 元组

Details

频率某些点的特殊属性,指定为符号的向量或元组。 论点 s 长度必须与 [参数:f][参数:a]. 元素 s 必须具有以下值之一:

  • 'n' -通常的频率点。

  • 's' -单点条带。 频率 «条纹,条纹» 它由单个点定义。 在该频率点指定适当的增益 [参数:a].

  • 'f' -强制频点。 强制地将规定频带中的增益设定为设定值。

  • '我' -未定义的频率点。 当相邻频带彼此相邻(没有过渡区)时使用此值。

例如,以下团队设计了一个具有单点延迟带(凹槽)的势垒滤波器,频率为零 0.250.55.

b,err,res = firgr(42,[0 0.2 0.25 0.3 0.5 0.55 0.6 1], [1 1 0 1 1 0 1 1],['n' 'n' 's' 'n' 'n' 's' 'n' 'n'])

而这个团队正在设计一个高通滤波器,其增益因子在点上被强制设置为零 0.06. 点处的条带边缘 0.055 这是不确定的,因为前两条车道实际上接触。 条纹的剩余边缘是正常的。

b,err,res = firgr(82,[0 0.055 0.06 0.1 0.15 1],[0 0 0 0 1 1],['n' 'i' 'f' 'n' 'n' 'n'])
数据类型

字符串, 查尔</无翻译>

# lgrid — 频率网格密度

+ 元组

Details

控制频率网格的密度,其具有约 (lgrid*n)/(2*bw) 频率点在哪里 bw -总频带间隔的份额 [0, 1],由 [参数:f]. 值越高 lgrid的 滤波器越精确地接近具有均匀脉动的参考滤波器,但是这样的计算需要更长的时间。 默认值 16 —这是应设置的最小值 lgrid的.

数据类型

Int64</无翻译>

# 房屋署 — 过滤器奇偶校验

+ "h" | "d" | 'h' | 'd'

Details

滤波器的奇偶校验,设为 "h", "d", 'h''d'.

数据类型

字符串, 查尔</无翻译>

输出参数

# b — 滤波器系数

+ 向量资料

Details

作为长度向量返回的滤波器系数 [参数:n] + 1.

功能 firgr 对以下类型的真实FIR滤波器使用minimax设计算法: *1-4型线性相位: 类型1-偶数阶,对称; 类型2-奇数顺序,对称; 类型3-偶数顺序,反对称; 类型4是奇数顺序,反对称。 *最小相位。 *最大相位。 *最小订单(偶数或奇数)。 *额外的纹波。 *最大纹波。 *波纹与限制。 *单点条带(带缺口和峰值)。 *强制加固。

# *错误*是 未加权近似误差的值

+ 标量,标量 | 向量资料

Details

作为标量或向量返回的未加权近似误差的值。 阵列 错误 包含函数返回的每个独立近似误差的一个元素。

# res — 频率响应

+ 结构

Details

返回的频率响应作为结构。 结构 资源,资源 包含以下字段:

结构领域 内容

[医]fgrid

包含用于优化滤波器设计的频率网格的矢量。

资源,资源

期望的响应 fgrid.

总重量

重量因素 fgrid.

res.H

频网格上的实际频率特性。

错误

频网格上的每个点(期望特性—实际特性)处的误差。

地址:

索引向量在 fgrid 外部频率。

费克斯特

外频率的矢量。

res.订单

的过滤顺序。

res.edge_check

检查过渡区的异常情况. 条的每个边缘的一个元件。 这些元素具有以下值: 1 -没有异常, 0 -过渡区可能出现异常, −1 -边缘没有检查。 为语法计算 b,err,res=firgr(_,"检查").

res.迭代

迭代次数 [参数:s] 于优化目的。

迴セ蝨ィ缧

函数进行优化的计算次数。