01.06.2015 Views

A Performance Analysis System for the Sport of Bowling

A Performance Analysis System for the Sport of Bowling

A Performance Analysis System for the Sport of Bowling

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

possible to roll up to 21 shots in one game <strong>of</strong> bowling. Allowing a maximum <strong>of</strong> 512<br />

bytes per ball (500 samples, plus some additional header in<strong>for</strong>mation), 10752 bytes are<br />

required to store <strong>the</strong> "worst-case" game: 21 balls thrown at 10 mph.<br />

Serial EEPROM is now available in 8Kx8 (64K bits), 16Kx8 (128Kk bits), and 32Kx8<br />

(256K bits) chips, with 64Kx8 (512K bits) soon to be available. The 16Kx8 chip is<br />

mandated using <strong>the</strong> above criteria. If a sample rate <strong>of</strong> 240 Hz is required, <strong>the</strong> 256Kb<br />

module would have to be specified, with a commensurate increase in cost. At a 120Hz<br />

data rate, <strong>the</strong> 256Kb chip will also accommodate three full games <strong>of</strong> bowling, which is<br />

significant, since a league series usually consists <strong>of</strong> three games.<br />

The above calculations are based on minimum ball speeds (maximum sample time per<br />

ball). However, a greater number <strong>of</strong> shots can be captured <strong>for</strong> a given size memory if <strong>the</strong><br />

data is stored in variable length records. Such a record would consist <strong>of</strong> header<br />

in<strong>for</strong>mation (<strong>the</strong> ball count, <strong>the</strong> activation count, <strong>the</strong> run time, <strong>the</strong> length <strong>of</strong> <strong>the</strong> record, a<br />

pointer to <strong>the</strong> previous record, a pointer to <strong>the</strong> next record, etc.) and <strong>the</strong> actual sample<br />

data. The records would be stored as a doubly-linked list, and uploaded as a group,<br />

probably at <strong>the</strong> end <strong>of</strong> each game, which would free up <strong>the</strong> memory <strong>for</strong> <strong>the</strong> next game.<br />

2.9.4 Data Compression<br />

Although serial EEPROM memory has increased in capacity while also becoming<br />

cheaper, it is cost-effective to use <strong>the</strong> smallest memory space that will hold a game's<br />

worth <strong>of</strong> data (21 balls maximum). The data collected so far might possess<br />

characteristics that could be exploited by a data compression routine. Bearing in mind<br />

that <strong>the</strong> collected wave<strong>for</strong>ms are from a single bowler and a single bowling<br />

establishment, it would be incorrect to assume that this data is representative <strong>of</strong> <strong>the</strong> entire<br />

bowling population. However, it should be possible to draw some initial useful<br />

conclusions that are worth fur<strong>the</strong>r study.<br />

It was originally assumed that <strong>the</strong> wave<strong>for</strong>m <strong>the</strong> SMARTDOT module records would have<br />

a roughly sinusoidal shape. Looking at just <strong>the</strong> lower half <strong>of</strong> <strong>the</strong> wave<strong>for</strong>m, that<br />

assumption is basically valid. However, <strong>the</strong> wave<strong>for</strong>m exhibits striking directionality<br />

when <strong>the</strong> module is facing <strong>the</strong> ceiling, as can be seen in Figure 2-10. By setting 0° to be<br />

that point where <strong>the</strong> module is facing directly toward <strong>the</strong> ceiling, it is apparent that <strong>the</strong><br />

sample-to-sample values change ra<strong>the</strong>r rapidly (20 or more counts at a time) in <strong>the</strong> range<br />

from 270° to 90°. This phenomenon results from <strong>the</strong> fluorescent ceiling lights acting as<br />

point sources, ra<strong>the</strong>r than as a uni<strong>for</strong>mly distributed light source, and from <strong>the</strong> module<br />

being located below <strong>the</strong> surface <strong>of</strong> <strong>the</strong> ball.<br />

However, <strong>the</strong> sample-to-sample values in <strong>the</strong> 180° <strong>of</strong> rotation between 90° and 270°<br />

change relatively slowly (only a few counts at a time). This portion includes <strong>the</strong> valleys<br />

<strong>of</strong> <strong>the</strong> wave<strong>for</strong>m, which are produced when <strong>the</strong> module faces <strong>the</strong> lane surface, in <strong>the</strong><br />

shadow <strong>of</strong> <strong>the</strong> ball. The "interesting" portion <strong>of</strong> <strong>the</strong> wave<strong>for</strong>m falls within <strong>the</strong> range 10-<br />

50 (0x0A to 0x32), where <strong>the</strong> wave<strong>for</strong>m exhibits a finer granularity. This in<strong>for</strong>mation<br />

can be used to advantage in contemplating appropriate data compression techniques.<br />

A system needs to be established that can store two samples in one byte - 4 bits per<br />

sample. If samples could be stored as a value relative to each o<strong>the</strong>r, or relative to some<br />

known fixed value, this goal might be accomplished. It would be beneficial to maintain a<br />

fine granularity around <strong>the</strong> inflection points <strong>of</strong> <strong>the</strong> valleys in <strong>the</strong> wave<strong>for</strong>m, and loosen<br />

that granularity as <strong>the</strong> sample values move fur<strong>the</strong>r away from those inflection points.<br />

36

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!