基于小波域优化Savitzky–Golay滤波器的脑电图信号的运动伪影去除方法(MATLAB R2018A)

在获取或采集数据的过程中,不可避免地将噪声引入到数据中,噪声的存在使得原始数据发生变异,对数据的处理及分析产生严重地影响。常用的去噪模型有平滑去噪、均值去噪。其中,平滑去噪又包括移动平均平滑法和Savitzky-Golay卷积平滑法。

Savitzky-Golay是由Savitzky和Golay于1964年提出,之后被广泛地运用于数据平滑除噪,是一种在时域内基于局域多项式最小二乘法拟合的滤波方法。即对样本中的每个数据点邻域内的数据,用一个n阶多项式拟合,此多项式的系数是由最小二乘法准则在拟合误差最小的条件下确定,从而得到该数据点的最佳拟合值,也就是经过SG去噪后的数据值。

鉴于此,采用小波域优化Savitzky--Golay滤波器对脑电图信号的运动伪影进行去除。

Matlab 复制代码
function MAE_D=MAE_PSD(rec, x2,fs)
[Pxxf,freq]=psd_fft(rec, fs);
 Pxxdbf=10*log10(Pxxf);
 [Pxxn,freq]=psd_fft(x2, fs);
 Pxxdbn=10*log10(Pxxn);
%%PSD calculation for delta(0-4Hz)%%
for i=1:46
MAE_d(i)=abs(Pxxdbf(i)-Pxxdbn(i))./(46-0); %%%%delta information is present upto 46 bins, this will change for different sampling frequency
end
MAE_D=(sum(MAE_d)/(fs/2)); %%%%%formulae given in the paper
完整代码:https://mbd.pub/o/bread/ZJ6alZly
end

工学博士,担任《Mechanical System and Signal Processing》《中国电机工程学报》《控制与决策》等期刊审稿专家,擅长领域:现代信号处理,机器学习,深度学习,数字孪生,时间序列分析,设备缺陷检测、设备异常检测、设备智能故障诊断与健康管理PHM等。

相关推荐
我叫张土豆几秒前
Neo4j 版本选型与 Java 技术栈深度解析:Spring Data Neo4j vs Java Driver,如何抉择?
java·人工智能·spring·neo4j
地平线开发者6 分钟前
大模型 | VLA 初识及在自动驾驶场景中的应用
算法·自动驾驶
py有趣9 分钟前
LeetCode学习之实现strStr()
学习·算法·leetcode
夏鹏今天学习了吗12 分钟前
【LeetCode热题100(52/100)】课程表
算法·leetcode·职场和发展
祁思妙想12 分钟前
【LeetCode100】--- 101.重排链表【思维导图+复习回顾】
算法·leetcode·链表
IT_陈寒15 分钟前
Vue3性能提升30%的秘密:5个90%开发者不知道的组合式API优化技巧
前端·人工智能·后端
VBA633722 分钟前
VBA技术资料MF383:处理Excel中存储为文本的数据
开发语言
CiLerLinux28 分钟前
第三章 FreeRTOS 任务相关 API 函数
开发语言·单片机·物联网·c#
文火冰糖的硅基工坊28 分钟前
[人工智能-大模型-69]:模型层技术 - 计算机处理问题的几大分支:数值型性问题、非数值型问题?
算法·决策树·机器学习
OG one.Z1 小时前
05_逻辑回归
算法·机器学习·逻辑回归