When exporting EDF+ files from Brainstorm, the correspondence between the int16 values and the physical values is computed in out_fopen_edf.m:
We don't recommend using the EDF+ format for saving double-precision values such as processed data saved in Brainstorm. From the BIDS-EEG specification, we recommend using the BrainVision format instead, which allows saving floating point values and avoids this loss of precision. The EDF+ should be used to saved only raw data which are actually available in int16 after an analog-to-digital conversion.
Does the analog-to-digital conversion need data in int16 as input ?
Can we use data in float32 or float64 as input and obtain data in int16 after the analog-to-digital conversion ?
Does the analog-to-digital conversion need data in int16 as input ?
The ADC transforms an analog physical signal into a digital value. In input, there is a current recorded by a pair of electrodes, in output an integer value. You have no control over this, this is part of the acquisition device.
Can we use data in float32 or float64 as input and obtain data in int16 after the analog-to-digital conversion ?
If you are referring to the conversion of Brainstorm data files (floating point double precision - 8 bytes) to EDF+ (int16 - 2 bytes): the general recommendation is to avoid it. From 8 bytes to 2 bytes, there is necessarily of loss of precision.