こんにちは、EEG ヘッドセットから記録された EDF データから特定のチャネルをプロットしようとしています。現時点では、すべてのチャネルを一緒にプロットしていますが、これは非常に乱雑に見えます。
これは、edfread をフィルタリングして使用し、edf データを取得するスクリプトです。
clc
clear all
close all
%Convert data from edf to Matlab
[header, data] = edfread('Subject2.edf');
hFs = 128; % half of sampling rate of Emotiv EEG
%design elliptic filter
Wp = [8/64 12/64]; %passband
Ws = [7/64 13/64]; %stopband
Rp = 1; %ripple in the pass band
Rs = 30; %stopband attenuation
[N, Wn] = ellipord(Wp, Ws, Rp, Rs);
[B, A] = ellip(N, Rp, Rs, Wp);
%averaging to remove common noise
for i=1:36
datan(i,:)=data(i,:)-mean(data);
end
%filtering of entire data into alpha band
data_alpha = filtfilt(B,A,datan);
edf read を使用した後の EDF データのコードは次のとおりです。これを返します。
header =
ver: 0
patientID: '2 '
recordID: '2 '
startdate: '14.07.16'
starttime: '04.41.41'
bytes: 9472
records: 1257
duration: 1
ns: 36
label: {1x36 cell}
transducer: {1x36 cell}
units: {1x36 cell}
physicalMin: [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
physicalMax: [1x36 double]
digitalMin: [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
digitalMax: [1x36 double]
prefilter: {1x36 cell}
samples: [1x36 double]
したがって、`plot(data_alpha) を使用すると、以下の画像が得られます。これは、すべてのチャネルをプロットしていると思われます。
edf ファイルの最後のチャネルであるフィルター処理された 'MARKER' データをプロットしたいと思います。これどうやってするの?