OpenBCI/OpenBCI_GUI

Spectrogram - frequency axis scaling is 5/4 FFT frequency

shirleyzhang867 opened this issue · 1 comments

Problem

Zendesk ticket #24958

I am using openbci V5.1 with ganglion.
With a Live data stream the vertical frequency axis of the spectrogram displays 5/4 the scaling of the FFT display data.
In the below figure 20 Hz FFT data is incorrectly displayed as 25 Hz spectrogram data.

20 Hz FFT data is incorrectly displayed as 25 Hz spectrogram data

This spectrogram scaling issue was raised on earlier software releases....
Is there a release that fixes this issue?

Expected

This improper spectrogram scaling issue does not show up with synthetic data.
Here as shown below the 20Hz spectrogram matches 20 Hz FFT.
20Hz spectrogram matches 20 Hz FFT

Operating System and Version

Windows

GUI Version

5.1.0

Are you running the downloaded app or from Processing/VSCode?

Downloaded app

Type of OpenBCI Board

Ganglion

I've personally replicated and confirmed this odd behavior with the Spectrogram Y axis scaling by comparing Ganglion (with a signal generator attached) and Synthetic data.

Steps to replicate again when developing fix:

  • Use Ganglion and attach signal generator positive lead to channel 1 positive pin, repeat with negative lead/pin for channel 1
  • Run signal generator at .001 V on a 30Hz sine wave with filters off
  • Observe incorrect solid line placement in Spectrogram widget
  • Then open Synthetic mode (8 channels) and observe behavior of channel 6's 30 Hz sine wave, which appears correct in spectrogram

Possible cause:

  • Y axis map() function and assigned pixels