Logged data format differences
Hi,
I have logged gesture data as .CSV from Open BCI. When I plotted below is the waveform.
The same gesture I have logged in .BDF format. I converted this file to .CSV in EDF Browser and below is the waveform.
As can be observed in both images why is there a difference in amplitude and gesture pattern?
I am attaching the files for your reference.
https://drive.google.com/drive/folders/1mgzwgg4v9-t26Nd6D7_fG2KeMvIeOPvX?usp=sharing
Comments
Hi Veda,
Are you sure you are applying the same exact digital signal processing FILTERS to each data stream? The CSV and BDF files are RAW with NO filters applied. The GUI displays use the filtering you have selected, typically adding bandpass and notch filters.
The raw data for Cyton includes a DC offset, which must be removed.
https://openbci.com/forum/index.php?p=/discussion/201/large-millivolt-data-values-fbeeg-full-band-eeg
William
One other thing I will say is that your two graphs look remarkably identical to my eyeballs.
I am just not seeing what 'differences' you are pointing to....
Are you sure you uploaded the correct two images?? For example the 'text' label at the top of both images is identical: "Cyton Logged in .BDF", even though your Forum comment stated one image was derived from the CSV data.
Oh, I have uploaded same image twice. I apologize for my mistake.
Below is the data logged in CSV format from Open BCI
Below is the data logged in BDF format from Open BCI and then converted to CSV
As you can observe the amplitude (Y-axis) is much larger for data directly logged in CSV format. (Apart from the offset)
I have logged the data both the times by applying the same exact settings in OpenBCI GUI application.
GUI writes stream with NO filtering. You said you use EDFBrowser for conversion. It sounds to me like you have two different filter configurations.
From the graphs, the 2nd one obviously has higher frequency components than the 1st.
If the EDF Browser is introducing a variation, Please check the files logged directly from OpenBCI GUI and confirm there is no difference is raw data logged. No changes were made in settings of OpenBCI application.
Logged BDF file.
https://drive.google.com/file/d/1o8ksPL3rYTMUnvgHBNjIZkUpQMzjfm6U/view?usp=sharing
Logged TXT file.
https://drive.google.com/file/d/1m14SgqSJUgdvAeh5fLpggcmNqTO02oWj/view?usp=sharing
Richard @retiutut, do you have any insights?
I've confirmed the process for saving data to BDF many times. The pipeline is very simple and all raw, unfiltered data is saved there. We do however have an open ticket to save AUX data to BDF.
Full source code can be reviewed here:
https://github.com/OpenBCI/OpenBCI_GUI/blob/master/OpenBCI_GUI/DataWriterBDF.pde
Here is the method that is called to write new raw data to temp file:
https://github.com/OpenBCI/OpenBCI_GUI/blob/d8543aafe2eea9d5f1394502d88bc11f43636021/OpenBCI_GUI/DataWriterBDF.pde#L202
The BDF file itself is constructed after the session is closed. BDF files can be non-contiguous.