使用计算出的IMF绘制多分量信号的希尔伯特频谱。将频率范围限制为[0,40] Hz。
分段信号的VMD
生成一个由二次趋势,线性调频信号和余弦组成的分段复合信号,在t = 0.5时,两个恒定频率之间会发生急剧过渡 。
x(t)= 6t2 + cos(4πt+10πt2)+ {cos(60πt),cos(100πt-10π),t≤0.5,t> 0.5。
信号以1 kHz采样1秒。绘制每个单独的分量和复合信号。
R
1
2
3
4
5
6
7
8
9
plot(t,6*t.^2)
xlabel('Time (s)')
ylabel('Quadratic trend')
nexttile(5,[12])
plot(t,x)
xlabel('Time (s)')
ylabel('Signal')
执行变分模态分解以计算四个本征模式函数。信号的四个不同分量得以恢复。
通过添加模式函数和残差来重构信号。绘制并比较原始信号和重构信号。
R
1
2
3
4
5
6
plot(t,x,':','LineWidth',2)
xlabel('Time (s)')
ylabel('Signal')
holdoff
legend('Reconstructed signal','Original signal',...
'Location','northwest')
计算原始信号与重构信号之间的差异的范数。
使用VMD从ECG信号中去除噪声
在此示例中标记的信号来自MIT-BIH心律失常数据库 (信号处理工具箱)。数据库中的信号以360 Hz采样。
加载与记录200相对应的MIT数据库信号并绘制该信号。
R
1
2
3
plot(tm,ecgsig)
ylabel('Time (s)')
xlabel('Signal')
ECG信号包含由心跳的节奏和振荡的低频模式驱动的尖峰。ECG的不同辐条会产生重要的高次谐波。
计算开窗信号的九种固有模态函数,可视化IMF。
第一种模态包含最多的噪声,第二种模态以心跳的频率振荡。通过将除第一个和最后一个VMD模态之外的所有模态相加,构造一个干净的ECG信号,从而丢弃低频基线振荡和大部分高频噪声。