Processing and identifying noises in EEG signal
I’m working on a final project of processing the EEG signal from a 24-day-old infant. The data file is in .edf format, and I’ve extracted and plotted it as a time series. You can find the data file here: https://file.io/3fWPetZYclsH.
The project’s requirements are:
Analyze the data to identify signal and noises.
Design filters to eliminate the DC component, Electricity noise, and others (if contaminated).
My first approach was to use the power spectral density (PSD), but this idea was rejected as my professor wanted us to use more fundamental algorithms like DFT of Hibert-Huang Transform (HHT). Another problem with my prior work was that my filtered data lost all of the data after a a specific frequency, which my professor attributed to using a ‘second-order’ filter. Below is my attempt on creating the filters. The two tasks i need help is:
Use DFT and/or HHT to identify signal and noises. It is strictly required to identify where the noises are.
Designing filters that effectively eliminate noise without losing essential data points.
I’d appreciate any guidance from anyone. Thank you in advance for your assistance!
def highpass_filter(data, sfreq, cutoff=0.5):
nyquist = 0.5 * sfreq
normal_cutoff = cutoff / nyquist
b, a = butter(1, normal_cutoff, btype=’high’, analog=False)
return filtfilt(b, a, data)
def notch_filter(data, sfreq, freq=50.0, quality=30.0):
nyquist = 0.5 * sfreq
notch_freq = freq / nyquist
b, a = iirnotch(notch_freq, quality)
return filtfilt(b, a, data)
def bandpass_filter(data, sfreq, lowcut=0.5, highcut=8.0):
nyquist = 0.5 * sfreq
low = lowcut / nyquist
high = highcut / nyquist
b, a = butter(1, [low, high], btype=’band’)
return filtfilt(b, a, data)I’m working on a final project of processing the EEG signal from a 24-day-old infant. The data file is in .edf format, and I’ve extracted and plotted it as a time series. You can find the data file here: https://file.io/3fWPetZYclsH.
The project’s requirements are:
Analyze the data to identify signal and noises.
Design filters to eliminate the DC component, Electricity noise, and others (if contaminated).
My first approach was to use the power spectral density (PSD), but this idea was rejected as my professor wanted us to use more fundamental algorithms like DFT of Hibert-Huang Transform (HHT). Another problem with my prior work was that my filtered data lost all of the data after a a specific frequency, which my professor attributed to using a ‘second-order’ filter. Below is my attempt on creating the filters. The two tasks i need help is:
Use DFT and/or HHT to identify signal and noises. It is strictly required to identify where the noises are.
Designing filters that effectively eliminate noise without losing essential data points.
I’d appreciate any guidance from anyone. Thank you in advance for your assistance!
def highpass_filter(data, sfreq, cutoff=0.5):
nyquist = 0.5 * sfreq
normal_cutoff = cutoff / nyquist
b, a = butter(1, normal_cutoff, btype=’high’, analog=False)
return filtfilt(b, a, data)
def notch_filter(data, sfreq, freq=50.0, quality=30.0):
nyquist = 0.5 * sfreq
notch_freq = freq / nyquist
b, a = iirnotch(notch_freq, quality)
return filtfilt(b, a, data)
def bandpass_filter(data, sfreq, lowcut=0.5, highcut=8.0):
nyquist = 0.5 * sfreq
low = lowcut / nyquist
high = highcut / nyquist
b, a = butter(1, [low, high], btype=’band’)
return filtfilt(b, a, data) I’m working on a final project of processing the EEG signal from a 24-day-old infant. The data file is in .edf format, and I’ve extracted and plotted it as a time series. You can find the data file here: https://file.io/3fWPetZYclsH.
The project’s requirements are:
Analyze the data to identify signal and noises.
Design filters to eliminate the DC component, Electricity noise, and others (if contaminated).
My first approach was to use the power spectral density (PSD), but this idea was rejected as my professor wanted us to use more fundamental algorithms like DFT of Hibert-Huang Transform (HHT). Another problem with my prior work was that my filtered data lost all of the data after a a specific frequency, which my professor attributed to using a ‘second-order’ filter. Below is my attempt on creating the filters. The two tasks i need help is:
Use DFT and/or HHT to identify signal and noises. It is strictly required to identify where the noises are.
Designing filters that effectively eliminate noise without losing essential data points.
I’d appreciate any guidance from anyone. Thank you in advance for your assistance!
def highpass_filter(data, sfreq, cutoff=0.5):
nyquist = 0.5 * sfreq
normal_cutoff = cutoff / nyquist
b, a = butter(1, normal_cutoff, btype=’high’, analog=False)
return filtfilt(b, a, data)
def notch_filter(data, sfreq, freq=50.0, quality=30.0):
nyquist = 0.5 * sfreq
notch_freq = freq / nyquist
b, a = iirnotch(notch_freq, quality)
return filtfilt(b, a, data)
def bandpass_filter(data, sfreq, lowcut=0.5, highcut=8.0):
nyquist = 0.5 * sfreq
low = lowcut / nyquist
high = highcut / nyquist
b, a = butter(1, [low, high], btype=’band’)
return filtfilt(b, a, data) signal processing, fft, dft, hht, filter, medical, eeg, homework MATLAB Answers — New Questions