如何去除心跳中的嘈杂部分?

How to remove the noisy part of a heartbeat?

我的脉搏血氧仪信号很大。其中的某些部分很嘈杂,如果我使用它会破坏我的数据。你有什么策略可以自动去除嘈杂的部分吗? (由于资料很长,渠道也很多,实在是手动做不出来)

请找附图感受一下信号。

您可以对其进行过滤,但您需要了解信号的频谱特性以便提取它,或者了解噪声的频谱特性以便抑制它。您是否有没有噪声的信号,或者您知道您感兴趣的信号在频谱中的哪个位置?

这可能是与从时间序列中删除异常值相同的问题。 这个问题可以通过用给定模型拟合时间序列来解决,如 this link 所示。例如,尝试以下模拟代码。

xdata = (0:0.1:2*pi)';
y0 = sin(xdata);                % pure data
gnoise = y0.*randn(size(y0));   % noise component
ydata = y0 + gnoise;   

f = fittype('a*sin(b*x)');
fit1 = fit(xdata,ydata,f,'StartPoint',[1 1]);

plot(fit1,'r-',xdata,ydata,'k.',outliers,'m*')
xlim([0 2*pi])