Index of /~gari/CODE/HRV

      Name                    Last modified       Size  Description

[DIR] Parent Directory 19-May-2009 15:42 - [   ] CliffordHRVtools.zip 22-Feb-2007 17:07 34k [   ] Feb3snap.tar 22-Feb-2007 17:45 60k [TXT] KaplanHRV.html 22-Feb-2007 17:43 2k [   ] KaplanHRVtools.zip 22-Feb-2007 17:02 21k [TXT] authors.html 22-Feb-2007 17:43 1k [TXT] donate.html 22-Feb-2007 17:43 1k [TXT] download.html 22-Feb-2007 17:43 1k [   ] emd.m 19-Aug-2008 00:19 3k [TXT] funindex.html 22-Feb-2007 17:43 1k [   ] rr0.dat 17-Apr-2007 13:35 9k [TXT] tutorial.html 22-Feb-2007 17:43 3k [TXT] warning.html 22-Feb-2007 17:43 2k

% KaplanHRVtools.zip is a collection of ECG HRV analysis algorithms for use
% with Matlab written by Danny Kaplan:
% http://www.macalester.edu/~kaplan/hrv/doc/index.html
% The local page KaplanHRV.html is a copy of this page from Feb 2007.
%
% Please register with Danny Kapaln if you download and/or use these algorithms.
% Please also read ./warning.html and refer to ./download.html
% 
% 
% Clifford HRVtools.zip is a collection of ECG HRV analysis algorithms for use
% with Matlab mostly by Gari Clifford and available under the GNU
% public license (see bottom of this file).  They are not intended for any use
% except as a reference to my PhD work. Some unpublished results are
% in the code, which you are welcome to expand upon, but please reference
% me if you do. 
% 
% They are not intended as optimal algorithms, but they're not bad.....
% Please don't blame me if anything goes wrong - but feel free to
% email me and ask questions, which I'll answer if I have time
% Gari Clifford (gari@ieee.org) 
%
% You may also be interested in the ../ECGtools/ software too, which
% includes:
%
% calc_lfhf.m   - calculates the LF/HF ratio, LF and HF metrics       
% lomb.m        - calculates the Lomb-Scargle periodogram 
%                 (PSD for unevenly sampled signals)  
% rpeakdetect.m - finds R peaks in ECG - see rrextract
% rrextract.m   - runs over rpeakdetect to extract RR intervals
% clean_hrv4.m  - removes abnormally timed beats     
% clean_RR_RS.m - removes abnormally timed & shaped beats     
% example.m     - an example file to run all this     
% maxjiggle.m   - finds peaks if the fiducial point is slightly off
% interp_RR.m   - interpolates an unevenly sampled signal by your favourite 
%                 (ad hoc) method. NOT recommended - it just introduces 
%                 errors into a PSD calculation - use the Lomb-Scargle 
%                 method, it's so much better.
% filterECG256Hz.m    - ECG, 256Hz, Least Sq. FIR LP & HP filters 
%                       (cascaded) 70dB 0.05-40Hz 1dB ripple
% filterECG128Hz.m    -  ECG, 128Hz, Least Sq. FIR LP & HP filters 
%                       (cascaded)  70dB 0.05-40Hz 1dB ripple
% lfhf_sliding_win.m  - calculates a time series of LF/HF values by 
%                       sliding a window across the data
%                      sliding a window across the data
%
% generate_rr_with_FM.m       - Creates an artificial RR interval
%                               time series
%
% down_sample_realistically.m - takes an evenly sampled time series
%                               and extracts a plausible (irregularly
%                               sampled) RR interval time series
% ECGfilterTimeAlignedSVD.m   - uses a QRS detector and SVD to filter ECG
% select_train.m              - makes a matrix of fiducual point centered
%                               P-QRS-T complexes.
% recon_ECG.m                 - unwraps a matrix of fiducual point centered
%                               P-QRS-T complexes into a 1-D signal
% svdFilter.m                 - filters data using SVD - variant of ECGfilterTimeAlignedSVD.m
% parabolic_filter.m          - Parabolic Filter for baseline subtraction
% wienerFilter.m              - Wiener filtering for the ECG
% plotWiener.m                - plots the spectral response of wienerFilter.m
% wavelet_decompose.m         - A wavelet filter for ECG analysis by Nick Hughes
% wabp.m                      - James Sun's version of Wei Zong's wabp.c (on www.physionet.org)
%                                   (i.e. - a QRS detector for blood pressure signals)
%
% snr.m                       - calcualtes the signal to noise ration in dB
% 
% conv_norm_annot.c  ... this C-prog parses the output of the WFDB 
% rdann program to extract the Normal to Normal intervals and puts 
% it in a readable format for Matlab - read the header for details
% conv_sleep_annot.c  ... as above, but works on sleep staging...  
% - again, read the header for details, and type:
% type readme 
%
% This software is offered freely and without warranty under the 
% GNU public license. Please don't blame me if anything goes wrong :)
%
% gari@ieee.org
 

%    These programs are free software; you can redistribute them and/or modify
%    them under the terms of the GNU General Public License as published by
%    the Free Software Foundation; either version 2 of the License, or
%    (at your option) any later version.
%
%    These programs are distributed in the hope that they will be useful,
%    but WITHOUT ANY WARRANTY; without even the implied warranty of
%    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
%    GNU General Public License for more details.
%
%    You should have received a copy of the GNU General Public License
%    along with this program; if not, write to the Free Software
%    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
%

% Most of these m-files and their dependents should be freely available from 
% Physionet -  http://www.physionet.org/ - in the near future... but please
% report any bugs to gari@ieee.org



% Change Log
% ----------
% Robert Tratnig at Graz Uni added the following comments and changes:
%
% clean_hrv_4.m:
% I have added a line that says "stp=0;".
% I call this line "38".
% According to this indication I added lines 38,39,40,43,44,45,47,50,51,82.
% Additionally I have altered line 40 (I added a condition: "(stp==0) & ".
% 
% The same scheme I have applied to clean_RR_RS.m
% Here I call the line that says "stp=0;" line "51".
% In that context I added lines 51,52,53,56,57,58,60,61,62,102.
% Also here I have altered a line: 54 (I added a condition: "(stp==0) & ".
% 
% I have to do this because of the following reason:
% When analyzing the file cu06.dat of the Creighton University Databank (CU_DB)
% in the MIT-data collection, the parameter transfered to this function
% clean_hrv4.m and clean_RR_RS.m (temp_hrv) was just a 3 rows long array of 2
% columns. Additionally no row satisfied the condition of the while loop, so I
% had an error called "Index exceeds matrix dimensions". 
%
% Many thanks for that Rob!
%
%
%

% ToDo
% ----
%
% - vectorise lomb.m ... currently very slow. this code was emailed to
%   me sometime in the past by a colleague who obtained it freely from the
%   internet. I have made minor modifications but have so far failed to have 
%   time (or sufficient reason) to vectorise it (lomb.c does the job!)
%
% - Add optimisation routine to make either end of RR tachogram window 
%   have same mean and gradient within a tolerance as per Schreiber's
%   surrogate window matching.