Skip to content

Universal Parameters

Peter Charlton edited this page Dec 7, 2017 · 44 revisions

The Universal Parameters are a set of parameters which are used throughout the toolbox. The File Paths are the only settings which must be set by each user to ensure that the analysis runs smoothly on their computer. All other settings can be left alone unless you want to alter the analysis configurations:

File Paths

These are easily found towards the top of setup_universal_params.m, and should be specified for your specific computer.

Speeding up the Toolbox

The toolbox contains many algorithms, and by default it runs all of the algorithms. If you want to speed up the toolbox then I'd recommend disabling some of the more time consuming algorithms. This can be quickly achieved by adjusting the following lines of the Universal Parameters:

  • up.al.options.FMe = {'am', 'fm', 'bw', 'bwm', 'pk', 'on', 'qrsW', 'qrsA', 'pca', 'pulW'}; should be replaced with: up.al.options.FMe = {'am', 'fm', 'bw'}; . In particular, the 'pca' technique is particularly time-consuming.
  • up.al.options.estimate_rr = {'FTS', 'ARS', 'ARM', 'ARP', 'ARPz', 'ACF', 'WCH', 'PKS', 'ZeX', 'PZX', 'CtO', 'CtA'}; should be replaced with: up.al.options.estimate_rr = {'FTS', 'CtO'};

Algorithms

Further down the setup_universal_params.m you will find a section titled "Specify the components of RR algorithms to be tested". The settings in this section specify which algorithms will be run. The following settings are recommended to run the full set of algorithms:

Specify the stages of the algorithms:

Here, it is important to understand that the algorithm toolbox is based on the assumption that all RR algorithms can be separated into three fundamental stages:

  1. extraction of a respiratory signal (a time series dominated by respiratory modulation),

  2. estimation of RR from that respiratory signal, and optionally

  3. fusion of multiple RRs to provide one output.

Specification of the first two is compulsory, extract_resp_sig and estimate_rr. The third component, fuse_rr, is optional. For instance, to specify the simplest possible algorithms, without fusion, use:

up.al.key_components = {'extract_resp_sig', 'estimate_rr'};

Alternatively, the additonal fusion stage can be added using:

up.al.key_components = {'extract_resp_sig', 'estimate_rr', 'fuse_rr'};

Further details on the stages of the algorithms are provided in this publication.

## Specify the methods for extraction of respiratory signals: Techniques for extraction of respiratory signals have been categorised into one of two methods: filter-based extraction, and feature-based extraction. Filter-based extraction includes techniques such as band-pass filtering to eliminate non-respiratory frequencies, and wavelet decomposition. Feature-based extraction consists of extracting a measurement, such as pulse wave amplitude, from each cardiac cycle. Any number of the following approaches, consisting of signal and respiratory signal extraction method, can be specified:

`up.al.options.extract_resp_sig = {'ekg_filt', 'ppg_filt', 'ekg_feat', 'ppg_feat'};`

Further details on the methods for extraction of respiratory signals are provided in [this publication](http://peterhcharlton.github.io/RRest/yhvs_assessment.html). ## Specify the components for feature-based extraction of respiratory signals: If you choose to include the feature-based method for extraction of respiratory signals then you will need to specify (or leave alone) the components contained within this method for each signal:

  1. Elimination of high frequencies (EHF);

  2. PPG pulse peak or R-spike detection (PDt or RDt);

  3. Fiducial point identification (FPt);

  4. Feature Measurement (FMe);

  5. Re-sampling (RS);

  6. Elimination of low frequencies (ELF).

These are specified for each signal using the following: up.al.sub_components.ppg_feat = {'EHF', 'PDt', 'FPt', 'FMe', 'RS', 'ELF'};

up.al.sub_components.ekg_feat = {'EHF', 'RDt', 'FPt', 'FMe', 'RS', 'ELF'};

It is recommended that these are left alone. Further details on the components for feature-based extraction of respiratory signals are provided in this publication.

Specify the interchangeable technique(s) to be used for each component of feature-based extraction of respiratory signals:

Now that the components of feature-based extraction have been specified, you can specify which technique(s) you would like to use for each component. If you specify multiple techniques for any component, then the code will run all possible combinations of the specified techniques. At least one techniques should be specified for each of the following components:

Beat detection

One PPG Pulse peak detector has been implemented: the Incremental-Merge Segmentation algorithm presented in this publication.

up.al.options.PDt = {'IMS'};

One ECG Beat detector has been used with the toolbox: the rpeakdetect.m function written by Prof G. Clifford, which is available here.

up.al.options.RDt = {'GC'};

Feature Measurement

Several techniques for measurement of features in ECG and/or PPG signals have been implemented. A brief description of each technique is provided in this publication. Use the following to specify all implemented techniques:

up.al.options.FMe = {'am', 'fm', 'bw', 'bwm', 'pk', 'on', 'qrsW', 'qrsA', 'pca', 'pulW'};

The techniques are as follows:

  1. Amplitude Modulation (am , ref)

  2. Frequency Modulation (fm , ref)

  3. Baseline Wander (bw , ref)

  4. Mean Baseline Wander (bwm , ref)

  5. Peak Amplitude (pk , ref)

  6. Trough Amplitude (on , ref)

  7. QRS duration (qrsW , ref)

  8. QRS area (qrsA , ref)

  9. Principle Component Analysis (pca , ref): note that for this the freely available toolbox written by the LS-SVMlab, here, was used.

  10. PPG Pulse Width (pulW , ref)

Re-sampling

Next the irregularly-sampled feature-based respiratory signals are resampled at a constant sampling rate using linear, interpolation, cubic spline interpolation, or Berger's method. These techniques can be optionally followed by band-pass filtering if desired, by adding B to the end of the name. The possible options are:

up.al.options.RS = {'lin', 'linB', 'cub', 'cubB', 'brg', 'brgB'};

Specify the interchangeable techniques for filter-based extraction of respiratory signals:

Similarly, the techniques to be used for filter-based extraction of respiratory signals must be specified. A brief description of each technique is provided in this publication. Use the following to specify all implemented techniques for use on both ECG and PPG signals:

up.al.options.ekg_filt = {'Wfm', 'Wam', 'CCF', 'BFi'};

up.al.options.ppg_filt = {'Wfm', 'Wam', 'CCF', 'BFi'};

The techniques are as follows:

  1. Band-pass filtering (BFi , ref)

  2. Filtering using the centred-correntropy function (CCF , ref)

  3. Wavelet extraction of frequency modulation (Wfm , ref)

  4. Wavelet extraction of amplitude modulation (Wam , ref)

Specify the interchangeable technique(s) for RR Estimation

The techniques to be used for estimation of RRs from respiratory signals must be specified. A brief description of each technique is provided in this publication. Use the following to specify all implemented techniques for use on both ECG and PPG signals:

up.al.options.estimate_rr = {'FTS', 'ARS', 'ARM', 'ARP', 'ARPz', 'ACF', 'WCH', 'PKS', 'ZeX', 'PZX', 'CtO', 'CtA'};

The techniques can be split into frequency- and time-domain techniques. The frequency-domain techniques are as follows:

  1. Fourier Transform (FTS , ref)

  2. Auto-regressive spectral analysis (ARS, ref)

  3. Auto-regressive spectral analysis using the median spectrum for orders 2-20 (ARM, ref)

  4. Auto-regressive all-pole modelling (ARP, ref)

  5. Auto-regressive all-pole modelling with the lowest frequency pole corresponding to RR (ARPz, ref)

  6. Autocorrelation Function (ACF, ref)

  7. Welch Periodogram (WCH, ref)

The time-domain techniques are as follows:

  1. Peak detection (PKS)

  2. Zero-crossing breath detection (ZeX, ref)

  3. Combined breath detection using both peak detection and zero-crossings (PZX, ref

  4. Count-orig (CtO, ref)

  5. Count-adv (CtA, ref)