MATLAB File Help: edr View code for edr WFDB Contents
edr



function varargout=edr(varargin)

 edr(recordName,annotationFileName,win,signaList,outputAnnotator)

    Wrapper to the EDR function written by George Moody:
         http://www.physionet.org/physiotools/edr/edr.c

 Estimates a respiratory signal from an ECG signa using information on the
 QRS complex. No output variable is generated in the MATLAB workspace.
 Instead, an output annotation file is generate in the current directory
 with an *.edr extension but with same input record name. In the generated *.edr
 annotation files, the 'num' field of each beat annotation is replaced by
 an EDR sample.

 Reference: "Derivation of respiratory signals from multi-lead ECGs", pp. 113-116, Computers in Cardiology
1985.
  
 Required Parameters:

 recordName
       String specifying the name of the record.

 annotationFileName
       String specifying the name of the annotation file in which each
       beat (QRS complex) to be used by EDR has been labelled.


 Optional Parameters are:

 win
      A 2x1 vector of double specifying the window start and end times  in
      seconds. The default= [ 0.04 0.04], starts the estimation process
      0.04 seconds before and 0.04 seconds after the annotated beat.

 signaList
       A Nx1 vector of integers specifying which ECG signals to analyze.

 outputAnnotator
       A String specifying the ouput annotator name (default = 'edr').

  Wrapper written by Ikaro Silva, 2013
  Last Modified: January, 21, 2014
 Version 0.0.1

 Since 0.9.5

 %Example 1-
 %Note!!: This example will generate a subdirectory called mitdb
 %in your current directory. This is where the QRS and EDR annotations 
 %will be stored and read relative to the current directory
 
 display('Generating SQRS annotation...')
 sqrs('mitdb/100');
 display('Generating EDR annotation...')
 edr('mitdb/100','qrs');
 display('Reading EDR annotation...')
[ann,type,subtype,chan,num]=rdann('mitdb/100','edr');
display('Ploting Normalized ECG and EDR signals')
[tm,signal]=rdsamp('mitdb/100',[],3000);
num(ann>3000)=[];ann(ann>3000)=[];
plot(tm(1:3000),signal(1:3000,1)./max(signal(:,1)));hold on;grid on
plot(tm(ann),num/max(num),'ro-');


 See also WFDBDESC, PHYSIONETDB, RDANN, WRANN SQRS, WQRS