L'extraction de l'EEG Composants de Signal au sein de MATLAB

J'ai un simple signal EEG dans MATLAB tels que celui représenté dans la figure ci-dessous. Et ce que je voulais, c'était d'extraire les composants de l'EEG, selon le tableau suivant.

  • Delta - jusqu'à 4 Hz;
  • Thêta - 4 -> 8 Hz
  • Alpha - 8 -> 13 Hz
  • Bêta - 13 -> 30 Hz
  • Gamma - 30 -> 100 Hz

Dans une première tentative pour résoudre ce problème j'ai essayé de construire un filtre passe-bande avec 'fdatool" de MATLAB pour extraire le composant' theta 'signal, mais sans succès.

Le long de joint le code pour le filtre obtenu avec le "fdatool'.

function Hd = filt_teta
%FILTROPARA TETA Returns a discrete-time filter object.

%
% M-File generated by MATLAB(R) 7.9 and the Signal Processing Toolbox 6.12.
%
% Generated on: 05-May-2011 16:41:40
%

% Butterworth Bandpass filter designed using FDESIGN.BANDPASS.

% All frequency values are in Hz.
Fs = 48000;  % Sampling Frequency

Fstop1 = 3;           % First Stopband Frequency
Fpass1 = 4;           % First Passband Frequency
Fpass2 = 7;           % Second Passband Frequency
Fstop2 = 8;           % Second Stopband Frequency
Astop1 = 80;          % First Stopband Attenuation (dB)
Apass  = 1;           % Passband Ripple (dB)
Astop2 = 80;          % Second Stopband Attenuation (dB)
match  = 'stopband';  % Band to match exactly

% Construct an FDESIGN object and call its BUTTER method.
h  = fdesign.bandpass(Fstop1, Fpass1, Fpass2, Fstop2, Astop1, Apass, ...
                      Astop2, Fs);
Hd = design(h, 'butter', 'MatchExactly', match);

Des suggestions comment je peux résoudre le problème?

Merci à tous

OriginalL'auteur Ricardo Frederico Leote Mota | 2011-05-05