I am inspecting the PSD of a raw BioSemi EEG recording before preprocessing. I expected an approximately decreasing 1/f-like spectrum, but many channels instead show increasing power at higher frequencies, particularly above ~20–30 Hz. There is also a prominent peak around 50 Hz.
I am trying to understand whether this pattern is more suggestive of electrode/contact noise, muscle activity, referencing/common-mode issues, or some acquisition-related source of noise. Would you consider this PSD unusual, and would you use this information when identifying bad channels?
Environment:
Python: 3.11.15
MNE: 1.12.1
NumPy: 2.4.6
Pandas: 3.0.3
SciPy: 1.17.1
Autoreject: 0.4.3
Operating system: macOS [version]
The PSD was calculated from the raw EEG before filtering using:
In particular, I would appreciate advice on whether the gradual rise in high-frequency power across many channels is something expected under some recording conditions, or whether it points to a problem that I should investigate before proceeding with preprocessing.
I would not mark channels as bad from this PSD alone. Since the high-frequency rise appears across many channels, it is more likely to reflect a shared source, such as the reference, muscle activity, or the recording noise floor, than many independent bad electrodes
One important BioSemi detail is that BDF signals are stored relative to the CMS electrode and should be r-referenced after import. As a diagnostic I would compare this plot with the PSD after average referencing:
Mark any clearly bad chanels before calculating the average reference, otherwise their noise will be spread across the montage
The narrow 50 Hz peak is mains interference and, when present broadly, is not evidence of bad channels. The gradual increase above 20-30 Hz is less specific. Muscle activity is a common cause, especially if it is strongest over frontal or temporal electrodes and changes over time. Electrode or cable noise is more likely if one or a few channels are persistent outliers and also look abnormal in the time domain
I would therefore inspect a few raw 20-30 second segments, compare neighboring channels, and plot the spatial distribution of high frequency power while excluding the 50 Hz region. If the pattern changes strongly after re referencing, shared reference noise was probably contributing. If it is intermittent and concentrated around temporal or frontal sites, muscle is more likely
So yea the PSD is worth investigating before preprocessing BUT it does not by itself justify labeling many channels as bad. Bad channel decisions should be based on channel-specific evidence from both the spectrum and the time series