How to filter an entire dataset of ecg signals

8 vues (au cours des 30 derniers jours)
Sabaudian
Sabaudian le 14 Juin 2022
Modifié(e) : Sabaudian le 16 Juin 2022
I'm learning Matlab so I am a bit lost. Basically I need to download a dataset of ecg signal and than I have to apply with filtfilt function a Band Pass Butterworth Filter of Third Order (1-30 Hz) on all the signal in the dataset.
I have download the dataset from physionet.org (the one I have attached) than I don't know what to do. I need simply to import the file into Matlab or there is another way to manage a dataset? Then, How can I apply the filter to all the signals in the dataset?
I don't want you to write for me the code, I'm just asking for guidance on how to procede or what kind of sources I can consult to help me understand what to do.

Réponse acceptée

Konrad
Konrad le 15 Juin 2022
Modifié(e) : Konrad le 15 Juin 2022
Hi
basically, you already described what to do:
  • use load to import the data
  • use designfilt to get filter parameters --- EDIT: use butter to design a butterworth filter
  • use filtfilt to apply the filter
  • wrap a for-loop around everything to process all time series
  • if you unzipped the files into datapath, use files = dir(fullfile(datapath,'*.mat')) to get a structure array with all filenames and then apply your for-loop on these files:
for fileIdx = 1:numel(files)
data = load(fullfile(datapath, files(fileIdx).name));
...
end
Best, Konrad

Plus de réponses (0)

Produits


Version

R2021b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by