Dear all,<div><br></div><div>Lately I have been working with an EEG dataset containing 64 channels (sampling rate: 2048Hz, Biosemi data).</div><div>When importing the data into Matlab (via pop_readbdf function) I experience two problems:</div>
<div><br></div><div>1. It takes a lot of time to load and afterwards the pc became extremely slow (I assume that is because of the huge amount of RAM needed)</div><div>2. Sometimes the pc run out of memory</div><div><br>
</div><div><br></div><div>Thus I have modified the readbdf function, converting the EEG data from double to single precision (each value occupies 4 bytes instead of 8 bytes):</div><div><br></div><div> ...</div><div><div>
(line 100) catch,</div><div> warning backtrace off;</div><div> warning('Warning: file might be incomplete');</div><div> Records(nrec:end) = [];</div><div> DAT.Record(RecLen*length(Records)+1:end,:) = [];</div>
<div> S(nrec:end,:) = [];</div><div> break;</div><div> end;</div><div><br></div><div> (line 109) end;</div><div><br></div><div>%%%%%%% START DAVIDE MODIFICATION %%%%%%%%</div><div><br></div><div>
>>>>>>> DAT.Record = single(DAT.Record); <<<<<<< CONVERTING THE EEG DATA FROM DOUBLE TO SINGLE</div><div><br></div><div>%%%%%%% END DAVIDE
MODIFICATION %%%%%%%%
</div><div><br></div><div><br></div><div>if rem(Mode,2)==0<span class="Apple-tab-span" style="white-space:pre"> </span>% Autocalib</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>DAT.Record=[ones(RecLen*length(Records),1) DAT.Record]*EDF.Calib;</div>
<div>end; </div><div><br></div><div>DAT.Record=DAT.Record';</div></div><div><br></div><div>...</div><div><br></div><div><br></div><div>This way the data importing is much faster. The question is: Do you think I can have any problem because of converting EEG data from double to single precision?</div>
<div><br></div><div><br></div><div>Thanks a lot,</div><div><br></div><div><br></div><div>Davide.</div>