Engee 文档

n.鱼,鱼

使用带约束的最小二乘法计算多频带FIR滤波器的系数。

库::`工程师`

语法

函数调用

  • fircls(n,f,amp,up,lo;out) -定义用于可视化显示滤波器系数计算的参数。

争论

输入参数

# n — 过滤顺序

+ 一个实值正标量

Details

滤波器顺序,作为实正标量给出。

功能 fircls 对于具有奈奎斯特频率带宽的配置(即高通滤波器和陷波滤波器),始终使用偶数滤波器顺序。 这是由于对于奇数数量级,奈奎斯特频率处的频率响应必然等于 0. 如果指定了奇数值 n, fircls 将增加它 1.

# f — 归一化频点

+ 一个实值向量

Details

归一化频率点定义为实值向量。 过渡频率在范围内 [0,1],在哪里 1 对应于奈奎斯特频率。 第一点 f 必须等于 0,而最后一个 — 1. 频率应按升序排列。

# 安培 — 分段恒定期望幅度

+ 一个实值向量

Details

频率响应的分段常数期望幅度,作为实值矢量给出。 长度 安培;安培 等于特征中的条纹数, 长度(<参数:f>>)-1.

# 向上 — 上限

+ 一个实值向量

Details

每个频带中频率响应的上限,定义为与 [参数:amp].

# lo — 下界

+ 一个实值向量

Details

每个频带中频率响应的下限,定义为与 [参数:安培].

通常,延迟带中的较低值被指示为负。 安装期间 平等的 0 在延迟频带中,获得频率响应的非负振幅。 这样的滤波器被频谱因子分解以获得具有最小相位的滤波器。

名称-值输入参数

# — 显示用于计算滤波器系数的参数

+ :剧情 | :两者兼而有之

Details

显示用于计算滤波器系数的参数,使用以下方法之一设置:

  • :剧情 —显示一组图表,显示滤波器在整个带宽内的幅频响应,并显示每段带宽内幅频响应的放大图像。 该函数在每个迭代步骤更新所有图形。 图上的零是新迭代的估计极值,交叉是前一迭代的估计极值,其中极值是滤波器波纹的峰值(最大值和最小值)。 只有零和交叉匹配的脉动被认为是相等的.

  • :两者兼而有之 -显示文本信息和图形。

输出参数

# b — 滤波器系数

+ 向量字符串

Details

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

例子:

使用带约束的最小二乘法计算低通滤波器系数

Details

计算低通滤波器系数 150-具有归一化截止频率的阶数 rad/倒计时。 我们将指定最大绝对误差 0.02 在带宽和 0.01 在拘留区。 我们将显示计算误差和滤波器的幅频特性。 边界违规表示计算收敛时过程的迭代。

import EngeeDSP.Functions: fircls

n = 150
f = [0 0.4 1]
a = [1 0]
up = [1.02 0.01]
lo = [0.98 -0.01]
b = fircls(n, f, a, up, lo; out = :both)
Bound Violation = 0.0788344298965972
Bound Violation = 0.009613774499764091
Bound Violation = 0.0005681345753413645
Bound Violation = 5.151994189609224e-6
Bound Violation = 3.486559452259286e-8
Bound Violation = 6.230728155642851e-10
1×151 Matrix{Float64}:
 -0.00119101  -0.0040614  …  -0.00119101

fircls

算法

功能 fircls 使用迭代最小二乘算法获得均匀的脉动频率响应。 该算法是在每次迭代时使用拉格朗日乘数和库恩-塔克条件的多重交换算法。

文学作品

  1. Selesnick,I.W.,M.Lang和C.S.Burrus。 "没有指定过渡带的FIR滤波器的约束最小二乘设计。"_1995年声学、语音和信号处理国际会议的进展。_卷。 2,1995,第1260-1263页。

  2. Selesnick,I.W.,M.Lang和C.S.Burrus。 "没有指定过渡带的FIR滤波器的约束最小二乘设计。"_ieee®关于信号处理的事务。_卷。 44,编号8,1996,第1879-1892页。