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 次查看(过去 30 天)
显示 更早的评论
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.
0 个评论
回答(1 个)
Wayne King
2013-6-18
编辑:Wayne King
2013-6-18
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);
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Parametric Spectral Estimation 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!