CN109557568B - Ranging code generation method and device - Google Patents

Ranging code generation method and device Download PDF

Info

Publication number
CN109557568B
CN109557568B CN201811442607.XA CN201811442607A CN109557568B CN 109557568 B CN109557568 B CN 109557568B CN 201811442607 A CN201811442607 A CN 201811442607A CN 109557568 B CN109557568 B CN 109557568B
Authority
CN
China
Prior art keywords
code
code value
ranging
ranging code
value information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811442607.XA
Other languages
Chinese (zh)
Other versions
CN109557568A (en
Inventor
陶长来
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hunan Goke Microelectronics Co Ltd
Original Assignee
Hunan Goke Microelectronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hunan Goke Microelectronics Co Ltd filed Critical Hunan Goke Microelectronics Co Ltd
Priority to CN201811442607.XA priority Critical patent/CN109557568B/en
Publication of CN109557568A publication Critical patent/CN109557568A/en
Application granted granted Critical
Publication of CN109557568B publication Critical patent/CN109557568B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/13Receivers
    • G01S19/24Acquisition or tracking or demodulation of signals transmitted by the system
    • G01S19/30Acquisition or tracking or demodulation of signals transmitted by the system code related

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Position Fixing By Use Of Radio Waves (AREA)

Abstract

The embodiment of the invention provides a method and a device for generating a ranging code, and relates to the technical field of satellite navigation. The method and the device firstly determine an exclusive OR key corresponding to a target bit through a ranging code seed according to a positioning requirement, and then carry out code value hopping on at least part of code value information of a ranging code sequence according to the exclusive OR key to obtain a code value of the target bit; therefore, the ranging code is generated when the positioning is needed, and the complete ranging code does not need to be stored locally in advance, so that the local storage space is liberated, and the local circuit is simplified.

Description

Ranging code generation method and device
Technical Field
The invention relates to the technical field of satellite navigation, in particular to a method and a device for generating a ranging code.
Background
In the process of satellite capturing and tracking, coherent integration operation is carried out by using the locally generated ranging codes and the received satellite ranging codes so as to scan the ranging codes of different satellites and carry out displacement scanning on the same satellite ranging code. Specifically, when the same satellite ranging code is subjected to shift scanning, coherent integration operation needs to be performed on the locally generated ranging code and the received ranging code, and if the coherent integration cannot obtain a peak value, the locally generated ranging code needs to be shifted to the left by one chip, and then the coherent integration operation is performed until all the ranging codes are scanned.
For the Global Positioning System (GPS) and the BeiDou Navigation Satellite System (BDS), different satellites correspond to different ranging codes, and the starting points of the received Satellite ranging code chips are different according to the distances between the satellites and the receiver. Meanwhile, since the ranging code is too long, in order to increase the calculation rate, the ranging code generally needs to be subjected to segmented coherent integration.
However, in the prior art, the ranging code may be generated and stored in advance, and the ranging code required for coherent integration operation may be obtained in a table lookup manner, but for a GPS navigation system, each satellite requires a storage space of 1K bits, for a beidou navigation system, each satellite requires a storage space of 2K bits, and the GPS and beidou navigation systems are both cdma, and the ranging code of each satellite is different, so that a large amount of storage space is consumed by a table lookup method, and a large amount of circuits are consumed for implementation.
Disclosure of Invention
In view of the above, an object of the present invention is to provide a method and an apparatus for generating ranging codes, which can generate ranging codes only when there is a positioning requirement, and do not need to store the complete ranging codes locally in advance to release the storage space.
In order to achieve the above purpose, the embodiment of the present invention adopts the following technical solutions:
in a first aspect, an embodiment of the present invention provides a method for generating a ranging code, where the method for generating a ranging code includes:
determining an exclusive or key word corresponding to a target bit through a ranging code seed according to a positioning requirement; wherein the ranging code seed characterizes at least part of code value information of a ranging code sequence; the XOR key represents jump parameter information required for jumping code values of at least part of code value information; the positioning requirement is used for indicating to acquire the target bit;
and carrying out code value hopping on at least part of code value information of the ranging code sequence according to the XOR key to obtain the code value of the target bit.
In a second aspect, an embodiment of the present invention further provides a ranging code generating apparatus, where the ranging code generating apparatus includes:
the exclusive-or key word determining unit is used for determining the exclusive-or key word corresponding to the target bit through the ranging code seed according to the positioning requirement; wherein the ranging code seed characterizes at least part of code value information of a ranging code sequence; the XOR key represents jump parameter information required for jumping code values of at least part of code value information; the positioning requirement is used for indicating to acquire the target bit;
and the code value determining unit is used for carrying out code value hopping on at least part of code value information of the ranging code sequence according to the XOR key to obtain the code value of the target bit.
According to the distance measuring code generation method and device provided by the embodiment of the invention, firstly, according to the positioning requirement, the XOR key corresponding to the target bit is determined through the distance measuring code seed, then, according to the XOR key, code value hopping is carried out on at least part of code value information of the distance measuring code sequence, and the code value of the target bit is obtained; therefore, the ranging code is generated when the positioning is needed, and the complete ranging code does not need to be stored locally in advance, so that the local storage space is liberated, and the local circuit is simplified.
In order to make the aforementioned and other objects, features and advantages of the present invention comprehensible, preferred embodiments accompanied with figures are described in detail below.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings needed to be used in the embodiments will be briefly described below, it should be understood that the following drawings only illustrate some embodiments of the present invention and therefore should not be considered as limiting the scope, and for those skilled in the art, other related drawings can be obtained according to the drawings without inventive efforts.
Fig. 1 is a schematic view of scene interaction of a positioning system according to an embodiment of the present invention.
Fig. 2 is a block diagram of a positioning apparatus according to an embodiment of the present invention.
Fig. 3 is a flowchart of a method for generating ranging codes according to an embodiment of the present invention.
Fig. 4 is a schematic diagram of a code generator for generating a GPS satellite ranging code sequence according to the prior art.
Fig. 5 is a flowchart of a method for generating ranging codes according to an embodiment of the present invention.
Fig. 6 is a functional block diagram of a ranging code generating apparatus according to an embodiment of the present invention.
Icon: 100-a positioning system; 110-a positioning device; 111-a memory; 112-a processor; 113-a communication unit; 114-a signal receiver; 120-satellite; 200-ranging code generating means; 210-an exclusive or key determination unit; 220-code value determination unit.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. The components of embodiments of the present invention generally described and illustrated in the figures herein may be arranged and designed in a wide variety of different configurations.
Thus, the following detailed description of the embodiments of the present invention, presented in the figures, is not intended to limit the scope of the invention, as claimed, but is merely representative of selected embodiments of the invention. All other embodiments, which can be derived by a person skilled in the art from the embodiments of the present invention without making any creative effort, shall fall within the protection scope of the present invention.
It is noted that relational terms such as "first" and "second," and the like, may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other identical elements in a process, method, article, or apparatus that comprises the element.
Please refer to fig. 1, which is a schematic view illustrating a scene interaction of a positioning system 100. The positioning system 100 includes: satellites 120, and positioning devices 110. Satellite 120 is communicatively coupled to positioning device 110.
The satellite 120 is used to transmit current position information of the satellite 120 itself to the positioning device 110 in real time. Typically, this current position information takes the form of a sequence of ranging codes.
Positioning device 110 is configured to determine geographic location information of positioning device 110 itself based on the received ranging code sequences.
Referring to fig. 2, the positioning apparatus 110 includes: memory 111, processor 112, communication unit 113, and signal receiver 114. The memory 111, the processor 112, the communication unit 113 and the signal receiver 114 are electrically connected to each other directly or indirectly to realize data transmission or interaction. For example, the components may be electrically connected to each other via one or more communication buses or signal lines.
The memory 111 is used to store programs or data. The Memory may be, but is not limited to, a Random Access Memory 111 (RAM), a Read Only Memory (ROM), a Programmable Read-Only Memory (PROM), an erasable Read-Only Memory (EPROM), an electrically erasable Read-Only Memory (EEPROM), and the like.
The processor 112 is used to read/write data or programs stored in the memory 111 and perform corresponding functions.
The communication unit 113 is configured to establish a communication connection between the positioning device 110 and another communication terminal through the network, and to transceive data through the network.
The signal receiver 114 is used to receive current location information transmitted by the satellites 120.
It should be noted that the positioning device 110 may be a mobile terminal such as a mobile phone, a car navigation device, a tablet computer, and the like.
It should be understood that the configuration shown in fig. 2 is merely a schematic configuration of the positioning device 110, and that the positioning device 110 may include more or fewer components than shown in fig. 2, or have a different configuration than shown in fig. 2. The components shown in fig. 2 may be implemented in hardware, software, or a combination thereof.
The embodiment of the invention provides a method for generating a ranging code, which is applied to the positioning device 110 and used for directly determining a required code value according to a positioning requirement without storing a complete ranging code locally in advance so as to release a storage space. Please refer to fig. 3, which is a flowchart illustrating a method for generating ranging codes according to an embodiment of the present invention. The method for generating the ranging code comprises the following steps:
s201, according to the positioning requirement, determining an exclusive OR key word corresponding to the target bit through the ranging code seed.
Wherein the positioning requirement is used for indicating to acquire the target bit. Typically, the positioning requirements are obtained from the received satellite ranging codes. It should be noted that the positioning requirements for each clock are typically different.
In a possible implementation manner, when the ranging code sequence is generated locally according to the satellite ranging code received by the receiver, the target bit indicated by the positioning requirement corresponding to the first clock is generally the bit corresponding to the starting point of the satellite ranging code chip; and the target bits indicated by the positioning requirement corresponding to each clock in the following sequence correspond to the bits of the satellite ranging code.
For example, when the satellite ranging code received by the receiver is a ranging code with a code length of 50 bits starting from 107 bits, the destination bit indicated by the positioning requirement corresponding to the first clock should be 107 bits, the destination bit indicated by the positioning requirement corresponding to the second clock should be 108 bits, and so on, until the code value corresponding to each bit of the satellite ranging code is determined.
In another possible implementation, the positioning requirement is related to the bits of the ranging code required for coherent integration. That is, when coherent integration operation is required, the received ranging code needs to be segmented, and the positioning requirement at this time is related to the bit of each segment of the received ranging code.
The ranging code seed represents at least part of code value information of the ranging code sequence and is used as a reference for code value hopping so as to directly determine the code value of the target bit.
The ranging code sequence refers to a complete ranging code of a certain satellite 120; the ranging code seed intercepts at least part of the code value information at any position of the ranging code sequence. At least part of code value information of the ranging code sequence comprises N code value information, the N code value information is continuous, and N is a preset integer.
It should be noted that at least part of the code value information of the ranging code sequence may be pre-stored, or may be generated based on a ranging code generation method provided in a space signal interface control file, which is not limited herein.
The XOR key represents jump parameter information required for jumping code values of at least part of the code value information. Corresponding to the ranging code seed, the XOR key contains N jump parameter values, and the N jump parameter values correspond to the N code value information one by one.
In addition, when the ranging code generating method is applied to the first positioning system 100, at least a part of the code value information includes a first preset number of code value information, that is, N is equal to the first preset number; when the method for generating ranging codes is applied to the second positioning system 100, at least a portion of the code value information includes a second predetermined number of code value information, i.e., N is the second predetermined number.
That is, the number of code value information included in at least part of the code value information is related to an application scenario of the ranging code generating method. In one possible implementation, the first positioning System 100 is a global positioning System 100 (GPS), and correspondingly, the first preset number is 20, that is, N is 20. The second positioning System 100 is a BeiDou Navigation Satellite System (BDS), and correspondingly, the second preset number is 22, that is, N is 22.
Fig. 4 is a schematic diagram of a code generator for generating a GPS satellite ranging code sequence according to the prior art. Wherein, the G1 sequence and the G2 sequence are respectively generated by two 10-stage linear shift registers, and the generating polynomial is:
G1(X)=1+X3+X10
G2(X)=1+X2+X3+X6+X8+X9+X10
the initial phases of G1 and G2 are:
initial phase of G1 sequence: 1111111111
Initial phase of G2 sequence: 1111111111
As shown in fig. 4, the ranging code sequence of different satellites 120 is generated by combining two different taps of the shift register of the G2 sequence, and the ranging code sequence is generated by xoring two taps of the shift register of the G2 sequence and then xoring the two taps of the shift register with the G1 sequence.
Wherein, for the G1 sequence:
G1[10]=G1[7]^G1[0]
G1[11]=G1[8]^G1[1]
G1[12]=G1[9]^G1[2]
G1[13]=G1[10]^G1[3]=G1[7]^G1[0]^G1[3]
G1[14]=G1[11]^G1[4]=G1[8]^G1[1]^G1[4]
G1[15]=G1[12]^G1[5]=G1[9]^G1[2]^G1[5]
G1[16]=G1[13]^G1[6]=G1[7]^G1[0]^G1[3]^G1[6]
G1[17]=G1[14]^G1[7]=G1[8]^G1[1]^G1[4]^G1[7]
G1[18]=G1[15]^G1[8]=G1[9]^G1[2]^G1[5]^G1[8]
G1[19]=G1[16]^G1[9]=G1[7]^G1[0]^G1[3]^G1[6]^G1[9]
G1[20]=G1[17]^G1[10]=G1[8]^G1[1]^G1[4]^G1[7]^G1[7]^G1[0]
=G1[8]^G1[1]^G1[4]^G1[0]
=(G1[2]^G1[5]^G1[8]^G1[9])^(G1[2]^G1[5]^1[9])^(G1[2]^G1[9])^G1[9]^G1[4]^G1[2]^G1[1]^G1[0]
=G1[18]^G1[15]^G1[12]^G1[9]^G1[4]^G1[2]^G1[1]^G1[0]
as can be seen from the above equation, the code value of the 20 th bit of the G1 sequence can be obtained by xoring the 18 th, 15 th, 12 th, 9 th, 4 th, 2 th, 1 th and 0 th bits of the G1 sequence.
For the G2 sequence:
G2[10]=G2[8]^G2[7]^G2[4]^G2[2]^G2[1]^G2[0]
G2[11]=G2[9]^G2[8]^G2[5]^G2[3]^G2[2]^G2[1]
G2[12]=G2[9]^G2[8]^G2[7]^G2[6]^G2[3]^G2[1]^G2[0]
G2[13]=G2[9]]^G2[0]
G2[14]=G2[8]^G2[7]^G2[4]^G2[2]^G2[0]
G2[15]=G2[9]^G2[8]^G2[5]^G2[3]^G2[1]
G2[16]=G2[9]^G2[8]^G2[7]^G2[6]^G2[1]^G2[0]
G2[17]=G2[9]^G2[4]^G2[0]
G2[18]=G2[8]^G2[7]^G2[5]^G2[4]^G2[2]^G2[0]
G2[19]=G2[9]^G2[8]^G2[6]^G2[5]^G2[3]^G2[1]
G2[20]=G2[9]^G2[8]^G2[6]^G2[1]^G2[0]
=G2[18]^G2[15]^G2[12]^G2[9]^G2[4]^G2[2]^G2[1]^G2[0]
as can be seen from the above equation, the code value of the 20 th bit of the G2 sequence can be obtained by xoring the 18 th, 15 th, 12 th, 9 th, 4 th, 2 th, 1 th and 0 th bits of the G2 sequence.
If the code value of the target bit needs to be directly determined by taking the ranging code seed as a reference for code value hopping, the following principles are known according to the ranging code sequence: in determining the code value of the target bit, it is necessary to satisfy both the variation relationship of the G1 sequence and the variation relationship of the G2 sequence. From the above, it can be seen that: for the G1 sequence and the G2 sequence, the code value of the 20 th bit is determined by the 18 th, 15 th, 12 th, 9 th, 4 th, 2 th, 1 th and 0 th bits, i.e. when the length of the sequence is 20, the G1 sequence and the G2 sequence have the same variation relation.
Therefore, for GPS, only when N is more than or equal to 20, the ranging code sequence can directly use the ranging code seed as the reference for code value hopping.
It should be noted that the method for determining the second preset number of code value information included in the ranging code seed of the beidou navigation system is substantially the same as the method for determining the first preset number of code value information included in the ranging code seed of the GPS, and the difference is that the G1 sequence and the G2 sequence of the beidou navigation system are respectively generated by two 11-stage linear shift registers, and the rest of the steps are referred to above, and are not repeated herein.
Referring to fig. 5, in an alternative embodiment, the S201 includes:
s2011, the displacement values of the target bit and the ranging code seed are determined based on the position information of the ranging code seed and the position information of the target bit.
The position information of the ranging code seed is the position information of the Nth bit in the N code value information.
Specifically, the displacement value is a difference between the position information of the target bit and the position information of the ranging code seed. For example, if the distance measurement code seed of the GPS is 947 th bit to 996 th bit, the position information of the distance measurement code seed is 996 th bit, and if the target bit is 1050 th bit, the displacement value is 53.
S2012, searching the XOR key corresponding to the target bit from the pre-stored displacement value-XOR key comparison table according to the displacement value.
It should be noted that different displacement values correspond to different xor keys. Specifically, when the ranging code generating method is applied to the global positioning system, the pre-stored displacement value-xor key comparison table is shown in table 1:
TABLE 1
Displacement value 1 2 3 4 5 ……
XOR key 49217 9242E 6DA4B DB496 FFB3B ……
Displacement value 999 1000 1001 1002 1003
XOR key 4C934 99268 7B6C7 F6D8E A490B
If the 0 th bit to 19 th bit is used as the ranging code seed, the process of determining the XOR key word is as follows:
b0, B1 … … B19 respectively represent the 0 th to 19 th bit of the ranging code seed, then:
B[0]=G1[0]^G2[1]^G2[4]
B[1]=G1[1]^G2[2]^G2[5]
B[2]=G1[2]^G2[3]^G2[6]
B[4]=G1[4]^G2[5]^G2[8]
B[9]=G1[9]^G2[10]^G2[13]
B[12]=G1[12]^G2[13]^G2[16]
B[15]=G1[15]^G2[16]^G2[19]
B[18]=G1[18]^G2[19]^G2[22]
B[20]=G1[20]^G2[21]^G2[24]
=G1[20]^G2[9]^G2[8]^G2[6]^G2[5]^G2[4]^G2[3]^G2[2]
and because: b0 ^ B1 ^ B2 ^ B4 ^ B9 ^ B12 ^ B15 ^ B18 ^
=G1[0]^G2[2]^G2[5]^G1[1]^G2[3]^G2[6]^G1[2]^G2[4]^G2[7]^G1[4]^G2[6]^G2[9]^G1[9]^G2[11]^G2[14]^G1[12]^G2[14]^G2[17]^G1[15]^G2[17]^G2[20]^G1[18]^G2[20]^G2[23]
=G1[20]^G2[1]^G2[2]^G2[3]^G2[4]^G2[6]^G2[8]^G2[10]^G2[22]
=G1[20]^G2[9]^G2[8]^G2[6]^G2[5]^G2[4]^G2[3]^G2[2]
B[20]=B[0]^B[1]^B[2]^B[4]^B[9]^B[12]^B[15]^B[18]=
^(B[19]B[18]B[17]B[16]B[15]B[14]B[13]B[12]B[11]B[10]
B[9]B[8]B[7]B[6]B[5]B[4]B[3]B[2]B[1]B[0]&01001001001000010111)
Thus, when the displacement value is 1, the code value of the 20 th bit is obtained by xoring the 18 th, 15 th, 12 th, 9 th, 4 th, 2 th, 1 th and 0 th bits of the ranging code seed. The xor key is used as jump parameter information for characterizing the ranging code seed to jump the code value, and actually includes information of which bits of the ranging code seed are selected to perform xor operation, bit positions 18, 15, 12, 9, 4, 2, 1 and 0 of the xor key are used for selecting corresponding bits, and bit positions 0 are used for removing corresponding bits. Therefore, the exclusive-or key corresponding to a displacement value of 1 should be 01001001001000010111, and 49217 if expressed as a 16-ary number.
The code value of the 21 st bit is:
B[21]=B[19]^B[16]^B[13]^B[10]^B[5]^B[3]^B[2]^B[1]=^(B[19]B[18]B[17]B[16]B[15]B[14]B[13]B[12]B[11]B[10]B[9]B[8]B[7]B[6]B[5]B[4]B[3]B[2]B[1]B[0]&10010010010000101110)
thus, an exclusive or key with a displacement value of 2 would have to be 10010010010000101110 from low to high, and 9242E if expressed as a 16-ary number.
Similarly, the code value of the 22 nd bit is:
B[22]=B[20]^B[17]^B[14]^B[11]^B[6]^B[4]^B[3]^B[2]=
^{B[20]B[19]······B[1]B[0]&(49217^2485C)}=
^(B[20]B[19]······B[1]B[0]&6DA4B)
therefore, an exclusive-or key with a shift value of 3 would be 01101101101001001011, and if expressed as a 16-ary number, it would be 6DA 4B.
It should be noted that, since the code length of the GPS ranging code sequence is 1023 bits, that is, the code length includes 0 th bit to 1022 th bit, 20 bits of the ranging code seed are removed, the ranging code seed may have a bit shift value with other 1003 bits, and the maximum bit shift value is 1003. The determination method of the xor key corresponding to the other displacement values may be obtained by performing inference through the above method, and the specific process is not described herein again.
Specifically, when the distance measuring code generation method is applied to the beidou navigation system, the pre-stored displacement value-exclusive or keyword comparison table is shown in table 2:
TABLE 2
Displacement value 1 2 3 4 5 ……
XOR key 01F1DB 03E3B6 07C76C 0F8ED8 1F1DB0 ……
Displacement value 2021 2022 2023 2024 2025
XOR key 0E2EA8 1C5D50 38BAA0 30849B 20F8ED
It should be noted that, because the code length of the ranging code sequence of the beidou navigation system is 2047 bits, that is, includes 0 th bit to 2046 th bit, 22 bits of ranging code seeds are removed, the ranging code seeds can be stored in a displacement value with other 2025 bits, and the maximum displacement value is 2025.
In addition, the method for deriving the xor key of the beidou navigation system is similar to the method for deriving the xor key of the GPS system, and is not repeated herein.
S202, code value hopping is carried out on at least part of code value information of the ranging code sequence according to the XOR key words, and the code value of the target bit is obtained.
With continued reference to fig. 5, S202 includes:
s2021, and-operating the N code value information and the N jumping parameter values one by one to obtain an and-operation sequence, wherein the and-operation sequence comprises the N and-operation code values.
It will be appreciated that the characteristics associated with the operation are: the result obtained by the arbitrary value and the above 1 is the arbitrary value itself, so that the N code value information and the N jump parameter values are subjected to the and operation one by one, namely the process of selecting the xor operation bit from the ranging code seed according to the xor keyword. In the obtained and operation sequence, except the selected exclusive or operation bit, other bits are all 0.
S2022, determine the values obtained by bitwise xoring the N and the operation code values as the code values of the target bits.
Since the bits of the and operation sequence except the selected xor operation bits are all 0, no matter how many 0 xors are equal to 0, and the result obtained by adding 0 to an arbitrary xor value is an arbitrary value itself, the process of performing bitwise xor operation on the N and operation code values is the process of performing bitwise xor operation on the selected xor operation bits.
In the following, first, taking GPS as an example, the 997 th bit to the 1016 th bit of the GPS ranging code sequence are used as the ranging code seeds. Because the complete GPS ranging code sequence is: 11001000001110010100100 … 00100(10011100001110010100)01000 total 1023 bits of cyclic code, so the ranging code seed is 10011100001110010100. The process of determining the code value of the target bit from the ranging code seed is as follows:
it can be understood that the target bit is variable, first, taking the target bit as the 1017 th bit as an example, the target bit is the 1 st bit on the right side of the ranging code seed, the corresponding displacement value is 1, and according to the pre-stored comparison table of displacement values — xor key, the corresponding xor key is 49217 when the displacement value is 1, so:
B[1017]=^(10011100001110010100&11101000010010010010)
=^(10001000000010010000)=0
meanwhile, the code value of the 1017 th bit determined by the method provided by the embodiment is compared with the code value of the 1017 th bit determined by the ranging code generation method published according to the GPS navigation system spatial signal interface standard, and both the values are 0.
When the target bit is the 1023 bit, the target bit is the 7 th bit on the right side of the ranging code seed, the corresponding displacement value is 7, and according to the pre-stored displacement value-exclusive or key comparison table, the corresponding exclusive or key is AB5a4 when the displacement value is 7; since the GPS ranging code sequence includes 1023 bits at most, i.e. 0 th bit to 1022 th bit, and the ranging code sequence is generated cyclically, the 1023 bit is actually the 0 th bit, and therefore:
when the displacement value is 7 bits, i.e. the target bit is the 7 th bit (i.e. 0 th bit) on the right side of the ranging code seed:
B[1023]=B[0]=^(10011100001110010100&10101011010110100100)
=^10001000000110000100)=1
taking the beidou navigation system as an example, 1991 bit to 2012 bit (22 bits in total) of the ranging code sequence of the beidou navigation system is taken as a ranging code seed. Because the range finding code sequence of complete big dipper navigation system is:
01010101010011001111000101110001100100000011 (1111000010001101010000)1011101011001101011011010101101011 is a 2047 bit cyclic code, so the ranging code seed is 1111000010001101010000. The process of determining the code value of the target bit from the ranging code seed is as follows:
taking the target bit as the 2013 rd bit as an example, the target bit is the 1 st bit on the right side of the ranging code seed, the corresponding shift value is 1, and according to the pre-stored shift value-xor key comparison table, the xor key corresponding to the shift value of 1 is 01F1DB, therefore,
B[2013]=^(1111000010001101010000&1101101110001111100000)
=^(1101000010001101000000)=1
when the target bit is 2027 th bit, the target bit is 35 th bit on the right side of the ranging code seed, the corresponding displacement value is 35, and according to the pre-stored displacement value-exclusive or key comparison table, the corresponding exclusive or key is 383283 when the displacement value is 35; moreover, because the ranging code sequence of the beidou navigation system contains 2027 bits at most, namely 0 th bit to 2026 th bit, and the ranging code sequence is generated circularly, the 2027 th bit is actually the 0 th bit, therefore:
B[2017]=B[0]=^(1111000010001101010000&1100000101001100000111)=^(1100000000001100000000)=0
therefore, as long as the ranging code seed is known, the code value of any target bit can be determined, which is significant for performing the segmented coherent integration. For the traditional method for generating the ranging code by using the space signal interface control file, the traditional method can only generate the ranging code by one bit, and when the displacement value of the target bit and the bit of the current known code value is larger, the code value of the target bit can be obtained by using at least the same number of clocks as the displacement value; the ranging code generation method provided by the embodiment can generate the ranging code in a jumping manner, and when the displacement value between the target bit and the bit of the current known code value is large, the code value of the target bit can be determined only by using one clock, so that the calculation time is greatly saved, and the ranging code can be provided more flexibly.
In addition, the ranging code is generated when the positioning is needed, the complete ranging code does not need to be stored locally in advance, the local storage space is liberated, and the local circuit is simplified.
It should be noted that even if the ranging code seeds are pre-stored and are only acquired when needed, the space occupied by the ranging code seeds is much smaller than the space occupied by the complete ranging code sequence, and the storage space can be greatly saved.
In order to perform the corresponding steps in the above embodiments and various possible manners, an implementation manner of the ranging code generating apparatus 200 is given below, and optionally, the ranging code generating apparatus 200 may adopt the device structure of the user equipment shown in fig. 2. Further, referring to fig. 6, fig. 6 is a ranging code generating device 200 according to an embodiment of the present invention. It should be noted that the basic principle and the technical effect of the ranging code generating device 200 provided in the present embodiment are the same as those of the above embodiments, and for the sake of brief description, no part of the present embodiment is mentioned, and corresponding contents in the above embodiments may be referred to. The ranging code generating apparatus 200 includes an exclusive or key determining unit 210 and a code value determining unit 220.
The xor key determining unit 210 is configured to determine, according to the positioning requirement, an xor key corresponding to the target bit by using the ranging code seed.
Specifically, the xor key determining unit 210 is configured to determine the target bit and the displacement value of the ranging code seed based on the position information of the ranging code seed and the position information of the target bit, and to look up the xor key corresponding to the target bit from a pre-stored displacement value-xor key comparison table according to the displacement value.
Wherein the positioning requirement is used for indicating to acquire the target bit. Typically, the positioning requirements are obtained from the received satellite ranging codes. It should be noted that the positioning requirements for each clock are typically different.
The ranging code seed represents at least part of code value information of the ranging code sequence and is used as a reference for code value hopping so as to directly determine the code value of the target bit.
The ranging code sequence refers to a complete ranging code of a certain satellite 120; the ranging code seed intercepts at least part of the code value information at any position of the ranging code sequence. At least part of code value information of the ranging code sequence comprises N code value information, the N code value information is continuous, and N is a preset integer.
The XOR key represents jump parameter information required for jumping code values of at least part of the code value information. Corresponding to the ranging code seed, the XOR key contains N hopping parameter values, and the N hopping parameter values correspond to the N code value information one by one.
It is to be appreciated that in one possible implementation, the xor key determination unit 210 may be configured to perform S201, S2011, and S2012.
The code value determining unit 220 is configured to perform code value hopping on at least part of code value information of the ranging code sequence according to the xor key, and obtain a code value of the target bit.
Specifically, the code value determining unit 220 is configured to perform an and operation on the N code value information and the N hopping parameter values one by one to obtain an and operation sequence, where the and operation sequence includes N and operation code values, and determine a value obtained by performing a bitwise xor operation on the N and operation code values as a code value of the target bit.
It is to be appreciated that in one possible implementation, the code value determining unit 220 can be configured to perform S202, S2021, and S2022.
Alternatively, the modules may be stored in the memory 111 shown in fig. 2 in the form of software or Firmware (Firmware) or be fixed in an Operating System (OS) of the user equipment, and may be executed by the processor 112 in fig. 2. Meanwhile, data, codes of programs, and the like required to execute the above modules may be stored in the memory 111.
In summary, according to the method and apparatus for generating a ranging code provided in the embodiments of the present invention, firstly, according to a positioning requirement, an xor key corresponding to a target bit is determined by a ranging code seed, and then, code value hopping is performed on at least part of code value information of a ranging code sequence according to the xor key, so as to obtain a code value of the target bit; therefore, the ranging code is generated when the positioning is needed, the complete ranging code is not required to be stored locally in advance, the local storage space is liberated, and the local circuit is simplified.
In the embodiments provided in the present application, it should be understood that the disclosed apparatus and method can be implemented in other ways. The apparatus embodiments described above are merely illustrative, and for example, the flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of apparatus, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
In addition, the functional modules in the embodiments of the present invention may be integrated together to form an independent part, or each module may exist separately, or two or more modules may be integrated to form an independent part.
The functions, if implemented in the form of software functional modules and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present invention may be embodied in the form of a software product, which is stored in a storage medium and includes instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the method according to the embodiments of the present invention. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk or an optical disk, and other various media capable of storing program codes.
The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention, and various modifications and changes may be made by those skilled in the art. Any modification, equivalent replacement, or improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.

Claims (10)

1. A method for generating ranging codes, the method comprising:
determining an exclusive or key word corresponding to a target bit through a ranging code seed according to a positioning requirement; wherein the ranging code seed characterizes at least part of code value information of a ranging code sequence; the XOR key represents jump parameter information required for jumping code values of at least part of code value information; the positioning requirement is used for indicating to acquire the target bit;
and carrying out code value hopping on at least part of code value information of the ranging code sequence according to the XOR key to obtain the code value of the target bit.
2. The method of claim 1, wherein at least a portion of code value information of the ranging code sequence comprises N code value information, and the N code value information are consecutive, wherein N is a predetermined integer; the XOR key contains N jump parameter values; the N jumping parameter values correspond to the N code value information one by one; the step of performing code value hopping on at least part of code value information of the ranging code sequence according to the xor key to obtain the code value of the target bit includes:
performing and operation on the N code value information and the N jumping parameter values one by one to obtain an and operation sequence, wherein the and operation sequence comprises N and operation code values;
and determining the values obtained by carrying out bitwise XOR operation on the N and the operation code values as the code values of the target bits.
3. The method as claimed in claim 2, wherein the step of determining the xor key corresponding to the target bit by the ranging code seed according to the positioning requirement comprises:
determining a displacement value of the target bit and the ranging code seed based on the position information of the ranging code seed and the position information of the target bit; the position information of the ranging code seed is the position information of the Nth bit in the N code value information;
and searching an exclusive-or key corresponding to the target bit from a pre-stored displacement value-exclusive-or key comparison table according to the displacement value.
4. The method as claimed in any one of claims 1 to 3, wherein the at least part of the code value information comprises a first predetermined number of code value information when the method is applied to the first positioning system.
5. The method as claimed in any one of claims 1 to 3, wherein the at least part of the code value information comprises a second predetermined number of code value information when the method is applied to a second positioning system.
6. A ranging code generating apparatus, comprising:
the exclusive-or key word determining unit is used for determining the exclusive-or key word corresponding to the target bit through the ranging code seed according to the positioning requirement; wherein the ranging code seed characterizes at least part of code value information of a ranging code sequence; the XOR key represents jump parameter information required for jumping code values of at least part of code value information; the positioning requirement is used for indicating to acquire the target bit;
and the code value determining unit is used for carrying out code value hopping on at least part of code value information of the ranging code sequence according to the XOR key to obtain the code value of the target bit.
7. The apparatus as claimed in claim 6, wherein at least a part of code value information of the ranging code sequence comprises N code value information, and the N code value information are consecutive, wherein N is a predetermined integer; the XOR key contains N jump parameter values; the N jumping parameter values correspond to the N code value information one by one;
the code value determining unit is used for performing and operation on the N code value information and the N jumping parameter values one by one to obtain an and operation sequence, and the and operation sequence comprises N and operation code values;
the code value determining unit is further configured to determine, as the code value of the target bit, the value obtained by performing bitwise xor operation on the N and opcode values.
8. The ranging code generating apparatus as claimed in claim 7, wherein the xor key determining unit is configured to determine the target bit and the displacement value of the ranging code seed based on the position information of the ranging code seed and the position information of the target bit; the position information of the ranging code seed is the position information of the Nth bit in the N code value information;
the XOR key determining unit is further configured to search the XOR key corresponding to the target bit from a pre-stored shift value-XOR key comparison table according to the shift value.
9. The apparatus as claimed in any one of claims 6 to 8, wherein the at least part of the code value information comprises a first predetermined number of code value information when the apparatus is applied to the first positioning system.
10. The apparatus as claimed in any one of claims 6 to 8, wherein the at least part of the code value information comprises a second predetermined number of code value information when the apparatus is applied to a second positioning system.
CN201811442607.XA 2018-11-29 2018-11-29 Ranging code generation method and device Active CN109557568B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811442607.XA CN109557568B (en) 2018-11-29 2018-11-29 Ranging code generation method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811442607.XA CN109557568B (en) 2018-11-29 2018-11-29 Ranging code generation method and device

Publications (2)

Publication Number Publication Date
CN109557568A CN109557568A (en) 2019-04-02
CN109557568B true CN109557568B (en) 2020-10-23

Family

ID=65867953

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811442607.XA Active CN109557568B (en) 2018-11-29 2018-11-29 Ranging code generation method and device

Country Status (1)

Country Link
CN (1) CN109557568B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111447006B (en) * 2020-04-03 2022-01-11 湖南国科微电子股份有限公司 Method and device for synchronizing B1C signal data and pilot frequency, electronic equipment and readable storage medium
CN112698364B (en) * 2020-12-10 2023-11-14 成都国星通信有限公司 Compatible modern GNSS signal ranging code generation method
CN113031026B (en) * 2021-02-25 2024-03-19 湖南国科微电子股份有限公司 Ranging code generation method, device, equipment and storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104765053A (en) * 2015-04-20 2015-07-08 和芯星通科技(北京)有限公司 GNSS receiver pseudo code capturing method and device
CN105873221A (en) * 2011-06-22 2016-08-17 三星电子株式会社 Apparatus and method for network entry in a wireless communication system
CN106656257A (en) * 2016-12-20 2017-05-10 深圳艾科创新微电子有限公司 Method and device for determining code phase of ranging code, and user terminal
CN106932787A (en) * 2017-04-20 2017-07-07 武汉大学 Beidou satellite navigation signal large-scale parallel real-time Transmission method and system
CN108027442A (en) * 2015-10-12 2018-05-11 迪尔公司 Satellite navigation receiver with fixed point Sigma sieve wave filter

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7719576B2 (en) * 2004-06-14 2010-05-18 Broadcom Corporation Method and apparatus for tagging digital photographs with geographic location data
US8436771B2 (en) * 2010-12-29 2013-05-07 Texas Instruments Incorporated Enhancing search capacity of global navigation satellite system (GNSS) receivers
US9261603B2 (en) * 2011-04-11 2016-02-16 Telenav, Inc. Navigation system with conditional based application sharing mechanism and method of operation thereof
US20180067214A1 (en) * 2016-09-07 2018-03-08 Qualcomm Incorporated Carrier-phase smoothing of code-phase measurements
CN106772475B (en) * 2016-12-23 2023-12-12 天津七六四通信导航技术有限公司 Circuit and method for capturing weak GPS navigation signals based on FPGA
CN107247577B (en) * 2017-06-14 2020-11-17 湖南国科微电子股份有限公司 Method, device and system for configuring SOC IP core

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105873221A (en) * 2011-06-22 2016-08-17 三星电子株式会社 Apparatus and method for network entry in a wireless communication system
CN104765053A (en) * 2015-04-20 2015-07-08 和芯星通科技(北京)有限公司 GNSS receiver pseudo code capturing method and device
CN108027442A (en) * 2015-10-12 2018-05-11 迪尔公司 Satellite navigation receiver with fixed point Sigma sieve wave filter
CN106656257A (en) * 2016-12-20 2017-05-10 深圳艾科创新微电子有限公司 Method and device for determining code phase of ranging code, and user terminal
CN106932787A (en) * 2017-04-20 2017-07-07 武汉大学 Beidou satellite navigation signal large-scale parallel real-time Transmission method and system

Also Published As

Publication number Publication date
CN109557568A (en) 2019-04-02

Similar Documents

Publication Publication Date Title
CN109557568B (en) Ranging code generation method and device
JP4796589B2 (en) Spreading codes for satellite navigation systems.
JP5791806B2 (en) Navigation system using spreading code based on pseudo-random noise sequence
JP5122580B2 (en) Generation of chaotic and chaotic spreading codes
EP2637033B1 (en) Contextual data compression for geo-tracking applications
US10735123B2 (en) Universal pseudorandom noise code generator
CN100566210C (en) The control method of terminal installation
US11032058B2 (en) Controlled chaotic system for low probability of detection (LPD) communication
JP6061773B2 (en) Signal processing apparatus, signal processing method, and signal processing program
CN116125502B (en) Navigation signal generation method, device, equipment and storage medium
CN114035203A (en) Pseudo-range signal transmission method, pseudo-range signal transmission device, storage medium, and electronic device
CN113391331B (en) Ranging code acquisition method and device, electronic equipment and storage medium
CN112666582B (en) Satellite signal processing method and device, storage medium and electronic equipment
Chityala et al. PRN sequence design based on Concatenation of Weil Sequences (CWS)
JP6860971B2 (en) Signal processing device and receiving device and code tracking method
US9503152B2 (en) Methods and apparatus for generating composite code sequences
CN111669185B (en) BCH decoding method and device, storage medium and electronic equipment
JP4806341B2 (en) Code generating apparatus and spread spectrum signal receiving system
US7590828B2 (en) Processing a data word in a plurality of processing cycles
CN115951376A (en) Positioning method and device fusing indoor and outdoor satellites, terminal equipment and storage medium
KR101794760B1 (en) An apparatus for generating a spreading code and a method therfor
CN117891886A (en) Rapid mapping method for route geological survey
JP2006086818A (en) Code nco and gps receiver
Harrison True Random Number Generation from a High Frequency Chaotic Jerk Circuit
CN117008870A (en) Correlation value calculation method and device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant