Skin Conductance Peak Detection
by Carson Reynolds
Skin conductance provides interesting information about the psychological state of instrumented individuals. Previous Jennifer Healey had developed an algorithm to detect startle events and peaks in the skin conductance signal.
In some collaborative work with the Honda Research Institute, a variation of the peak or startle detector was needed. A data set provided by Koshizen Takamasa contained both Skin Potential Level (SPL) and Skin Potential Response (SPR) electrodermal data. The problem that posed was to find a threshold for SPR and SPL signal data that would differentiate “high arousal” from “low arousal.”
By first computing the histograms of the given SPR and SPL data, I observed their distribution. Both the SPL and GSR data are approximately Gaussian and don’t appear to be bimodal.
As a result, I chose to use the tails of the Gaussian distribution to set thresholds for peak detection. Data that are 2 standard deviations greater than the mean are treated as peak-data.
With the SPR signal (xa1, xb1), the mean and standard deviation were computed for each dataset (xa, xb) and then the threshold was set to be = mean(xa1)+2*std(xa1).
With the SPL signal (xa2, xb2) of size (N) for each dataset (xa, xb), the first difference was first computed yielding diffxb1 = xb(i)-xb(i+1) [for i = 1 to N-1]. The mean and standard deviation were the computed for each diffxb and then the threshold was set to be = mean(diffxb1)+2*std(diffxb1).
This creates two feature detectors that operate independently. Since there are two channels fusion can be performed. The points where the SPR peaks and SPL peaks detectors agree were recorded in a register.
Some figure may help explicate this process:
- initial histograms
- SPR, diff(SPL), and fusion peak detection for example data C1
- SPR, diff(SPL), and fusion peak detection for example data D1
The virtue of this approach is that it is computationally cheap and simply looks for outlying data. Jennifer Healey’s approach makes good assumptions about how the data ought to be filtered. This approach, on the other hand is similar but faster to compute.