Simply EEGLAB
Power spectrum (PSD)
Station 6 · Lesson 2 · EEGLAB 2026.1
In the GUI
- PlotChannel spectra and maps
- Channel spectra and maps -- pop_spectopo()Epoch time range to analyze [min_ms max_ms]:
- Percent data to sample (1 to 100):
100 - Frequencies to plot as scalp maps (Hz):
106 10 22 - Plotting frequency range [lo_Hz hi_Hz]:
1 642 25 - Spectral and scalp map options (see topoplot):Ok
Script
figure;
[spectra, freqs] = pop_spectopo(EEG, 1, [0 EEG.xmax*1000], 'EEG', ...
'freq', 10, 'freqrange', [1 64], 'electrodes', 'off');
fprintf('Frequency step: %.2f Hz\n', freqs(2) - freqs(1));
pz = find(strcmp({EEG.chanlocs.labels}, 'Pz'));
alphaBand = freqs >= 8 & freqs <= 13;
alphaFreqs = freqs(alphaBand);
[peakPow, iPeak] = max(spectra(pz, alphaBand));
fprintf('Alpha peak at Pz: %.0f Hz, %.1f dB\n', alphaFreqs(iPeak), peakPow);
[~, order] = sort(spectra(:, freqs == 10), 'descend');
disp({EEG.chanlocs(order(1:5)).labels});Which value should I choose?
| Setting | Value |
|---|---|
| Plotting range | 1 to 64 Hz here (up to half the sampling rate) |
| Scalp map frequencies | 10 Hz for alpha |
| Percent of data | 100 |
| Window length | The default (1 second, 128 points) |
| Which data | Continuous, clean, before the low-pass |
For your Methods
Power spectral density was estimated for each channel from the continuous ICA-cleaned data using Welch's method with 1-s Hamming windows and no overlap (pop_spectopo, EEGLAB 2026.1).