Navigation system enabled wireless headset

A method of enabling navigation from a headset is disclosed. The method generally includes the steps of (A) receiving a first signal transmitted by a device to the headset through a wireless personal area network, the first signal carrying assist data transmitted by an Assisted Global Positioning System server, (B) receiving a plurality of navigation signals transmitted by a navigation system to the headset and (C) calculating a current position of the headset at a first time using the assist data to lock onto the navigation signals.

CROSS REFERENCE TO RELATED APPLICATIONS

The present application is related to U.S. patent application Ser. No. 11/613,219, filed Dec. 20, 2006, and Ser. No. 11/613,536, filed Dec. 20, 2006, both of which are hereby incorporated by reference in their entirety.

FIELD OF THE INVENTION

The present invention relates to a method and/or architecture for satellite positioning receivers generally and, more particularly, to a navigation system enabled wireless headset.

BACKGROUND OF THE INVENTION

Conventional positioning systems, such as Global Positioning Satellite (GPS) receivers, are increasingly being integrated into battery operated user equipment (i.e., personal digital assistants and cellular telephones). The positioning systems calculate the locations of the user equipment based on signals received from the GPS satellites. The locations are used to provide applications and services for the benefit of the users. Owing to power consumption constraints in battery operated equipment, conventional positioning systems are normally only enabled on demand from the users. Hence, the applications and services can only be delivered following explicit requests from the users to establish current locations. As such, some applications and services will not function as intended where the users do not request location updates for an extended time. Therefore, a challenge in conventional implementations is to acquire the position fix as quickly as possible to minimize any delay in the response of location-based applications and services.

SUMMARY OF THE INVENTION

The present invention concerns a method of enabling navigation from a headset. The method generally comprises the steps of (A) receiving a first signal transmitted by a device to the headset through a wireless personal area network, the first signal carrying assist data transmitted by an Assisted Global Positioning System server, (B) receiving a plurality of navigation signals transmitted by a navigation system to the headset and (C) calculating a current position of the headset at a first time using the assist data to lock onto the navigation signals.

The objects, features and advantages of the present invention include providing a navigation system enabled wireless headset that may (i) transfer Assisted GPS (A-GPS) data via a Bluetooth® channel to a headset, (ii) provide a short time to first fix, (iii) repeatedly report the current position to location-based services and/or (iv) merge the circuitry of a Bluetooth® receiver and a GPS location receiver in the headset.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The present invention generally concerns an architecture of a satellite positioning receiver optimized for use in a Bluetooth® headset used in conjunction with a cellular telephone and other portable devices capable of receiving data from a cellular network. Bluetooth® is a registered trademark of the Bluetooth Special Interest Group, Inc., Bellevue, Wash. The satellite positioning receivers may include devices or systems that calculate the position of a user from signals received from navigation satellites, and in particular to receivers integrated into battery operated, mobile headsets often using a personal area network wireless protocol to communicate with a cell phone receiver.

The headset/receiver combination may exploit a physical distance away from the cell phone to minimize interference with other radio technologies (e.g., cellular radio, Wi-Fi radio, digital TV radio and digital radio) that may exist within the cell phone. The satellite positioning receiver may also exploit being located in the headset (next to the user's ear) to maximize a strength of the received satellite signals. The satellite positioning receiver generally utilizes Assisted Global Positioning System (A-GPS) information transmitted on many cell phone networks to reduce a Time To First Fix (TTFF), receiver sensitivity and/or other common satellite receiver performance parameters.

The A-GPS information may be sourced either from an A-GPS infrastructure embedded within the cell phone network or from GPS aiding equipment that may not be part of the cell phone network, but transmits the aiding information over the various data channels (e.g., GPRS, 3G, etc.) provided by the cellular telephone network. The assistance information may be available for some (or all) of the various positioning signals transmitted by the Global Positioning System (GPS) or GLObal NAvigation Satellite System (GLONASS) systems. The same techniques may be appropriate for use in the future with the Galileo and/or Beidou satellite positioning systems when operational. Furthermore, the same or similar techniques would be appropriate for geostationary extensions to GPS, GLONASS or Galileo, such as the European Geostationary Navigation Overlay Service (EGNOS) and the Wide Area Augmentation System (WAAS).

The cellular telephone network may make the A-GPS information available to the cell phone via standardized cell phone protocols, such as IS-801, GSM, W-CDMA, 3GPP and 3GPP2. The satellite positioning assistance information is generally extracted from the cellular telephone network transmission by equipment in the cell phone and communicated to the headset via a wireless communication link. A-GPS data may include ephemeris data of the satellites, an almanac of the satellites, a coarse position of the cell phone, a local time at the cell phone, satellite health information and satellite status information. Many aspects of GPS receiver performance, such as TTFF and acquisition sensitivity may be enhanced through the availability of A-GPS assistance information. A headset with an embedded GPS receiver may use the A-GPS information to optimize overall system performance.

Referring toFIG. 1, a diagram of a system100is shown in accordance with a preferred embodiment of the present invention. The system100generally comprises multiple (e.g., 24 to 30) navigation satellites102a-102n, a device (or apparatus)104a, a device (or apparatus)104b, a user103and one or more cellular networks110a-110g. A wireless cellular telephone system may be formed by the device104ain communication with the device104b. The device104amay include an embedded (or integrated) positioning system receiver (e.g., a GPS receiver).

Multiple signals (e.g., Ca-Cg) may be transmitted from the cellular network towers110a-110gto the device104b. A bidirectional signal (e.g., BT) may be transferred between the device104aand the device104b. In some embodiments, the signal BT may be implemented as a Bluetooth® signal.

The device104amay receive signals (e.g., Sa-Sn) from the navigation satellites102a-102n. In some embodiments, the navigation satellites102a-102nmay be part of the GPS constellation. In other embodiments, the satellites102a-102nmay be part of GLONASS. Other space-based positioning systems, such as the proposed Galileo project, may be used as the source of the signals Sa-Sn.

A bidirectional signal (e.g., AVS) may be transferred between the device104aand the user103. The signal AVS generally comprises one or more audio signals, one or more visual signals and/or one or more tactile signals (e.g., vibrations) perceivable by the user103.

The device104bis generally implemented as a cellular telephone with a wireless headset capability. The device104bmay also be implemented as a variety of items, such as a personal digital assistant (PDA), a laptop computer, a digital camera with built-in GPS and/or other battery powered equipment capable of communicating with one or more cellular networks. The device104bis generally operational to (i) provide cellular telephone services to the user103and (ii) provide location-based applications and/or services to the user103. The device104bmay be further operational to (i) both transmit and receive voice data to and from the cell network towers110a-110gvia one or more signal Ca-Cg and (ii) receive data from one or more of the cell network towers110a-110gvia one or more signals Ca-Cg. Data received from the cell network towers110a-110gmay include, but is not limited to, A-GPS data, a local time and coarse location information. The device104bmay also be operational to (i) both transmit and receive voice data to and from the device104avia the signal BT and (ii) both transmit and receive navigation-related data to and from the device104avia the signal BT. Transmitted navigation-related data sent to the device104amay include, but is not limited to, the A-GPS data, the local time, the coarse location and one or more update requests. Received navigation-related data coming from the device104amay include, but is not limited to, a device position, a device velocity and a current (GPS) time.

The device104amay be implemented as a handheld (or portable) cell phone headset with an embedded navigation receiver. The device104amay also be implemented as a heads-up display and/or other battery powered human-machine interface equipment capable of communicating with the device104bover the personal area network. The device104amay be operational to (i) provide voice messages to and from the user103in support of the cellular telephone capability of the device104band (ii) provide device position, device velocity and current (GPS) time to the device104bin support of the location-based services operating in the device104b.

The cellular network towers110a-110gmay be operational to provide cellular telephone services to the system104a-104b. In some cases, the cellular network towers110a-110gmay also provide data services to the device104b. For example, each of the cellular network towers110a-110gmay transmit A-GPS data, a local time and an approximate (or coarse) position around a local cellular coverage area to the device104b. The coarse position may be based on (i) an identification of a particular cell and/or (ii) triangulation to several cells.

Referring toFIG. 2, a block diagram of an example implementation of the device104ais shown. The device104agenerally comprises a circuit (or module)106, a circuit (or module)108a circuit (or module)112, a circuit (or module)117and a circuit (or module)155. A combination of the circuit106, the circuit108and optionally the circuit155may form a satellite receiver circuit (or module)105.

The signals Sa-Sn may be received by the circuit106. An input signal (e.g., IN) may be generated by the circuit106and presented to the circuit108. The circuit108may generate a timing signal (e.g., T3) that is transferred back to the circuit106. An output signal (e.g., OUT) may be generated by the circuit108and presented to a circuit117. The circuit117may generate and present a request signal (e.g., REQUEST) to the circuit108. The signal BT may be received by the circuit117. A signal (e.g., POWER) may be generated by the circuit108and presented to the circuit155.

The circuit106may be implemented as a radio front-end receiver (or radio). The circuit106may be operational to listen to the viewable satellites102a-102nthrough the signals Sa-Sn and appropriate earth-based transmission, if implemented. Operationally, the circuit106may down-convert and digitize the available signals Sa-Sn to generate the signal IN.

The circuit108may be implemented as a signal processor circuit. The circuit108is generally operational to calculate the device position and the device velocity based on the information received in the signal IN. Furthermore, the circuit108may maintain a current time for the device104a. Timing related information may be presented from the circuit108to the circuit106in the signal T3. Some or all of the device position, the device velocity and the current time may be presented from the circuit108to the circuit117in the signal OUT either periodically, aperiodically and/or on demand in response to a request made by assertion of the signal REQUEST. For example, an application (e.g., a cellular telephone function) in the device104bmay be configured to request a current location update periodically (e.g., every 20 seconds) through the circuit117. If an update is missed for some reason, the circuit108may wait a short time (e.g., 5 seconds) and then deliver the updated location measurement.

The circuit112may be implemented as one or more batteries. The circuit112generally provides electrical power to all of the other circuits within the device104a. The batteries may be implemented as replaceable batteries and/or rechargeable batteries. Other power sources may be implemented to meet the criteria of a particular application.

The circuit117generally implements a personal area network transceiver (or radio). The circuit117may be operational to transfer commands and data between the device104aand the device104bvia the signal BT. In some embodiments, the personal area network may be a Bluetooth® network. Other networks may be implemented to meet the criteria of a particular application.

The circuit155may be implemented as a power control circuit. The circuit155is generally controlling the power consumption of the circuit108and the circuit106based on data received in the signal POWER. Power control may include, but is not limited to, application/removal of electrical power, timing of software execution and/or increasing/decreasing clock speeds. The circuit155generally allows the device104ato conserve the batteries112by (i) reducing electrical power consumption while navigation tasks are not in use and (ii) minimizing the power consumption when the navigation tasks are in use.

Referring still toFIG. 2, the circuit108generally comprises a circuit (or module)120, a circuit (or module)122and a circuit (or module)124. The signal IN may be received by the circuit120. An intermediate signal (e.g., INT) may be generated by the circuit120and presented to the circuit122. The circuit122may generate the signal OUT and receive the signal REQUEST. A timing signal (e.g., T1) may be generated by the circuit124and presented to both the circuit120and the circuit122. A timing update signal (e.g., T2) may be generated by the circuit122and presented to the circuit124. The circuit124may also generate the signal T3.

The circuit120may be implemented as a tracking engine. The circuit120may be operational to search for the different satellites102a-102nthat may be in view of the circuit106. Searching is generally conducted across a frequency range to compensate for Doppler frequency shifts in the signals Sa-Sn caused by the relative motion of the device104aand the satellites102a-102n. The searching may also be conducted in a window of time to find the correct positions of pseudo-random code sequences in the signals Sa-Sn. Conclusions from the pseudo-random code sequence searches generally give first approximations for a user time bias, reference epoch and a distance from the device104ato respective satellites102a-102n. The approximate distances are generally called pseudo-ranges.

Since the circuit120is effectively “always on”, the circuit120generally has knowledge a priori of which satellites102a-102nare in view. The circuit120may also have a good estimate of the satellite positions and the satellite velocities relative to the device104a. A good estimate of the resulting Doppler shifts may be calculated based on the estimated satellite positions and the estimated satellite velocities. Furthermore, the circuit106is generally aware of a local frequency reference that is (i) drifting relative to an absolute time (e.g., GPS time) and (ii) has an absolute frequency error. The device104amay also generate a good estimate of the device position and the device velocity. From the device position, the device velocity and the absolute frequency error, the circuit120may estimate the proper positions of the pseudo-random code sequences in the signals Sa-Sn transmitted from the available satellites102a-102n. A result is generally a reduction in the searching performed while calculating the pseudo-range to each of the satellites102a-102nand hence a corresponding reduction in the power consumed in performing the calculations.

The circuit122may be implemented as a position calculator. The circuit122generally uses the pseudo-ranges to the several satellites102a-102n, information regarding the Doppler shifts, knowledge of the satellite positions and knowledge of the satellite trajectories to calculate the device position and the device velocity of the device104a. Operations within the circuit122may be simplified by estimating the current device position and the current device velocity from knowledge of one or more previously calculated device positions and one or more previously calculated device velocities. In turn, the simplifications may result in a reduced power consumption.

The circuit124may be implemented as a timing reference circuit. The circuit124may be used to generate a current local time in the signal T1. Corrections to the current time may be made based on satellite timing information received from the circuit122in the signal T2. Timing information for the circuit106may be generated in the signal T3.

From time to time, the signals Sa-Sn from the satellites102a-102nmay not be clearly visible from the receiver106. For example, signal degradation or signal loss may happen when the user takes the device104adeep inside a building. Signal loss may also happen as part of a deliberate strategy to shut down the circuit106for short periods to save power.

During periods of signal- loss and/or weak signals Sa-Sn, the circuit124generally assures that an accurate timing reference is maintained. For example, under weak signal conditions, the circuit108may integrate over multiple navigation bits (e.g., 20 millisecond periods) and use data wipe-off to allow coherent integration. Knowledge of how good or bad the local time base/reference frequency actually is generally provides an upper bound on the number of pseudo-random noise spreading chips to be searched in order to reacquire the GPS signals.

When the signal conditions improve and/or return to normal, the “always-on” circuit120may rapidly reacquire a new position lock by accurately knowing the elapsed time since the last position fix, the user time bias and both the absolute error and the drift error of the local frequency reference. In such a case, the new positions of the satellites, the Doppler shifts and the positions in the pseudo-random code sequences may be accurately estimated by the circuit120. Thereafter, re-acquisition of the satellites102a-102nmay utilize modest calculations and power.

Referring toFIG. 3, a block diagram of an example implementation of the device104bis shown. The device104bgenerally comprises a circuit (or module)140, a circuit (or module)142, a circuit (or module)144and a circuit (or module)146. The signals Ca-Cg may be transmitted and received from the circuit144. The signal ET may be transmitted and received from the circuit140.

The circuit140generally implements a personal area network transceiver (or radio). The circuit140may be configured and operational to communicate with the circuit117in the device104a. Local bidirectional communications may also be established (i) between the circuit140and the circuit142and (ii) between the circuit142and the circuit144. Communications between the circuit140and the circuit142may include, but are not limited to, the current position requests sent to the device104a, the position received from the device104a, the velocity received from the device104a, the current time received from the device104a, the A-GPS information sent to the device104a, the local time sent to the device104a, the coarse position sent to the device104a, voice data sent to the device104aand voice data received from the device104a.

The circuit142may be implemented as one or more processors executing one or more applications (e.g., software modules). The circuit142may be operational to utilize the device position, the device velocity, the current time from the device104a, the local time from the cellular network and/or the coarse position derived from the cell towers110a-110gto provide location-based services and/or benefits to the user103. Examples of the location-based services may include, but are not limited to, localized advertising, public service information, weather, traffic conditions, business hours, directions, proximity alarms, games and other applications/services that depend on the user's location.

The circuit142may include a cellular telephone capability. When present, the cellular telephone capability may include transferring voice data to and from the circuit144to facilitate communications over the cellular network. The cellular telephone capability may also receive an interrupt when a new user location has been either measured or estimated by the device104a. In some embodiments, the interrupt and new user location may be used to provide a location-based personalization of the phone application (e.g., automatically adjust the ring tone based on location).

Furthermore, the bidirectional communication link with the circuit144may enable various information requests to be initiated by the circuit142, passed through the circuit144and relayed to the cellular network. The cellular network may respond by returning the requested information to circuit142through the circuit144. Other information, such as the local time and local position based on cell tower identification, may be transmitted to the circuit142through the circuit144on a repeated basis.

The circuit144generally implements a cellular network transceiver (or radio). The circuit144may be operational to send and receive voice, data and other information to and from the cell network towers110a-110gvia the signals Ca-Cg. The circuit144may be further operational to determine an approximate position of the device104bby triangulation using several of the signals Ca-Cg.

The circuit146may be implemented as one or more batteries. The circuit146generally provides electrical power to all of the other circuits within the device104b. The batteries may be implemented as replaceable batteries and/or rechargeable batteries. Other power sources may be implemented to meet the criteria of a particular application.

Referring toFIG. 4, a flow diagram of an example positioning method160performed by the device104ais shown. The method (or process)160may be implemented as a satellite positioning operation. The method160generally comprises a step (or block)162, a step (or block)164, a step (or block)166, a step (or block)168, a step (or block)170, a step (or block)172, a step (or block)174, a step (or block)176, a step (or block)178, a step (or block)180, a step (or block)182, a step (or block)184, a step (or block)186, a step (or block)188, a step (or block)190, a step (or block)192and a step (or block)194.

In the step162, the circuit106may receive one or more of the signals Sa-Sn. The received signals Sa-Sn may be frequency converted to the intermediate frequency or a baseband frequency in the step164. The resulting signal may then be digitized in the step166to create the signal IN.

If the signal IN contains an initial set of data from the satellites102a-102n, a full search for the pseudo-random codes may be performed by the circuit120(e.g., the YES branch of the step168). In the step170, the circuit120may search in both frequency and in time for the pseudo-random codes received in the signal IN. The search may be limited to the strongest signals. Satellites known to be well below the horizon may be eliminated from the search.

Once the pseudo-random codes have been identified, a correlation peak from a prompting correlator may be examined to estimate the signal energy. If a sub-chip time offset exists in the locally generated pseudo-random noise code, a local reference frequency error (e.g., due to a Doppler shift) may be corrected. The circuit120may then calculate the satellite positions, the satellite velocities and the Doppler shift information in the step172. The pseudo-ranges and associated Doppler shift information may be presented to the circuit122in the signal INT. To conserve power, the calculations may be (i) limited to a restricted number of satellites (e.g., at most six satellites), (ii) performed periodically (e.g., once every 15 second to 30 seconds), (iii) performed aperiodically and/or (iv) performed on demand.

In the step174, the circuit122may calculate the position of the device, the velocity of the device104aand a “GPS time” (e.g., 14 seconds different from Universal Time as of Jan. 1, 2006). The user time bias from the GPS time may be presented to the circuit124in the signal T2. The calculations are generally based on the pseudo-ranges and the Doppler shift information received in the signal INT. The current time may also be presented to the circuit122via the signal T1. Once calculated, the device position, the device velocity and the current time may be buffered by the circuit122in the step176.

To save power, the calculations may be limited to a restricted number of satellites. Generally, the circuit122may calculate a Geometric Dilution Of Precision (GDOP) for all of the satellites102a-120nthat may be visible. A combination of the satellites102a-102n(e.g., at most four) that gives a best dilution of precision metric may be used by the circuit122. In contrast, a typical position-velocity calculation takes into account6to12of the satellites102a-102n.

The circuit142may send a request to the circuit122for one or more of (i) the device position, (ii) the device velocity and (iii) the current time via the signal REQUEST in the step178. The circuit122may respond to the request by estimating the device position and/or the device velocity at the time of the request based on prior device positions and/or prior device velocities in the step180. The circuit122may also update the current time in the step180for presentation in the signal OUT. In the step182, the circuit117may transmit the requested device position, device velocity and/or current time to the device104b.

During subsequent sets of searches and calculations for the signal IN, the circuit108may use prior knowledge of the satellite positions, the satellite velocities, the device position, the device velocity and the current time to simplify the workload. In the step184, the circuit120may estimate the next satellite positions and the next satellite velocities. Thereafter, the circuit120may estimate the next expected Doppler shifts of the satellites102a-102nin the step186. Likewise, the circuit122may calculate a next device position and a next device velocity in the step188. A combination of the estimated satellite positions, satellite velocities, Doppler shifts, device position and device velocity may be used in the circuit120to perform a limited search of the next set of pseudo-random codes in the step190. Once the pseudo-random codes have been found, the circuit120may continue calculating the actual satellite positions, the actual satellite velocities and the actual Doppler shift information as before in the step172.

If the device104ahas been powered down for an extended period (e.g., the user turns off the headset while sleeping), the circuit108may utilize the A-GPS data to quickly reacquire lock on the satellites102a-102n. In the step190the circuit117may receive the A-GPS data from the device104band then pass the A-GPS data along to the circuit108. The circuit108may use the A-GPS data in the step194to calculate an initial search space to be used in reacquiring the signals Sa-Sn. Thereafter, the circuit108may perform the limited search of the step190to rapidly reacquire lock on the signals Sa-Sn. The rapid re-acquisition may provide compliance with the Enhanced 911 (E911) mandate of the Federal Communications Commission in North America and/or F112 currently being deployed in Europe to give emergency call dispatchers the position of the calling cell phone.

Referring toFIG. 5, a flow diagram of an example assist data transfer method200is shown. The transfer method (or process)200may be implemented in the device104a. The method200generally comprises a step (or block)202, a step (or block)204, a step (or block)206and a step (or block)208.

In the step202, the circuit144may receive the A-GPS data through one or more of the signals Ca-Cg. Either the circuit144and/or the circuit142may calculate a coarse position of the device104bin the step204. The calculations of the coarse position may be based on an identification of a signal from a specific cell network tower110a-110ghaving a predetermined location, triangulation using several of the signals Ca-Cg and/or other processes presently available to cell phones. In some embodiments, the coarse position may be calculated within the cellular network and transmitted to the device104b.

In the step206, either the circuit144and/or the circuit142may calculate the local time based on time information received in the signals Ca-Cg (e.g., embedded within the A-GPS data carried by the signals Ca-Cg). In some embodiments, the local time may be kept within the cellular network and transmitted to the device104b. The circuit140may transmit the A-GPS data (e.g., ephemeris, almanac, coarse position, local time, satellite health and satellite status) to the device104ain the step208. The device104amay then use the A-GPS data to quickly reacquire track of the signals Sa-Sn (seeFIG. 4)

Referring toFIG. 6, a flow diagram of an example location-based service method220is shown. The method (or process)220may be implemented in the device104b. The method220generally comprises a step (or block)222, a step (or block)224and a step (or block)226.

The circuit142generally hosts one or more location-based services that may rely on knowing the current position of the user103. As such, a request for the current position may be generated by the circuit142and transmitted to the device104avia the signal BT in the step222. The circuit122may respond to the request by supplying the device position, the device velocity and/or the current (GPS) time back to the device104b. As noted above, the current device position, velocity and time may be data points calculated from the signals Sa-Sn and/or extrapolations from previously calculated points. The circuit140may receive the device position, velocity and/or time from the device104avia the signal BT in the step224. In the step226, the circuit142may utilize the device position, the device velocity and/or the current time to provide the location-based service to the user103.

Referring toFIG. 7, a diagram illustrating a user wearing a headset is shown. The physical location of the satellite positioning receiver within the headset device104agenerally provides opportunities to improve overall system performance of the satellite positioning receiver. The physical orientation of the satellite positioning receiver (when the user103is making/receiving a cell phone call) is usually known since the device104ais commonly attached to an ear of the user103. An increasingly common practice is for the user103to wear the device104aon the ear even when not actively making phone calls.

The orientation of the satellite antenna when the device104ais attached to the user's ear is generally known. In particular, the physical positioning and orientation of the device104awhile worn is deterministic. Hence the physical location of the satellite antenna within the device104ais also known. The known orientation of the device104aon the ear may ensure that the satellite antenna is positioned in such a way within the device104ato be exposed to the sky and pointing toward the satellites102a-102nduring normal use. Optimal orientation of the satellite antenna generally has a positive effect on overall satellite navigation receiver performance.

As illustrated inFIG. 7, the device104amay be positioned on the right ear of the user103. In some applications, the device104bmay be worn on the left ear. In other applications, the device104amay be worn on both ears, one ear at a time or both ears simultaneously. With the satellite antenna mounted high on the user103(e.g., as compared with a pant pocket or purse), a wide view of the sky may be available to listen for the satellites102a-102n. In particular, the satellite antenna may be blocked by the ground from the satellites102a-102nbelow the horizon and partially blocked by the user's head, but otherwise, the satellite antenna may have a clear field of view in all other directions (e.g., at least a quarter-sphere field of view230).

Referring toFIG. 8, a partial block diagram of a first example configuration of a device104ais shown. The figure generally illustrates part of the circuit117and part of the circuit105. The circuit117and the circuit105generally comprise many common and/or similar functions. The circuit117generally comprises a radio240(providing both a transmit function and a receive function), digital signal processing242(both hardware and software) and memory244. The circuit105generally comprises the circuit106(providing a receive function), digital signal processing108(both hardware and software) and memory246. Therefore, opportunities may exist to optimize the hardware within the device104a. For example, the performance of a receive path within the circuit240may be enhanced to provide a portion of a satellite navigation receiver capability.

The circuit240generally comprises an antenna, a low noise amplifier (LNA), a mixer, a frequency synthesizer and an intermediate frequency (IF) path. The IF path of the circuit240generally comprises multiple variable gain amplifiers (VGA), multiple filters and multiple analog-to-digital converters (ADC). Likewise, the circuit106generally comprises an antenna, a low noise amplifier, a mixer, a frequency synthesizer and an IF path. The IF path of the circuit106generally comprises multiple variable gain amplifiers, multiple filters and multiple analog-to-digital converters.

Referring toFIG. 9, a partial block diagram of a second example configuration of a device104ais shown. In the second configuration, one or more common DSPs (and/or CPUs) may be shared between the satellite navigation receiver105and the personal area network transceiver117.

Referring toFIG. 10, a partial block diagram of a third example configuration of a device104ais shown. In the third configuration, one or more common memory modules may be shared between the satellite navigation receiver105and the personal area network transceiver117.

Referring toFIG. 11, a partial block diagram of a fourth example configuration of a device104ais shown. A single antenna may be shared between the radio106and the radio240.

Referring toFIG. 12, a partial block diagram of a fifth example configuration of a device104ais shown. The frequency synthesizer may be shared between the radio106and the radio240. The fifth configuration may be efficient where locally generated frequencies used in the radio106may be integer multiples and/or integer fractions of the frequencies used in the radio240.

Referring toFIG. 13, a partial block diagram of a sixth example configuration of a device104ais shown. A common antenna and a common low noise amplifier may be shared between the radio106and the radio240.

Referring toFIG. 14, a partial block diagram of seventh example configuration of a device104ais shown. The common low noise amplifier and a common mixer may be shared between the radio106and the radio240while the two radios operate in a time-sliced manner.

Referring toFIG. 15, a partial block diagram of an eighth example configuration of a device104ais shown. If operations of the radio106and the radio240may be time-sliced, the IF signal path could be shared between the two solutions where the gain levels, gain distribution, filtering criteria and filter pass-bands/stop-bands may be configured accordingly. Other shared-module configurations may be implemented to meet the criteria of a particular application.

Appropriate software coding can readily be prepared by skilled programmers based on the teachings of the present disclosure, as will also be apparent to those skilled in the relevant art(s).

The present invention thus may also include a computer product which may be a storage medium including instructions which can be used to program a computer to perform a process in accordance with the present invention. The storage medium can include, but is not limited to, any type of disk including floppy disk, optical disk, CD-ROM, magneto-optical disks, ROMs, RAMs, EPROMs, EEPROMs, Flash memory, magnetic or optical cards, or any type of media suitable for storing electronic instructions. As used herein, the term “simultaneously” is meant to describe events that share some common time period but the term is not meant to be limited to events that begin at the same point in time, end at the same point in time, or have the same duration.