14
votes
Accepted
Which order to perform downsampling and filtering?
You need to filter first and then downsample. Otherwise, you will run into aliasing problems. I.e. frequencies that are above 30 Hz will create images within your frequencies of interest. You can ...
6
votes
Accepted
Cross correlate a 2D array
What you have (conceptually) is not a 2D array but a collection of 1D arrays. correlate2D is designed to perform a 2D correlation calculation, so that's not what ...
6
votes
What does epoch mean in EEG?
EEG epoching is a procedure in which specific time-windows are extracted from the continuous EEG signal. These time windows are called “epochs”, and usually are time-locked with respect an event e.g. ...
5
votes
How does SciPy's Welch function change the shape of the data?
Assuming that "6041" is a typo and it's actually "6401" that would be expected behavior.
The result of welch() is a frequency domain vector the ...
4
votes
Accepted
What do certain terms mean in EEG processing describing frequency bands?
The short answer: The brain is a huge set of neurons that produce electrical activity as part of their function. We can sense this electrical activity and correlate it with brain states (alert, asleep,...
4
votes
Accepted
Bandpass filter to get EEG frequency bands?
As the frequency bands are simple frequency ranges, I wonder if I can use several bandpass filters to get them (instead of using WPT / FFT)?
Sure! That's how it's usually done!
Is there any ...
4
votes
Which order to perform downsampling and filtering?
Since I can't comment on this particular site I'd say this, consider the following before you do what you're trying to do.
Due to the Nyquist law you want your sampling frequency to be that of the ...
4
votes
How to correctly compute the EEG Frequency Bands with Python?
I believe there is a much simpler way to do this with numpy.fft.rfft and numpy.fft.rfftfreq.
In the below example, I have two ...
3
votes
Accepted
What is the meaning of negative second for a Morlet wavelet?
Continuous wavelets with symmetric envelope are often described, by convention, on a symmetric time interval: $[-T,T]$. The Gaussian being of infinite support, this means it is truncated.
This is ...
3
votes
Phase locking value / phase synchronization
There can be several ways to calculate the Phase locking value (PLV). For relatively mono-component and high SNR (well filtered)-Time domain signal can be converted into analytical signal using ...
3
votes
Can an EEG be re-sampled to fix a poor voltage resolution?
The bit depth basically indicates how accurately your analog-to-digital converter records and reproduces the signal (Fig. 1). A higher bit depth means that more subtle fluctuations in the waveform are ...
3
votes
Can Kalman filter remove 50 Hz noise?
With your edit it becomes clear that you've modeled your problem incorrectly:
While the offending signal appears shortly with a frequency of 50 Hz, that is by no means the frequency content of the ...
3
votes
Difference between bandpass filter and using fast fourier transform to extract power of frequency bands
An FFT extracts frequency bands, similar to a bank of (mediocre) bandpass filters.
An FFT is just a bank of bandpass FIR filters, all of equal length, that because they are in default form ...
3
votes
Accepted
Doing the inverse of the fourier on EEG data?
I am assuming the original EEG data was real (which seems reasonable) and therefore can conclude that the result given represents just the positive frequencies; since the complete spectrum would be ...
2
votes
EEG Power at specific time points
The Goertzel algorithm allows you to compute individual terms of the Discrete Fourier Transform, and is more efficient than the FFT. However, if you wish to later compute the spectrum of other bands ...
2
votes
Accepted
What could be causing these humps every 10 Hz on my PSD estimate data?
These are indeed artefacts from the stimulation
...
2
votes
Accepted
How is the topo / scalp map from an EEG Signal with ICA created?
In general, the topographic map describes the distribution of electrical activity across the brain as measured in a number of well known "stations" (electrodes whose position is known) on the scalp.
...
2
votes
What does epoch mean in EEG?
In order to answer your question in a simple way, imagine we have a signal x with length of 60-s and our sampling frequency is 1 Hz.
The matrix representation of your EEG signal would be 1*60 array ...
2
votes
Phase locking value / phase synchronization
If you have two numpy arrays of phase data theta1 and theta2 (in radians), you can calculate phase locking value in numpy without too much effort:
...
2
votes
Accepted
How to compute the power bands of an eeg signal using python?
Here is some code that may solve your problem:
...
2
votes
How to apply Hamming Window and compute FFT?
Three possible issues:
The Discrete Fourier Transform definition that the MATLAB fft uses does not preserve the energy of the vector. Multiply it by $1/\sqrt{N}$, ...
2
votes
Accepted
Filtering artefacts and filtering short signals
All real-time filtering (as opposed to post processing) wirh FIR and IIR filters will have start up transitions based on the state of the filter at start up. For optimum rejection of AC noise , ...
2
votes
Accepted
MATLAB's designfilt vs butter function
The function butter, as the name indicates, is used to construct the Butterworth IIR filter.
The function designfilt can be used ...
2
votes
Should I be using FFT
According to the scipy.fft doc page, if you don't specify the FFT size it will use FFT size equal to the length of the input. At sampling rate of 256 Hz and input size of 100 samples, each frequency ...
2
votes
Accepted
What's actually inside these EEG values?
Accessing the data requires a login that I don't have, so here is a wild guess.
It looks like the Matlab data is indeed in $\mu V$ but with a very large DC bias (which is fairly common for EEG signals)...
1
vote
DWT versus band-pass filter
With high probability, the band-pass filter.
DWT are invertible non-redundant discrete transformations that decompose data onto iterated low- and high-pass filters. Hence, the bands limits are mostly ...
1
vote
Compute phase coherence between two eeg signals
Perhaps the built-in 'mscohere' and 'cpsd' functions may help you.
The mscohere function returns a value between 0 and 1 that measures the correlation between the signals, and the phase delay can be ...
1
vote
EEG Power at specific time points
is your butterworth filtered signal in the alpha band already?
if so power is just the square of the signal at each timepoint.
if not, compute a fft on a sliding window (stft, as yunque mentioned) ...
1
vote
Accepted
What is QEEG technically, and how is it computed?
qEEG or quantitative EEG is an umbrella term that encompasses many different signal processing methods that compute a number/statistic/quantitative biomarker from EEG signal traces. Algorithms usually ...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
eeg × 143python × 24
filters × 22
signal-analysis × 22
fft × 21
matlab × 20
power-spectral-density × 14
bandpass × 14
wavelet × 10
ica × 10
discrete-signals × 7
fourier-transform × 7
filter-design × 7
noise × 7
time-frequency × 7
continuous-signals × 6
frequency × 6
machine-learning × 5
scipy × 5
preprocessing × 5
finite-impulse-response × 4
filtering × 4
spectrogram × 4
feature-extraction × 4
array-signal-processing × 4