This online documentation provides a brief overview of how to use Ledalab of version 3 and higher. It will be extended continuously.
Additionally, a presentation on the Analysis of EDA data using Ledalab is provided. It includes an introduction into decomposition analysis of EDA data, and an overview of the functionality of Ledalab.

If you decide to use Ledalab in your research, please cite the relevant references.



The aim of Ledalab is to provide a decomposition of skin conductance (SC) data into its tonic and phasic components. The decomposition results in the extraction of unsuperposed response components and thus allows for an unbisaed quantification of SCR characteristics (e.g., SCR amplitude).
Both methods assume that there is a certain intraindividual stability of the general shape of the SCR. A physiologial model of two-compartment sweat diffusion suggests that the Bateman function (bi-exponetial function) may be adequate for describing this general response shape. The shape parameters of this response are estimated inter-individually.
The current version of Ledalab (V3.x) features two EDA analysis strategies:

(1) Continuous Decomposition Analysis (CDA):
This method extracts the phasic (driver) information underlying EDA, and aims at retrieving the signal characteristics of the underlying sudomotor nerve activity (SNA). SC data is deconvolved by the general response shape which results in a large increase of temporal precision. Then data is decomposed into continuous phasic and tonic components (Benedek & Kaernbach, 2010b). It is the method we generally recommend for the analysis of skin conductance data. It features the computation of several standard measures of phasic EDA. Moreover, straightforward measures such as the average (or integrated) phasic driver activity are provided.

(2) Discrete Decomposition Analysis (DDA):
This method decomposses SC data into distinct phasic components and a tonic component by means of Nonnegative Deconvolution. The method captures and explores all intraindividual deviations of the general response shape and computes a detailed full model of all components in the entire data set (Benedek & Kaernbach, 2010a). This method is especially suited for studies of physiological models of the SCR but may be slow for large data.

Standard phasic and tonic EDA measures are computed as well.

Restrictions and recommendations

Ledalab requires Matlab. It is currently tested for Matlab version R2011b but should also work for earlier versions.
The decomposition analysis relies on raw, unfiltered, DC recorded SC data.
The analysis (especially DDA) is time consuming and computation time (above all) corresponds to the total number of samples of the data. You can speed up the analysis by downsampling your data (sampling-rates of about 10 Hz appear sufficient) or cutting the data and keeping only relevant periods (see preprocessing functions). Moreover, you can use the batch-mode to automatically analyze all data files within a specified directory.
For the employment of DDA, artifacts have to be removed before analysis (see preprocessing functions).


Installation is easy. Simply extract the provided zip-file to any directory. Open Matlab and move to the Ledalab directory, where Ledalab.m should be located. Start Ledalab by typing Ledalab in the command window. All relevant directories will be added to the Matlab path automatically.

Opening/Importing/Saving data

Ledalab imports various data formats. It imports native file format of Varioport, Cassy Lab, and BioPac.
Ledalab also imports Ascii export formats of BioTrace, Vitaport, PortiLab, PsychLab, and the Matlab export of BioPac or Vision Analyzer.
Finally, Ledalab also imports text and Matlab data files which are organized in specific formats. Here you find an example
text file (Type 1) and an example Matlab file, which illustrate the required data organization in these formats.
The Ledalab import functionality shall be continuously extended. If you have Matlab-functions at hand which import file formats currently not included in Ledalab, your are invited to share them. These functions may then be added to the Ledalab import functionality and will become accessable via the Ledalab menu in upcoming versions.
For BioPac, you can use either a single event/marker-channel which features different marker-types, or you can use multiple event/marker-channels each representing one event-type. The channels can be selected automatically (if labelled GSR/EDA/SC or EVENT) or manually.


Preprocessing functions involve low-pass filtering, down-sampling, cutting, smoothing, and artifact-correction.

Decomposition Analysis

To analyze the data select Analysis – Continuous Decomposition Analysis or – Discrete Decomposition Analysis. It is recommended to optimize the analysis by clicking the Optimize button. You are also given the opportunity to manually optimize the analysis by altering the parameters in the decomposition window and clicking analyze again. But standard settings usually are ok. Click on Apply to accept the analysis and have the decomposition plotted.

Continuous Decomposition Analysis decomposes SC data into continuous tonic and phasic activity. This method is based on Standard Deconvolution, is comparatively fast and quite robust (artifacts).

Discrete Decomposition Analysis decomposes the SC data into a tonic component and discrete phasic components. The latter are further segregated into diffusion components and optional overshoot (or PO) components.


(1) Event-related Analysis:

Select Results - Export event-related activation. You can define a response window (e.g., 1 to 4 seconds after the event) and a minimum amplitude threshold (e.g., 0.01 muS). All SCRs meeting these criteria are considered when calculating event-related phasic parameters for each single event.
This analysis can be exported to Matlab, Text, or Excel.

Description of event-related variables:

(Labels used in exported files)
Event data Sequence number of event/marker
Event.nid Numerical ID of event Optional name or decription of event
Event.ud Optional userdata associated with event
Continuous Decomposition Analysis (CDA)
(Extraction of Continuous Phasic/Tonic Activity based on Standard Deconvolution)
CDA.nSCR Number of significant (= above-threshold) SCRs within response window (wrw)
CDA.Latency Response latency of first significant SCR wrw [s]
CDA.AmpSum Sum of SCR-amplitudes of significant SCRs wrw (reconvolved from corresponding phasic driver-peaks) [muS]
CDA.SCR Average phasic driver wrw. This score represents phasic activity wrw most accurately, but does not fall back on classic SCR amplitudes [muS]
CDA.ISCR Area (i.e. time integral) of phasic driver wrw. It equals SCR multiplied by size of response window [muS*s]
CDA.PhasicMax Maximum value of phasic activity wrw [muS]
CDA.Tonic Mean tonic activity wrw (of decomposed tonic component)
Discrete Decomposition Analysis (DDA)
(Extraction of Discrete Phasic/Tonic Components based on Nonnegative Deconvolution)
DDA.nSCR Number of significant (= above-threshold) SCRs within response window (wrw)
DDA.Latency Response latency of first significant SCR wrw [s]
DDA.AmpSum Sum of SCR-amplitudes of significant SCRs wrw (recomposed from corresponding phasic driver-peaks/overshoot) [muS]
DDA.AreaSum Sum of SCR-area of significant SCRs wrw (recomposed from corresponding phasic driver-peaks/overshoot) [muS]
DDA-Tonic Mean tonic activity wrw (of decomposed tonic component)
Standard trough-to-peak (TTP) or min-max analysis
TTP.nSCR Number of significant (= above-threshold) SCRs within response window (wrw)
TTP.AmpSum Sum of SCR-amplitudes of significant SCRs wrw [muS]
TTP.Latency Response latency of first significant SCR wrw [s]
Global Measures  
Global.Mean Mean SC value within response window (wrw)
Global.MaxDeflection Maximum positive deflection wrw

Mind: The event-related analysis will either include CDA or DDA measures (dependent on your analysis); but in any case classic TTP and Global measures are included so that they can be compared with CDA/DDA measures

(2) Export SCR-List:

Select Results - Export SCR-List. in order to export all SCR-onsets and amplitudes of above-threshold SCRs
The results can be exported to Matlab, Text, or Excel. Export to mat or xls is recommended as it includes results of CDA (DDA) and TTP.


The batch-mode is intended to analyze larger amounts of data automatically. It will simply be run from the Matlab command window. The basic idea is to apply Ledalab to a directory of data files and just handing over some settings. All data files in directory will then be processed one after the other, which can be run unattendedly. Finally, the batch-mode also generates a protocol.mat containing the main settings and outcomes of the batch analysis.

In the batch-mode you just have to define a target directory; further settings are optional. All settings that can not be specified explicitly will be set the way they were set the last time when using Ledalab (saved in personal settings).
After processing all files will be saved (i.e., overwritten) to the target directory. So you may want to have a copy of you raw data before analyzing them in batch-mode.

Overview of settings and respective options:

setting options description
open biotrace, biopac, biopacmat, cassylab, leda (default), varioport, visionanalyzer, vitaport, portilab, psychlab, mat, text (Type 1), text2 (Type 2) Define what file type to open
filter [filter_order, lower-cutoff frequency]; default = no filter applied Apply low-pass Butterworth filter with given settings, e.g. [1 5] for a 1rst order low-pass filter with 5Hz cutoff
downsample 0 (default) , 2+ Downsampling of data by a given factor

{type, width}

type: mean (moving average), hann (hanning window), gauss (gauss window), adapt (adaptive smoothing using gauss); width: width of smoothing window in samples (does not apply for adapt)

Perform data smoothing
analyze 'CDA' (Discrete Decomposition Analysis), 'DDA' (Continuous Decomposition Analysis) Type of Decomposition Analysis
optimize 2 (default), 1 - 6 Number of different sets of initial values to be considered in optimization

[respwin_start respwin_end amp_threshold (filetype)]

filetype: 1 (Matlab file = default), 2 (Text file), 3 (Excel file)

Export event-related activation

E.g., [1 4 .01 1] will use a response-window of 1 to 4 sec after the event, an minimum amplitude threshold criterion of 0.01 muS and export the results to a Matlab file


[amp_threshold (filetype)]

filetype: 1 (Matlab file = default), 2 (Text file), 3 (Excel file)

Export event-related activation

E.g., [.05 1] will export a list of detected SCRs using a minimum amplitude criterion of 0.05 muS to a Matlab file.

overview 0 (default), 1 Save decomposition result to jpg for easy control (boolean option)

Example 1:

Ledalab('P:\EDA_Data\', 'open', 'biotrace', 'downsample', 2, 'analyze','CDA', 'optimize',4, 'export_era', [1 4 .01 3])

... imports all Biotrace files from directory P:\EDA_Data\, downsamples them by factor 2 (e.g. from 32 Hz to 16 Hz), analyzes them by means of CDA (performing optimization of four initial values), exports the event-related data (for a response window of 1 to 4 sec after each marker, with an SCR amplitude threshold of .01 muS) to Excel-result files and saves them to Ledalab files (including data and analysis).

Example 2:

Ledalab('P:\EDA_Data\', 'open','leda', 'smooth',{'gauss',16}, 'analyze','DDA', 'optimize',3, 'overview',1)

... opens all Ledalab files from directory P:\EDA_DATA\, performes data smoothing using the gauss-method and a window width of 16 samples analyzes them by means of DDA (performing optimization of 3 different initial values), saves the Ledalab files (now including analysis), and saves an analysis overview to an image file.

Accessing analysis variables

Access the global leda2 (Matlab input: global leda2). You can now acces all analysis vars in leda2.analysis.


If you use Ledalab for you scientific work, please cite the following references:

Referring to Continuous Decomposition Analysis and/or General underestimation of peak detection methods:

- Benedek, M. & Kaernbach, C. (2010). A continuous measure of phasic electrodermal activity. Journal of Neuroscience Methods, 190, 80-91. [link]

Referring to Discrete Deconvolution Analysis and/or Physiological model of the the skin conductance response (SCR) (based on nonnegative deconvolution by a two-compartment diffusion model):

- Benedek, M. & Kaernbach, C. (2010). Decomposition of skin conductance data by means of nonnegative deconvolution. Psychophysiology, 47, 647-658. [link]

Here also you find research that cited those papers: JNM, PSYP