`Seiple et al.
`
`[19]
`
`[54] SPORTS PERFORMANCE COMPUTER
`SYSTEM AND METHOD
`
`[76] Inventors: Ronald Seiple, 1063 Koohoo Pl.,
`Kailua, Hi. 96734; R. B. Seiple, 12319
`Calle Albara, El Cajon, Calif. 92017
`
`[21] Appl. No.: 09/111,844
`[22]
`Filed:
`Jul. 8, 1998
`
`[51] Int. Cl.7 ...................................................... .. G01S 5/02
`[52] US. Cl. ............................................. .. 702/97; 702/158
`[58] Field of Search ................................... .. 701/119, 120,
`701/121, 122, 216, 214, 213, 217; 702/142,
`149, 150, 94, 95, 96, 97, 158
`
`[56]
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`5,119,101
`5,191,792
`5,420,592
`5,552,794
`
`6/1992 Barnard ................................. .. 342/357
`3/1993 Gloor
`.. 73/178 R
`5/1995 Johnson
`342/357
`9/1996 Colley et al. .
`342/357
`
`5,815,126
`5,862,511
`
`9/1998 Fan et al. . . . . . .
`. . . . . .. 345/8
`1/1999 Croyle et al. ......................... .. 701/213
`
`OTHER PUBLICATIONS
`
`Hoshen, Joseph, Jim Sennott and Max Winkler. “Keeping
`Tabs on Criminals,” IEEE Spectrum, Feb., 1995.
`
`Primary Examiner—Marc S. Hoff
`Assistant Examiner—Craig Steven Miller
`Attorney, Agent, or Firm—Leighton K. Chong
`[57]
`ABSTRACT
`
`US006032108A
`Patent Number:
`Date of Patent:
`
`[11]
`[45]
`
`6,032,108
`Feb. 29, 2000
`
`Global Positioning System (GPS) satellites to determine the
`current pace, the distance traveled and speed of a person, for
`example a runner, are disclosed. A GPS receiver for receiv
`ing signals from GPS satellites is attached to the person. A
`processor processes the signals received at a plurality of
`points from sub-sets of GPS satellites to determine the Earth
`Centered Earth Fixed (ECEF) ?x in the X, y, and Z planes
`relative to the center of the earth of each point. The proces
`sor detects When the signals are received from a different
`sub-set of satellites and corrects for the resulting ?x error.
`The processor calculates the relative distance of the segment
`betWeen the ECEF ?xes of each pair of sequentially adjacent
`points, and adds together the distances of the segments to
`determine the distance of the path traveled by the person,
`Which is de?ned by the points. Errors associated With
`determining position relative to navigational references such
`as latitude and longitude are not incurred because relative
`ECEF ?xes are used to determine the distance rather than
`latitude and longitude ?xes. Also, “Selective Availability”
`error, Which is an error introduced into GPS signals by the
`US. military that limits the accuracy of GPS ?xes relative
`to navigational references, does not degrade the accuracy of
`the distance calculations because the relative distance
`betWeen the points is used to determine the distance
`traveled, rather than the distance of the points from naviga
`tional references. The processor calculates the elapsed time
`betWeen selective points, and determines the average speed
`or pace of the person betWeen selective points and current
`speed in minutes/mile. A storage device stores data struc
`tures representing the ECEF ?xes of selective points, and
`data structures representing relative times that GPS signals
`are received at selective points. A signal-bearing medium
`tangibly embodying a program of for performing the above
`method that are executable by a digital processing device.
`
`A system, a signal bearing medium embodying a program of
`machine-readable instructions, and a method employing
`
`44 Claims, 10 Drawing Sheets
`
`G(Prooess Loopbeck point)
`
`Stan Chronograph
`and continously
`dlsptay elasped tlme
`
`Start/Slop
`Button?
`
`Yes
`
`E (see Frgure 3g)
`
`No
`
`Yes
`
`Pause
`
`Button?
`
`‘
`
`Dlsplay 'Paused' status and
`Freeze Chronograph and
`Dlstance celculattons untll
`‘ button l5 pressed again
`
`'
`
`‘
`
`lnput GPS
`ECEF fix data
`as "New‘ llx
`
`Is "New“ ?x lrorn
`same consteltatlun
`as the "Last" ?x?
`
`Pass data to
`Flller SA
`(see Fig 3f)
`
`Pass "Current" and
`
`“D|stance" funcllan
`(See F lg. 3b)
`
`l
`
`Total Distance 1
`Total dlstanoe + "Dls‘lanoe"
`
`Average Pace =
`Total Dlstance I Elapsed Tlrne
`
`Input current
`velwty from
`GPS Doppler
`Velocity Vector
`
`l
`Format and dlsptayv Total
`Dlstance. Avg Pace.
`Velovty delums
`
`Cneok dlstance, pace,
`veloctty, and time for
`Progammable Alerts
`
`Pass "New" FlX
`data to Storage
`Filter (see Fig 3e)
`
`Store "New ECEF and Doppler
`Velocrty Vector datums as "Last"
`?xes (for next loop Iteration)
`
`—>G (restart loop)
`
`UA-1009.001
`
`
`
`U.S. Patent
`
`Feb. 29, 2000
`
`Sheet 1 of 10
`
`6,032,108
`
`UA-1009.002
`
`
`
`U.S. Patent
`
`Feb. 29, 2000
`
`Sheet 2 0f 10
`
`6,032,108
`
`‘- f — — — — — — _ _ _ _ _ _ _ _ — _ _ _ — — _ - _ — _ _ — - _ — — a
`
`Antenna
`
`( MF'".
`I Circuit
`I 5”“
`:
`lI
`:
`:
`:
`l
`|
`|
`|
`l
`I
`|
`
`Salad
`n y
`Mammy
`
`gandom
`ccess
`Memory
`
`Digitized RF
`Gps <-_ GPS
`Receiver Control Radio Freq.
`Digital Signal
`Processor ¥+ Receiver
`Clock
`comm‘ Lmes
`Data-bus
`
`-
`
`—
`
`‘Crystal
`
`\
`|
`I
`:
`:
`:
`Oscillator
`Serial l/O {
`I
`l
`|
`l
`l
`|
`|
`|
`
`A
`ddress-bus
`
`Control Lines
`
`Microprocessor
`
`Power Supply
`Circuit
`(supplies all
`components)
`
`\ _ _ _ _ _ _ _ _ _ _ _ i _ _ _ _ _ _ _ _ _ _ _ _ _ __ _ __ _)
`
`+ -
`
`Battery Pack
`
`5s5a“_“_“"“\
`Panel y
`+ l (
`l I
`Custom
`:
`:
`la'ggotinuedlio
`I
`I
`Output
`\.. ________ ._ _ J :
`:
`|
`)
`
`Main Equipment Housing
`
`_ ___________ __
`Optional Circuitry
`\]
`|
`Pressure Transducer
`'
`(Barometric Altimeter)
`:
`Magneto-Resistive Sensors :
`(magnetic compass)
`I
`Anemometer
`:
`(wind meter)
`I
`
`3:132? t°
`Convener
`
`p
`
`\ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ._ _ z)
`
`UA-1009.003
`
`
`
`U.S. Patent
`
`Feb. 29,2000
`
`Sheet 3 0f 10
`
`6,032,108
`
`A (Start Program at Power On)
`
`B
`
`.
`
`lnltialize GPS
`
`.
`
`.
`
`Ready Mode
`amc
`Initialize CPU
`a) ‘Set initial values ____> b) Get Ephemeris # a) Display "Ready"
`b)Display "Standby"
`C) start rocessin
`status
`Message
`?xes
`g
`
`C (see Figure 3c)
`
`D (see Figure 3d)
`
`Sleeg Mode
`a)Sl0w CPU Clock
`b)GPS chips in
`
`Standby
`c)Turn Display off
`
`elapsed?
`
`Y
`es
`
`Bft't‘g'm
`
`'
`
`Figure 3a
`
`UA-1009.004
`
`
`
`U.S. Patent
`
`Feb. 29, 2000
`
`Sheet 4 0f 10
`
`6,032,108
`
`Input GPS Fix
`Datums 1 and 2 from
`calling Function.
`
`Distance =
`
`ital-X2) 2 + (Y1~Y2)2 + (21 ~22?)
`
`/
`
`Return the calculated
`Distance value to
`calling function.
`
`Figure 3b
`
`UA-1009.005
`
`
`
`U.S. Patent
`
`Feb. 29,2000
`
`Sheet 5 0f 10
`
`6,032,108
`
`G(Process Loopback point)
`
`Start Chronograph
`and continously
`display elasped time.
`
`Start/Stop
`Button,’
`
`Yes
`
`E (see Figure 39)
`
`Pause
`Button?
`
`Display 'Paused' status and
`Freeze Chronograph and
`Distance calculations until
`"pause" button is pressed again.
`
`Input GPS
`ECEF fix data
`as "NBW' ?x .
`
`Is "New" fix from
`same constellation
`as the "Last" ?x?
`
`Pass data to
`Filter SA
`(see Fig 3f)
`
`Pass "Current" and
`"Last" GPS fixes to
`"Distance“ function.
`(See Fig. 3b)
`
`Total Distance =
`Total distance + "Distance"
`
`Average Pace =
`Total Distance / Elapsed Time
`
`input current
`velocity from
`GPS Doppler
`Velocity Vector.
`
`Format and display: Total
`Distance, Avg. Pace,
`Velcity datums.
`
`Check distance, pace,
`velocity, and time for
`Progammable Alerts.
`
`Pass "New" Fix
`data to Storage
`E_i_l_g_e_r. (see Fig. 3e)
`
`ll
`
`Store "New‘ ECEF and Doppler
`Velocity Vector datums as "Last"
`fixes (for next loop iteration)
`
`————>G (restart loop)
`
`Figure 3c
`
`UA-1009.006
`
`
`
`U.S. Patent
`
`Feb. 29,2000
`
`Sheet 6 0f 10
`
`6,032,108
`
`Mode Button held
`3 seconds?
`
`Shut off
`Primary Power
`
`Display
`"Alert Setup"
`
`User Input selects
`Alert Type: Distance,
`Pace, Velocity, or
`Interval.
`
`l
`
`User Input sets Alert
`ete Val
`.
`Param r
`USS
`
`1
`
`B (see figure 3a)
`
`Yes
`
`B (see ?gure 3a)
`
`usggtlggtggjriztseiyfotfm
`'
`Metric/Standard, Timezone,
`System Reset, Power
`
`Conservation.
`
`B (see ?gure 3a)
`
`Figure 3d
`
`UA-1009.007
`
`
`
`U.S. Patent
`
`Feb. 29, 2000
`
`Sheet 7 0f 10
`
`6,032,108
`
`Input "New"
`ECEF fix.
`
`Is this the
`first ?x?
`
`Set N =0.
`Store "New" fix as
`"F ix[N]", and "Last Saved".
`increment N,
`
`N°
`
`Is this the
`
`Store "New"
`fix as
`"Test F ix"
`
`"A“ = Distance of
`"Last Saved" and
`"Test"
`
`i
`
`"B" = Distance of
`"Test" and "New"
`
`l
`
`"C" = Distance of
`"Last Saved" and
`"New"
`
`is
`(A + B - 0) <=
`((A +B)(X%)
`
`Yes
`
`Store "Test Fix" as Fix[N].
`Store ‘Test Fix" es "Last Saved".
`Increment N.
`
`Y
`
`Store"New“ as "Test Fix"
`(discards old "Test Fix")
`
`Return to Run
`Mode (see
`Figure 3b)
`
`Figure 3e
`
`UA-1009.008
`
`
`
`U.S. Patent
`
`Feb. 29,2000
`
`Sheet 8 0f 10
`
`6,032,108
`
`Input both "New" and "Last"
`stored values of GPS Doppler
`Velocity Vector data, and the
`"Last" ECEFposition.
`
`1
`
`l,
`
`Calculate time interval between Velocity Vector reports
`Time Interval = (Time of "NeW‘) - (Time of "Last“)
`
`Calculate the "Average Velocity Vector" of the 2 Velocity
`Vectors. (can be statistical mean, or least squares)
`
`(if-3mm
`
`LJLJLJLJ
`
`‘Distance Vector" = (Time lnterval)(Average Velocity Vector)
`
`1
`
`1
`
`Dead Reckoned Fix = (Last ECEF) + ( Distance Vector)
`
`1
`
`Pass "Dead Reckoned Fix" and "Last" ECEF
`GPS fix to "Distance" function.
`(See Fig. 3b)
`
`Return "Distance" value to Run
`Mgdg function.
`(see Figure 30
`
`Figure 3f
`
`UA-1009.009
`
`
`
`U.S. Patent
`
`Feb. 29, 2000
`
`Sheet 9 0f 10
`
`6,032,108
`
`Stop Chronograph and
`Distance Functions
`
`Display Final
`elapsed Time,
`Distance and Pace
`
`Store "Test Fix" as Fix[N]
`(see Figure 3e for details)
`
`B (Main Program see Figure 3a)
`
`Figure 39
`
`UA-1009.010
`
`
`
`U.S. Patent
`
`Feb. 29,2000
`
`Sheet 10 0f 10
`
`6,032,108
`
`lnput both "New" and "Last"
`stored values of GPS Doppler
`Velocity Vector
`
`Calculate time interval between Velocity Vector reports:
`Time interval = (Time of "New“) - (Time of “Last")
`
`1
`
`Calculate the "Average Velocity Vector" of the 2 Velocity
`Vectors. (can be statistical mean, or least squares)
`
`1
`
`"Distance" = (Time lnterval)(Average Velocity Vector)
`
`Return the calculated
`"Distance" value to the calling
`function.
`
`Figure 4
`
`UA-1009.011
`
`
`
`6,032,108
`
`1
`SPORTS PERFORMANCE COMPUTER
`SYSTEM AND METHOD
`
`BACKGROUND OF THE INVENTION
`
`2
`and is updated hourly. Almanac data consists of general
`information regarding all satellites in the constellation and
`ionospheric data for the determination of RF propagation
`delays. Almanacs are approximate orbital data parameters
`for all satellites. The typical ten-parameter almanacs
`describe the satellite orbits over extended periods of time of
`up to several months and a set for all satellites is sent to each
`satellite over a period of 12.5 minutes minimally. Signal
`acquisition time on receiver start-up can be signi?cantly
`aided by the availability of current almanacs. The approxi
`mate orbital data is used to preset the receiver With the
`approximate position and carrier Doppler frequency, (i.e. the
`frequency shift carried by the rate of change in range to a
`moving satellite), of each satellite in the constellation.
`Ephemeris data consists of detailed orbital information for
`the speci?c observed satellite. It can take up to 15 minutes
`to initialiZe a GPS system if the ephemeris data is doWn. The
`ephemeris data When doWn means that no ephemeris data is
`in system memory and/or the ephemeris data is obsolete.
`With the exception of the P-coded GPS receivers used by
`the US. military, GPS receivers suffer from an error referred
`to as “Selective Availability.” This error is purposefully
`introduced by the US. military into the signals transmitted
`by the GPS satellites, in order to prevent unfriendly forces
`form using the full potential of the system. The nature of the
`error is such that it Will report a consistent deviation,
`typically about 100 meters, While the GPS receiver is
`processing signals from the same sub-set of satellites. For
`example, the error Will consistently be 100 meters south
`southeast. This type of error is signi?cantly detrimental to
`navigational systems that attempt to determine location With
`reference to a global mapping system, such as the latitude,
`longitude, and altitude global mapping system of World
`Geodetic Survey 1984 (WGS-84). Due to this error, non
`US. military GPS systems and commercial systems Which
`do not augment the GPS With “Differential” processing have
`not proven useful for applications in Which 100 meters is a
`signi?cant error, such as When attempting to record a run
`ner’s position versus time.
`As a result of selective availability error, a related error is
`introduced into GPS systems When there is a change in the
`sub-set of satellites used to obtain a ?x. This can occur When
`one or more satellites become obscured by terrain,
`vegetation, buildings, the user’s body, or if one or more
`satellites sets over the horiZon. This additional error mani
`fests itself as a jump in the indicated position of the receiver.
`In addition to the errors in determining position discussed
`above, typical handheld GPS receivers also suffer from
`limited memory storage capacity. Hand-held GPS receivers
`typically alloW for the storage of approximately 500 Way
`points. This memory is quickly used up if the system stores
`each successive ?x along an athlete’s path of travel.
`KnoWn GPS systems also have the shortcoming of being
`too large and heavy to be unobtrusively attached to the Wrist,
`Waist, or other convenient area of an athlete’s body during
`a Workout. The siZe of these units is partially the result of the
`relatively large space required for batteries, Which is neces
`sitated by the amount of poWer consumption.
`
`10
`
`15
`
`25
`
`35
`
`45
`
`55
`
`1. Field of the Invention
`The present invention relates to a system and method for
`determining the distance, speed and pace traveled by a
`person. More particularly, the invention concerns a system
`that is attached to the person, that processes and ?lters
`signals received from satellites to obtain kinematic measure
`ments traveled by the person.
`2. Description of the Related Art
`For years runners have been attempting to precisely
`determine distance covered during their Workout, their pace
`or current speed during their Workouts. Although pedom
`eters have been Widely used for measuring distance, they
`have not proven to be sufficiently accurate. Also, pedometers
`are not able to directly indicate pace or speed. During races,
`rather than using pedometers, distance information is typi
`cally provided With distance markers placed along the
`course. While distance markers provide the runner With
`valuable distance information, they fail to directly indicate
`the runner’s pace or speed. Average speed has typically been
`determined by measuring the elapsed time When the runner
`reaches a particular distance marker, and then manually
`dividing the distance by the elapsed time to calculate the
`average speed. Even the limited usefulness of distance
`markers is not available to runners on informal running
`courses, Where distance markers are generally not available.
`Runners conducting interval Work are forced to run on a
`measured track. When speed changes are required, current
`runners must calculate it mentally using time and distance.
`In addition to runners, other athletes such as Walkers,
`bicyclists, skiers, hikers, in-line skaters, sWimmers, and
`triatheletes also frequently desire to determine the distance
`covered during their Workouts, and their speed or variations
`of pace during their Workouts. Additionally, distance and
`speed information is useful to health care professionals
`monitoring the exercise of their patients.
`Navigation systems that calculate distance and speed
`information are Widely knoWn. For example, navigation
`systems that determine the latitude and longitude of ships
`and aircraft also commonly calculate the distance traveled
`and speed.
`Global Positioning System (GPS) satellites have been
`Widely used for navigational purposes to determine the
`latitude, longitude, and altitude of ships, aircraft and motor
`vehicles. Additionally, hand-held GPS receivers have been
`employed for mapping the latitude, longitude, and altitude of
`geographic locations on the earth.
`GPS systems determine position by receiving signals
`from a sub-set of the 24 US. GPS satellites that are in
`operation. The signals transmitted by each satellite include
`a time code, Which is synchroniZed With the time codes
`transmitted by the other satellites. The GPS system calcu
`lates an earth-centered-earth-?xed (ECEF) ?x of a location
`Where the signals are received, based on the time differences
`betWeen the signals received from the satellites, and based
`upon the knoWn locations of the satellites. ECEF is a 3-axis
`coordinate system With the origin located at the center of the
`earth. The satellites are not in geosynchronous orbits. The
`locations of the satellites are knoWn because, prior to use the
`GPS system receives almanac and ephemeris data from the
`satellites. Almanac data is good for several Weeks and is
`updated Weekly. Ephemeris data is good for about 4 hours
`
`SUMMARY OF THE INVENTION
`
`Broadly, the present invention concerns a system, a signal
`bearing medium embodying a program of machine-readable
`instructions, and a method, using Global Positioning System
`(GPS) satellites to determine kinematic measurements cov
`ered by a runner such as distance, speed or pace. Unlike GPS
`navigation systems that determine position relative to navi
`
`65
`
`UA-1009.012
`
`
`
`6,032,108
`
`3
`gational references such as latitude and longitude, the
`present invention does not determine the position of the
`person relative to navigational references. Rather, the
`present invention measures the distance traveled by calcu
`lating the relative distance traveled by calculating the rela
`tive distance betWeen each successive pair of ECEF ?xes.
`The total distance traveled is the sum of the absolute values
`thereof. Also, the selective availability error in the signals
`received from the GPS satellites is effectively canceled out
`because the present invention determines the relative dis
`tance betWeen the points, not the absolute distance of the
`ECEF points from navigational references. The present
`invention also determines When there has been a change in
`the sub-set of satellites used to obtain a ?X, and corrects for
`the resulting error. By providing solutions to these problems,
`the invention affords its users With a number of distinct
`advantages.
`The present invention can be used as a system that
`includes a GPS receiver con?gured to attach to a person’s
`body for receiving signals from GPS satellites, Wherein a
`processor is communicatively coupled to the GPS receiver.
`The processor processes the signals received at a plurality of
`points from sub-sets of GPS satellites to determine the
`ECEF ?X in the X, y, and Z planes relative to the center of the
`earth of each point Where the GPS signals are received. The
`processor also detects When the signals received at a point
`are received from a different sub-set of satellites than the
`sub-set of satellites that the signals received at the preceding
`point Were received from. The processor corrects for an error
`in the ECEF ?X of each point at Which the signals are ?rst
`received from the different sub-set of satellites. Additionally,
`the processor calculates the relative distance of the segments
`betWeen the ECEF ?Xes of each pair of sequentially adjacent
`points Where the signals from the sub-sets of GPS satellites
`are received. The processor then adds together the distances
`of the segments to determine the distance of the path de?ned
`by the points. The processor also calculates the elapsed time
`betWeen selective points at Which GPS signals are received,
`and calculates the average speed of the person betWeen
`selective points.
`The system also includes a storage communicatively
`coupled to the processor for storing data structures repre
`senting the times that GPS signals are received at selective
`points relative to the times that GPS signals are received at
`other selective points. The storage also includes storage for
`data structures representing the ECEF ?Xes of selective
`points. Alternatively, the distance measurement can be deter
`mined using the carrier Doppler frequency from satellite
`signals to determine a Doppler velocity vector betWeen
`selective points.
`The present invention can also be made as an article of
`manufacture comprising a signal-bearing medium tangibly
`embodying a program of machine-readable instructions
`executable by a digital processing device for performing a
`method of determining kinematic measurements such as
`distance traveled, pace or speed of a person. The method
`includes processing data structures representing signals
`received at a plurality of points from sub-sets of GPS
`satellites to determine the ECEF ?X of each point in the X,
`y, and Z planes relative to the center of the earth. The method
`also includes determining When the data structures repre
`senting the signals received at a point are received from a
`different sub-set of satellites than the sub-set of satellites that
`the signals received at the preceding point Were received
`from. The method corrects for an error in the ECEF ?X of
`each point at Which the signals are ?rst received from the
`different sub-set of satellites. The method also includes
`
`10
`
`15
`
`25
`
`35
`
`45
`
`55
`
`65
`
`4
`calculating the relative distance of the segments betWeen the
`ECEF ?Xes of each pair of sequentially adjacent points, and
`then adding together the distances of the segments to deter
`mine the distance of the path de?ned by the points.
`The method also includes calculating the elapsed time
`betWeen selective points at Which GPS signals are received
`and calculating the average speed of the person betWeen
`selective points at Which GPS signals are received. The
`method also includes storing data structures representing the
`ECEF ?Xes of the points that are not intermediate points
`along a line, and storing data structures representing the
`relative times that the ECEF ?Xes of the points that are not
`intermediate points along a line are received.
`The present invention is a method for determining the
`distance traveled by a person. This method is generally the
`same method as the method of the program embodied on the
`signal-bearing medium, but also includes the act of attaching
`a GPS receiver to a person for receiving signals from GPS
`satellites, and receiving With the GPS receiver at a plurality
`of points signals from sub-sets of GPS satellites.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`The nature, objects, and advantages of the invention Will
`become more apparent to those skilled in the art after
`considering the folloWing detailed description in connection
`With the accompanying draWings, in Which like reference
`numerals designate like parts throughout, Wherein:
`FIGS. 1a 1b & 1c are perspective vieWs of an sports
`performance computer (SPC) in accordance With the inven
`tion.
`FIG. 2 is a block diagram of the hardWare components
`and interconnections of a SPC in accordance With the
`invention.
`FIGS. 3a, 3b, 3c, 3d, 36, 3f and 33g are ?oWcharts
`illustrating the steps performed by the main program and
`subroutines used to operate the SPC.
`FIG. 4 is a ?oWchart illustrating an alternative subroutine
`for determining distance using satellite Doppler frequency
`signals to determine velocity vectors.
`
`DETAILED DESCRIPTION
`
`The present invention concerns a system, a signal bearing
`medium embodying a program of machine-readable
`instructions, and a method, using Global Positioning System
`(GPS) satellites to determine the current speed of an athlete,
`distance traveled from the start and the actual pace in
`minutes per mile With accuracy to a tenth-of-a-mile. The
`system of the present invention is referred to as the Sports
`Performance Computer (SPC). The SPC produces a real
`time display of the user’s actual performance. Unlike GPS
`navigation systems that determine position relative to navi
`gational references such as latitude and longitude, the
`present invention does not determine the absolute position of
`the person relative to navigational references. Rather, the
`present invention determines in meters the Earth-Centered
`Earth-FiXed (ECEF) ?X of the location of the person at a
`plurality of points in the X, y, and Z planes relative to the
`center of the earth, Which has X, y, and Z coordinates 0, 0, 0.
`The ECEF ?X could equivalently be determined using polar
`coordinates. Using the ECEF ?X eliminates errors associated
`With translating ECEF ?Xes into latitude and longitude
`positions, and errors related to determining the absolute
`position of the points relative to navigational references. The
`invention accurately determines distance speed and pace
`even if the position of the origin in the ECEF system is
`
`UA-1009.013
`
`
`
`6,032,108
`
`5
`incorrect, as long as the error is consistent, because it is the
`relative distance betWeen the points, rather than the absolute
`distance of the points to a reference, that is used to determine
`the distance, pace and speed.
`HardWare Components & Interconnections:
`The principal components of the SPC are a GPS receiver
`con?gured for attachment to the person for receiving signals
`from GPS satellites, a processor communicatively coupled
`to the GPS receiver, and a memory that is also referred to as
`storage. The hardWare for the SPC is shoWn in FIG. 2 and
`includes an antenna Which is external to the hardWare
`housing shoWn in the solid outer line. The display panel can
`be either made as an integral SPC system as shoWn in FIG.
`1a or be attached to other body parts such as a person’s Wrist
`as shoWn in FIG. lb or hat visor as shoWn in FIG. 1c.
`The processor Will typically comprise tWo separate inte
`grated circuits (IC’s): a GPS digital-signal-processor (DSP)
`integrated circuit (IC) and a microprocessor IC.
`Alternatively, the processor could be a single IC. The GPS
`receiver is typically a specialiZed front end multi-channel
`radio frequency receiver IC.
`Preferably the GPS receiver IC is paired With a compan
`ion specialiZed GPS DSP-IC. The GPS receiver IC outputs
`data used to determine ECEF ?xes to the GPS-DSP. IC chip
`sets that include a GPS receiver IC and a companion
`GPS-DSP IC that are suitable for use in the SPC are
`available from a number of manufacturers, including: a
`“Sierra” chipset Which is available from Trimble, Inc. at 645
`N. Mary Ave., Sunnyvale, Calif.; a “SiRFstarTM” chip set
`Which is available from SiRF Technology, Inc., 107 San
`Zeno Way, Sunnyvale, Calif.,; or a similar chip set available
`from Garmin Inc. at 1200 E. 151 St., Olathe, Kans.
`Preferably, the Trimble “Sierra” chip set is used, With the
`GPS-DSP chip sets being customized to include ?rmware
`implementing the method of the present invention and use
`custom Large-Scale-Integration (LSI) for a compact design.
`Preferably, a Trimble Original Equipment Manufacturer
`(OEM) circuit motherboard is used With the Trimble Sierra
`chip set, although alternatively a custom circuit board can be
`used.
`The microprocessor performs the ?nal GPS ?x
`calculations, and also handles the SPC control functions.
`The microprocessor can be a Motorola 68000 series
`microprocessor, eg a Motorola 68331 microprocessor.
`Typically, the microprocessor Will be attached to a GPS
`manufactured motherboard, although a custom designed
`circuit motherboard can alternatively be used. Additionally,
`other microprocessors or microcontrollers that satisfy SPC
`processor speci?cations, could be used.
`Alternatively, any of the IC’s could be replaced With
`custom LSI-IC’s, or With discrete components. As another
`alternative, it may be possible to implement the functions
`performed by the digital circuitry With discrete and/or inte
`grated analog circuitry. As another alternative, the GPS-DSP
`and/or the microprocessor could be replaced With a complete
`computer, if the computer could be made small and light
`enough for the uses of the present invention. To conserve
`poWer, it is desirable to use IC’s With the loWest possible
`operating voltages.
`The SPC also includes a crystal oscillator circuit that
`provides clock signals to the GPS-DSP and to the micro
`processor. Standard computer read-only-memory ROM is
`used to permanently store the SPC’s softWare. Standard
`random access memory RAM is used to temporarily store
`ephemeris data, ?x, time, distance, pace and speed data, and
`other operands.
`As can be seen in FIG. 2, a number of data busses
`interconnect the components of the SPC. The ROM is in data
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6
`communication With the GPS-DSP and the microprocessor.
`The RAM is in data communication With the GPS-DSP and
`the microprocessor. The GPS-DSP is in data communication
`With the GPS receiver IC, the microprocessor, the ROM and
`the RAM. The microprocessor is in data communication
`With the GPS-DSP, the RAM, the ROM, and the LCD panel.
`Address busses also connect the microprocessor and the
`GPS-DSP to the ROM and the RAM. The microprocessor
`also controls the GPS-DSP and the LCD panel through
`control lines. The GPS-DSP controls the GPS receiver
`through receiver control lines.
`The SPC also includes an antenna, Which receives the
`radio frequency (RF) signals from the satellites, and inputs
`those signals to the GPS receiver IC. Antenna design and
`placement is important for adequate reception. A dipole
`antenna is preferred. Alternatively, standard patch and heli
`cal antennas have been found to operate effectively, although
`they may experience signal blockage if not Worn high on the
`person’s body. As another alternative, contra-Wound torodial
`helical antennas have the potential to provide effective
`coverage Without incurring speci?c polariZation or place
`ment requirements. A conical antenna is another possible
`alternative.
`The SPC includes a Liquid Crystal Display (LCD) panel
`that displays to the user the information produced by the
`SPC. This information can be displayed continuously, or on
`demand When the user presses a button. Instead of or in
`addition to the LCD, optionally, the visual output from the
`SPC could be displayed in a heads-up display attached to
`eyeglasses or a head-piece visor as shoWn in FIG. 1c. Also,
`the LCD may be physically separated from the other com
`ponents and use a radio-link interface; in this Way the LCD
`could be Worn as a “Watch-like” device While the GPS
`receiver antenna and microprocessor functions are Worn
`elseWhere on the body as shoWn in FIG. 1b Which shoWs the
`a portion of the SPC being Worn as a shoulder harness for the
`receiver to have uninterrupted reception from the GPS
`satellites. The SPC must be attached to the user. For
`example, the SPC can be con?gured to be Wrist mounted as
`shoWn in FIG. 1a; belt clip mounted; shoulder/armband
`mounted; as a belly PAC device With a simple display
`readout. The SPC can also be in a head mounted system
`integral to a visor or hat With a heads up display on ?ip doWn
`glasses; and/or as discussed beloW, as an audible system
`using a earphone headset.
`The antenna unit 20 and GPS hardWare 30 shoWn in FIG.
`1b includes a radio frequency link Which transmits infor
`mation to a Watch display panel 10. Alternatively, the SPC
`hardWare could be attached to a belt and the RF link
`transmits display information to either a Wrist Worn display
`10 unit or a visor mounted display 40 unit. FIG. 1c shoWs a
`head unit Which has an LCD display panel 40 attached.
`This display information includes: the total distance that
`the user has covered since a starting point in tenths of miles
`or tenths of kilometers, the total time elapsed since a starting
`time, the average speed since the starting time, and the
`current speed. Preferably, the current speed is determined by
`dividing the distance traveled betWeen a speci?ed number of
`the most recent points Where the GPS signals are received,
`by the elapsed time betWeen those points. Preferably, about
`5 points are used to determine the current speed. The
`reciprocal of the speed can be calculated to indicate the pace
`in minutes per mile or minutes per kilometer. Alternatively,
`the current speed indicated can be the Doppler speed that can
`be calculated by the GPS-DSP based on the GPS signals
`received at the most recent point. To present the information
`in terms most familiar and useful to users of the SPC,
`
`UA-1009.014
`
`
`
`6,032,108
`
`7
`preferably the speed information is indicated in terms of a
`pace, for example as a six minute mile, rather than as a rate
`of speed such as ten miles per hour.
`Optionally, in addition to the LCD, the SPC could provide
`audio output of the information d



