EDF (SignalML 2.0)
From SignalML
<?xml version="1.0"?>
<meta_format>
<header>
<format id='EDF'/>
<text_info>EDF data format</text_info>
<url>http://www.hsr.nl/edf</url>
</header>
<file type='binary'>
<param id='version' format='|S8' width='8' offset='0'/>
<param id='patient_ident' format='|S80' offset='8'/>
<param id='record_ident' format='|S80' offset='88'/>
<param id='start_date' format='|S8' offset='168'/>
<param id='start_time' format='|S8' offset='176'/>
<param id='header_size' format='|S8' offset='184' evaltype='int32'/>
<param id='reserved' format='|S44' offset='192'/>
<param id='number_of_data_records' format='|S8' offset='236' evaltype='int32'/>
<param id='duration_of_data_record' format='|S8' offset='244' evaltype='float'/>
<param id='transducer_type' format='|S80' offset='256+16*number_of_channels+80*index'>
<arg type='int' name='index' />
</param>
<param id='physical dimension' format='|S8' offset='256 + 96*number_of_channels + 8*index'>
<arg type='int' name='index' />
</param>
<param id='physical_minimum' format='|S8' offset='256 + 104*number_of_channels + 8*index'>
<arg type='int' name='index' />
</param>
<param id='physical_maximum' format='|S8' offset='256 + 112*number_of_channels + 8*index'>
<arg type='int' name='index' />
</param>
<param id='digital_minimum' format='|S8' offset='256 + 120*number_of_channels + 8*index'>
<arg type='int' name='index' />
</param>
<param id='digital_maximum' format='|S8' offset='256 + 128 * number_of_channels + 8 * index'>
<arg type='int' name='index' />
</param>
<param id='prefiltering' format='|S80' offset='256 + 136 * number_of_channels + 80 * index'>
<arg type='int' name='index' />
</param>
<param id='nr_of_samples' format='|S8' offset='256 + 216 * number_of_channels + 8 * index'>
<arg type='int' name='index' />
</param>
<param id='reserved2' format='|S32' offset='256 + 224 * number_of_channels + 32* index'>
<arg type='int' name='index' />
</param>
<param id='sampling_frequency' format='(f4'
eval='nr_of_samples(index) / duration_of_data_record' units='Hz'>
<arg type='int' name='index' />
</param>
<param id='number_of_channels' type='int' format='|S4' offset='252' />
<param id='calibration_gain' type='float' units='μV'
eval='1/(physical_maximum(channel) - physical_minimum(channel)'>
<arg type='int' name='channel' />
</param>
<param id='calibration_offset' type='float'
eval='physical_minimum(index) - digital_minimum(index) * calibration_gain(index)'>
<arg type='int' name='index' />
</param>
<param id='channel_name' type='string' format='|S16' offset='256 + 16 * channel'>
<arg type='int' name='channel' />
</param>
</file>
</meta_format>