关于数据挖掘:拓端tecdatmatlab使用经验模式分解emd-对信号进行去噪

56次阅读

共计 1435 个字符,预计需要花费 4 分钟才能阅读完成。

原文链接:http://tecdat.cn/?p=12486

原文出处:拓端数据部落公众号


拨号音信号的变模合成

创立一个以 4 kHz 采样的信号,相似于拨打数字电话的所有键。将信号另存为 MATLAB®工夫数据。

fs = 4e3;
t = 0:1/fs:0.5-1/fs;

绘制时间表的变分模态合成。

多重量信号的 VMD

生成由频率为 2 Hz,10 Hz 和 30 Hz 的三个正弦波组成的多重量信号。正弦波以 1 kHz 采样 2 秒。将信号嵌入方差为 0.01²的高斯白噪声中。

计算噪声信号的 IMF,并在 3 - D 图中可视化它们。

plot3(p,q,imf)
grid on
xlabel('Time Values')
ylabel('Mode Number')
zlabel('Mode Amplitude')

应用计算出的 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 秒。绘制每个独自的重量和复合信号。

plot(t,6*t.^2)
xlabel('Time (s)')
ylabel('Quadratic trend')

nexttile(5,\[1 2\])
plot(t,x)
xlabel('Time (s)')
ylabel('Signal')

执行变分模态合成以计算四个本征模式函数。信号的四个不同重量得以复原。

通过增加模式函数和残差来重构信号。绘制并比拟原始信号和重构信号。

plot(t,x,':','LineWidth',2)
xlabel('Time (s)')
ylabel('Signal')
hold off
legend('Reconstructed signal','Original signal', ...
       'Location','northwest')

计算原始信号与重构信号之间的差别的范数。

应用 VMD 从 ECG 信号中去除噪声

在此示例中标记的信号来自 MIT-BIH 心律失常数据库(信号处理工具箱)。数据库中的信号以 360 Hz 采样。

加载与记录 200 绝对应的 MIT 数据库信号并绘制该信号。

plot(tm,ecgsig)
ylabel('Time (s)')
xlabel('Signal')

ECG 信号蕴含由心跳的节奏和振荡的低频模式驱动的尖峰。ECG 的不同辐条会产生重要的高次谐波。

计算开窗信号的九种固有模式函数,可视化 IMF。

第一种模式蕴含最多的噪声,第二种模式以心跳的频率振荡。通过将除第一个和最初一个 VMD 模式之外的所有模式相加,结构一个洁净的 ECG 信号,从而抛弃低频基线振荡和大部分高频噪声。


参考文献

1.matlab 应用教训模式合成 emd 对信号进行去噪

2.matlab 中的偏最小二乘回归(PLSR)和主成分回归(PCR)

3.matlab 应用 hampel 滤波去除异样值

4.matlab 预测 ARMA-GARCH 条件均值和方差模型

5.matlab 应用 Copula 仿真优化市场危险

6.matlab 测量计算信号的类似度

7.matlab 应用贝叶斯优化的深度学习

8.matlab 应用挪动均匀滤波器、重采样和 Hampel 过滤器进行信号平滑解决

9.matlab 实现 MCMC 的马尔可夫切换 ARMA – GARCH 模型预计

正文完
 0