Common mode rejection (in software) without a reference channel? EEG data

Summary

I need to remove artifact that appears strongly on all channels in my EEG data. It's already recorded (from another lab) so I can't use hardware solutions. Also: band overlap and no reference channel.

Less Short

I have 28 EEG channels with strong common-mode artifact (artifact amplitude is on the order of $10^4$, the rest is on the order of $10^2$), but I don't have a channel I can specifically call a reference channel. If you run cross-correlation between the channels, all pairs have a $C_{xy}>0.98$, all at 0s lag. That alone tells me it's artifact.

Is there a standard practice for removing this kind of artifact from signal? Artifact band overlaps signal band, so band-pass filters aren't enough. I thought to call one channel the reference channel and subtract it from all others, but then I either have to manually pick a ref channel for each file (many files), or rely on a given channel being well-behaved (not all are). An option I like more is to take the mean at each time step, and subtract it from each channel. In Matlab code, artifact_free = raw_data - mean(raw_data,2) (columns = channels, rows = time steps).

The second option implicitly assumes that non-artifact components can be characterized as random, independent processes, and could smooth/remove cortical response in the signal that happens at/near the same time on different channels. Because of this I'm still a bit uncomfortable with doing that. I'm a little new to EEG so I don't know what assumptions I'm allowed to make. We got the data from another lab, so there are no EEG experts to ask here, and I don't want to lose information in the data or do something that statistics says I can't.

• I don't know anything about EEG signals. Do you expect there to be little to no correlation among your signal set? I think you touched on this, but it could be hard to reject the common portions effectively if they're actually supposed to be there. – Jason R Mar 19 '14 at 12:28
• Yeah, the idea is that if you record brain activity (a localized phenomenon), activity spanning the entire array can't be of neural origin. Each of the 28 channels is an electrode placed somewhere on the subject's scalp, and they measure the electric field created by large networks of neurons firing synchronously. So, to have non-artifact with the same activity on all channels, you'd need the exact same neural activation to happen in 28 different brain areas at the exact same time (if two regions are functionally linked, they may correlate with lag but not with zero lag, not C=0.99). – dpbont Mar 19 '14 at 14:55
• If the common-mode component of the signal is orthogonal (i.e. uncorrelated with) the responses of interest, this might be a good application for principal component analysis. Specifically, you'd like to reconstruct the observed signals with the largest component removed. Each observation would be a 28-dimensional vector of sample values at a particular time step. – Jason R Mar 19 '14 at 18:20
• Adaptive filtering (a la noise cancelling) also comes to mind. Multiple passes might allow you to first identify the noise and then remove it. – nispio Mar 19 '14 at 23:16
• @JasonR - good idea. PCA basically shows the first PC as the mean of the channels (it slightly scales down contributions from one channel that has additional artifact). In my mind, that validates mean as an estimate of artifact, under an orthogonality assumption. Mean is also attractive because it's easy to do in real time (this is for a brain-computer interface). – dpbont Mar 20 '14 at 4:36