フィルターのクリア

Remove DC component from EEG signals

53 ビュー (過去 30 日間)
altaf adil
altaf adil 2011 年 2 月 23 日
コメント済み: Jinrong Tang 2019 年 9 月 11 日
I have tried two methods to remove the DC component from the EEG signal.
Method 1: Data_without_dc = Data_with_dc - mean (Data_with_dc)
Method 2: Data_fft = fft(Data_with_dc); Data_fft(1) = 0; Data_without_dc = ifft (Data_fft);
I think the first component of signal's FFT is actually the mean of whole signal and it represents signal amplitude at zero frequency, so by making it to zero, we can remove DC component.
But from both the methods, I am getting different results. Please tell me which method is preferable if I have to remove the DC component whose amplitude is unknown in case of EEG data.
  1 件のコメント
Edith
Edith 2015 年 3 月 28 日
Please why do you want to remove the DC component from the EEG signal? I also trying to show in a plot my signals from 16 electrodes.

サインインしてコメントする。

採用された回答

Jan
Jan 2011 年 2 月 23 日
You can remove the DC component by removing the MEAN. This is fast, accurate and cheap.
I cannot see a difference between the methods, if you remove the imaginary roundoff errors:
x = rand(100, 1);
f = fft(x);
f(1) = 0;
x_ac = real(ifft(f));
[x_ac, x - mean(x)]
>> -0.4723 -0.4723
0.4304 0.4304
-0.4166 -0.4166
etc.
The difference is as expected in the magnitude of EPS(1).
BTW: I prefer "SUM(x)./SIZE(x,1)", because it is faster than MEAN.
  1 件のコメント
Jinrong Tang
Jinrong Tang 2019 年 9 月 11 日
Hi, I don't think remove the Mean is suitable for the ECG signal since it's asymmetrical and not like the sine wave. So removing the Mean will make the signal's baseline a little below the x-axis.

サインインしてコメントする。

その他の回答 (2 件)

Narayan Puthanmadam Subramaniyam
Narayan Puthanmadam Subramaniyam 2012 年 3 月 29 日
Hey altaf, if you data is in form of a matrix, then make sure to remove the entire first row and not just the first element. For example, make Data_fft(1,:) = 0. Then your answers should be identical!

VENKATA PHANIKRISHNA B
VENKATA PHANIKRISHNA B 2017 年 6 月 7 日
Removal of DC component means Mean removal from the signal. By doing this we can eliminate the dc, i.e., 0Hz noise. Here DC component means, the signal positive half cycles average and the negative half cycle is not zero. if x is the signal then xm=x-mean(x).

コミュニティ

カテゴリ

Help Center および File ExchangeEEG/MEG/ECoG についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by