Below details the mathematical logic used to determine signal quality and signal power.
The ADS1299 chip (the brain of the Cyton board) has a physical input ceiling. If a signal exceeds this limit, the amplifier saturates ("clips"), making the data invalid.
-
$V_{REF}$ (Reference Voltage): 4.5 Volts. The Cyton uses an internal 4.5V reference. - Gain: 24x. The default magnification setting for EEG channels.
To find the maximum readable voltage (
Converting to Microvolts (
If a signal hits
To determine connection quality, we measure how close the signal is floating toward the hardware limit.
We calculate the percentage of the limit used by the strongest signal peak in the current time window:
The official OpenBCI thresholds to categorize the signal status:
- 🟢 Normal: 0% - 75%
- Signal is centered and valid.
- 🟡 Near Railed (Warning): > 75%
- The signal is drifting significantly. Usually indicates weak electrode contact or static buildup.
- 🔴 Railed (Error): > 90%
- The signal is invalid. The electrode is likely disconnected, floating, or touching another piece of metal.
RMS (Root Mean Square) tells us how "loud" or active the brainwaves are.
We use the Standard Deviation method to calculate RMS.
Raw EEG signals often have a "DC Offset" (they float at 50,000 µV instead of 0 µV). If we calculated raw RMS, the result would be huge (50,000).
Standard Deviation mathematically removes the average drift (Mean) and only measures the fluctuations (AC Power) around that mean.
-
$x_i$ : Individual voltage sample. -
$\mu$ : Mean (Average) voltage of the window. -
$N$ : Total number of samples.
- Source Code: OpenBCI_GUI/Extras.pde (Lines 470-557)