Filter löschen
Filter löschen

1 ECG signal contains 2 ECG (2 channel), what is the best way to contain atrial activities from QRS complex and ventricular activities.

7 Ansichten (letzte 30 Tage)
Im trying to write a code to detect Atrial Fribrillation using Hilbert Huang Transform.
now my sum of IMFs does not match with my original ECG signal(grey is original data red is sum of IMFs), Im suspecting that is because I didn't load the ECG data correctly into Matlab.
when I download the ECG from Physionet, it contains 2 ECG in 1 signal. as shown in figure(2ECG).the red line is QRS blue is ventricular activity. I just subtract the 2 ECG to contain Atrial Activities. however, I dont think is most accurate way to do so. i attached the Matlab figure and ECG signal, please check.
could anyone point me to the right direction? thank you!
clear all
close all
dataaf=load("AFn07m.mat"); % AF signal
datan=load("normal.mat"); % Normal
xc=resample(xc,n,1); %Resample ECG at n times original sampling rate
t = (0:length(xc)-1)/sFreq; %time value of any sample = [sample no./Fs]
xlabel('Time [s]')
hold on

Antworten (1)

Shivansh am 9 Feb. 2024
Hi Dilinuier!
It appears that you are trying to analyze ECG signals to detect Atrial Fibrillation (AF) using the Hilbert-Huang Transform (HHT), and you're having issues with the reconstruction of the original signal from its Intrinsic Mode Functions (IMFs).
You are on the right path with Hilbert-Huang Transform. I think you are loading the data correctly but simple subtraction might not be the most accurate method to separate atrial activity from ventricular activity in a dual-channel ECG. You can explore advanced techniques like PCA if the atrial and ventricular activities are uncorrelated and can be separated linearly for this purpose. You can read more about PCA using Matlab here
For the sum of IMFs part, you can ensure that the EMD part of the HHT is implemented correctly. The sum of all IMFs should reconstruct the original signal if the EMD is done correctly. you might need to adjust the stopping criteria or the shifting process if there is any error. You can refer to the following documentation to learn more about "emd" in Matlab
I hope it resolves the issue.




Community Treasure Hunt

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

Start Hunting!

Translated by