[Eeglablist] line noise removal issues
Jeff Eriksen
jefferiksen at comcast.net
Wed Dec 12 08:49:25 PST 2007
Tim,
I do not have any code right now, just an idea that I published as an
abstract many years ago. Basically, it goes like this: Create a 60 Hz
waveform defined by an amplitude, phase, frequency, and offset. Using some
kind of non-linear optimization routine (Nelder-Mead downlhii simplex,
a.k.a. "amoeba" from Numerical Recipes is a start), vary the four parameters
just mentioned until the objective function is minimized. For an objective
function, subtract the synthetic 60 Hz waveform from your data, calculate
the spectrum, and create some metric of the smoothness of the spectrum
around 60 Hz. This way you do not remove all of the 60 Hz as a notch filter
would do, but presumably leave in the 60 Hz component of the signal and only
remove the 60 Hz peak, or additional 60 from the environment.
Reply to me off this list if you want to discuss further. Obviously you
would have to make modifications for multiple channels and harmonics.
-Jeff Eriksen
OHSU Dept BME
Portland, OR
From: eeglablist-bounces at sccn.ucsd.edu
[mailto:eeglablist-bounces at sccn.ucsd.edu] On Behalf Of Tim Mullen
Sent: Monday, December 10, 2007 3:57 PM
To: eeglablist at sccn.ucsd.edu
Subject: [Eeglablist] line noise removal issues
Dear EEGLAB users,
I have a question regarding the use of ICA for line noise removal.
I have some electrocorticographic (ECoG) data with a strong 60Hz line noise
artifact as well as a 180Hz harmonic (only odd harmonics seem to be present,
probably due to symmetrical clipping).
I am applying frequency-domain granger causality to this data, but have run
into some serious problems with the presence of this line noise. Oddly
enough, the line noise dominates as a directional effect in the granger
causality (unless there is an apparent temporal delay between channels at 60
Hz, a peak at 60 Hz should only be present in the instantaneous causality).
This is likely because the phase at 60Hz appears to differ between channels.
The strength of the directional effect at 60 and 180Hz is so strong that it
dominates any other interesting nearby features, making it impossible to
analyze causal interactions within a wide range of frequencies of interest.
The noise band is far too wide for notch filtering to be considered a
suitable solution. I have then tried extended infomax ICA (as implemented
in EEGLAB's runica function), to isolate the subgaussian noise components. I
have attempted this both in automatically estimating the number of
sub-gaussian sources and also fixing the number of subgaussian sources to 1,
2, etc. None of these approaches have been successful. ICA appears to
converge properly and the covariance matrix of the estimated components is
the identity matrix (it's at least second-order independent).
It is possible that the tanh function used to model the subgaussian source
distributions is unsuitable for this line noise source. Has anyone used or
implemented any other families of distributions to calculate the score
function for ICA?
Des anyone have any recommendations on how to remove this line noise, either
via source separation or other techniques? In particular, if anyone has
developed a plugin for EEGLAB or their own code for automatic line noise
removal, that would be optimal.
Thanks much for your input!
Regards,
Tim
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://sccn.ucsd.edu/pipermail/eeglablist/attachments/20071212/cd2e8633/attachment.html>
More information about the eeglablist
mailing list