[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Poincaré plot quantification

From: Samir Sharshar
Subject: Poincaré plot quantification
Date: Fri, 15 Oct 2004 21:49:17 +0200


I know that the subject is not really relevant in this mailing list, but I hope someone who's working on biomedical signals helps me.

I'm currently analyzing Heart Rate Variability (HRV). Study of HRV is lot of interest because it may leads to early diagnosis of myocardical infarction or sudden death. Methods of analysis call both to linear and non linear tools.

The raw signal is formed by the RR intervals (ie the time between two spikes R on the electrocardiogram) or tachogram.

Poincaré plot is drawn by plotting the RR at time i vs RR at time i-lag (lag usually between 1 and 4). Typically a Poincare plot draw an ellipse. Two indices are calculated from the graph.

The first (called in the medical litterature SD2) seems to take into account the differences between the markings and the transversal axe. The second (called SD1) idem with the longitudinal axe.

To compute SD1 and SD2 I write the following function :

function  [SD1,SD2,ratio] = casado_poincare(x,lag)

    x = x';

        error('lag must be >= 1 and <= 4');

S1 = x(1+lag:size(x,1),1);
S2 = x(1:size(x,1)-lag,1);

# Longitudinal axis

p2 = polyfit(S1, S2, 1); # get the equation of a least square line
y2 = polyval(p2,[1:1:size(S1,1)]);
SD2 = std(y2'-S2); # compute the SD

# Transversal axis

p1 = polyfit(S1,flipud(S2),1);
y1 = polyval(p1,[1:1:size(S1,1)]);
SD1 = std(y1'-flipud(S2));

ratio = SD1/SD2;

I'm not sure that I'm computing SD1 and SD2 in the right way. I do not found in papers the detailed algorith to do so.

Thanks in advance,

Samir Sharshar MD
EA 2689-Inserm, Lille France

Octave is freely available under the terms of the GNU GPL.

Octave's home on the web:
How to fund new projects:
Subscription information:

reply via email to

[Prev in Thread] Current Thread [Next in Thread]