Monday, July 13, 2009

Getting the Sensor Data Right

Over the past couple days I've made considerable progress on the GoWearFit command line extraction tool. Be sure to get the latest version in my edited release post below.

The current version (z712a) 100% parses the device data memory, and there are only a few fields I still don't understand. It also adds extracts date and time for the samples, and exports everything into one nice tab-delimited spreadsheet table.

I added an example tab-delimited output file into the release post as well.

Finally, I discovered that FileDropper hosting is not quite as free and forever as they claim. So a lot of earlier data postings have disappeared. Most are obsolete, but I thought I'd mention it.

This is still very untested. Let me know if works or not!

4 comments:

  1. Nice work! I might finally buy one of these to start playing with the data. I'm a machine learning person, so I'm mostly interested in what I can get out of the data. With enough data (perhaps if many people get together and share data), it should be possible to crudely reverse engineer the algorithms on the Bodymedia websites as well...

    I only spent about 5 minutes with the data (I'll try to look at it more in the next few days, because I'd like to figure out the measurement units), but here are a few bits:

    MOVVBAT is battery level. If you plot it against time, it just steadily decreases until the device is removed. (And the parameter name fits.)

    Is it possible that these are 12-bit *signed* integers? If not, they're translating the data somehow, since all the accelerometer values are positive.

    MOVGSR and COMPGSR are redundant--one is just a straight translation of the other.

    MOVTSKIN can be used as a simple proxy to figure out when you've removed the device. This also makes it a good candidate to figure out the measurement units, because it's probably close to room temp when you first put it on, and then it gradually gets closer to normal skin temp (should be ~34 or 35 C).

    ReplyDelete
  2. Hi Kenneth,
    Definitely look at

    http://www.cs.utexas.edu/users/sherstov/pdmc/

    "Physiological Data Modeling Contest" 2004 using the BodyMedia device, complete with downloadable data.

    I haven't really looked at their data because I didn't want to taint my results, but the web site has a lot of sensor description, and they were trying to solve the classification of readings.

    As for signed/unsigned - some of the columns are clearly biased/offset, but I didn't see any evidence that any were 2's complement. They are probably mostly raw 12-bit ADC values.

    MOVTSKIN is interesting, but I don't think the device collects data when it is removed. It seems to insert new timestamp and header records to start/stop sessions, presumably detected by skin conductivity. When you put the device on, it plays a "start" tune, and when you take it off, it makes a "stop" tune.

    Let me know if more data would be helpful.

    ReplyDelete
  3. somebody know how to flash a bodymedia fit link (model ab185 or model MF) to work with sensewear software 7???

    ReplyDelete
  4. I recently came across your blog and have been reading along. I thought I would leave my first comment. I don't know what to say except that I have enjoyed reading. Nice blog. I will keep visiting this blog very often. sulopay

    ReplyDelete