How to filter an entire dataset of ecg signals

조회 수: 8 (최근 30일)
Sabaudian
Sabaudian 2022년 6월 14일
편집: Sabaudian 2022년 6월 16일
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.

채택된 답변

Konrad
Konrad 2022년 6월 15일
편집: Konrad 2022년 6월 15일
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

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Digital Filter Analysis에 대해 자세히 알아보기

제품


릴리스

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by