# Generic Signal Analyzer

The Generic Signal Analyzer analyzes generic signals and calculates a variety of standard descriptive metrics.

# Introduction

The Generic Signal Analyzer is the ‘standard’ PhysioAnalyzer module, which all other modules are based on. This PhysioAnalyzer type performs basic descriptive analyses on miscellaneous signals, and allows the user to indicate noisy sections that the toolbox can then interpolate over.

Unlike the other PhysioAnalyzers, the units and labels in the Generic Signal Analyzer are taken directly from the raw data channels. These cannot be edited in this version of the toolbox. This module can be used for signals such as: body temperature, heart-rate, etc.

# User Corrections

Artifact removal in the Generic Signal Analyzer module occurs through the user marking sections of the signal as invalid. These sections, aka Raw-Skip zones, are not extracted from the raw data, but are instead linearly interpolated before high-pass and/or low-pass filtration. In the case that a section extends beyond the start or end of the signal, extrapolation in that section occurs via the nearest-neighbor method.

• Removing raw data artifacts:
To mark or unmark a section of the raw signal for interpolation, left-click in the graph at the start-time of the desired section, drag the mouse, and release at the end-time of the desired section. Choose the desired action from the pop-up menu:

• Disregard Data:
Disregard Data tells the toolbox to reject the raw data samples within the marked section, and replace them with linearly interpolated values.

• Use Data:
Use Data tells the toolbox to use the raw data inside the section. This is the default state, and the opposite of the Disregard option. As such, it can be used to remove a section previously marked as ‘Disregarded’.

# Processing and Analysis Pipeline

In the Generic Signal Analyzer, the desired channel is extracted from the current file’s raw data using the user specified channel. Then, the user-specified corrections, gain and filtering options are applied. When the analysis is run, the final filtered signal is sliced into a single segment per epoch, and descriptive analysis is performed on each segment.

## Low-Pass and High-pass Filtering

Before applying the digital filters, the cutoff frequencies are normalized using Equation 1, where the resulting ω0 must be between 0 and 1. If this is not the case, the signal is not filtered or analyzed. This behavior is fundamental to how the the Toolbox applies MATLAB digital filters, and holds true for all physioanalyzer modules.

$$$\omega _{0} = \frac{2\cdot f_{cutoff}}{f_{sampling}} \tag{Eq. 1}$$$

# Settings

The auto-generated list below shows the settings available in the Generic Signal Analyzer module.

• General Settings:
Name, source and epoch settings for this PhysioAnalyzer.

• Analyzer prefix (tag):
The tag (name) of this PhysioAnalyzer. The tag must be unique and start with a letter, and may only contain alphanumeric characters.

• Channel-number of signal:
The channel number (index) of the signal to be analyzed.

• Generate epochs from:
Specifies how epochs are generated.

• Preprocessing Settings:
Settings for processing the raw signal. The gain is the value with which the raw signal is multiplied before being further processed and analyzed.

• Gain (signal multiplier) [x]:
The gain is the value with which the raw signal is multiplied before being further processed and analyzed.

• Highpass filter [Hz]:
The high-pass filter and its cutoff frequency.

• Lowpass filter [Hz]:
The low-pass filter and its cutoff frequency.

# Metrics

The auto-generated table belows lists all the metrics produced by the Generic Signal Analyzer module.

Table 1: The metrics calculated by the Generic Signal Analyzer module.

Variable: Unit: Description:
mean - The mean of the signal inside the current epoch.
min - The minimum of the signal inside the current epoch.
minPointTime s The time where the minimum of the signal (inside the epoch) was reached, relative to the start of the epoch.
max - The maximum of the signal inside the current epoch.
maxPointTime s The time where the maximum of the signal (inside the epoch) was reached, relative to the start of the epoch.
std - The standard deviation (nanstd) of the signal inside the current epoch.
validSampleCount count The count of the valid samples inside the current epoch.

# Resampled Signals

The Generic Signal Analyzer module resamples the filtered signal.