how to extract non-linear features like Lyapunov exponent or Fractal or correlation dimensions from an EEG signal?
5 views (last 30 days)
Show older comments
Hi everyone,
i just started preprocessing process for applying on my EEG signal in matlab, i denoised it with 50Hz notch and [0.4 45] Hz bandpass filter, so actually, my signal has been denoised and now, its time to do feature extraction.
since its my graduation thesis, i need non-linear feature extraction such as Lyapunov exponent or Fractal or correlation dimensions and entropy but i've searched alot in youtube and learning websites but i couldn't find anything related.
is there someone who could help me?
I will be very thankful if someone could help me,
i will write my denoising code in here...
clc
clear all
close all
% -------------------------------------------------------------
% displaying the original Signal without preprocessing
% -------------------------------------------------------------
load('C:\Users\Alireza\Desktop\alireza\signal processing- payan name\data.mat')
signal1=c_memory(2,:);
clear c_baste_1; clear c_baz_1;
Fc=50;
Fs=256;
L=length(signal1);
T=1/Fs;
k=floor(L/256);
t=(0:L-1)/256;
NFFT = 2^nextpow2(L); % Next power of 2 from length of y
f = Fs/2*linspace(0,1,NFFT/2);
fft_signal= fft(signal1,NFFT)/L;
figure;plot(f,2*abs(fft_signal(1:NFFT/2)))
title ('Noisy Signal');
xlabel('Frequency(Hz)'); ylabel('Voltage(mV)');
% ------------------------------------------------------------
% Denoising 50 Hz of Artifact
% ------------------------------------------------------------
wo = 50/(Fs/2); bw = wo/10;
[cf5,cf6] = iirnotch(wo,bw);
signal1_2=filtfilt(cf5,cf6,signal1);
fft_signal2= fft(signal1_2,NFFT)/L;
figure(2);plot(f,2*abs(fft_signal2(1:NFFT/2)))
title ('Denoising 50 Hz');
xlabel('Frequency(Hz)'); ylabel('Voltage(mV)');
% ------------------------------------------------------------
% applying [0.4 45]Hz Bandpass Filter
% ------------------------------------------------------------
f_filter = fdesign.bandpass('n,fc1,fc2',6,0.5,45,256);
Hd = design(f_filter, 'butter');
signal_filter_1=filter(Hd,signal1_2);
fft_signal_3= fft(signal_filter_1,NFFT)/L;
figure(3);plot(f,2*abs(fft_signal_3(1:NFFT/2)));
title ('Denoised Signal');
xlabel('Frequency(Hz)'); ylabel('Voltage(mV)');
clc;
% ------------------------------------------------------------
%
% ------------------------------------------------------------
0 Comments
Answers (0)
See Also
Categories
Find more on EEG/MEG/ECoG in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!