Nom

CDM_Analysis — Performs the analysis of a narrow band component of the RR signal using complex demodulation method.

Calling Sequence

results = CDM_Analysis(RR,Vt,freq_sampling,frequency_bounds,filterlength)
    results = CDM_Analysis(RR,freq,freq_sampling,frequency_bounds,filterlength)
    

Parameters

RR

a real vector of length N: The vector of re-sampled (see ResampleRR) interbeat intervals of the R waves in the electrocardiogram (ms).

Vt
a real vector of length N: The tidal volume respiratory signal (sampled at the same frequency as RR. Its slowly varying frequency gives the frequency reference. See the ??? section for details.
freq
a real positive scalar: that gives the frequency reference (in Hz) when Vt is not available. See the ??? section for details.
freq_sampling

a real positive scalar, the sampling frequency (in Hz) of the RR and Vtsignals.

frequency_bounds

a real row vector of length 2: the frequency range of interest (in Hz). See the ??? section for details.

filterlength
a real scalar with integer value: the order of the FIR Hamming band_pass filter. See the ??? section for details.
results
a typed list with type "RRA" with and with the following fields:
  • <term>time</term>: a real row vector of length N, the time discretization associated with the following signals.
  • <term>RR</term>: a real row vector of length N, the given RR signal
  • <term>Vt</term>: a real row vector of length N, the geiven Vt signal or the empty matrix.
  • <term>RRfiltered</term>: a real row vector of length N, the shifted band-pass filtered RR signal.
  • <term>IFreq</term>: a real row vector of length N, the instaneous frequency of the RR signal (in Hz).
  • <term>IAmp</term>: a real row vector of length N, the instaneous amplitude of the RR signal.
  • <term>IPhase</term>: a real row vector of length N, the evolution of the instaneous phase shift between the RR and Vt signals.

Description

CDM_Analysis Performs the analysis of a narrow band component of the RR signal using complex demodulation (CDM). It estimates the instanenous caracteristics (amplitude, frequency, phase, dispersion) of the RR signal. The base frequency can be given by a cosntant value or by an auxiliary signal which have a slowly varying frequency, like the respiration signal.

The returned data are shifted to make their time evolution comparable and easily drawn using the PlotSpectralAnalysis function.

Caution

  • <term>Vt</term> The results of CDM are reliable if the real Vt is available or if one can insure stable breathing in a narrow frequency band. In other cases SPWVD_Analysis is more suitable. See the examples below.

    The following demos illustrate cases of available Vt: Controlled breathing of control subject (RR & Vt), Controlled breathing of intensive care patient (RR & Vt), Free breathing of control subject (RR & Vt), Tilt test (RR & Vt), Apnea (RR & Vt). CDM and SPWVD instantaneous frequency and energy are superimposable.

    The following demos illustrate cases of not available Vt: Controlled breathing, control subject (RR), Handgrip (RR), Ergocycle (RR). For the controlled breathing, CDM and SPWVD instantaneous frequency and energy are superposable. But for ergocycle, the breathing frequency increase needs a large frequency band, [0.35 1.5] Hz, with a central frequency fixed to 0.7 Hz. In this case, CDM is not able to follow the real changes in breathing, unlike SPWVD.

  • <term>frequency_bounds</term> This argument is used to reduce the signal band around the effective respiratory frequency. the effective respiratory frequency can be estimated using the Time frequency interactive tool
  • <term>filterlength</term> The value of this parameter has to establish a compromise between the stiffness of the filter and the sensibility to local variations of the signal.

Examples

  • <term> Case where Vt is available </term>
        d=read(cardiovascularpath()+"demos/DATA/decubitus_03",-1,4)'; //read the data
        freq_sampling=4;
        RR=d(1,:);//RR signal
        Vt=d(3,:);//Tidal Volume signal
    
        //narrow band filter
        filterlength=355;
        frequency_bounds=[0.25 1.9];
        result=CDM_SPWVD_Analysis(RR,Vt,freq_sampling,frequency_bounds,filterlength); 
       
        PlotSpectralAnalysis(result,["RR","Vt"],"CDM decubitus_03")  // Draw results
        

    Produces:

  • <term> Case where Vt is not available and breathing frequency is varying</term>
        d=read(cardiovascularpath()+"demos/DATA/cycle_spont",-1,3)'; //read the data
        freq_sampling=8;
        RR=d(1,:);//RR signal
    
        filterlength=355;
        frequency_bounds=[0.35 1.5];
        f=scf(winsid()+1);
        res=CDM_SPWVD_Analysis(RR,0.7,freq_sampling,frequency_bounds,filterlength) 
        PlotSpectralAnalysis(res,"RR","Ergocycle rrpa-8Hz")  
        

    Produces:

    One can observe poor CDM results compared to SPWVD. SPWVD is here able to follow the frequency variations.

See Also

CDM_Analysis, SPWVD_Analysis, CDM_SPWVD_Analysis, PlotSpectralAnalysis, ComplexDemodulation

Authors

Alessandro Monti, INRIA (scicos version)
Serge Steer, INRIA

Bibliography

"Short-term control of the cardiovascular system: modelling and signal analysis". Alessandro Monti , Claire Médigue , Michel Sorine. Rapport de recherche n° 4427 April 12, 2002

"Instantaneous parameter estimation in cardiovascular time series by harmonic and time-frequency analysis", Alessandro Monti , Claire Médigue , Mangin Laurence,IEEE Trans Biomed Eng. 2002 Dec;49(12 Pt 2):1547-56.

"Instantaneous envelope and phase extraction from real signals: Theory, implementation, and an application to EEG analysis". Periklis Y. Ktonasa and Nicola Papp

Used Functions

ComplexDemodulation