填充物;填充物
使用自回归建模填补空白。
库::`工程师`
语法
函数调用
-
[参数:y]=fillgaps([参数:x],[参数:maxlen])-还设置计数的最大数量[参数:maxlen],用于评估。 如果您的信号在整个范围内没有通过单个自回归过程得到很好的表征,请使用此参数。
-
fillgaps(_,out=:plot)-绘制原始样本和重建信号。 此语法接受来自先前语法的任何输入参数。
争论
输入参数
# x — 输入信号
+
向量资料 | 矩阵
Details
指定为矢量或矩阵的输入信号。 如果 x 是矩阵,则将其列视为独立的信道。 信号 x 包含值 南 来表示错过的计数。
| 数据类型 |
|
# 马克斯伦 — 预测序列的最大长度
+
一个正整数
Details
预测序列的最大长度,设为正整数。 如果你不问 马克斯伦 然后 填充盖 迭代地选择自回归模型,使用所有先前点进行直接估计,使用所有未来点进行反向估计。
| 数据类型 |
|
# 订单 — 自回归模型的顺序
+
一个正整数
Details
自回归模型的阶数,设置为正整数。 如果以下情况,订单将被截断 秩序 无限或如果没有足够的可用计数。 如果你不问 秩序 然后 填充盖 选择使Akaike信息准则最小化的顺序。
| 数据类型 |
|
例子:
填补职能空白
Details
让我们生成一个由两个正弦和洛伦兹曲线之和组成的函数。 函数用频率采样 200 Hz期间 2 几秒钟。 让我们建立一个图表。
import EngeeDSP.Functions: fillgaps
x=-1:0.005:1
f=1。/ (1 .+ 10 .*x.^2)。+罪。(2*pi*3*x)/10.+cos.(25*pi*x)/10
图(x,f)

让我们在间隔中插入间隙 (−0.8,−0.6), (−0.2,0.1) 和 (0.4,0.7).
h = copy(f)
h[(x .> -0.8) .& (x .< -0.6)] .= NaN
h[(x .> -0.2) .& (x .< 0.1)] .= NaN
h[(x .> 0.4) .& (x .< 0.7)] .= NaN
使用默认设置填补空白 填充盖. 让我们绘制原始和重建的函数。
y = fillgaps(h)
plot(x, f, seriestype = :scatter, markersize = 2, color = :blue, label = "Original")
plot!(x, y, linewidth = 2, color = :red, label = "Reconstructed")

让我们重复计算,但现在我们将设置预测序列的最大长度。 3 参考点和模型的顺序 1. 让我们绘制原始函数和重建函数的图形。 在最简单的情况下 填充盖 执行线性近似。
y = fillgaps(h,3,1)
plot(x, f, seriestype = :scatter, markersize = 2, color = :blue, label = "Original")
plot!(x, y, linewidth = 2, color = :red, label = "Reconstructed")

设置预测序列的最大长度 80 计数和模型的顺序 40. 让我们绘制原始函数和重建函数的图形。
y = fillgaps(h,80,40)
plot(x, f, seriestype = :scatter, markersize = 2, color = :blue, label = "Original")
plot!(x, y, linewidth = 2, color = :red, label = "Reconstructed")

让我们将模型的顺序更改为 70. 让我们绘制原始函数和重建函数的图形。
y = fillgaps(h,80,70)
plot(x, f, seriestype = :scatter, markersize = 2, color = :blue, label = "Original")
plot!(x, y, linewidth = 2, color = :red, label = "Reconstructed")

重建是不完美的,因为在非常高的模型阶数下通常存在有限精度的问题。