Re: [buildcheapeeg] Re: File Formats

From: Jim Meissner (jpmeissner_at_mindspring.com)
Date: 2002-03-03 18:01:34


------=_NextPart_001_003B_01C1C2B3.8BDC7520
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Dear Andreas:

> Writing one file (containing the samples) is definitely easier on the
> hard drive and would simplify network-communication.

If you have a remote A/D converter and microprocessor (such as you are plan=
ning to do) and sending serial data to the RS232 port, then it is much easi=
er just to stream the data to the hard drive as it comes in. This should b=
e an interrupt driven routine. THAT IS NUMBER ONE PRIORITY.
=20
At the same time you can look at the buffer and extract the channel data to=
display the brain wave oscilloscope waveforms for both channels. THAT IS =
NUMBER TWO PRIORITY.

Now you can do an FFT waterfall or Voice print and display the frequency da=
ta. THAT IS NUMBER THREE PRIORITY.

Other channel data such as temperature, GSR, heart rate, etc can be identif=
ied by the sync byte header information. This data can be sent at any rate=
such as 1 per second and still be extracted properly from the data stream.

The EEG/NF protocols fall last in my personal opinion. First you MUST have=
good valid data to start with. Those who are interested in NF protocols c=
an build other applications on top of this basic module.

I have attached a snippet from my slink12r.exe file to show how I tackled t=
his.
All you software gurus will laugh at this, it is not elegant, but it works.

Juergen P. (Jim) Meissner
Check out my Website at www.MeissnerResearch.com
Read about the benefits of the Brain State Synchronizer sounds for improvin=
g your life and health.

----- Original Message -----=20
From: sleeper75se=20
To: buildcheapeeg_at_yahoogroups.com=20
Sent: Saturday, March 02, 2002 10:50 PM
Subject: [buildcheapeeg] Re: File Formats

Hi John,

I usually stay out of the software discussion (hands full anyway),=20
but for the moment (gosh, is it really 4.30am?) I'm sort of idle, so=20
here's my take:

Before defining any data format (which, I don't think we ever=20
should), we must decide on what to store. Right now we only know we=20
want to save a series of samples in a number of channels, but that's=20
about it. To that can we add lots of sideband data: threshold=20
settings, filter parameters, screen colors, user name, whatever...

Since the information is quite diverse, and undefined, I suggest=20
storing everything except the samples in a database. A database is=20
much more abstract, flexible and easier to handle in general than=20
defining which byte goes where.

The samples (and perhaps any other time-dependant data) on the other=20
hand, can be stored in a very simple file format, where data from=20
different "channels" are interleaved.

The reason for splitting up the data is performance. A database is=20
not very good at handling streams.
(Does anyone have another opinion here?)

Naturally, there must be import/export filters for other data=20
formats, but we should never have to operate directly (in real time)=20
on them.

> Should we write multiple channels to the one file?
> or 1 channel 1 file?

Writing one file (containing the samples) is definitely easier on the=20
hard drive and would simplify network-communication.

Regards,
Andreas

Yahoo! Groups Sponsor=20
ADVERTISEMENT
=20=20=20=20=20=20=20=20=20=20=20=20=20
=20=20=20=20=20=20=20
=20=20=20=20=20=20=20

To unsubscribe from this group, send an email to:
buildcheapeeg-unsubscribe_at_egroups.com

Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.=20

------=_NextPart_001_003B_01C1C2B3.8BDC7520
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content=3D"text/html; charset=3Diso-8859-1" http-equiv=3DContent-Type=
>
<META content=3D"MSHTML 5.00.2314.1000" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT size=3D2>Dear Andreas:</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT size=3D2>&gt;&nbsp; </FONT><FONT size=3D2>Writing one file (cont=
aining=20
the samples) is definitely easier on the</FONT></DIV>
<DIV><FONT size=3D2>&gt;&nbsp; hard drive and would simplify=20
network-communication.</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT size=3D2>If you have a remote A/D converter and microprocessor (=
such as=20
you are planning to do) and sending serial data to the RS232 port, then it =
is=20
much easier just to stream the data to the hard drive as it comes in.&nbsp;=
This=20
should be an interrupt driven routine.&nbsp; THAT IS NUMBER ONE=20
PRIORITY.</FONT></DIV>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT size=3D2>At the same time you can look at the buffer and extract=
the=20
channel data to display the brain wave oscilloscope waveforms for both=20
channels.&nbsp; THAT IS NUMBER TWO PRIORITY.</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT size=3D2>Now you can do an FFT waterfall or Voice print and disp=
lay the=20
frequency data.&nbsp; THAT IS NUMBER THREE PRIORITY.</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT size=3D2>Other channel data such as temperature, GSR, heart rate=
, etc=20
can be identified by the sync byte header information.&nbsp; This data can =
be=20
sent at any rate such as 1 per second and still be extracted properly from =
the=20
data stream.</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT size=3D2>The EEG/NF protocols fall last in my personal opinion.&=
nbsp;=20
First you MUST have good valid data to start with.&nbsp; Those who are=20
interested in NF protocols can build other applications on top of this basi=
c=20
module.</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT size=3D2>I have attached&nbsp;a snippet from my slink12r.exe fil=
e to=20
show how I tackled this.</FONT></DIV>
<DIV><FONT size=3D2>All you software gurus will laugh at this, it is not el=
egant,=20
but it works.</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV>Juergen P. (Jim) Meissner<BR>Check out my Website at <A=20
href=3D"http://www.MeissnerResearch.com">www.MeissnerResearch.com</A><BR>Re=
ad=20
about the benefits of the Brain State Synchronizer sounds for improving you=
r=20
life and health.</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<BLOCKQUOTE=20
style=3D"BORDER-LEFT: #000000 2px solid; MARGIN-LEFT: 5px; MARGIN-RIGHT: 0p=
x; PADDING-LEFT: 5px; PADDING-RIGHT: 0px">
<DIV style=3D"FONT: 10pt arial">----- Original Message ----- </DIV>
<DIV=20
style=3D"BACKGROUND: #e4e4e4; FONT: 10pt arial; font-color: black"><B>Fro=
m:</B>=20
<A href=3D"mailto:sleeper75se_at_yahoo.se"=20
title=3Dsleeper75se_at_yahoo.se>sleeper75se</A> </DIV>
<DIV style=3D"FONT: 10pt arial"><B>To:</B> <A=20
href=3D"mailto:buildcheapeeg_at_yahoogroups.com"=20
title=3Dbuildcheapeeg_at_yahoogroups.com>buildcheapeeg_at_yahoogroups.com</A> <=
/DIV>
<DIV style=3D"FONT: 10pt arial"><B>Sent:</B> Saturday, March 02, 2002 10:=
50=20
PM</DIV>
<DIV style=3D"FONT: 10pt arial"><B>Subject:</B> [buildcheapeeg] Re: File=
=20
Formats</DIV>
<DIV><BR></DIV><TT>Hi John,<BR><BR>I usually stay out of the software=20
discussion (hands full anyway), <BR>but for the moment (gosh, is it reall=
y=20
4.30am?) I'm sort of idle, so <BR>here's my take:<BR><BR>Before defining =
any=20
data format (which, I don't think we ever <BR>should), we must decide on =
what=20
to store. Right now we only know we <BR>want to save a series of samples =
in a=20
number of channels, but that's <BR>about it. To that can we add lots of=20
sideband data: threshold <BR>settings, filter parameters, screen colors, =
user=20
name, whatever...<BR><BR>Since the information is quite diverse, and=20
undefined, I suggest <BR>storing everything except the samples in a datab=
ase.=20
A database is <BR>much more abstract, flexible and easier to handle in ge=
neral=20
than <BR>defining which byte goes where.<BR><BR>The samples (and perhaps =
any=20
other time-dependant data) on the other <BR>hand, can be stored in a very=
=20
simple file format, where data from <BR>different "channels" are=20
interleaved.<BR><BR>The reason for splitting up the data is performance. =
A=20
database is <BR>not very good at handling streams.<BR>(Does anyone have=20
another opinion here?)<BR><BR>Naturally, there must be import/export filt=
ers=20
for other data <BR>formats, but we should never have to operate directly =
(in=20
real time) <BR>on them.<BR><BR>&gt; Should we write multiple channels to =
the=20
one file?<BR>&gt; or 1 channel 1 file?<BR><BR>Writing one file (containin=
g the=20
samples) is definitely easier on the <BR>hard drive and would simplify=20
network-communication.<BR><BR>Regards,<BR>Andreas<BR><BR><BR></TT><BR><BR=
><TT>To=20
unsubscribe from this group, send an email=20
to:<BR>buildcheapeeg-unsubscribe_at_egroups.com<BR><BR></TT><BR><BR><TT>Your=
use=20
of Yahoo! Groups is subject to the <A=20
href=3D"http://docs.yahoo.com/info/terms/">Yahoo! Terms of Service</A>.</=
TT>=20
<BR></BLOCKQUOTE></BODY></HTML>

------=_NextPart_001_003B_01C1C2B3.8BDC7520--





This archive was generated by hypermail 2.1.4 : 2002-07-27 12:28:39 BST