A method, a mobile device arid a computer program product for acquiring gps on a mobile device possessing gps capability are disclosed. The method comprises the step of setting a current value of the period of the power-up phase of the gps dependent upon adaptive predictions of when the gps should be powered on to meet specifications on positioning accuracy and gps acquisition time.
|
1. A method of acquiring gps position on a mobile wireless communication device for a wireless communications network, said mobile wireless communication device possessing wireless communications capability for said wireless communications network and an embedded gps global positioning system (gps) module for gps capability, said method comprising:
setting a current value of a period of a power-up phase of said gps adaptively predicting when said gps module should be powered on to meet specifications on at least one of positioning accuracy and gps acquisition time, said adaptively predicting when said gps module should be powered on being dependent on a current radio position and error of said mobile wireless communication device in the wireless network, said position error being determined from the wireless communications network and adaptive predictions of when said gps should be powered on to meet specifications on positioning accuracy and gps acquisition time, said wireless communications network being different from said gps.
12. A mobile wireless communication device for a wireless communications network, said mobile wireless communication device possessing wireless communications capability for said wireless communications network, said mobile wireless communication device comprising:
a processor;
a memory coupled to said processor;
an embedded gps global positioning system (gps) module coupled to said processor providing a gps capability for said mobile wireless communication device; and
means for setting a current value of a period of a power-up phase of said gps adaptively predicting when said gps module should be powered on to meet specifications on at least one of positioning accuracy and gps acquisition time, said adaptively predicting when said gps module should be powered on being dependent on the current radio a position and error of said mobile wireless communication device in the wireless network, said position error being determined from the wireless communications network and adaptive predictions of when said gps should be powered on to meet specifications on positioning accuracy and gps acquisition time, said wireless communications network being different from said gps.
34. A method of acquiring gps position on a mobile device for a wireless network, said mobile device possessing wireless communications capability for said wireless network and gps having a global positioning system (gps) module possessing gps capability, said method comprising the steps of:
using determining a position error of said mobile device in the wireless network, the position error being determined from the wireless network, said wireless communications network being different from said gps;
if upon being determined that the position error is too large, adjusting a current value of a period of a power-up phase of said gps module downward;
if upon being determined that the position error is too small, adjusting the current value of said period of the power-up phase of said gps module upward;
estimating using a neural network a new value of said period of the power-up phase of said gps module dependent upon said position error; and
setting a the new value of said period of the power-up phase of said gps to a weighted value dependent upon an acceptable error bound.
35. A method of acquiring gps position on a mobile device for a wireless network, said mobile device possessing wireless communications capability for said wireless network and gps having a global positioning system (gps) module processing gps capability, said method comprising the steps of:
using determining an acquisition time at a last position fix of the mobile device in the wireless network, the last position fix being determined from the wireless network, said wireless communications network being different from said gps;
if upon being determined that the acquisition time is too large, adjusting a current value of a period of a power-up phase of said gps module downward;
if upon being determined that the acquisition time is too small, adjusting the current value of said period of the power-up phase of said gps module upward;
estimating using a neural network a new value of said period of the power-up phase of said gps module dependent upon said acquisition time; and
setting a the new value of said period of the power-up phase of said gps module to a weighted value dependent upon an acceptable bound.
23. A computer program product for a mobile wireless communication device for a wireless communication network, said mobile wireless communication device possessing wireless communications capability for said wireless communications network and an embedded gps global positioning system (gps) module for gps capability, said computer program product having a computer readable medium storing a computer program for acquiring gps position on said mobile wireless communication device, comprising:
computer program code means for interfacing with the gps capability of said mobile wireless communication device; and
computer program code means for setting a current value of the period of the power-up phase of said gps adaptively predicting when said gps module should be powered on to meet specifications on at least one of positioning accuracy and gps acquisition time said adaptively predicting when said gps module should be powered on being dependent on a current radio position and error of said mobile wireless communication device in the wireless network, said position error being determined from the wireless communications network and adaptive predictions of when said gps should be powered on to meet specifications on positioning accuracy and gps acquisition time, said wireless communications network being different from said gps.
2. The method according to
3. The method according to
4. The method according to
5. The method according to
6. The method according to
7. The method according to
if at least one of said position error and acquisition times of gps fail to meet acceptable bounds, reducing said value of said period of the power-up phase; and
if at least one of said position error and acquisition times of gps meet said acceptable bounds, increasing said value of said period of the power-up phase.
9. The method according to
10. The method according to
11. The method according to
predicting a next position at a next scheduled power-up time using a number of last positions reported of said mobile device in the wireless network determined from the wireless network;
comparing said predicted position at said next power-up time with an actual position of said mobile device in the wireless network determined from the wireless network and determining said position error; and
storing current values of said period of the power-up phase, acquisition time, said position error, and position in a storage unit of said mobile device.
13. The mobile device according to
14. The mobile device according to
15. The mobile device according to
16. The mobile device according to
17. The mobile device according to
18. The mobile device according to
means for, if at least one of position error and acquisition times of gps fail to meet acceptable bounds, reducing said value of said period of the power-up phase; and
means for, if at least one of said position error and acquisition times of gps meet said acceptable bounds, increasing said value of said period of the power-up phase.
19. The mobile device according to
20. The mobile device according to
21. The mobile device according to
22. The mobile device according to
means for predicting a next position at a next scheduled power-up time using a number of last positions reported of said mobile device in the wireless network determined from the wireless network;
means for comparing said predicted position at said next power-up time with an actual position of said mobile device in the wireless network determined from the wireless network and determining said position error; and
means for storing current values of a period of the power-up phase, acquisition time, said position error, and position in a storage unit of said mobile device.
24. The computer program product according to
25. The computer program product according to
26. The computer program product according to
27. The computer program product according to
28. The computer program product according to
29. The computer program product according to
computer program code means for, if at least one of said position error and acquisition times of gps fail to meet acceptable bounds, reducing said value of said period of the power-up phase; and
computer program code means for, if at least one of said position error and acquisition times of gps meet said acceptable bounds, increasing said value of said period of the power-up phase.
30. The computer program product according to
31. The computer program product according to
32. The computer program product according to
33. The computer program product according to
computer program code means for predicting at a next position a next scheduled power-up time using a number of last positions reported of said mobile device in the wireless network determined from the wireless network;
computer program code means for comparing said predicted position at said next power-up time with an actual position of said mobile device in the wireless network determined from the wireless network and determining said position error; and
computer program code means for storing current values of a period of the power-up phase, acquisition time, said position error, and position in a storage unit of said mobile device.
36. The method according to
0. 37. The method according to claim 1, further comprising setting a current value of a period of the power-up phase of said gps dependent upon adaptive predictions of when said gps should be powered on to meet specifications on positioning accuracy or gps acquisition time.
0. 38. The mobile device according to claim 12, further comprising means for setting a current value of the period of the power-up phase of said gps dependent upon adaptive predictions of when said gps should be powered on to meet specifications on positioning accuracy or gps acquisition time.
0. 39. The computer program product according to claim 23, further comprising computer program code means for setting a current value of the period of the power-up phase of said gps dependent upon adaptive predictions of when said gps should be powered on to meet specifications on positioning accuracy or gps acquisition time.
|
The present invention relates generally to GPS acquisition and in particular to power conservation for GPS-enabled devices.
Techniques for the positioning of mobile devices in a wireless environment are important for a number of applications, such as emergency location services, ad hoc networks, and vehicle tracking.
In the mobile phone industry, competing technologies address the specific issues of Emergency-911 (E-911) position location. Broadly speaking, these technologies fall into two categories: (1) network-based technologies and (2) Global Positioning Systems (GPS) technologies. The network-based technologies use network-based metrics (e.g., time of flight, angle of arrival etc). The GPS technologies use line-of-sight measurements to satellites.
Network-based and GPS technologies each attempt to meet the US Federal Communications Commission (FCC) requirements for E-911 Emergency Location Services. The FCC requirements set specific statistical requirements on the position accuracy on any technology. Currently the FCC's E-911 Phase II Plans dictate that 67% of all attempts for a position location must have an accuracy of less than 50 m, and 95% of calls must have an accuracy of less than 150 m (Federal Communications Commission E-911 http://www.fcc.gov/911/enhanced/). Although not mandated, it is generally accepted that acquisition time of a position fix must be in a reasonably short time scale. A positioning technology that can deliver a position fix within a timescale of 30 seconds is generally considered reasonable for E-911 services, since such a small amount of time has negligible impact on the total time taken for the emergency services to reach the emergency scene.
GPS-based techniques are known to provide accurate position measurements. However, such techniques are prone to a lengthy GPS acquisition time (the length of time taken from the time a GPS device is powered on until that device obtains a position fix). A principal reason for this is that the device does not know a priori which GPS satellites are currently in view and must undertake an exhaustive search to find the satellites in view. This is termed a “cold start”. Generally speaking in cold start mode, a GPS device can take up to several minutes to find a location fix, which is a time-scale deemed inappropriate for many applications, such as E-911.
One simple approach to overcome this difficulty involves simply keeping the GPS device switched on at all times. After an initial fix, the satellite almanac and ephemeris data are continuously kept up-to-date, and a cold start phase can be avoided. In this mode, the GPS device is said to be in “hot start” mode. A principal disadvantage of always keeping the device in a hot-start mode is the drain on the battery resources of the mobile device. Battery power in a mobile device is a precious resource, and any steps that can be taken to maximize battery life are advantageous. Simply keeping a GPS device powered on at all times to avoid the cold start is generally considered an unacceptable solution. This is particularly the case for an application like E-911, where the GPS location finding capability is likely to be only rarely utilized.
A potential resolution to the problem of cold starts can be found in the Assisted-GPS (A-GPS) system proposed by Qualcomm; see Qualcomm White Paper, How A-GPS Works, 2001 (http://www.snaptrack.com/pdf/How_aGPS_works.pdf). In this system, the network “assists” the mobile device by transferring updated almanacs and ephemeris, collected by base stations, to the mobile device upon receipt of a location request. This speeds up the GPS acquisition of a mobile device relative to the acquisition from a cold start. The system also integrates network positioning information to find optimal position accuracy. However, this approach at attempting to solve the cold start problem comes at the cost of increased complexity in the network system design and incurs additional costs for the required extra infrastructure (i.e. network hardware and communications). This system is also not workable if the mobile device is disconnected from a network, but still requires a GPS position fix.
Another system attempting to address cold start is the use of periodic power-down of the GPS device. In this mode, the device is periodically switched off for a set period. As long as the time switched off remains small, at each onset of the power-up phase, the GPS device effectively commences in hot start mode. This periodic power-down of a GPS device is termed “TricklePower” by GPS chipset manufacturers; see Laipac Technology Inc., Reference Guideline to TF GPS, September 2001, (http://www.laipac.com/datasheets/gps/TF%20GPS%20Series.pdf). In this mode, a user is allowed to set initially the power-up period, Pu. For example, setting Pu=30 minutes means the GPS device powers up every 30 minutes to acquire a position fix. Once the fix is obtained (usually within seconds), the GPS device enters power-down mode.
Simply guessing what value to set Pu at is not optimal. A need clearly exists for an improved GPS acquisition system.
According to an aspect of the present invention, there is provided a method of acquiring GPS on a mobile device possessing GPS capability. The method comprises the step of setting a current value of the period of the power-up phase of the GPS dependent upon adaptive predictions of when the GPS should be powered on to meet specifications on positioning accuracy and GPS acquisition time.
According to another aspect of the present invention, there is provided a mobile device. The mobile device comprises a processor and memory coupled to the processor; a GPS module coupled to the processor providing a GPS capability for the mobile device; and means for setting a current value of the period of the power-up phase of the GPS module dependent upon adaptive predictions of when the GPS module should be powered on to meet specifications on positioning accuracy and GPS acquisition time.
According to yet another aspect of the present invention, there is provided a computer program product for a mobile device possessing GPS capability. The computer program product having a computer readable medium storing a computer program for acquiring GPS on the mobile device. The computer program product comprises computer program code means for interfacing with the GPS capability of the mobile device and computer program code means for setting a current value of a period of the power-up phase of the GPS module dependent upon adaptive predictions of when the GPS module should be powered on to meet specifications on positioning accuracy and GPS acquisition time.
According to yet another aspect of the present invention, there is provided a method of acquiring GPS on a mobile device possessing GPS capability. The method comprises the steps of using a position error between a predicted position and an actual position of the mobile device at a last position fix; if the position error is too large, adjusting a current value of the period of the power-up phase downward; if the position error is too small, adjusting the current value of the period of the power-up phase upward; estimating using a neural network a new value of the period of the power-up phase dependent upon the position error and setting a new value of the period of the power-up phase to a weighted value dependent upon an acceptable error bound.
Embodiments of the invention are described hereinafter by way of example with reference to the drawings, in which:
Methods, apparatuses, and computer program products for energy efficient GPS acquisition on a mobile device are disclosed. The acquisition meets pre-assigned statistical accuracy and acquisition time. In the following description, numerous specific details, including particular wireless networks, positioning systems, network configurations, filtering techniques, and the like are set forth. However, from this disclosure, it will be apparent to those skilled in the art that modifications and/or substitutions may be made without departing from the scope and spirit of the invention. In other circumstances, specific details may be omitted so as not to obscure the invention.
The methods may be implemented in modules. A module, and in particular its functionality, can be implemented in either hardware or software. In the software sense, a module is a process, program, or portion thereof that usually performs a particular function or related functions. Such software may be implemented in C, C++, JAVA, JAVA BEANS, Fortran, or a combination thereof, for example, but may be implemented in any of a number of other programming languages/systems, or combinations thereof. In the hardware sense, a module is a functional hardware unit designed for use with other components or modules. For example, a module may be implemented using discrete electronic components, or it may form at least a portion of an entire electronic circuit such as a Field Programmable Gate Arrays (FPGA), Application Specific Integrated Circuit (ASIC), and the like. A physical implementation may also comprise configuration data for a FPGA, or a layout for an ASIC, for example. Still further, the description of a physical implementation may be in EDIF netlisting language, structural VHDL, structural Verilog, or the like. Numerous other possibilities exist. Those skilled in the art will appreciate that the system may also be implemented as a combination of hardware and software modules.
Some portions of the following description are presented in terms of algorithms and representations of operations on data within a computer system or other device capable of performing computations. Such algorithmic descriptions and representations may be used by those skilled in the art to convey the substance of their work to others skilled in the art. An algorithm is a self-consistent sequence of steps leading to a desired result. The steps are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical, magnetic, or electromagnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. These signals may be referred to as bits, values, elements, symbols, characters, terms, numbers, or the like.
The above and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied, to such quantities. Unless specifically stated otherwise, and as apparent from the following, discussions utilizing terms such as “receiving”, “calculating”, “predicting”, “comparing”, “determining”, “storing”, “adjusting”, “using”, “estimating”, “setting” or the like, refer to the action and processes of a computer system, or a similar electronic device. Such a system or device manipulates and transforms data represented as physical quantities within the registers and memories of the computer system into other data similarly represented as physical quantities within the computer system registers, memories, or another form of storage, transmission or display devices.
Apparatuses and systems for performing the operations of the methods are also described. Such an apparatus may be specifically constructed for the required purpose. Alternatively, the apparatus may comprise a general-purpose computer (e.g., a notebook PC) or another computing device (e.g., a PDA), which may be selectively activated or reconfigured by a computer program read by the computer. The algorithms presented herein are not inherently related to any particular computer or other apparatus; various general-purpose machines may be used with programs.
The embodiments of the invention also relate to a computer program(s) or software, in which method steps may be put into effect by computer code. The computer program is not intended to be limited to any particular programming language, operating environment, and implementation thereof. A variety of programming languages, operating systems, and coding thereof may be used. Moreover, the computer program is not intended to be limited to any particular control flow. There are many other variants of the computer program, which can use different control flows without departing the scope and spirit of the invention. Furthermore, one or more of the steps of the computer program may be performed in parallel rather than sequentially.
The computer program may be stored on any computer readable medium. The computer readable medium may comprise storage devices, such as magnetic media disks, CD-ROMs, DVDs, flash RAM devices, memory chips, memory cards, magnetic tape, other storage devices and media suitable for interfacing with and being read by a general-purpose computer, and combinations thereof. The computer readable medium may also include a hard-wired medium, such as a local area network or the Internet, or wireless medium, such as an IEEE 802.11 wireless network, BlueTooth, a GSM mobile telephone system, PCS, and GPS. The computer program when loaded and executed on such a general-purpose computer effectively results in an apparatus that implements the method steps of the embodiments.
The methods of the embodiments comprise particular control flows. However, different control flows can be practiced without departing from the scope and spirit of the invention.
Hereinafter, the next “power-up time” means the time derived by adding the current value of Pu to the time at which a power down occurs. The embodiments of the invention systematically set the period of the power-up phase, Pu, whilst retaining the accuracy of the position fix and the acquisition times of the position fix within acceptable bounds.
Adaptive predictions are made of when a GPS device, embedded in a wireless communication device, should be powered on to meet specifications on positioning accuracy and GPS acquisition time. The embodiments of the invention address the issue of setting the period of the power-up phase, Pu, whilst retaining the accuracy of the position fix and the acquisition times of the position fix within acceptable bounds. Simply setting Pu to some value at the onset of operation may provide the required bounds for some time epoch, but there is no guarantee that this will also be the case in the future. Also, this simple approach provides no sense of an optimized value of Pu. By this, what is meant is the maximum value of Pu allowable whilst still retaining the accuracy of the position fix and the acquisition times of the position fix within acceptable bounds. An example of an inefficient system design would be a GPS system reporting positions every second when an acceptable error bound (accuracy) of 50 meters was required on a device moving at 1 meter per second. The embodiments of the invention allow a GPS device to determine dynamically an optimal Pu in response to such a circumstance.
The methods and apparatuses in accordance with embodiments of the invention address these issues, using adaptive-filter and machine-learning techniques within the mobile device. These techniques allow the mobile device to self monitor the predicted accuracy error and the predicted acquisition times of the GPS device. If these predicted values fail to meet acceptable bounds, the value of Pu is reduced. If the predicted values meet the acceptable bounds, the value of Pu is increased. The embodiments of the invention provide a technology referred to hereinafter as Self Monitored (SM)-GPS. Although applicable to E-911 services, SM-GPS is equally applicable to any mobile GPS device. SM-GPS allows such a device to operate in the most energy efficient way whilst still retaining the position accuracy and acquisition times deemed appropriate by the operator of the GPS device.
The embodiments of the invention assist a mobile device in GPS position acquisition in the most energy efficient way, whilst still retaining the position accuracy and acquisition times deemed appropriate by the operator of the GPS device. In this context, “mobile device” means a power limited (e.g. battery operated) device possessing embedded GPS capability. Examples of such devices are GPS-capable mobile telephones, laptop computers, Personal Digital Assistants (PDAs), and wireless sensor devices, to name a few.
In one embodiment, software is embedded in a mobile device to self-monitor the period of the power-up phase, Pu for the device, and to self-adjust the value of Pu if Pu is inconsistent with maximally conserving the battery power of the mobile device.
The embodiments of the invention involve the determination of the error between the predicted position of the mobile device and that of the actual position reported by its GPS. Given a past history of N reported positions, prediction techniques can be used to predict the position of the device at some time t later (the next power-up phase). The value N is determined a priori, usually based on experience of testing of a particular adaptive learning algorithm. In an embodiment of the invention, an adaptive filter technique based on neural networks is used for the position prediction. The difference between this predicted position and the actual position measured at time t can be used to formulate the position error. After forming this position error, the values of the position, the position error, and the value of Pu used at the time of the actual position measurement are stored in the mobile device's memory. In addition, acquisition time dta may be stored.
A flow chart of a method 300 to determine and store Pu, dta, and ep is depicted in
The foregoing method uses the stored position error values ep to determine how best to set the value of Pu given an acceptable error bound ac. A system can thus be designed that adaptively determines the best functional fit to the function Pu (ep). In one embodiment, a technique based on neural networks 200 can be used for the determination of Pu (ep). Given the current best estimate of this function and the acceptable error bound ac, the value of Pu can be then set using Pu (ac). In addition, a weighted contribution of Pu (ac) can be allowed for to be used in setting the new power-up period. A separate algorithm checks whether the current power-up period is too large or too small, and if so adjusts Pu accordingly. The new power-up period can then be set as wPu+(1−w) Pu (ac), where w is a weighting factor in the range 0-1.
In decision step 416, a check is made to determine if the stored position error values ep is too small. In one embodiment, the term “too small” means ep is smaller than 0.5 ac. However, variations on this in terms of some other fraction of ac can also be used. If decision step 416 returns true (Yes), processing continues at step 418. In step 418, the current value of the power-up period Pu is adjusted upwards. That is, the value of Pu is increased to a new value. The new value may be calculated as bPu, where b is set at 1.5. Once again, different values of b or different increase algorithms may be practiced. The new power-up period has a maximum threshold value above which it cannot be set. This threshold value may be ten minutes, for example, but this can be set by the user a priori. From step 418, processing continues at step 422. If decision step 416 returns false (No), processing continues at step 420.
In step 420, the current value of the power-up period Pu is not changed, that is, it is maintained at the same value. Processing then continues at step 422. In step 422, the new power-up period is set to wPu+(1−w)Pu(ac). In step 424, a neural network estimate of Pu(ep) is provided to step 422. That is, separate from the above steps, a neural network 200 estimate of the function Pu(ep) is made based on the stored values of Pu and ep. A weighted average of these two independent values may be used to set the final new power-up period as wPu+(1−w)Pu(ac), where ac is again the acceptable error bound on the position. The value of weighting parameter w is set a priori by the manufacturer or user. In a variant of this process, w can be made time dependent. From step 422, processing terminates.
If position accuracy is the sole criteria dictating the value of Pu, the above process would suffice. However, if the acquisition time is the sole criteria dictating the value of Pu, the process 500 depicted in the flowchart described in
In decision step 516, a check is made to determine if the stored acquisition time da is too small. The term “too small” means that dta is smaller than 0.5 Variations on this in terms of some other fraction of ac can also be used. If decision step 516 returns true (Yes); processing continues at step 518. In step 518, the current value of Pu is adjusted upwards. Thus, if dta is too small, the value of Pu is increased to a new value. The new value of the power-up period may be set to bPu where b is set at 1.5. Different values of b or different increase algorithms may be used. Again a maximum value of the power-up period is imposed. From step 518, processing continues at step 522. If decision step 516 returns false (No), processing continues at step 520.
In step 520, the current value of the power-up period Pu is not changed, that is, it is maintained at the same value. Processing then continues at step 522. In step 522, the new power-up period is set to wPu+(1−w)Pu(ac). In step 524, a neural network estimate of Pu(dta)) is provided to step 522. A weighted average of these two independent values is then used to set the final new power-up period as wPu+(1−w)Pu(ac), where ac is again the acceptable error bound on the acquisition time. The value of w is seta priori by the manufacturer or user. In a variant of this process w can be made time dependent. That is, separate from the above steps, a neural network 200 estimate of the function Pu(dta) is made based on the stored values of P and dta. From step 522, processing terminates.
In the event that both the position accuracy and the acquisition time are to be considered in dictating the new value of the power-up period, both algorithms shown in
As used by an E-911 application, the mobile device can automatically power-up the GPS device and determine its current position, if the GPS is available at that particular time. Due the SM-GPS algorithm described hereinbefore, cold start of the GPS device should be avoided. If for some reason the GPS is unavailable (e.g. by non-line of sight effects) when an emergency position request is made, the mobile device can report the GPS position predicted at the last power-up phase. This has the advantage over A-GPS that no added network infrastructure is required, and an estimate of the mobile device's current position is given even if the GPS suddenly became unavailable.
In the context of continuous position requests, such as in a tracking application, the SM-GPS algorithm adaptively alters the power-up period to find the largest value of Pu at that particular epoch that is consistent with the required accuracy and acquisition time bounds. This has an advantage relative to current systems that the user of the device does not have to estimate and manually enter such a value a priori. This also has the advantage of self-adjusting the value of Pu to changing conditions.
The adaptive prediction algorithm used for predicting positions and within the SM-GPS is similar to a Time Delay Neural Network (TDNN). Such networks are neural networks that have a special topology used for position-independent recognition of features within a larger pattern. These types of networks have been successfully used in applications such as speech prediction algorithms and stock predictions. Flexibility in the architectural design of these networks allows them to handle any complex nonlinear behavior as well as more simple linear behavior. A TDNN with just one neuron and a linear transfer function can be trained to operate as an effective linear adaptive filter.
The details of TDNNs, how they operate and the different architectures possible (e.g. learning strategies, transfer functions, number of layers, weights) have been well documented in the literature. For example, see Simon Haykin, Neural Networks: A comprehensive foundation, MacMillan, New York, 1994. In one embodiment, the previous positions are used to form the input vectors of the neural network and the output is the predicted position.
Other neural network are constructed to optimally find the functions Pu(ep) and Pu(dta) in
To accommodate various forms of relationships between the input vectors and the output in a neural network, MultiLayer Perceptron (MLP) models are used. These types of models can be applied to both the TDNN networks and the function discovery neural networks. MLP models typically have an input vector of length r and a hidden layer of s neurons. A matrix of weights αs,r describes the relationship between the input vectors and the layer of neurons. Various transfer function can be deployed such as a log-sigmiod transfer function. In general, the number of hidden layers can be increased to accommodate even more complex systems. In one embodiment, an MLP network that is adopted involves one hidden layer and a number of neurons equal to the size of the input vector. A log-sigmoid transfer function is adopted. For TDNN, the weights associated with the neural network adapt to the newly predicted position and its subsequent measurement of the actual position to minimize future prediction errors. By this mechanism, the network adapts and “learns” the optimal weight αs,r settings relevant to that particular epoch.
For the function discovery neural networks, the weights associated with the neural networks adapt to the newly predicted functional form of the functions (Pu(ep) and Pu(dta) of
The adaptive learning algorithms can be embedded on a signal processing chip in a mobile device. For additional power savings, the neural network calculations may be passed to some external processing unit within the network, if the mobile device is in communication with a larger network, e.g. a wireless network. The value of the power-up period calculated by the external device may then be passed back to the mobile device.
In the event of a GPS signal being unavailable, the position error and acquisition time are not defined for that time. As this could be an indication that the user is in an area where reception of the GPS satellite signals is poor, one may wish not to decrease the power-up period, or at least to limit the decrease. In this way additional energy sources are not used in a vain attempt at acquiring a GPS signal.
There are many neural network architectures that could be deployed in the algorithms of
The methods according to the embodiments of the invention may be practiced using one or more general-purpose computer systems, handheld devices, cellular phone, and other suitable mobile computing devices, in which the processes described with reference to
The computer 650 may comprise a processing unit 666 (e.g., one or more central processing units) 666, memory 670 which may comprise random access memory (RAM), read-only memory (ROM), or a combination of the two, input/output (IO) interfaces 672, a graphics interface 660, and one or more storage devices 662. The storage device(s) 662 may comprise one or more of the following: a floppy disc, a hard disc drive, a magneto-optical disc drive, CD-ROM, DVD, a data card or memory stick, flash RAM device, magnetic tape or any other of a number of non-volatile storage devices well known to those skilled in the art. While the storage device is shown directly connected to the bus in
Each of the components of the computer 650 is typically connected to one or more of the other devices via one or more buses 680, depicted generally in
The computer system 600 is simply provided for illustrative purposes, and other configurations can be employed without departing from the scope and spirit of the invention. Computers with which the embodiment can be practiced comprise IBM-PC/ATs or compatibles, laptop/notebook computers, one of the Macintosh™ family of PCs, Sun Sparcstation™, a PDA, a workstation or the like. The foregoing are merely examples of the types of devices with which the embodiments of the invention may be practiced. Typically, the processes of the embodiments, described hereinafter, are resident as software or a program recorded on a hard disk drive as the computer readable medium, and read and controlled using the processor. Intermediate storage of the program and intermediate data and any data fetched from the network may be accomplished using the semiconductor memory.
In some instances, the program may be supplied encoded on a CD-ROM or a floppy disk, or alternatively could be read from a network via a modem device connected to the computer, for example. Still further, the software can also be loaded into the computer system from other computer readable medium comprising magnetic tape, a ROM or integrated circuit, a magneto-optical disk, a radio or infra-red transmission channel between the computer and another device, a computer readable card such as a PCMCIA card, and the Internet and Intranets comprising email transmissions and information recorded on websites and the like. The foregoing is merely an example of relevant computer readable mediums. Other computer readable mediums may be practiced without departing from the scope and spirit of the invention.
A small number of embodiments of the invention regarding methods, systems, and computer program products for energy efficient GPS acquisition on a mobile device have been described. In the light of the foregoing, it will be apparent to those skilled in the art in the light of this disclosure that various modifications and/or substitutions may be made without departing from the scope and spirit of the invention.
Patent | Priority | Assignee | Title |
Patent | Priority | Assignee | Title |
5592173, | Jul 18 1994 | Trimble Navigation, LTD; Trimble Navigation LTD | GPS receiver having a low power standby mode |
5864315, | Apr 07 1997 | General Electric Company | Very low power high accuracy time and frequency circuits in GPS based tracking units |
6121921, | Jul 09 1996 | Matsushita Electric Industrial Co., Ltd. | Position detection apparatus |
6141570, | Aug 26 1998 | Ericsson Inc. | System and method for conserving battery energy in a wireless telephone with an integral global positioning system |
6151353, | Jul 12 1996 | General Electric Company | Pre-acquisition frequency offset removal in a GPS receiver |
6191587, | Apr 26 1996 | Satellite synchronized 3-D magnetotelluric system | |
6298229, | Dec 04 1998 | General Electric Company | GPS receiver for emergency location reporting during intermittent shadowing |
6389291, | Aug 14 2000 | SAMSUNG ELECTRONICS CO , LTD | Multi-mode global positioning system for use with wireless networks |
6429808, | Nov 12 1999 | Google Technology Holdings LLC | Method and apparatus for assisted GPS integrity maintenance |
6556832, | Feb 04 2000 | Qualcomm Incorporated; QUALCOMM INCORPORATED, A DELAWARE CORPORATION | Method and apparatus for evaluation of position location performance |
6584331, | Oct 09 2001 | VIVO MOBILE COMMUNICATION CO , LTD | Use of received signal strength indicator (RSSI) and global positioning system (GPS) to reduce power consumption in mobile station |
6590525, | Feb 24 2000 | TITAN INTELLIGENCE TECHNOLOGY LIMITED | GPS receiver and mobile unit incorporating the same |
6701153, | Jul 28 2000 | WSOU Investments, LLC | Methods and systems for determining the location of mobiles in a UMTS telecommunications system |
6703971, | Feb 21 2001 | Qualcomm Incorporated | Mode determination for mobile GPS terminals |
6765958, | Jul 24 2000 | RPX Corporation | High-speed adaptive interconnect architecture |
6903684, | Oct 22 2002 | QUALCOMM INCOPRORATED | Method and apparatus for optimizing GPS-based position location in presence of time varying frequency error |
7256731, | May 27 2004 | Northrop Grumman Systems Corporation | Power cycling for a global positioning system |
7440762, | Dec 30 2003 | SKYHOOK HOLDING, INC | TDOA/GPS hybrid wireless location system |
7619559, | Mar 15 2006 | The Boeing Company | Method and system for all-in-view coherent GPS signal PRN codes acquisition and navigation solution determination |
7969351, | Feb 21 2001 | Qualcomm Incorporated | Mode determination for mobile GPS terminals |
8515667, | Aug 31 2005 | VODAFONE IP LICENSING LIMITED | Power saving system for navigation device |
20020091956, | |||
20020154058, | |||
20030004640, | |||
20030083814, | |||
20030107514, | |||
20040225439, | |||
20050162306, | |||
20110102258, | |||
20140188638, | |||
GB2394134, | |||
WO2088769, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Dec 12 2016 | Nariste Networks Pty Ltd | MALANEY, ROBERT ANDERSON | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 040887 | /0213 | |
Oct 31 2020 | MALANEY, ROBERT A | Nariste Networks Pty Ltd | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 054233 | /0392 |
Date | Maintenance Fee Events |
Mar 19 2019 | M2552: Payment of Maintenance Fee, 8th Yr, Small Entity. |
May 08 2023 | REM: Maintenance Fee Reminder Mailed. |
Sep 08 2023 | M2553: Payment of Maintenance Fee, 12th Yr, Small Entity. |
Sep 08 2023 | M2556: 11.5 yr surcharge- late pmt w/in 6 mo, Small Entity. |
Date | Maintenance Schedule |
Dec 13 2019 | 4 years fee payment window open |
Jun 13 2020 | 6 months grace period start (w surcharge) |
Dec 13 2020 | patent expiry (for year 4) |
Dec 13 2022 | 2 years to revive unintentionally abandoned end. (for year 4) |
Dec 13 2023 | 8 years fee payment window open |
Jun 13 2024 | 6 months grace period start (w surcharge) |
Dec 13 2024 | patent expiry (for year 8) |
Dec 13 2026 | 2 years to revive unintentionally abandoned end. (for year 8) |
Dec 13 2027 | 12 years fee payment window open |
Jun 13 2028 | 6 months grace period start (w surcharge) |
Dec 13 2028 | patent expiry (for year 12) |
Dec 13 2030 | 2 years to revive unintentionally abandoned end. (for year 12) |