过滤器
一维数字滤波器。
库::`工程师`
争论
输入参数
# x — 输入数据
+
传递:[向量] | 通过:[矩阵] | 传:[N维数组]
Details
输入指定为向量、矩阵或N维数组的数据。
| 数据类型 |
|
# 子 — 滤波器延迟的初始条件
+
通行证:[[]] (默认情况下)| 传递:[向量] | 通过:[矩阵] | 传:[N维数组]
Details
滤波器延迟的初始条件,指定为矢量、矩阵或N维数组:
指定为的默认值 [] 将所有滤波器延迟初始化为零。
| 数据类型 |
|
# 昏暗 — 用于执行滤波的测量
+
通行证:[标量]
例子:
移动平均滤波器
Details
移动平均滤波器是平滑噪声数据的常用方法。 在本例中,滤波器函数用于计算数据向量的平均值。
创建大小的向量字符串 1 上 100 随机噪声失真的正弦数据。
import EngeeDSP.Functions: filter
using Random
Random.seed!(0)
t = range(-pi, pi, length=100)
x = sin.(t) + 0.25 * randn(length(t))
移动平均滤波器移动窗口长度 窗口大小 沿着数据,计算包含在每个窗口中的数据的平均值。 下面的差分方程定义了矢量的移动平均滤波器 :
对于大小为 5 让我们计算有理传递函数的分子和分母的系数。
windowSize = 5
b = (1/windowSize) * ones(windowSize)
a = [1.0]
让我们找到数据的移动平均值并将其与原始数据进行比较。
y = filter(b, a, x)
plot(t, x,
label="Input Data",
linewidth=1.5,
grid=true)
plot!(t, y,
label="Filtered Data",
linewidth=2,
color=:red)

此外
理性传递函数
Details
函数的输入和输出的描述 *过滤器*对于域中的向量,Z变换是有理传递函数。 有理传递函数具有形式:
有理传递函数适用于具有有限脉冲响应(fir)的滤波器和具有无限脉冲响应(BIH)的滤波器[1]。 这里 -Z-输入信号x的转换, -Z-输出信号的转换 , -反馈滤波器的阶数,以及 -前馈滤波器的顺序。 关于规范化,让我们假设 .
对于离散信号与 这些元素可以用差分方程的形式表达有理传递函数:
此外,可以使用其直接形式II的转置实现来表示有理传递函数,如数字IIR滤波器的图所示。 在图上 . 如果反馈和前向滤波器的阶数不相等 ,那么高阶项可以认为相等 0. 例如,对于具有 a=[1,2] 和 乙= [2, 3, 2, 4] 我可以接受吗 一个= [1, 2, 0, 0].
过滤器执行 *过滤器*在参考点 它由时域的差分方程确定: