vmd
通过变分模式分解。
库::`工程师`
语法
函数调用
-
___ =vmd([参数:x],名称,值)-将信号分解为具有由类型的一个或多个参数指定的附加参数的变分模式Name,Value.
-
vmd(___;<参数:out>=:情节)-将原始信号、IMF和残差信号作为单独的图形绘制在一个图中。
争论
名称-值输入参数
将可选参数对指定为 名称,值,在哪里 姓名 -参数的名称,以及 价值 -适当的值。 名称-值参数应该放在其他参数之后,但对的顺序无关紧要。
使用逗号分隔名称和值,以及 姓名 把它放在引号里。
# 绝对稳定 — 模式收敛的绝对误差
+
5e-6 (默认情况下)| 正实标量
Details
模式收敛的绝对误差,作为正实标量给出。 论点 绝对,绝对 它是停止优化的标准之一,即当连续两次迭代中IMF收敛性的均值二次绝对改进变得小于该值时,优化停止 绝对,绝对.
# 最大值 — 最大优化迭代次数
+
500 (默认情况下)| 正整数标量
Details
最大优化迭代次数,设为正整数标量。 论点 最大值,最大值 它是停止优化的标准之一,即当迭代次数超过值时,优化停止 最大值,最大值.
论点 最大值,最大值 它只能用正整数指定。
# 中央频率 — IMF的初始中心频率
+
向量资料
Details
IMF的初始中心频率,以长度向量的形式给出 [参数:NumIMFs]. 向量的值必须在 [0, 0.5] 一个周期/倒计时,表示真实频率在 ,在哪里 -采样率。
# 初始 — 初始拉格朗日乘数
+
零的复向量 (默认情况下)| 复向量
Details
初始拉格朗日乘子,定义为复数向量。 频域初始拉格朗日乘子的范围为 [0, 0.5] 循环/倒计时。 乘数确保符合恢复限制。 乘法器的长度取决于输入信号的大小。
# LMUpdateRate — 拉格朗日乘数更新率
+
0.01 (默认)| 真正的标量
Details
每次迭代时拉格朗日乘数的更新率,作为正实标量给出。 更高的速度导致更快的收敛,但增加了优化过程陷入局部最优的可能性。
# InitializeMethod 是 一种中心频率初始化方法
+
"山峰" (默认)| "随机" | "网格"
Details
的中心频率初始化方法,定义为 "山峰", "随机" 或 "网格".
-
"山峰"-将中心频率初始化为频域信号的峰值(默认情况下)。 如果[参数:NumIMFs]超过频域峰值的数量,函数vmd随机初始化剩余的中心频率; -
"随机"-将中心频率初始化为均匀分布在区间内的随机数[0, 0.5]循环/倒数; -
"网格"-将中心频率初始化为区间内均匀采样的网格[0, 0.5]循环/倒计时。
# 显示 — 切换命令窗口中的进度显示
+
错误 或 0 (默认情况下)| 真的 或 1
Details
在命令窗口中切换进度显示,设置为 真的 (或 1)或 错误 (或 0). 如果指定 真的 该函数将每20次迭代显示模态和中心频率的平均绝对和相对改进,以及显示有关最终停止的信息。
设置参数 展览及展览 意义 1 显示数据,或 0 来隐藏数据。
输出参数
# 资料 — 其他诊断信息
+
结构
Details
作为具有以下字段的结构返回的其他诊断信息:
-
[医]出口-完成标志。 意义0指示算法在达到最大迭代次数时停止。 意义1指示算法在达到绝对和相对容差时停止。; -
中央频率-中央基金组织频率; -
数字,数字-迭代总数; -
绝对进步-最后两次迭代之间IMF收敛的RMS绝对改进; -
相对改进-最后两次迭代之间IMF收敛的平均相对改善; -
拉格朗日倍增器-上一次迭代时频域中的拉格朗日乘数。
例子:
分段信号的变分模式分解
Details
我们将生成一个分段复合信号,由二次趋势、线性调频和余弦组成,在两个恒定频率之间有一个急剧的过渡。 .
信号以频率采样 1 kHz期间 1 几秒钟。 我们将为每个单独的分量和复合信号绘制图表.
fs = 1e3
t = 0:1/fs:1-1/fs
t_half = length(t) ÷ 2
t_first_half = t[1:t_half]
t_second_half = t[t_half+1:end]
quadratic_component = 6 .* t.^2
chirp_component = cos.(4π .* t .+ 10π .* t.^2)
cos_first_half = cos.(60π .* t_first_half)
cos_second_half = cos.(100π .* (t_second_half .- 10π))
cos_component = vcat(cos_first_half, cos_second_half)
x = quadratic_component .+ chirp_component .+ cos_component
p1 = plot(t, vcat(zeros(t_half), cos_second_half),
xlabel="Time (s)",
ylabel="Cosine",
legend=false)
p2 = plot(t, vcat(cos_first_half, zeros(length(t_second_half))),
xlabel="Time (s)",
ylabel="Cosine",
legend=false)
p3 = plot(t, chirp_component,
xlabel="Time (s)",
ylabel="Chirp",
legend=false)
p4=plot(t,quadratic_component,
xlabel="时间",
ylabel="二次趋势",
传说=错误)
p5=情节(t,x,
xlabel="时间",
ylabel="信号",
传说=错误,
线宽=2)
l=@布局[a{0.333w} b{0.333w} c{0.333w}
d{0.333w} e{0.667w}]
情节(p1,p2,p3,p4,p5,
布局=l,
大小=(800,600))
让我们在变分模式中进行扩展,以将四个分解函数计算为内部模式。 四个不同的信号分量进行恢复。
import EngeeDSP.Functions: vmd
imf, res = vmd(x, "NumIMFs", 4)
p1 = plot(t, imf[:, 1],
ylabel = "IMF1",
showlegend = false,
grid = true,
xlabel = "Time (s)")
p2 = plot(t, imf[:, 2],
ylabel = "IMF2",
showlegend = false,
grid = true,
xlabel = "")
p3 = plot(t, imf[:, 3],
ylabel = "IMF3",
showlegend = false,
grid = true,
xlabel = "Time (s)")
p4 = plot(t, imf[:, 4],
ylabel = "IMF4",
showlegend = false,
grid = true,
xlabel = "Time (s)")
我们将通过添加模式函数和其余部分来恢复信号。 让我们建立一个图表,并比较原始和恢复的信号。
sig = sum(imf, dims=2) + res
p5 = plot(t, sig,
linewidth = 1.5,
label = "Reconstructed signal",
xlabel = "Time (s)",
ylabel = "Signal",
legendfontsize = 7,
legend = (0.45, 0.5))
plot!(p5, t, x,
linestyle = :dash,
linewidth = 2,
label = "Original signal")
情节(p1,p2,p3,p4,p5,
布局=l,
大小=(800,600))
让我们计算原始信号和恢复信号之间差异的范数。
import EngeeDSP.Functions: norm
norm(x-sig, Inf)
0.0
此外
算法
功能 vmd 通过重构计算频域中的IMF 使用函数 . 为了消除边缘效应,该算法扩展了信号,在每一侧镜像其长度的一半。
[优化]中介绍的拉格朗日乘子具有傅里叶变换 . 拉格朗日乘子向量的长度等于扩展信号的长度。
-
算法超过自变量中指定的最大迭代次数。
[参数:MaxIterations].
上 在第3次迭代时,算法执行以下步骤:
-
他正在经历 信号模式(使用参数指定
[参数:NumIMFs])来计算:-
每种模式的频域信号使用
哪里 -傅立叶变换 -th模式,计算于 -第次迭代。
-
-第三中心频率 使用
-
-
更新拉格朗日乘数使用
,在哪里 -拉格朗日乘数的更新率,使用参数设置[参数:LMUpdateRate].
文学作品
-
Boyd,Stephen,Neal Parikh,Eric Chu,Borja Peleato和Jonathan Eckstein。 "通过乘法器的交替方向方法进行分布式优化和统计学习。"_foundations and Trends®In机器学习._第3卷,第1期,2011年,第1-122页。
-
Dragomiretskiy,Konstantin和Dominique Zosso。 "变分模式分解。"_ieee®关于信号处理的事务。_卷。 62,编号3,2014,第531-534页。
-
穆迪,乔治B.和罗杰G.马克。 "MIT-BIH心律失常数据库的影响。"_ieee Engineering in Medicine And Biology杂志。_卷。 20,第3号,2001年5月至6月,第45-50页。