第一阶段
使用Parks-McClellan方法设计最优FIR滤波器。
库::`工程师`
语法
函数调用
-
[参数:b],[参数:err],[参数:res]=firpm(<参数:n>>,<参数:f>>,<参数:a>>,<参数:ftype>>)-使用过滤器类型[参数:ftype].
-
[参数:b],[参数:err],[参数:res]=firpm(<参数:n>>,<参数:f>>,<参数:a>>,<参数:lgrid>>)-使用整数值[参数:lgrid]以控制频率网格的密度。
争论
输入参数
# f — 归一化频率值
+
传递:[向量] | 通过:[矩阵]
Details
指定为维度向量或矩阵的归一化频率值 上 1. 值必须在范围内 [0, 1],在哪里 1 对应于奈奎斯特频率。 向量的元素数始终是倍数 2. 频率应按升序排列。
| 数据类型 |
|
# ftype — 过滤器类型
+
通行证:["希尔伯特"] | 通过:["微分器"] | 通行证:["多波段"] | 通行证:["低通"] | 通行证:["高通"] | 通行证:["带通"] | 通行证:["乐队"] | 通行证:["invsinc"]
Details
用于计算具有奇数对称性的线性相位滤波器的滤波器类型(III或IV型):
-
"希尔伯特"-希尔伯特滤波器: ;计算希尔伯特变压器的近似FIR的示例。
31:h = firpm(30,[0.1; 0.9],[1; 1],"hilbert") -
"差异化"-权重与频率成反比的导数滤波器; -
"多波段"-多波段滤波器; -
"低通"-低通滤波器(low-pass filter); -
"高通"-高通滤波器(高频滤波器); -
"带通"-带通滤波器; -
"乐队"-陷波(阻塞)滤波器; -
"invsinc"-逆sinc滤波器。
| 数据类型 |
|
# fresp — 频率响应
+
通行证:[功能]
Details
它用于将所需幅度设置为函数,而不是作为一组值。
功能 firpm 原因 弗雷斯普 如下:
dh, dw = fresp(n, f, gf, w)
输入参数
-
n-过滤顺序; -
f-带边界的矢量,值从0以前1(哪里1-这是奈奎斯特频率); -
gf/gf-需要计算所需特性的频率网格; -
w-加权系数的向量,每个车道一个(如果没有指定,则w=一个(。..)).
输出参数
-
卫生署署长-在频率网格上计算的期望频率响应gf/gf; -
dw是对应于加权系数的向量gf/gf,通常重复[参数:w]在相关网站上。
函数示例 弗雷斯普:
function fresp(
n::Int,
f::AbstractArray{<:Real},
gf::AbstractArray{<:Real},
w::AbstractArray{<:Real}
)
dh = Float64.((gf .>= f[1]) .& (gf .<= f[2])) # The frequency response is equal to 1 in the band [f[1], f[2]]
dw = ones(length(gf)) .* w[1] # The weight is the same across the band
return dh, dw
end
输出参数
#
错误 —
幅度特性与期望的最大偏差
一+
通行证:[真正的标量]
Details
幅度特性与期望的最大偏差,作为标量返回。
# res — 频率响应
+
通行证:[结构]
Details
返回的频率响应作为结构。 结构 资源,资源 它具有以下字段:
-
[医]fgrid-用于优化滤波器设计的频率网格矢量; -
资源,资源-每个点所需的频率响应[医]fgrid; -
总重量-每点的权重系数[医]fgrid; -
res.H-每个点获得的频率响应[医]fgrid; -
错误-每个点的错误[医]fgrid(res.des-res.H); -
地址:-极端频率指数的向量[医]fgrid; -
费克斯特-极端频率的矢量。
建议
如果滤波器不收敛,则有可能设计错误。 通过检查频率响应来验证计算的正确性。
如果筛选器不收敛且结果不正确,请尝试以下一个或多个操作:
-
增加过滤顺序。
-
通过减少延迟带中的衰减和/或扩展过渡区域来软化滤波器计算。
算法
功能 firpm 使用Parks-McClellan算法[2]设计具有线性相位特性的FIR滤波器。 Parks-McClellan算法使用Remez替换算法和Chebyshev近似理论来设计期望和实际频率特性之间具有最佳匹配的滤波器。 滤波器在期望和实际频率特性之间的最大误差最小化的意义上是最优的。 以这种方式设计的滤波器表现出具有均匀纹波水平的频率响应。 功能 firpm 由于单一的脉动水平,它在脉冲响应的开始和结束时表现出不连续性。
功能 firpm 对于在奈奎斯特频率具有偶数对称性和非零带宽的配置,始终使用偶数滤波器顺序。 偶数滤波器阶数的原因是,对于具有偶数对称性和奇数阶数的脉冲特性,奈奎斯特频率处的频率响应必然等于 0. 如果指定了奇数值 [参数:n] 然后 firpm 增加它 1.
功能 firpm 设计具有i型、II型、III型和IV型线性相位特性的滤波器。i型和II型默认用于偶数和奇数 [参数:n] 因此,而类型III([参数:n] 偶数)和IV([参数:n] 奇数)使用参数设置 [参数:ftype] 使用 "希尔伯特" 或 "差异化" 相应地。 不同类型的滤波器对其频率特性有不同的对称性和一定的限制。 (有关更多信息,请参阅[3])。
| 具有线性相位响应的滤波器类型 | 过滤顺序 | 系数的对称性 | (奈奎斯特) | |
|---|---|---|---|---|
第一类 |
偶数 |
偶数: |
没有任何限制 |
没有任何限制 |
第二类 |
奇怪 |
偶数: |
没有任何限制 |
功能 |
第三类 |
偶数 |
奇数: |
|
|
第四类 |
奇怪 |
奇数: |
|
没有任何限制 |
文学作品
-
IEEE声学、语音和信号处理学会数字信号处理委员会,eds. _数字信号处理精选论文._卷。 II.纽约:IEEE出版社,1976年。
-
Ieee声学,语音和信号处理学会的数字信号处理委员会,eds。 _用于数字信号处理的程序。_纽约:IEEE出版社,1979年,算法5.1。
-
Oppenheim,Alan V.,Ronald W.Schafer和John R.Buck。 _实时信号处理。_Upper Saddle River,NJ:Prentice Hall,1999,p.486.
-
Parks,Thomas W.和C.Sidney Burrus。 数字滤波器设计。_纽约:John Wiley&Sons,1987,p.83。
-
Rabiner,Lawrence R.,James H.McClellan和Thomas W.Parks。 "使用加权切比雪夫近似的FIR数字滤波器设计技术。"_PROCEEDINGS OF THE IEEE®._卷。 63,编号4,1975,第595-610页。