2017-08-28 77 views
1

我有一個大的脈衝氧氣信號。有些部分很嘈雜,如果我使用它,會損壞我的數據。你有任何策略來自動刪除嘈雜的部分? (由於數據非常長,並且有很多頻道,所以我不能手動完成)。如何去除心跳中嘈雜的部分?

請找到附加的圖片有一個信號的感覺。

signal png file

+0

有許多方法可以從信號中刪除異常值。您可能想先查看['isoutlier'](https://www.mathworks.com/help/matlab/ref/isoutlier.html)。 – Cecilia

回答

1

您可以過濾,但你需要知道信號的頻譜特性,所以你可以提取它或噪聲的頻譜特性,從而可以抑制它。你有沒有噪音的信號,或者你知道你感興趣的信號在哪裏?

+0

是的,我知道哪部分信號對我有用。在附帶的情節中,你可以看到運動藝術的部分信號是非常高的。 – Juliette

1

這可能是與相同的問題,從時間序列中刪除異常值。 這個問題可以通過用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])