Positioning apparatus
By introducing a decoding completion rate control mechanism into the GPS device, the positioning operation of the GPS device is controlled, and the problem of high power consumption in harsh environments is solved and more efficient positioning data acquisition is achieved.
Patent Information
- Application Number
- JP2023144220
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-09-06
- Publication Date
- 2025-03-18
AI Technical Summary
In harsh communication environments, it is difficult for GPS devices to obtain sufficient navigation data in a short period of time, resulting in an increase in power consumption.
By introducing a decoding completion rate control mechanism of the positioning unit into the control unit, whether the GPS device continues or stops the positioning operation, thereby optimizing power usage.
It effectively reduces the power consumption of GPS equipment in harsh environments and improves the efficiency of positioning data acquisition.
Smart Images

Figure 2025037348000001_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to a positioning device. [Background technology]
[0002] The electronic device described in Patent Document 1 includes a GPS unit that receives radio waves from positioning satellites, a GPS information acquisition unit that acquires ephemeris information by the GPS unit and acquires satellite positioning information for each of the positioning satellites from which the ephemeris information has been acquired, a sensor information acquisition unit that acquires location condition information of the current location, and a reception condition determination unit that specifies the number of positioning satellites that can be captured at the current location from among the multiple positioning satellites from which the ephemeris information has been acquired, based on the location condition information of the current location and the satellite positioning information. In the electronic device described in Patent Document 1, when a predetermined number or more of ephemeris data information has been acquired, reception in the GPS unit is turned off and autonomous navigation is switched to. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] JP 2020-170007 A Summary of the Invention [Problem to be solved by the invention]
[0004] However, in the electronic device described in Patent Document 1, if it is not possible to acquire a predetermined number of ephemeris data pieces or more, reception in the GPS section is not turned off. Therefore, in a poor communication environment, it takes a long time to acquire all the ephemeris data, and power consumption in the GPS section increases. [Means for solving the problem]
[0005] One aspect of the positioning device according to the present invention is a positioning unit that receives satellite signals transmitted from each of a plurality of satellites, decodes positioning data included in the satellite signals, the positioning data being predetermined data necessary for calculating the position of the satellite and the distance to the satellite, and performs positioning based on the decoded positioning data; and a control unit that controls whether the positioning unit continues or stops the positioning based on a decoding completion rate of the positioning data by the positioning unit. [Brief description of the drawings]
[0006] [Figure 1] FIG. 1 is a diagram showing an example of the configuration of a positioning device according to a first embodiment. [Diagram 2] FIG. 2 is a diagram showing the configuration of a navigation message in GPS. [Diagram 3] FIG. 4 is a diagram showing an example of the configuration of decoding status information; [Figure 4] FIG. 2 is a diagram showing an example of the configuration of a positioning unit. [Diagram 5] 5A to 5C are diagrams showing an example of a period, a timeout time, and an extension time of the intermittent drive of the positioning unit in the first embodiment. [Figure 6] FIG. 11 is a flowchart showing an example of a procedure for generating decoding status information by a positioning unit. [Figure 7] FIG. 4 is a flowchart showing an example of a procedure of positioning control by a control unit in the first embodiment. [Figure 8] FIG. 8 is a flowchart showing an example of the processing procedure of step S107 in FIG. 7. [Figure 9] FIG. 11 is a diagram showing an example of a relationship between an elapsed time and a positioning stop condition in the second embodiment. [Figure 10] 13A to 13C are diagrams showing an example of a period of intermittent drive of a positioning unit, a timeout period, and a positioning stop timing according to a second embodiment. [Figure 11] 13A to 13C are diagrams showing an example of a period, a timeout time, and an extension time of the intermittent drive of a positioning unit in the second embodiment. [Figure 12] FIG. 11 is a flowchart showing an example of a procedure of positioning control by a control unit in the second embodiment. [Figure 13]FIG. 13 is a flowchart showing an example of the processing procedure of step S128 in FIG. 12. [Figure 14] FIG. 13 is a diagram showing an example of the relationship between the remaining battery charge, the elapsed time, and the positioning stop condition in the third embodiment. [Figure 15] FIG. 13 is a flowchart showing an example of a procedure of positioning control by a control unit in the third embodiment. [Figure 16] FIG. 16 is a flowchart showing an example of the processing procedure of step S128 in FIG. 15. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0007] Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the drawings. Note that the embodiments described below do not unduly limit the contents of the present invention described in the claims. Furthermore, not all of the configurations described below are necessarily essential components of the present invention.
[0008] 1. First embodiment 1-1. Configuration of positioning device 1 is a diagram showing an example of the configuration of a positioning device 1 according to this embodiment. As will be described in detail below, the positioning device 1 receives a satellite signal transmitted from a satellite 2 and performs positioning based on the received satellite signal.
[0009] As shown in FIG. 1, the positioning device 1 of the present embodiment includes a positioning unit 10, a control unit 20, an antenna 30, a battery 40, a storage unit 50, a communication unit 60, an operation unit 70, and a display unit 80. However, the positioning device 1 may be configured by omitting or changing some of the components in FIG. 1, or by adding other components. Note that the positioning device 1 may have some or all of the components physically separated or integrated. For example, the positioning unit 10 and the control unit 20 may be realized by separate ICs, or the positioning unit 10 and the control unit 20 may be realized as a single IC. IC is an abbreviation for Integrated Circuit.
[0010] Each unit of the positioning device 1 operates using power supplied from the battery 40. The control unit 20 may control the supply of power from the battery 40 to each unit.
[0011] The antenna 30 is an antenna that receives various radio waves including satellite signals transmitted from each of the multiple satellites 2, and is connected to the positioning unit 10. The positioning unit 10 receives the satellite signals transmitted from each of the multiple satellites 2 via the antenna 30, decodes positioning data, which is predetermined data necessary for calculating the position of the satellite 2 and the distance to the satellite 2 and is included in the received satellite signal, and performs positioning based on the decoded positioning data.
[0012] The satellite 2 is an artificial satellite that orbits in a predetermined orbit above the Earth, and constitutes a part of a satellite system. The satellite system to which the satellite 2 belongs may be a GNSS. GNSS is an abbreviation for Global Navigation Satellite System. Examples of GNSS include GPS, QZSS, EGNOS, GLONASS, GALILEO, and BeiDou. GPS is an abbreviation for Global Positioning System. QZSS is an abbreviation for Quasi Zenith Satellite System. EGNOS is an abbreviation for European Geostationary Navigation Overlay Service. GLONASS is an abbreviation for Global Navigation Satellite System. In the following, a case where the satellite system to which the satellite 2 belongs is GPS will be described as an example.
[0013] The satellite 2 transmits a satellite signal, which is a 1.57542 GHz radio wave superimposed with a navigation message, to the ground. In GPS, there are about 30 satellites 2, and in order to identify which satellite 2 transmitted the satellite signal, each satellite 2 superimposes a unique pattern of 1023 chips called a C / A code onto the satellite signal. C / A is an abbreviation for Coarse / Acquisition Code. Each chip of the C / A code is either +1 or -1, and it looks like a random pattern, and is repeated in a 1 ms cycle. Therefore, the positioning unit 10 can detect the C / A code superimposed on the satellite signal by correlating the satellite signal with the pattern of each C / A code.
[0014] The satellite signals transmitted by each satellite 2 contain orbital information indicating the position of each satellite 2 in orbit. In addition, each satellite 2 is equipped with an atomic clock, and the satellite signals contain extremely accurate time information kept by the atomic clock. Therefore, the positioning unit 10 receives satellite signals from four or more satellites 2 and performs positioning calculations using the orbital information and time information contained in each satellite signal, thereby obtaining accurate information on the position and time of the reception point, which is the installation location of the antenna 30. Specifically, the positioning unit 10 simply formulates a four-dimensional equation with the three-dimensional position (x, y, z) of the reception point and the time t as four variables, and finds the solution to that equation.
[0015] Fig. 2 is a diagram showing the configuration of a navigation message in GPS. As shown in Fig. 2, a navigation message in GPS is configured as data in units of mainframes, each of which has a total bit count of 1500 bits. The mainframe is divided from the beginning into five subframes, the first to fifth subframes, each of which has 300 bits. Data for one subframe is transmitted from each satellite 2 in six seconds. Therefore, data for one mainframe is transmitted from each satellite 2 in 30 seconds.
[0016] The 300 bits of data contained in each of the five subframes is divided into words 1 through 10, with 30 bits per word, from the beginning. In each subframe, the first word is the TLM word, and the second word is the HOW word. TLM is an abbreviation for TeLeMetry, and HOW is an abbreviation for hand over word. Therefore, the TLM word and HOW word are transmitted from satellite 2 at six-second intervals.
[0017] The TLM word includes preamble data, a TLM message, a reserved bit, and parity data.
[0018] The HOW word includes time information called TOW (Time of Week) or Z count. TOW is an abbreviation of Time Of Week. The Z count data indicates the elapsed time from midnight every Sunday in seconds, and returns to 0 at midnight the following Sunday. In other words, the Z count data is information in seconds that is displayed for each week from the beginning of the week, and is a number that indicates the elapsed time in 1.5-second units. Here, the Z count data indicates the time information when the first bit of the next subframe data is transmitted. For example, the Z count data of the first subframe indicates the time information when the first bit of the second subframe is transmitted. The HOW word also includes a 3-bit ID code that indicates the ID of the subframe. In other words, the HOW words of the first to fifth subframes include the ID codes "001", "010", "011", "100", and "101", respectively.
[0019] Positioning unit 10 can calculate the time on satellite 2 by acquiring the week number data included in the first subframe and the HOW word included in each subframe. Note that if positioning unit 10 previously acquired week number data and internally counts the time elapsed since acquiring the week number data, it can obtain the current week number data on satellite 2 without having to acquire the week number data every time. Therefore, by acquiring only the Z count data, the current time on satellite 2 can be roughly estimated.
[0020] The third to tenth words of the first subframe contain satellite correction data such as the week number, the status of satellite 2, and the clock correction coefficient. In detail, the week number and the status of satellite 2 are contained in the third word, and the clock correction coefficient is contained in the eighth to tenth words. The third to tenth words of each of the second and third subframes contain ephemeris parameters, which are detailed orbit information of satellite 2. The third to tenth words of each of the fourth and fifth subframes contain almanac parameters, which are approximate orbit information of all satellites 2. Therefore, the satellite correction data, ephemeris parameters, and almanac parameters are transmitted from satellite 2 at 30 second intervals.
[0021] The 20 words of data consisting of the 3rd, 8th to 10th words of the first subframe, the 3rd to 10th words of the second subframe, and the 3rd to 10th words of the third subframe are predetermined data required to calculate the position of satellite 2 and the distance to satellite 2, and correspond to the above-mentioned "positioning data."
[0022] Returning to the explanation of FIG. 1, the positioning unit 10 generates NMEA data including various information such as position information and time information of the positioning result, reception conditions such as the number of captured satellites 2 and the strength of satellite signals, and outputs the data to the control unit 20. NMEA is an abbreviation for National Marine Electronics Association. Furthermore, in this embodiment, the positioning unit 10 generates decoding status information RDC, which is information related to the decoding status of the positioning data, and outputs the data to the control unit 20. For example, the positioning unit 10 generates the NMEA data and the decoding status information RDC every second and outputs the data to the control unit 20.
[0023] Fig. 3 is a diagram showing an example of the configuration of the decoding status information RDC. In the example of Fig. 3, the decoding status information RDC includes the number of captured satellites for which decoding has not been completed NumOfReceivingEph. The number of captured satellites for which decoding has not been completed NumOfReceivingEph is the number of satellites 2 for which, among the satellites 2 captured by the positioning unit 10, decoding of at least some words of the positioning data included in the satellite signal has not been completed. In addition, the decoding status information RDC includes the number of satellites for which decoding has been completed NumOfHaveEph. The number of satellites for which decoding has been completed NumOfHaveEph is the number of satellites 2 for which decoding of all words of the positioning data included in the satellite signal has been completed, among the satellites 2 captured by the positioning unit 10.
[0024] The decoding status information RDC also includes a set of the satellite number PRN, the number of decoded words DecodeWord, and the time to the remaining one word nextWordTime for each satellite 2 counted in the number of satellites NumOfReceivingEph for which decoding has not been completed or the number of satellites NumOfHaveEph for which decoding has been completed. That is, the number of sets is equal to the sum of the number of captured satellites NumOfReceivingEph for which decoding has not been completed and the number of satellites NumOfHaveEph for which decoding has been completed. The satellite number PRN is a unique number assigned to each satellite 2 in advance. The number of decoded words DecodeWord is the number of words that have been decoded and are included in the positioning data. The time to the remaining one word nextWordTime is the expected decoding time for which the remaining one word is expected to be decoded when the decoding of the positioning data is completed with one word remaining. For a satellite 2 for which all words have been decoded and a satellite 2 for which two or more words have not been decoded, nextWordTime is set to, for example, "-1".
[0025] Fig. 4 is a diagram showing an example of the configuration of the positioning unit 10. As shown in Fig. 4, the positioning unit 10 includes a SAW filter 11, an RF processing unit 12, a baseband processing unit 13, and a TCXO 14. SAW is an abbreviation for Surface Acoustic Wave. RF is an abbreviation for Radio Frequency. TCXO is an abbreviation for Temperature Compensated Crystal Oscillator. However, the positioning unit 10 may be configured such that some of these components are omitted or modified, or other elements are added.
[0026] The SAW filter 11 performs a process of extracting a satellite signal from the radio waves received by the antenna 30. That is, the SAW filter 11 is configured as a bandpass filter that passes signals in the 1.5 GHz band.
[0027] The RF processing unit 12 includes a PLL 121, an LNA 122, a mixer 123, an IF amplifier 124, an IF filter 125, and an ADC 126. PLL is an abbreviation for Phase Locked Loop. LNA is an abbreviation for Low Noise Amplifier. IF is an abbreviation for Intermediate Frequency. ADC is an abbreviation for Analog to Digital Converter. However, the RF processing unit 12 may be configured by omitting or modifying some of these components, or by adding other elements.
[0028] The PLL 121 generates a clock signal by multiplying the oscillation signal of the TCXO 14, which oscillates at about several tens of MHz, to a frequency in the 1.5 GHz band.
[0029] The satellite signal extracted by the SAW filter 11 is amplified by the LNA 122. The satellite signal amplified by the LNA 122 is mixed with the clock signal output by the PLL 121 by the mixer 123 and down-converted to an intermediate frequency band, for example, an IF signal of several MHz. The signal mixed by the mixer 123 is amplified by the IF amplifier 124.
[0030] Mixing in mixer 123 generates a high-frequency signal on the order of GHz together with the IF signal, so IF amplifier 124 amplifies this high-frequency signal together with the IF signal. IF filter 125 passes the IF signal and attenuates the high-frequency signal to a predetermined level or lower. The IF signal that has passed through IF filter 125 is converted into a digital signal by ADC 126.
[0031] The baseband processing unit 13 includes a DSP 131, a CPU 132, an SRAM 133, and an RTC 134, and performs various processes using an oscillation signal of the TCXO 14 as a clock signal. DSP is an abbreviation for Digital Signal Processor. CPU is an abbreviation for Central Processing Unit. SRAM is an abbreviation for Static Random Access Memory. RTC is an abbreviation for Real Time Clock.
[0032] The DSP 131 and the CPU 132 work together to demodulate the IF signal into a baseband signal, and acquire the orbit information and time information contained in the navigation message.
[0033] The SRAM 133 is for storing acquired time information, orbit information, etc. The RTC 134 generates timing for performing baseband processing. The RTC 134 counts up with the clock signal from the TCXO 14.
[0034] Specifically, the baseband processor 13 generates a local code of the same pattern as each C / A code, and performs a satellite search, which is a process of correlating each C / A code included in the baseband signal with the local code. The baseband processor 13 then adjusts the generation timing of the local code so that the correlation value for each local code peaks, and when the correlation value is equal to or greater than a threshold, it determines that the satellite 2 is synchronized with the satellite 2 whose C / A code is the local code, that is, that the satellite 2 is captured. Note that GPS employs a CDMA system in which all satellites 2 transmit satellite signals of the same frequency using different C / A codes. Therefore, the baseband processor 13 can search for satellites 2 that can be captured by determining the C / A code included in the received satellite signal. CDMA is an abbreviation for Code Division Multiple Access.
[0035] Furthermore, in order to acquire orbital information and time information of the captured satellite 2, the baseband processing unit 13 performs a process of mixing a local code having the same pattern as the C / A code of the satellite 2 with the baseband signal. A navigation message including the orbital information and time information of the captured satellite 2 is demodulated into the mixed signal. The baseband processing unit 13 then acquires the orbital information and time information included in the navigation message and performs a process of storing them in the SRAM 133.
[0036] The baseband processing unit 13 also performs positioning using orbit information and time information of four or more satellites 2 stored in the SRAM 133. The baseband processing unit 13 then generates NMEA data including various information such as position information and time information of the positioning result, the number of captured satellites 2, reception conditions such as the strength of satellite signals, and the like, and outputs the NMEA data to the control unit 20. The baseband processing unit 13 also generates the above-mentioned decoding status information RDC and outputs it to the control unit 20.
[0037] 1, the control unit 20 transmits various control commands CMD to the positioning unit 10 to control the operation of the positioning unit 10, and performs various processes by receiving the NMEA data and the decoding status information RDC output from the positioning unit 10. The control unit 20 may perform various processes according to a program stored in the storage unit 50, for example.
[0038] Since the positioning unit 10 needs to perform high-speed and complex calculations, it consumes a lot of power supplied from the battery 40, so it is desirable to shorten the operating time of the positioning unit 10 as much as possible. Therefore, in order to reduce power consumption, the control unit 20 drives the positioning unit 10 intermittently at a predetermined cycle to perform positioning. For example, the cycle of intermittent driving is set in advance to an appropriate time within a range that satisfies the required frequency of acquiring location information, for example, the shortest possible time. The control unit 20 may drive the positioning unit 10 intermittently by controlling whether to supply or cut off power from the battery 40 to the positioning unit 10.
[0039] Furthermore, the control unit 20 sets a timeout time for stopping positioning by the positioning unit 10 in order to reduce power consumption. The timeout time is preset to an appropriate time shorter than the period of intermittent driving depending on the required continuous use time of the positioning device 1, the capacity of the battery 40, etc. The timeout time may be a fixed value, or may be set to an arbitrary value from outside the positioning device 1. The control unit 20 transmits a predetermined control command CMD to the positioning unit 10 at a predetermined period to start positioning, and if positioning does not end after the timeout time has elapsed, transmits the predetermined control command CMD to the positioning unit 10 to stop positioning.
[0040] However, if there is a possibility that positioning by the positioning unit 10 will be completed if the positioning by the positioning unit 10 is continued for a further predetermined time during the timeout period, the control unit 20 may extend the period by the predetermined time and cause the positioning unit 10 to continue positioning. Fig. 5 shows an example of the intermittent drive period of the positioning unit 10, the positioning timeout period, and the positioning extension period. In the example of Fig. 5, the intermittent drive period is set to 5 minutes, and the timeout period is set to 3 minutes. In the first positioning, positioning is completed within the timeout period, but in the second positioning, positioning is not completed within the timeout period and an extension period of 30 seconds is set.
[0041] In this embodiment, the control unit 20 controls whether to make the positioning unit 10 continue or stop positioning based on the decoding completion rate of the positioning data by the positioning unit 10. In this embodiment, the control unit 20 calculates the decoding completion rate of the positioning data by the positioning unit 10 based on the decoding status information RDC output from the positioning unit 10. For example, the decoding completion rate can be calculated as a percentage by dividing the number of decoded words DecodeWord for the satellite 2 of an arbitrary satellite number PRN included in the decoding status information RDC by the total number of words of the positioning data and multiplying the result by 100. For example, if the number of decoded words DecodeWord is 20 and the total number of words of the positioning data is 20, the decoding completion rate is 100%. Also, for example, if the number of decoded words DecodeWord is 10 and the total number of words of the positioning data is 20, the decoding completion rate is 50%.
[0042] The control unit 20 causes the positioning unit 10 to continue positioning when the number of satellites 2 whose decoding completion rate of the positioning data is equal to or greater than a predetermined rate is equal to or greater than a predetermined number during the timeout period, and causes the positioning unit 10 to stop positioning when the number of satellites 2 whose decoding completion rate is equal to or greater than the predetermined rate is less than the predetermined number. The predetermined number is equal to or greater than the minimum number of satellites 2 required for positioning. The predetermined rate may be, for example, 70%. In other words, the control unit 20 may cause the positioning unit 10 to continue positioning when the number of satellites 2 whose decoding completion rate is equal to or greater than a predetermined number during the timeout period, and causes the positioning unit 10 to stop positioning when the number of satellites 2 whose decoding completion rate is equal to or greater than a predetermined number is less than the predetermined number. Furthermore, if the number of satellites 2 with a 100% decoding completion rate of the positioning data is equal to the predetermined number minus 1 during the timeout period, and there is a satellite 2 for which decoding of the positioning data is completed with one word remaining, the control unit 20 may cause the positioning unit 10 to continue positioning for at least the time until the next remaining word is received. For example, if the positioning unit 10 has just completed receiving data of the 10th word of the 5th subframe during the timeout period, and the remaining word is the 10th word of the 3rd subframe, the time until the next reception of the 10th word of the 3rd subframe is 18 seconds, so the control unit 20 may cause the positioning unit 10 to continue positioning for at least 18 seconds. The control unit 20 can grasp the time until the remaining word is received by nextWordTime included in the decoding status information RDC. When the number of decoded words DecodeWord for each captured satellite 2 is one less than the total number of words in the positioning data, nextWordTime represents the shortest time until the remaining one word is received from that satellite 2. For example, when the satellite system to which the satellite 2 belongs is GPS, nextWordTime is calculated as time information from 1 second to 30 seconds by the positioning unit 10 that is time-synchronized with the satellite 2 from the word information of the navigation data currently being received.
[0043] The control unit 20 also performs various processes in response to operation signals from the operation unit 70, processes for controlling the communication unit 60 to perform data communication with the outside, and processes for transmitting display signals for displaying various information on the display unit 80.
[0044] The operation unit 70 is an input device including operation keys, button switches, etc., and outputs an operation signal to the control unit 20 in response to an operation by a user.
[0045] The storage unit 50 stores programs, data, and the like for the control unit 20 to perform various calculation processes and control processes. The storage unit 50 is also used as a working area for the control unit 20, and temporarily stores data input from the operation unit 70, calculation results executed by the control unit 20 in accordance with various programs, and the like.
[0046] The communication unit 60 performs various controls to establish data communication between the control unit 20 and an external device (not shown).
[0047] The display unit 80 is a display device configured with an LCD or the like, and displays various information based on a display signal input from the control unit 20. LCD is an abbreviation for Liquid Crystal Display. The display unit 80 may be provided with a touch panel that functions as the operation unit 70.
[0048] Various devices are conceivable as such a positioning device 1, and examples of such devices include an exercise support terminal that supports the user's exercise, and a monitoring terminal that monitors the user's actions. For example, when the positioning device 1 is an exercise support terminal, the control unit 20 may generate an image in which the trajectory of the positioning device 1 is superimposed on a map based on the position information and time information included in the NMEA data output from the positioning unit 10, and display the image on the display unit 80. Also, for example, when the positioning device 1 is a monitoring terminal, the control unit 20 may detect abnormal behavior or stillness of the user based on the position information and time information included in the NMEA data output from the positioning unit 10, and display warning information on the display unit 80, or transmit warning information to another terminal via the communication unit 60.
[0049] 1-2. Procedure for generating decoding status information by the positioning unit Fig. 6 is a flowchart showing an example of a procedure for generating decoding status information RDC by the positioning unit 10. As shown in Fig. 6, first, in step S1, the positioning unit 10 sets 0 to the number of decoded satellites NumOfHaveEph and the number of captured satellites NumOfReceivingEph for which decoding has not been completed, and sets 1 to a variable i.
[0050] Next, in step S2, the positioning unit 10 acquires the number of captured satellites, which is the number of satellites 2 that have been captured.
[0051] Next, in step S3, the positioning unit 10 sets the number of decoded words DecodeWord to 0, and sets the time to the remaining word nextWordTime to −1.
[0052] Next, in step S4, the positioning unit 10 determines whether or not all words of the positioning data of the i-th satellite 2 among the captured satellites 2 have been decoded. If at least one word of the positioning data of the i-th satellite 2 has not been decoded in step S4, then, in step S5, the positioning unit 10 determines whether or not there is one word left to be decoded of the positioning data of the i-th satellite 2.
[0053] If there is only one word left in the decoded positioning data of the i-th satellite 2 in step S5, then in step S6, the positioning unit 10 sets the time [seconds] until the remaining word arrives in nextWordTime. If there is not one word left in the decoded positioning data of the i-th satellite 2 in step S5, the positioning unit 10 does not perform the process of step S6.
[0054] Next, in step S7, the positioning unit 10 sets the number of decoded words in DecodeWord, and adds 1 to NumOfReceivingEph.
[0055] On the other hand, if all words of the positioning data of the i-th satellite 2 have been decoded in step S4, then in step S8, the positioning unit 10 sets the total number of words of the coarse data in DecodeWord and adds 1 to NumOfHaveEph.
[0056] Next, in step S9, the positioning unit 10 stores the DecodeWord and nextWordTime of the i-th satellite 2.
[0057] Next, in step S10, the positioning unit 10 adds 1 to the variable i. Then, in step S11, if the variable i is equal to or less than the number of captured satellites acquired in step S2, the positioning unit 10 repeats the processes of steps S3 to S10 until the variable i becomes greater than the number of captured satellites.
[0058] When the variable i becomes greater than the number of captured satellites in step S11, then in step S12, the positioning unit 10 generates decoding status information RDC including NumOfHaveEph, NumOfReceivingEph, and the DecodeWord and nextWordTime of each satellite 2 stored in step S9.
[0059] Finally, in step S13, the positioning unit 10 transmits the decoding status information RDC generated in step S12 to the control unit 20, and ends the process of generating the decoding status information RDC.
[0060] 1-3. Positioning control procedure by the control unit 7 is a flow chart showing an example of a procedure of positioning control by the control unit 20 in the first embodiment. As shown in FIG 7, first, in step S101, the control unit 20 receives the NMEA data transmitted from the positioning unit 10.
[0061] Next, in step S102, the control unit 20 receives the decoding status information RDC transmitted from the positioning unit 10.
[0062] Next, in step S103, the control unit 20 determines whether or not positioning is completed by the positioning unit 10. For example, the control unit 20 may determine that positioning is completed when the NMEA data received in step S101 includes position information.
[0063] In step S103, when the positioning by the positioning unit 10 is completed, in step S104, the control unit 20 turns off the power supply of the positioning unit 10 and ends the positioning control.
[0064] On the other hand, if positioning by the positioning unit 10 is not completed in step S103, the control unit 20 determines whether or not the timeout time has elapsed in step S105. If the timeout time has not elapsed in step S105, the control unit 20 repeats the processes of steps S101 to S104 until positioning by the positioning unit 10 is completed or the timeout time has elapsed.
[0065] In step S105, if the timeout period elapses before the positioning unit 10 completes positioning, then in step S106, the control unit 20 sets numHaveEph to the value of the number of decoded satellites NumOfHaveEph contained in the decoding status information RDC received in step S102.
[0066] Next, in step S107, the control unit 20 acquires the number of satellites being decoded, numDecodingEph. numDecodingEph is the number of satellites 2 for which the decoding completion rate is equal to or greater than a predetermined rate among the satellites 2 for which the decoding of the positioning data has not been completed. The procedure of the process in step S107 will be described later.
[0067] Next, in step S108, control unit 20 sets totalEph to the sum of numHaveEph set in step S106 and numDecodingEph acquired in step S107. Since numHaveEph is the number of satellites 2 that have completed decoding, that is, the number of satellites 2 with a decoding completion rate of 100%, totalEph is the number of satellites 2 with a decoding completion rate equal to or greater than a predetermined rate.
[0068] Next, in step S109, the control unit 20 determines whether or not totalEph set in step S108 is equal to or greater than 4. The value to be compared with totalEph is variable and is not limited to 4. For example, the value to be compared with totalEph may be set from outside the positioning device 1.
[0069] If totalEph is less than 4 in step S109, in step S112, the control unit 20 stops positioning by the positioning unit 10. Then, in step S113, the control unit 20 turns off the power of the positioning unit 10 and ends positioning control.
[0070] On the other hand, if totalEph is 4 or more in step S109, then in step S110, the control unit 20 determines whether or not the timeout time has been extended. Since the timeout time has not been extended in step S110, the control unit 20 extends the timeout time in step S111. For example, the control unit 20 may extend the timeout time by a predetermined time. Alternatively, if numHaveEph is 3 and there is a satellite 2 for which decoding of positioning data will be completed with one word remaining, the control unit 20 may calculate the time until the next remaining word is received, and extend the timeout time by that time or more.
[0071] Then, the control unit 20 repeats the processes of steps S101 to S104 until the positioning unit 10 completes positioning or the extended timeout period has elapsed. In step S105, if the extended timeout period has elapsed before the positioning unit 10 completes positioning, the control unit 20 again performs the processes of steps S106 to S109.
[0072] In step S109, if totalEph is 4 or more, the timeout period has already been extended in step S110, so that the control unit 20 stops positioning by the positioning unit 10 in step S112, and turns off the power of the positioning unit 10 in step S113, thereby terminating positioning control.
[0073] Fig. 8 is a flow chart showing an example of the procedure of the process of step S107 in Fig. 7. As shown in Fig. 8, first, in step S201, the control unit 20 sets 0 to numDecodingEph and sets 1 to a variable i.
[0074] Next, in step S202, the control unit 20 acquires NumOfReceivingEph from the decoding status information RDC received in step S102 of FIG.
[0075] Next, in step S203, the control unit 20 acquires the DecodeWord of the i-th satellite 2 from the decoding status information RDC.
[0076] Next, in step S204, the control unit 20 divides DecodeWord by the total number of words in the positioning data, and multiplies the result by 100 to calculate the decoding completion rate as a percentage.
[0077] Next, in step S205, the control unit 20 determines whether the decoding completion rate calculated in step S204 is equal to or greater than a predetermined rate Thres [%]. The predetermined rate Thres may be, for example, 70%.
[0078] If the decoding completion rate is equal to or greater than Thres [%] in step S205, then in step S206 the control unit 20 adds 1 to numDecodingEph. If the decoding completion rate is less than Thres [%] in step S205, then the control unit 20 does not perform the process of step S206.
[0079] Next, in step S207, control unit 20 adds 1 to variable i. Then, in step S208, if variable i is equal to or less than the value of NumOfReceivingEph acquired in step S202, control unit 20 repeats the processes of steps S203 to S207 until variable i becomes greater than the value of NumOfReceivingEph.
[0080] In step S208, when the variable i becomes greater than the value of NumOfReceivingEph, the control unit 20 ends the process of step S107 in FIG.
[0081] 7 and 8, when the timeout time has elapsed without the positioning by the positioning unit 10 being completed, if the number of satellites 2 with a decode completion rate [%] of the positioning data being equal to or greater than a predetermined rate, for example, 70% or more, is 4 or more, the control unit 20 extends the timeout time and causes the positioning unit 10 to continue the positioning, since it is likely that the positioning by the positioning unit 10 will be completed soon. On the other hand, if the number of satellites 2 with a decode completion rate [%] of the positioning data being equal to or greater than a predetermined rate is less than 4, it is unlikely that the positioning by the positioning unit 10 will be completed even if the timeout time is extended, so the control unit 20 causes the positioning unit 10 to stop the positioning. As a result, the power consumption by the positioning unit 10 can be reduced while the positioning unit 10 efficiently generates location information.
[0082] 1-4.Effects As described above, according to the positioning device 1 of the first embodiment, the control unit 20 appropriately controls the continuation or stop of positioning by the positioning unit 10 based on the decoding completion rate of the positioning data, which changes depending on the communication state with the satellite 2, thereby reducing the power consumed in positioning.
[0083] Furthermore, according to the positioning device 1 of the first embodiment, when the control unit 20 determines that decoding of positioning data from a predetermined number or more of satellites 2 is about to be completed within the timeout period, it is possible to efficiently acquire location information by allowing the positioning unit 10 to continue positioning.
[0084] 2. Second embodiment Hereinafter, for the positioning device 1 of the second embodiment, the same reference numerals are used for configurations similar to those of the first embodiment, the description of the same parts as those of the first embodiment is omitted or simplified, and the differences from the first embodiment are mainly described.
[0085] The configuration of the positioning device 1 of the second embodiment is omitted because it is the same as that in Fig. 1. In the positioning device 1 of the second embodiment, the positioning control process by the control unit 20 is different from that of the first embodiment.
[0086] In the second embodiment, similarly to the first embodiment, the control unit 20 controls the positioning unit 10 to continue or stop positioning based on the decoding completion rate of the positioning data by the positioning unit 10. However, in the second embodiment, unlike the first embodiment, the control unit 20 controls the positioning unit 10 to continue or stop positioning based on the decoding completion rate of the positioning data at a predetermined timing according to the satellite system to which the satellite 2 belongs. The predetermined timing may be a timing according to the period of the positioning data. For example, as described above, when the satellite system to which the satellite 2 belongs is GPS, the positioning data is 20 words of data consisting of the 3rd, 8th to 10th words of the first subframe, the 3rd to 10th words of the second subframe, and the 3rd to 10th words of the third subframe, which are included in a mainframe that is one unit of a navigation message. As described above, one mainframe of a navigation message in GPS is transmitted from each satellite 2 in 30 seconds, so the period of the positioning data is 30 seconds. Therefore, the specified timing is a period corresponding to 30 seconds, and if the timeout period is 3 minutes, it may be any one or more of the following five timings: 30 seconds, 1 minute, 1 minute 30 seconds, 2 minutes, and 2 minutes 30 seconds after the positioning unit 10 starts positioning.
[0087] The predetermined timing may be a timing at which the positioning data completes one revolution in the satellite signal transmitted from each satellite 2. For example, if the satellite system to which the satellite 2 belongs is GPS, the predetermined timing may be five timings at which 30 seconds, 1 minute, 1 minute 30 seconds, 2 minutes, and 2 minutes 30 seconds have elapsed since the positioning unit 10 started positioning. Then, the control unit 20 may determine, based on the decoding completion rate of the positioning data, at each timing at which the positioning data completes one revolution in the satellite signal transmitted from each satellite 2, whether or not the number of satellites 2 whose decoding completion rate of the positioning data is 100% within a preset timeout period is equal to or greater than a predetermined number, and may cause the positioning unit 10 to stop positioning when it is determined that the number of satellites 2 whose decoding completion rate of the positioning data is 100% is not equal to or greater than the predetermined number.
[0088] An example of the relationship between the time elapsed from the start of positioning and the positioning stop condition is shown in Fig. 9. In the example of Fig. 9, the timeout time is set to 3 minutes, and the pace at which the decoding completion rate reaches 100% during the timeout time is as follows: the decoding completion rate is 33% when 1 minute has elapsed from the start of positioning, 50% when 1 minute and 30 seconds have elapsed, 67% when 2 minutes have elapsed, and 75% when 2 minutes and 30 seconds have elapsed.
[0089] Therefore, if the number of satellites 2 with a decode completion rate of 33% or more is less than four one minute after the start of positioning, the control unit 20 determines that the number of satellites 2 with a decode completion rate of 100% will not be four or more within the timeout period, and causes the positioning unit 10 to stop positioning. Also, if the number of satellites 2 with a decode completion rate of 50% or more is less than four one minute and 30 seconds after the start of positioning, the control unit 20 determines that the number of satellites 2 with a decode completion rate of 100% will not be four or more within the timeout period, and causes the positioning unit 10 to stop positioning. Also, if the number of satellites 2 with a decode completion rate of 67% or more is less than four two minutes after the start of positioning, the control unit 20 determines that the number of satellites 2 with a decode completion rate of 100% will not be four or more within the timeout period, and causes the positioning unit 10 to stop positioning. In addition, if the number of satellites 2 with a decode completion rate of 75% or more is less than four two minutes and 30 seconds after the start of positioning, the control unit 20 determines that the number of satellites 2 with a decode completion rate of 100% at the timeout period will not be four or more, and causes the positioning unit 10 to stop positioning.
[0090] Fig. 10 shows an example of the intermittent drive cycle, the positioning timeout time, and the positioning stop timing of the positioning unit 10. In the example of Fig. 10, the intermittent drive cycle is set to 5 minutes, and the timeout time is set to 3 minutes. The first positioning ends within the timeout time, and the second positioning stops after 2 minutes have passed.
[0091] Note that, if the number of satellites 2 with a decode completion rate of 100% is less than four during the timeout period three minutes after the start of positioning, the control unit 20 causes the positioning unit 10 to stop positioning. However, if the number of satellites 2 with a decode completion rate of 100% is three during the timeout period and the number of satellites 2 for which decoding is completed with one word remaining is one or more during the timeout period, the control unit 20 may cause the positioning unit 10 to continue positioning. That is, similar to the first embodiment, if the number of satellites 2 with a decode completion rate of 100% for positioning data is equal to the predetermined number minus one during the timeout period and there is a satellite 2 for which decoding of positioning data is completed with one word remaining, the control unit 20 may calculate the time until the next remaining word is received and cause the positioning unit 10 to continue positioning for that time or longer.
[0092] Fig. 11 shows an example of the intermittent drive cycle, the positioning timeout time, and the positioning extension time of the positioning unit 10. In the example of Fig. 11, the intermittent drive cycle is set to 5 minutes, and the timeout time is set to 3 minutes. The first positioning is completed within the timeout time, but the second positioning is not completed within the timeout time, so an extension time of 20 seconds is set until the remaining one word is received.
[0093] 12 is a flow chart showing an example of a procedure of positioning control by the control unit 20 in the second embodiment. As shown in FIG 12, first, in step S121, the control unit 20 receives the NMEA data transmitted from the positioning unit 10.
[0094] Next, in step S122, the control unit 20 receives the decoding status information RDC transmitted from the positioning unit .
[0095] Next, in step S123, the control unit 20 determines whether or not positioning is completed by the positioning unit 10. For example, the control unit 20 may determine that positioning is completed when the NMEA data received in step S121 includes position information.
[0096] When the positioning by the positioning unit 10 is completed in step S123, the control unit 20 turns off the power supply of the positioning unit 10 in step S124, and ends the positioning control.
[0097] On the other hand, if the positioning by the positioning unit 10 is not completed in step S123, the control unit 20 determines whether or not the timeout time has elapsed in step S125. If the timeout time has not elapsed in step S125, the control unit 20 determines whether or not a predetermined timing has arrived in step S126.
[0098] If the predetermined timing has not arrived at step S126, the control unit 20 repeats the processes of steps S121 to S125 until positioning by the positioning unit 10 is completed, the timeout time has elapsed, or the predetermined timing arrives.
[0099] When a predetermined timing arrives in step S126, next, in step S127, the control unit 20 sets, to numHaveEph, the value of the number of decoding-completed satellites NumOfHaveEph included in the decoding status information RDC received in step S122.
[0100] Next, in step S128, the control unit 20 acquires the number of satellites being decoded, numDecodingEph. numDecodingEph is the number of satellites 2 for which the decoding completion rate is equal to or greater than a predetermined rate set according to the elapsed time from the start of positioning, among the satellites 2 for which the decoding of the positioning data has not been completed. The processing procedure of step S128 will be described later.
[0101] Next, in step S129, control unit 20 sets totalEph to the sum of numHaveEph set in step S127 and numDecodingEph acquired in step S128. Since numHaveEph is the number of satellites 2 for which decoding has been completed, i.e., the number of satellites 2 for which the decoding completion rate is 100%, totalEph is the number of satellites 2 for which the decoding completion rate is equal to or greater than a predetermined rate set according to the elapsed time from the start of positioning.
[0102] Next, in step S130, the control unit 20 determines whether or not totalEph set in step S129 is equal to or greater than 4. The value to be compared with totalEph is variable and is not limited to 4. For example, the value to be compared with totalEph may be set from outside the positioning device 1.
[0103] If totalEph is less than 4 in step S130, in step S134, the control unit 20 stops positioning by the positioning unit 10. Then, in step S135, the control unit 20 turns off the power of the positioning unit 10 and ends positioning control.
[0104] In step S130, if totalEph is equal to or greater than four, the control unit 20 repeats the processes of steps S121 to S129 until positioning by the positioning unit 10 is completed, the timeout period has elapsed, or totalEph becomes less than four.
[0105] On the other hand, if the timeout time has elapsed in step S125, the control unit 20 determines in step S131 whether or not the timeout time has been extended. Since the timeout time has not been extended in step S131, the control unit 20 determines in step S132, based on the decoding status information RDC received in step S122, whether or not there is a satellite 2 for which NumOfHaveEph is 3 and for which decoding of the positioning data will be completed with one word remaining.
[0106] If the condition in step S132 is not satisfied, the control unit 20 stops positioning by the positioning unit 10 in step S134, and turns off the power of the positioning unit 10 in step S135, thereby terminating the positioning control.
[0107] On the other hand, if the condition in step S132 is satisfied, in step S133, the control unit 20 extends the timeout time. Specifically, the control unit 20 calculates the time until the next remaining word is received, and extends the timeout time by at least this time.
[0108] Then, the control unit 20 repeats the processes of steps S121 to S124 until the positioning by the positioning unit 10 is completed or the extended timeout time has elapsed. If the extended timeout time has elapsed before the positioning by the positioning unit 10 is completed in step S125, since the timeout time has been extended, the control unit 20 stops the positioning by the positioning unit 10 in step S134 and turns off the power of the positioning unit 10 in step S135, thereby terminating the positioning control.
[0109] Fig. 13 is a flow chart showing an example of the procedure of the process of step S128 in Fig. 12. As shown in Fig. 13, first, in step S211, the control unit 20 sets 0 to numDecodingEph and sets 1 to a variable i.
[0110] Next, in step S212, the control unit 20 acquires NumOfReceivingEph from the decoding status information RDC received in step S122 of FIG.
[0111] Next, in step S213, the control unit 20 acquires the DecodeWord of the i-th satellite 2 from the decoding status information RDC.
[0112] Next, in step S214, the control unit 20 divides DecodeWord by the total number of words in the positioning data, and multiplies the result by 100 to calculate the decoding completion rate as a percentage.
[0113] Next, in step S215, the control unit 20 sets a predetermined rate Thres [%] according to the elapsed time from the start of positioning. In the example of Fig. 9, the predetermined rate Thres is set to any one of 33%, 50%, 67%, and 75% according to the elapsed time from the start of positioning.
[0114] Next, in step S216, the control unit 20 determines whether or not the decoding completion rate calculated in step S214 is equal to or greater than a predetermined rate Thres [%] set in step S215.
[0115] If the decoding completion rate is equal to or greater than Thres [%] in step S216, then in step S217 the control unit 20 adds 1 to numDecodingEph. If the decoding completion rate is less than Thres [%] in step S216, then the control unit 20 does not perform the process of step S217.
[0116] Next, in step S218, the control unit 20 adds 1 to the variable i. Then, in step S219, if the variable i is equal to or less than the value of NumOfReceivingEph acquired in step S212, the control unit 20 repeats the processes of steps S213 to S218 until the variable i becomes greater than the value of NumOfReceivingEph.
[0117] In step S219, when the variable i becomes greater than the value of NumOfReceivingEph, the control unit 20 ends the process of step S128 in FIG.
[0118] 12 and 13, the control unit 20 stops the positioning unit 10 from performing positioning each time a predetermined timing arrives after the start of positioning if the number of satellites 2 whose decode completion rate [%] of the positioning data is equal to or higher than a predetermined rate according to the elapsed time from the start of positioning is less than 4, since it is unlikely that the positioning will be completed within the timeout time. On the other hand, if the decoding of the positioning data of the remaining satellite 2 is completed with one remaining word at the time when the positioning unit 10 has not completed positioning and the timeout time has elapsed, the control unit 20 extends the timeout time for at least the time until the remaining one word is received, and causes the positioning unit 10 to continue performing positioning. As a result, the power consumption of the positioning unit 10 can be reduced while the positioning unit 10 efficiently generates location information.
[0119] According to the positioning device 1 of the second embodiment described above, it is possible to achieve the same effects as those of the positioning device 1 of the first embodiment.
[0120] Furthermore, according to the positioning device 1 of the second embodiment, the control unit 20 can appropriately control the continuation or stop of positioning by the positioning unit 10 at an appropriate timing according to the satellite system to which the satellite 2 belongs.
[0121] Furthermore, according to the positioning device 1 of the second embodiment, the control unit 20 can appropriately control the continuation or stop of positioning by the positioning unit 10 based on the accurate decoding completion rate at a predetermined timing corresponding to the period of the positioning data.
[0122] Furthermore, according to the positioning device 1 of the second embodiment, the control unit 20 can control the continuation or stop of positioning by the positioning unit 10 at the timing each time the positioning data completes one cycle, so that the power consumed in positioning by the positioning unit 10 can be optimized.
[0123] Furthermore, according to the positioning device 1 of the second embodiment, the control unit 20 can stop positioning by the positioning unit 10 when there is no prospect of completing decoding of the positioning data of a predetermined number or more of satellites 2 within the timeout time each time the positioning data of each satellite 2 completes one revolution, thereby reducing the power consumed in positioning by the positioning unit 10.
[0124] Furthermore, according to the positioning device 1 of the second embodiment, when the control unit 20 determines that decoding of positioning data from a predetermined number or more of satellites 2 is about to be completed within the timeout period, it is possible to efficiently acquire location information by allowing the positioning unit 10 to continue positioning.
[0125] 3. Third embodiment Hereinafter, for the positioning device 1 of the third embodiment, configurations similar to those of the first or second embodiment are given the same symbols, explanations similar to those of the first or second embodiment are omitted or simplified, and mainly the differences from the first and second embodiments will be described.
[0126] In the third embodiment, similarly to the first and second embodiments, the control unit 20 controls the positioning unit 10 to continue or stop positioning based on the decoding completion rate of the positioning data by the positioning unit 10. Also, in the third embodiment, similarly to the second embodiment, the control unit 20 controls the positioning unit 10 to continue or stop positioning based on the decoding completion rate of the positioning data at a predetermined timing according to the satellite system to which the satellite 2 belongs. The predetermined timing may be a timing according to the period of the positioning data. Also, the predetermined timing may be a timing every time the positioning data completes one revolution in the satellite signal transmitted from each satellite 2.
[0127] However, in the third embodiment, unlike the second embodiment, the control unit 20 sets a timeout period for stopping positioning based on the remaining charge of the battery 40, and each time the positioning data completes one revolution in the satellite signal transmitted from each satellite 2, determines whether the number of satellites 2 whose positioning data decoding completion rate is 100% within the set timeout period is equal to or greater than a predetermined number based on the decoding completion rate of the positioning data, and if it determines that the number of satellites 2 whose positioning data decoding completion rate is 100% is not equal to or greater than the predetermined number, it causes the positioning unit 10 to stop positioning.
[0128] 14 shows an example of the relationship between the remaining charge of the battery 40, the time elapsed since the start of positioning, and the positioning stop condition. In the example of FIG. 14, when the remaining charge of the battery 40 is 50%, the timeout time is set to 3 minutes, and the pace at which the decode completion rate becomes 100% during the timeout time is as follows: the decode completion rate is 33% when 1 minute has elapsed since the start of positioning, the decode completion rate is 50% when 1 minute 30 seconds has elapsed, the decode completion rate is 67% when 2 minutes have elapsed, and the decode completion rate is 75% when 2 minutes 30 seconds have elapsed. Therefore, when the number of satellites 2 with a decode completion rate of 33% or more is less than 4 when 1 minute has elapsed since the start of positioning, the control unit 20 determines that the number of satellites 2 with a decode completion rate of 100% during the timeout time will not become 4 or more, and causes the positioning unit 10 to stop positioning. Furthermore, if the number of satellites 2 with a decode completion rate of 50% or more is less than four one minute and 30 seconds after the start of positioning, the control unit 20 determines that the number of satellites 2 with a decode completion rate of 100% will not be four or more within the timeout period, and causes the positioning unit 10 to stop positioning. Furthermore, if the number of satellites 2 with a decode completion rate of 67% or more is less than four two minutes after the start of positioning, the control unit 20 determines that the number of satellites 2 with a decode completion rate of 100% will not be four or more within the timeout period, and causes the positioning unit 10 to stop positioning. Furthermore, if the number of satellites 2 with a decode completion rate of 75% or more is less than four two minutes and 30 seconds after the start of positioning, the control unit 20 determines that the number of satellites 2 with a decode completion rate of 100% will not be four or more within the timeout period, and causes the positioning unit 10 to stop positioning.
[0129] In the example of FIG. 14, when the remaining charge of the battery 40 is 25% or more and less than 50%, the timeout time is set to 1 minute 30 seconds, and the pace at which the decode completion rate becomes 100% during the timeout time is 33% 30 seconds after the start of positioning, and 67% 1 minute after the start of positioning. Therefore, when the number of satellites 2 with a decode completion rate of 33% or more is less than 4 30 seconds after the start of positioning, the control unit 20 determines that the number of satellites 2 with a decode completion rate of 100% during the timeout time will not be 4 or more, and causes the positioning unit 10 to stop positioning. Also, when the number of satellites 2 with a decode completion rate of 67% or more is less than 4 1 minute after the start of positioning, the control unit 20 determines that the number of satellites 2 with a decode completion rate of 100% during the timeout time will not be 4 or more, and causes the positioning unit 10 to stop positioning.
[0130] 14, when the remaining charge of battery 40 is less than 25%, the timeout time is set to 45 seconds, and the pace at which the decode completion rate reaches 100% during the timeout time is 67% 30 seconds after the start of positioning. Therefore, if the number of satellites 2 with a decode completion rate of 67% or more is less than four 30 seconds after the start of positioning, control unit 20 determines that the number of satellites 2 with a decode completion rate of 100% during the timeout time will not reach four or more, and causes positioning unit 10 to stop positioning.
[0131] Note that, if the number of satellites 2 with a decode completion rate of 100% during the timeout period is less than four, the control unit 20 causes the positioning unit 10 to stop positioning. However, if the number of satellites 2 with a decode completion rate of 100% during the timeout period is three and the number of satellites 2 for which decoding is completed with one word remaining is one or more, the control unit 20 may cause the positioning unit 10 to continue positioning. That is, similar to the first and second embodiments, if the number of satellites 2 with a decode completion rate of 100% for positioning data during the timeout period is equal to the predetermined number minus one and there is a satellite 2 for which decoding of positioning data is completed with one word remaining, the control unit 20 may calculate the time until the next remaining word is received and cause the positioning unit 10 to continue positioning for that time or longer.
[0132] Fig. 15 is a flow chart showing an example of a procedure of positioning control by the control unit 20 in the third embodiment. In Fig. 15, the same reference numerals are attached to the steps that perform the same processes as the steps in Fig. 12.
[0133] 15, first, in step S120, the control unit 20 sets a timeout period for stopping positioning according to the remaining charge of the battery 40. Then, the control unit 20 performs processes in steps S121 to S135. Each process in steps S121 to S135 is the same as that in the second embodiment except for the process procedure in step S128, and therefore description thereof will be omitted.
[0134] Fig. 16 is a flowchart showing an example of the procedure of the process in step S128 in Fig. 15. As shown in Fig. 16, first, in step S221, the control unit 20 sets 0 to numDecodingEph and sets 1 to a variable i.
[0135] Next, in step S222, the control unit 20 acquires NumOfReceivingEph from the decoding status information RDC received in step S122 of FIG.
[0136] Next, in step S223, the control unit 20 acquires the DecodeWord of the i-th satellite 2 from the decoding status information RDC.
[0137] Next, in step S224, the control unit 20 divides DecodeWord by the total number of words in the positioning data, and multiplies the result by 100 to calculate the decoding completion rate as a percentage.
[0138] Next, in step S225, the control unit 20 sets the predetermined rate Thres [%] according to the remaining charge of the battery 40 and the elapsed time from the start of positioning. In the example of Fig. 14 described above, when the remaining charge of the battery 40 is 50% or more, the predetermined rate Thres is set to any one of 33%, 50%, 67%, and 75% according to the elapsed time from the start of positioning. When the remaining charge of the battery 40 is 25% or more and less than 50%, the predetermined rate Thres is set to any one of 33% and 67% according to the elapsed time from the start of positioning. When the remaining charge of the battery 40 is less than 25%, the predetermined rate Thres is set to 67% according to the elapsed time from the start of positioning.
[0139] Next, in step S226, the control unit 20 determines whether or not the decoding completion rate calculated in step S224 is equal to or greater than the predetermined rate Thres [%] set in step S225.
[0140] If the decoding completion rate is equal to or greater than Thres [%] in step S226, the control unit 20 adds 1 to numDecodingEph in step S227. If the decoding completion rate is less than Thres [%] in step S226, the control unit 20 does not perform the process of step S227.
[0141] Next, in step S228, the control unit 20 adds 1 to the variable i. Then, in step S229, if the variable i is equal to or less than the value of NumOfReceivingEph acquired in step S222, the control unit 20 repeats the processes of steps S223 to S228 until the variable i becomes greater than the value of NumOfReceivingEph.
[0142] In step S229, when the variable i becomes greater than the value of NumOfReceivingEph, the control unit 20 ends the process of step S128 in FIG.
[0143] 15 and 16, the control unit 20 sets the timeout time according to the remaining charge of the battery 40, and whenever a predetermined timing arrives after the start of positioning, if the number of satellites 2 whose decode completion rate [%] of the positioning data is equal to or higher than the predetermined rate according to the remaining charge of the battery 40 and the elapsed time from the start of positioning is less than 4, the positioning unit 10 stops positioning because it is unlikely that positioning will be completed within the timeout time. On the other hand, if the positioning unit 10 has not completed positioning and the timeout time has elapsed, and the decoding of the positioning data of the remaining satellite 2 is completed with one remaining word, the control unit 20 extends the timeout time for at least the time until the remaining word is received next, and causes the positioning unit 10 to continue positioning. As a result, the positioning unit 10 can efficiently generate location information while reducing the power consumption by the positioning unit 10.
[0144] According to the positioning device 1 of the third embodiment described above, it is possible to achieve the same effects as those of the positioning device 1 of the first embodiment.
[0145] Furthermore, according to the positioning device 1 of the third embodiment, the control unit 20 sets a timeout period according to the remaining charge of the battery 40, and can stop positioning by the positioning unit 10 if there is no prospect of completing decoding of a predetermined number or more of positioning data within the timeout period each time the positioning data of each satellite 2 completes one revolution. Therefore, the power consumed in positioning by the positioning unit 10 can be optimized according to the remaining charge of the battery 40.
[0146] The present invention is not limited to the present embodiment, and various modifications are possible within the scope of the present invention.
[0147] The above-described embodiments and modifications are merely examples, and the present invention is not limited to these. For example, the embodiments and modifications can be appropriately combined.
[0148] The present invention includes configurations that are substantially the same as the configurations described in the embodiments, for example, configurations that have the same functions, methods, and results, or configurations that have the same purpose and effect. The present invention also includes configurations in which non-essential parts of the configurations described in the embodiments are replaced. The present invention also includes configurations that have the same effects as the configurations described in the embodiments, or that can achieve the same purpose. The present invention also includes configurations in which publicly known technology is added to the configurations described in the embodiments.
[0149] The following can be derived from the above-described embodiment and modifications.
[0150] One aspect of the positioning device is a positioning unit that receives satellite signals transmitted from each of a plurality of satellites, decodes positioning data included in the satellite signals, the positioning data being predetermined data necessary for calculating the position of the satellite and the distance to the satellite, and performs positioning based on the decoded positioning data; and a control unit that controls whether the positioning unit continues or stops the positioning based on a decoding completion rate of the positioning data by the positioning unit.
[0151] According to this positioning device, the control unit appropriately controls whether to continue or stop positioning by the positioning unit based on the decoding completion rate of the positioning data, which changes depending on the communication status with the satellite, thereby reducing the power consumed in positioning.
[0152] In one embodiment of the positioning device, The control unit may cause the positioning unit to continue the positioning if the number of satellites whose decode completion rate is equal to or greater than a predetermined rate is equal to or greater than a predetermined number during a predetermined timeout period for stopping the positioning.
[0153] According to this positioning device, when the control unit predicts that decoding of positioning data from a predetermined number of satellites will soon be completed within the timeout period, it allows the positioning unit to continue positioning, thereby enabling efficient acquisition of location information.
[0154] In one embodiment of the positioning device, The predetermined percentage may be 70%.
[0155] In one embodiment of the positioning device, If, during the timeout period, the number of satellites for which the decoding completion rate is 100% is equal to the predetermined number minus 1, and there is a satellite for which decoding of the positioning data is completed with one word remaining, the control unit may calculate the time until the next remaining word is received, and cause the positioning unit to continue the positioning for at least that time.
[0156] According to this positioning device, when the control unit predicts that decoding of positioning data from a predetermined number of satellites will soon be completed within the timeout period, it allows the positioning unit to continue positioning, thereby enabling efficient acquisition of location information.
[0157] In one embodiment of the positioning device, The control unit may control whether to cause the positioning unit to continue or stop the positioning, based on the decode completion rate at a predetermined timing according to a satellite system to which the satellite belongs.
[0158] According to this positioning device, the control unit can appropriately control the continuation or stop of positioning by the positioning unit at an appropriate timing according to the satellite system to which the satellite belongs.
[0159] In one embodiment of the positioning device, The predetermined timing may be a timing corresponding to a period of the positioning data.
[0160] According to this positioning device, the control unit can appropriately control the continuation or stop of positioning by the positioning unit at a predetermined timing based on the accurate decoding completion rate.
[0161] In one embodiment of the positioning device, The predetermined timing may be each time the positioning data completes one revolution in the satellite signal.
[0162] According to this positioning device, the control unit can control whether to continue or stop positioning by the positioning unit each time the positioning data completes one cycle, thereby optimizing the power consumed in positioning by the positioning unit.
[0163] In one embodiment of the positioning device, The control unit may determine, each time the positioning data completes one revolution in the satellite signal, based on the decoding completion rate, whether or not the number of satellites whose decoding completion rate is 100% at a predetermined timeout time for stopping the positioning will be greater than or equal to a predetermined number, and may cause the positioning unit to stop the positioning if it determines that the number of satellites whose decoding completion rate is 100% will not be greater than or equal to the predetermined number.
[0164] According to this positioning device, the control unit can stop positioning by the positioning unit if there is no prospect of completing decoding of the positioning data of a predetermined number or more satellites within the timeout period each time the positioning data of each satellite completes one revolution, thereby reducing the power consumed in positioning by the positioning unit.
[0165] One aspect of the positioning device is a battery for supplying power to the positioning unit; The control unit may set a timeout period for stopping the positioning according to a remaining charge of the battery, and each time the positioning data completes one revolution in the satellite signal, determine based on the decode completion rate whether the number of satellites whose decode completion rate is 100% at the timeout period will be equal to or greater than a predetermined number, and cause the positioning unit to stop the positioning if it determines that the number of satellites whose decode completion rate is 100% will not be equal to or greater than the predetermined number.
[0166] According to this positioning device, the control unit sets a timeout period according to the remaining battery power, and can stop positioning by the positioning unit each time the positioning data from each satellite completes one revolution if there is no prospect of completing decoding of the positioning data from a predetermined number of satellites within the timeout period.Therefore, the power consumed in positioning by the positioning unit can be optimized according to the remaining battery power.
[0167] In one embodiment of the positioning device, If, during the timeout period, the number of satellites for which the decoding completion rate is 100% is equal to the predetermined number minus 1, and there is a satellite for which decoding of the positioning data is completed with one word remaining, the control unit may calculate the time until the next remaining word is received, and cause the positioning unit to continue the positioning for at least that time.
[0168] According to this positioning device, when the control unit predicts that decoding of positioning data from a predetermined number of satellites will soon be completed within the timeout period, it allows the positioning unit to continue positioning, thereby enabling efficient acquisition of location information. [Explanation of symbols]
[0169] 1...positioning device, 2...satellite, 10...positioning unit, 11...SAW filter, 12...RF processing unit, 13...baseband processing unit, 14...TCXO, 20...control unit, 30...antenna, 40...battery, 50...storage unit, 60...communication unit, 70...operation unit, 80...display unit, 121...PLL, 122...LNA, 123...mixer, 124...IF amplifier, 125...IF filter, 126...ADC, 131...DSP, 132...CPU, 133...SRAM, 134...RTC
Claims
1. a positioning unit that receives satellite signals transmitted from each of a plurality of satellites, decodes positioning data included in the satellite signals, the positioning data being predetermined data necessary for calculating the position of the satellite and the distance to the satellite, and performs positioning based on the decoded positioning data; a control unit that controls whether the positioning unit continues or stops the positioning based on a decoding completion rate of the positioning data by the positioning unit.
2. In claim 1, The control unit causes the positioning unit to continue the positioning when the number of satellites whose decode completion rate is equal to or greater than a predetermined rate is equal to or greater than a predetermined number during a timeout period during which the positioning is stopped.
3. In claim 2, The predetermined rate is 70%.
4. In claim 2, The control unit, when the number of satellites with the decode completion rate of 100% during the timeout period is equal to the predetermined number minus 1 and there is a satellite for which decoding of the positioning data is completed with one word remaining, calculates the time until the next remaining word is received and causes the positioning unit to continue the positioning for at least that time.
5. In claim 1, The control unit controls the positioning unit to continue or stop the positioning based on the decoding completion rate at a predetermined timing according to a satellite system to which the satellite belongs.
6. In claim 5, The predetermined timing is a timing corresponding to a period of the positioning data.
7. In claim 6, The positioning device, wherein the predetermined timing is the timing at which the positioning data completes one revolution in the satellite signal.
8. In claim 7, The control unit determines, each time the positioning data completes one revolution in the satellite signal, based on the decoding completion rate, whether or not the number of satellites whose decoding completion rate is 100% at a predetermined timeout time for stopping the positioning will be equal to or greater than a predetermined number, and causes the positioning unit to stop the positioning if it determines that the number of satellites whose decoding completion rate is 100% will not be equal to or greater than the predetermined number.
9. In claim 7, a battery for supplying power to the positioning unit; The control unit sets a timeout time for stopping the positioning according to the remaining charge of the battery, and each time the positioning data completes one revolution in the satellite signal, determines based on the decode completion rate whether the number of satellites whose decode completion rate is 100% at the timeout time will be equal to or greater than a predetermined number, and causes the positioning unit to stop the positioning if it determines that the number of satellites whose decode completion rate is 100% will not be equal to or greater than the predetermined number.
10. In claim 8 or 9, The control unit, when the number of satellites with the decode completion rate of 100% during the timeout period is equal to the predetermined number minus 1 and there is a satellite for which decoding of the positioning data is completed with one word remaining, calculates the time until the next remaining word is received and causes the positioning unit to continue the positioning for at least that time.
Citation Information
Patent Citations
Electronic apparatus, positioning control method, and program
JP2020170007A