Filter löschen
Filter löschen

I am working on eeg signals. In feature extraction process,I want to subdivide the spectrum into frequency subbands. Plz suggest me how to do so.

2 Ansichten (letzte 30 Tage)
Hello sir, I am working on data (Subject1_1D)available on website. On that,I want to apply autoregressive method by yule-walker algorithm which is applied to estimate the PSD.Now, it is required to divide the spectrum into frequency subbands and then calculate the relative spectral power(RSP). I don't understand how to get the subbands of the spectrum. Plz guide me.

Antworten (1)

Wayne King
Wayne King am 18 Jun. 2013
Bearbeitet: Wayne King am 18 Jun. 2013
If I understand your methodology, you are obtaining an AR spectral estimate using the Yule-Walker method and then you want to split that AR PSD estimate into subbands.
In MATLAB, I'll assume you are using pyulear()
If you input the sampling frequency into pyulear(), then you can obtain a frequency vector in cycles/unit time. I'll assume that is cycles\second here (Hz).
You can then easily use that frequency vector to partition the PSD estimate into the desired subbands in Hz.
For example, I'll create a signal and assume it's sampled at 1 kHz. To extract the 100-200 Hz band of the AR PSD estimate:
x = randn(1000,1);
y = filter(1,[1 1/2 1/3 1/4 1/5],x); %AR(4) model
[pxx,f] = pyulear(x,4,length(y),1000);
df = f(2)-f(1);
beginidx = floor(100/df)+1;
endidx = floor(200/df)+1;
subband_100_200 = pxx(beginidx:endidx);

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by