CN117008870A - Correlation value calculation method and device - Google Patents

Correlation value calculation method and device Download PDF

Info

Publication number
CN117008870A
CN117008870A CN202310490280.8A CN202310490280A CN117008870A CN 117008870 A CN117008870 A CN 117008870A CN 202310490280 A CN202310490280 A CN 202310490280A CN 117008870 A CN117008870 A CN 117008870A
Authority
CN
China
Prior art keywords
data
sequence
sum
code
correlation value
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.)
Pending
Application number
CN202310490280.8A
Other languages
Chinese (zh)
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.)
MediaTek Inc
Original Assignee
MediaTek Inc
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
Priority claimed from US18/139,954 external-priority patent/US20230359693A1/en
Application filed by MediaTek Inc filed Critical MediaTek Inc
Publication of CN117008870A publication Critical patent/CN117008870A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/491Computations with decimal numbers radix 12 or 20.
    • G06F7/498Computations with decimal numbers radix 12 or 20. using counter-type accumulators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/57Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
    • G06F7/575Basic arithmetic logic units, i.e. devices selectable to perform either addition, subtraction or one of several logical operations, using, at least partially, the same circuitry

Abstract

The invention provides a correlation value calculating method and a correlation value calculating device, which can reduce the calculating complexity. In one embodiment, the present invention provides a correlation value calculation apparatus including: an accumulation circuit arranged to obtain a first sum of all data samples included in a data sequence, select a plurality of data samples from the data sequence according to code bits included in the first code sequence, and obtain a second sum of the selected plurality of data samples; and processing circuitry arranged to obtain a first correlation value between the data sequence and the first code sequence based on the first and second sums.

Description

Correlation value calculation method and device
Technical Field
The present invention relates to correlation (correlation) calculation, and more particularly, to a correlation calculation method and a corresponding apparatus.
Background
Global navigation satellite systems (Global Navigation Satellite System, GNSS) are often described as an "intangible tool" that is relied upon by many aspects of the modern world. Each GNSS satellite is equipped with a high-precision atomic clock. The GNSS receiver may calculate a distance to each satellite by measuring the time delay between signal transmission and reception. Thus, when there are four or more satellites in view, the GNSS embedded device can derive accurate time and its own position.
Typical GNSS satellite signals are modulated using a pseudorandom noise Code (Pseudo Random Noise Code, PRN Code) and transmitted. The pseudorandom noise code is a sequence of bits 0 and 1 randomly distributed. Since each satellite uses a different pseudorandom noise code, the GNSS receiver may identify different satellite signals based on the pseudorandom noise code. The GNSS receiver calculates a correlation value between the received satellite signal and the local signal version, thereby calculating a time delay of the satellite signal. Because the time delay of the satellite signal is unknown and dynamically changing, the receiver must calculate correlation values between the received satellite signal and the multiple time shifted versions. In addition, if the pseudorandom noise code of the satellite is not known, the receiver must attempt all possible versions of the pseudorandom noise code. If the pseudorandom noise code is long, or if many different satellite signals need to be searched, the receiver needs to perform a larger number of correlation value calculations, including multiply and accumulate operations. Therefore, there is a need for a correlation value calculation design that reduces the computational complexity.
Disclosure of Invention
The invention provides a correlation value calculating method and a correlation value calculating device, which can reduce the calculating complexity.
In one embodiment, the present invention provides a correlation value calculation method, including: obtaining a first sum of all data samples included in the data sequence; selecting a plurality of data samples from the data sequence according to code bits included in the first code sequence, and obtaining a second sum of the plurality of selected data samples; and obtaining a first correlation value between the data sequence and the first code sequence based on the first sum and the second sum.
In another embodiment, the present invention provides a correlation value calculation apparatus, including: an accumulation circuit arranged to obtain a first sum of all data samples included in a data sequence, select a plurality of data samples from the data sequence according to code bits included in the first code sequence, and obtain a second sum of the selected plurality of data samples; and processing circuitry arranged to obtain a first correlation value between the data sequence and the first code sequence based on the first and second sums.
Drawings
Fig. 1 is a block diagram illustrating a correlation value calculation apparatus according to an embodiment of the present invention.
Fig. 2 is a schematic diagram of a first design of the correlation value calculating apparatus shown in fig. 1.
Fig. 3 is a schematic diagram of a second design of the correlation value calculating apparatus shown in fig. 1.
Fig. 4 is a schematic diagram of a third design of the correlation value calculating apparatus shown in fig. 1.
Fig. 5 is a schematic diagram of a fourth design of the correlation value calculating apparatus shown in fig. 1.
Detailed Description
Certain terms are used throughout the description and claims to refer to particular components. Those of skill in the art will appreciate that a hardware manufacturer may refer to the same component by different names. The specification and claims do not identify differences in names as a way of distinguishing components, but rather differences in functions of the components as a criterion of distinguishing. In the following description and in the claims, the terms "include" and "comprise" are used in an open-ended fashion, and thus should be interpreted to mean "include, but not limited to. "substantially" or "approximately" means that within an acceptable error range, a person skilled in the art can solve the technical problem within a certain error range, substantially achieving the technical effect. Furthermore, the terms "coupled" or "coupled" herein include any direct or indirect electrical connection. Accordingly, if a first device couples to a second device, that connection may be through a direct electrical connection, or through an indirect electrical connection via other devices and connections. The following description of the preferred embodiments is provided for the purpose of illustrating the spirit of the invention and is not to be construed as limiting the scope of the invention, which is defined by the appended claims.
Fig. 1 is a block diagram illustrating a correlation value calculation apparatus according to an embodiment of the present invention. For example, but not limiting OF, the correlation value computing device 100 may be part OF a correlator in a GNSS receiver that may process modern GNSS signals, including GPS L5, GPS L2C, GPS L1C/A, beidou B2a, beidou B2B, beidou B1C, galileo E5a, galileo E5B, galileo E6, galileo E1, GLONASS L1OF, SBAS, and the like. In practice, any application that uses the correlation value calculation apparatus 100 of the present invention to process correlation value calculations falls within the scope of the present invention. For example, the design is also applicable to other applications, i.e. calculating correlations between one sequence of values and a plurality of different sequences of values. In the present embodiment, the correlation value calculating apparatus 100 includes an accumulation circuit 102 and a processing circuit 104. It should be noted that only the components relevant to the present invention are shown in fig. 1. In practice, the correlation value calculation apparatus 100 may include additional components for other specified functions. In one exemplary design, the correlation value calculation apparatus 100 may be implemented using dedicated hardware designed to perform the correlation value calculation method of the present invention. In another exemplary design, the correlation value computing apparatus 100 may be implemented using a general-purpose processor that loads and executes program code to perform the correlation value computing method of the present invention. In yet another exemplary design, the correlation value computing device 100 may be implemented using any combination of hardware and software. In short, any correlation value calculation design using the technique for reducing the calculation complexity provided by the present invention falls within the scope of the present invention.
The accumulation circuit 102 is arranged to obtain a data sequence r n The sum S of all data samples (also called: data bits). For example, the data sequence r n To include N (N)>1) Data samples { r n N=0, …, N-1} data blocks, the N data samples being output by Analog-to-Digital Converter (ADC). Thus, the sum S can be expressed by the following formula.
The ADC samples the received pseudorandom noise code signal at a sampling rate that may be once per pseudorandom noise code bit sample, or multiple samples per pseudorandom noise code bit sample. After ADC sampling, further processing may be performed to obtain data samples for each pseudorandom noise code. The data samples of each pseudorandom noise code are correlated with corresponding receiver local pseudorandom noise code samples. Other signal processing, such as removal of carrier frequency or doppler frequency, may be performed before the correlation value calculation is performed. To more clearly describe our invention, the following embodiments use one sample per pseudorandom noise code bit sample and do not perform other signal processing.
In the present embodiment, the correlation value calculating apparatus 100 is used for comparing the same data sequence r n Respectively with M (M)>1) Personal code sequence (i.e. pseudo-random noise code) C i,n Performing correlation value calculation to generate M correlation values S i Where i=0, …, M-1 and n=0, …, N-1. In other words, each code sequence C i,n Including N Code bits (also known as Chip Code chips) since they do not carry data information. Calculating a data sequence r n And code sequence C i,n Correlation value S between i The accumulation circuit 102 is arranged to obtain a Partial Sum (Partial Sum) P of the selected data samples i Wherein according to code sequence C i,n The code bits contained in the data sequence r n Selecting a data sample; the processing circuit 104 is arranged to process the sum S and the partial sum P i To obtain a data sequence r n And code sequence C i,n Correlation value S between i
At the transmitting end, the transmitted data is combined with code sequences based on Code Division Multiple Access (CDMA), i.e. random noise codes, by bit exclusive or (bitwise XOR), and the resulting spread spectrum sequences are modulated with binary phase shift keying (Binary Phase Shift Keying, BPSK) and then transmitted. Wherein in BPSK modulation, the logical value 0 of the spreading sequence is mapped to +1 and the logical value 1of the spreading sequence is mapped to-1. At the receiving end, the data sequence r can be obtained using the following formula n {r n N=0, …, N-1} and code sequence C i,n {C i,n Correlation value S between n=0, …, N-1} i
Wherein->
The above formula (2) can be re-expressed as follows.
In formula (3), partial sum P i Can be represented by the following formula.
Wherein->
Based on the above formulas (1), (3) and (4), the correlation value calculation apparatus 100 shown in fig. 1 may be implemented using the correlation value calculation apparatus 200 shown in fig. 2, in which the accumulation circuit 102 may be implemented by the circuit module 202 and the processing circuit 104 may be implemented by the circuit module 204.
Due to the data sequence r n And zero code bits (C i,n =0) corresponding data sample pair part and P i Without contribution, the accumulation circuit 102 may accumulate only the non-zero code bits (C i,n =1) corresponding data sample obtaining part and P i . Due to the slave data sequence r n Selected (for a data block comprising N data samples) for computing part and P i The number of data samples of (a) is smaller than the data sequence r n The number of all data samples included in the data, the calculation section and P i The complexity of (c) is reduced. In a typical pseudorandom noise code, about half of the code bits are 1 and the other half are 0. Namely, code sequence C i,n The number of zero code bits 0 is approximately equal to the number of non-zero code bits 1, thus calculating partAnd Pi can be reduced by about half. Note that the calculation section and P i Only addition is needed.
The processing circuit 104 sums the partial sums P according to equation (3) above i Multiplying by a predetermined factor (i.e., 2) to obtain a multiplication result (i.e., 2P i ) Then, from the sum S of all data samples (i.e.,) Subtracting the multiplication result (i.e., 2.P i ) To generate a data sequence r n And code sequence C i,n Correlation value Si between them. In calculating different code sequences C 0,n ~C M-1,n Related value S of (2) 0 ~S M-1 When the same sum S (i.e. +.>) Can be shared (i.e., reused), thus calculating the correlation value S 0 -S M-1 The complexity of (c) is reduced.
As shown in fig. 2, in order to calculate the correlation value S i (i=0,..m-1) needed for combining part and P i A shift circuit (Bit Shifting) 206_i multiplied by a predetermined factor (i.e., 2). For the design of the correlator, the correlation value S is of interest 0 ~S M-1 The relative magnitude between them, not the correlation value S 0 ~S M-1 Is the absolute size of (a). The correlation value calculation apparatus 200 shown in fig. 2 may be modified to further reduce the complexity of the calculation. For example, the correlation value S can be simplified by using the following formula i Is calculated by the computer.
Based on the above formulas (1), (4) and (5), the correlation value calculation apparatus 100 shown in fig. 1 may be implemented using the correlation value calculation apparatus 300 shown in fig. 3. Wherein the accumulation circuit 102 may be implemented by the circuit module 202 and the processing circuit 104 may be implemented by the circuit module 304. Compared to the circuit module 204With M shift circuits 206_0-206_M-1, only one shift circuit 306 is needed for the circuit module 304. Calculating a correlation value S 0 ~S M-1 The number of displacement circuits required is greatly reduced. The shift circuit 306 is used to sum all data samples (i.e.,) Divided by a predetermined factor (i.e., 2) to obtain a division result (i.e., S/2). According to equation (5) above, processing circuit 104 (implemented by circuit block 304) subtracts part of sum P from the division result (i.e., S/2) i To generate a data sequence r n And code sequence C i,n Correlation value Si between them.
In the exemplary designs shown in fig. 2 and 3, different code sequences C 0,n ~C M-1,n Part of (2) and P 0 ~P M-1 Is calculated independently. However, a different code sequence C 0,n ~C M-1,n Possibly with the same consecutive bit values. We can split/group the Data sequence into Data words (Data Word) units, pre-compute all possible correlation values for each Data Word, and share them with all code sequences. That is, when the Code sequence is divided into Code words, the Code sequence C 0,n ~C M-1,n At the same sequence position, it is possible to have the same codeword. Computing partial sums P of code sequences i When we select the corresponding data word correlation value by the code word, and accumulate. Thus, the correlation values of all data words can be shared (i.e. reused), thereby further reducing the computational complexity.
In some embodiments of the invention, the accumulation circuit 102 is arranged to accumulate the data sequence r n All data sample packets (or splits) included in a packet are J (J>1) And a plurality of data words, each data word including D (D>1) A number of consecutive data samples (or referred to as: data bits), where n=j·d, N (N>1) Representing a data sequence r n N data samples included; the accumulation circuit 102 is further arranged to accumulate each code sequence C i,n All code bit packets (or splits) contained in (1) are J (J)>1) Code word E i,j (j= {0, …, J-1 }) each codeword includes D (D)>1) Successive code bits. For all code sequences, there may be 2 D And a combination of codewords. In calculating code sequence C i,n Related value S of (2) i The accumulation circuit 102 is arranged to accumulate J selected combined sums (Combinational Sum) (or called: word related values) to generate partial sums P i . In other words, for 2 D The accumulation circuit 102 may first calculate the correlation values between the codewords and the data words and then, for each codeword of the code sequence, select the corresponding combined sum (word correlation value) to accumulate to a partial sum of the code sequence. More specifically, for the data sequence r n The accumulation circuit 102 generates (2) D -1) combinations and W j,e Where j=0, 1..j-1 and e=1, …,2 D -1. These combinations and W j,e Is a pre-calculated sum from the D data samples contained in a particular data word. In this embodiment we calculate only the sum W except the combination j,0 All possible combinations and sums, except for, due to partial sum P i Irrespective of W j,0 . In calculating these combined sums W j,e Thereafter, the accumulation circuit 102 is based on the specific codeword E i,j (which is code sequence C i,n One of the codewords in (and corresponding to the particular data word) from these combinations and W j,e Selecting the corresponding combined sum (word correlation value) to accumulate into code sequence C i,n Part of (2) and P i . For example, for the ith code sequence, the accumulation circuit 102 is based on its corresponding codeword E i,j (i.e. e=e i,j ) Selecting the correct W j,e Partial sum P added to the code sequence i . The selection of J and D may be n=j·d-k. For example, we can insert k bits 1 to the data sequence and code sequence, respectively.
Suppose data sequence r n The 3 (i.e., d=3) data samples in (a) are grouped into one data word. For each data word, the accumulation circuit 102 may pre-calculate 7 combined sums W j,e Each combined sum is a partial sum of data words, the calculation of whichThe formula is similar to that specified in equation (4), where e= {1,2, …,7}, and each data sequence r n There are J data words (for a data block comprising N data samples). Assume that 3 data samples grouped into the same data word are used { R n ,R n-1 ,R n-2 Indicated, then the 7 combinations sum W j,e Can be obtained by the following means:
1)W j,1 =R n-2 corresponds to codeword "001" (which may be represented by a decimal value e=1);
2)W j,2 =R n-1 corresponds to codeword "010" (which may be represented by a decimal value e=2);
3)W j,3 =R n-1 +R n-2 corresponds to codeword "011" (which may be represented by a decimal value e=3);
4)W j,4 =R n corresponds to codeword "100" (which may be represented by a decimal value e=4);
5)W j,5 =R n +R n-2 corresponds to codeword "101" (which may be represented by a decimal value e=5);
6)W j,6 =R n +R n-1 corresponds to codeword "110" (which may be represented by a decimal value e=6);
7)W j,7 =R n +R n-1 +R n-2 corresponds to codeword "111" (which may be represented by a decimal value e=7).
Note that since the accumulation of partial sums skips codeword "000", the combined sums are not pre-calculated for codeword "000".
In an exemplary embodiment, the data sequence r n The sum S of all the data samples included in (b) can be calculated using the above formula (1). Alternatively, since the combined sum W is pre-calculated for each of the J data words j,7 (W j,7 =R n +R n-1 +R n-2 ) So the data sequence r n The sum S of all data samples comprised in can also be obtained by accumulating the combined sum W j,7 Obtained. Specifically, the above formula (1) can be expressed again as follows.
Due to the data sequence r n {r n There are J data words in n=0, …, N-1, and therefore, can be based on the code sequence C i,n Codeword E corresponding to each data word i,j From a pre-calculated combined sum W j,e One combined sum is selected from (j= {0, …, J-1 }) as the partial sum of the corresponding data word. Thereby, the data sequence r n Part of (2) and P i (i= {0, …, M-1 }) can be calculated by the following formula (7).
Wherein->
That is, if codeword E corresponding to the current data word i,j For "001", then a pre-calculated combined sum W for the current data word is selected j,1 For accumulation; if the codeword E corresponding to the current data word i,j For "010", a pre-calculated combined sum W for the current data word is selected j,2 For accumulation; if the codeword E corresponding to the current data word i,j At "011", a pre-computed combined sum W for the current data word is selected j,3 For accumulation; if the codeword E corresponding to the current data word i,j For "100", a pre-calculated combined sum W for the current data word is selected j,4 For accumulation; if the codeword E corresponding to the current data word i,j For "101", a pre-calculated combined sum W for the current data word is selected j,5 For accumulation; if the codeword E corresponding to the current data word i,j For "110", a pre-computed combined sum W for the current data word is selected j,6 For accumulation; if the codeword E corresponding to the current data word i,j For "111", a pre-calculated combined sum W for the current data word is selected j,7 For accumulation.
Obtaining part and P i (i= {0, …, M-1 }) the correlation value S can be calculated using the above formula (3) or (5) i (i= {0, …, M-1 }). Based on the above formulas (3), (6) and (7), the correlation value calculation apparatus 100 shown in fig. 1 may be implemented using the correlation value calculation apparatus 400 shown in fig. 4. Wherein the accumulation circuit 102 may be implemented by the circuit module 402 and the processing circuit 104 may be implemented by the circuit module 204. According to the above formulas (5), (6) and (7), the correlation value calculation apparatus 100 shown in fig. 1 may be implemented using the correlation value calculation apparatus 500 shown in fig. 5. Wherein the accumulation circuit 102 may be implemented by the circuit module 402 and the processing circuit 104 may be implemented by the circuit module 304.
For each data block (i.e., data sequence), how the combined sum is calculated and how the combined sum is selected in the circuit module 402 can be summarized by the following table.
Table 1
One combined sum is calculated only once and can be shared when calculating multiple partial sums of different code sequences (i.e. all possible word correlation values can be reused by different code sequences after only one calculation). For example, assume code sequence C 1,n Codeword E in 1,j And code sequence C M-1,n Codeword E in M-1,j Having the same value "110", then the pre-calculated combined sum W j,6 Is selected and used to calculate part sum P 1 And is selected and used to calculate part and P M-1 . Thus, part sum P 0 ~P M-1 Can be further reduced by reusing the pre-calculated combined sums.
While the invention has been described with reference to the preferred embodiments, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims.

Claims (20)

1. A correlation value calculation method, comprising:
obtaining a first sum of all data samples included in the data sequence;
selecting a plurality of data samples from the data sequence according to code bits included in the first code sequence, and obtaining a second sum of the plurality of selected data samples; and
a first correlation value between the data sequence and the first code sequence is obtained based on the first sum and the second sum.
2. The correlation value calculation method of claim 1, wherein the selected number of the plurality of data samples is less than the number of all data samples included in the data sequence.
3. The correlation value calculation method of claim 1, wherein obtaining a second sum of the selected plurality of data samples comprises: accumulating the selected plurality of data samples to generate the second sum;
wherein selecting a plurality of data samples from the data sequence based on code bits included in the first code sequence comprises:
checking whether a first code bit included in the first code sequence has a predetermined code value; and
in response to the first code bit having the predetermined code value, data samples in the data sequence corresponding to the first code bit are selected as one of the selected plurality of data samples.
4. The correlation value calculation method of claim 1, wherein all data samples included in the data sequence are grouped into a plurality of data words, each data word including a plurality of data samples; all code bits included in the first code sequence are grouped into a plurality of first codewords, each of the first codewords comprising a plurality of code bits;
wherein obtaining a second sum of the selected data samples comprises: accumulating a plurality of first combined sums to generate the second sum;
wherein accumulating the plurality of first combined sums to generate the second sum comprises:
generating a plurality of combined sums for a first data word included in the plurality of data words from a plurality of data samples included in the first data word;
one of the plurality of combined sums is selected as one of the plurality of first combined sums based on a first codeword included in the first code sequence and corresponding to the first data word.
5. The correlation value calculation method of claim 4, wherein the plurality of data samples selected from the data sequence based on code bits included in the first code sequence are a first set of data samples, the method further comprising:
selecting a second set of data samples from the data sequence based on code bits included in a second code sequence;
obtaining a third sum of the selected second set of data samples, wherein the second code sequence is different from the first code sequence, and the third sum is used to calculate a second correlation value between the data sequence and the second code sequence;
wherein all code bits included in the second code sequence are grouped into a plurality of second code words, each of the second code words comprising a plurality of code bits;
wherein obtaining a third sum of the selected second set of data samples comprises:
one of the plurality of combinations is selected as one of a plurality of second combination sums based on a second codeword included in the second code sequence and corresponding to the first data word, wherein the second codeword included in the second code sequence is identical to the first codeword included in the first code sequence, and the combination sum selected based on the second codeword is identical to the combination sum selected based on the first codeword.
6. The correlation value calculation method of claim 4, wherein the plurality of data samples selected from the data sequence based on code bits included in the first code sequence are a first set of data samples, the method further comprising:
selecting a second set of data samples from the data sequence based on code bits included in a second code sequence;
obtaining a third sum of the selected second set of data samples, wherein the second code sequence is different from the first code sequence; and
a second correlation value between the data sequence and the second code sequence is obtained based on the first and third sums.
7. The correlation value calculation method of claim 1, wherein obtaining a first sum of all data samples included in the data sequence comprises:
all data samples included in the data sequence are accumulated to generate the first sum.
8. The correlation value calculation method of claim 1, wherein all data samples included in the data sequence are grouped into a plurality of data words, each data word including a plurality of data samples;
wherein obtaining a first sum of all data samples included in the data sequence comprises: accumulating a plurality of combined sums to generate the first sum;
wherein accumulating the plurality of combined sums to generate the first sum comprises:
generating a plurality of combined sums for a first data word included in the plurality of data words from a plurality of data samples included in the first data word; and
from the plurality of combined sums, a combined sum equal to a sum of the plurality of data samples included in the first data word is selected.
9. The correlation value calculation method of claim 1 wherein obtaining a first correlation value between the data sequence and the first code sequence based on the first and second sums comprises:
multiplying the second sum by a predetermined factor to obtain a multiplication result; and
the multiplication result is subtracted from the first sum to generate the first correlation value.
10. The correlation value calculation method of claim 1 wherein obtaining a first correlation value between the data sequence and the first code sequence based on the first and second sums comprises:
dividing the first sum by a predetermined factor to obtain a division result; and
the second sum is subtracted from the division result to generate the first correlation value.
11. A correlation value calculation apparatus, comprising:
an accumulation circuit arranged to obtain a first sum of all data samples included in a data sequence, select a plurality of data samples from the data sequence according to code bits included in the first code sequence, and obtain a second sum of the selected plurality of data samples; and
processing circuitry arranged to obtain a first correlation value between the data sequence and the first code sequence based on the first and second sums.
12. The correlation value computing device of claim 11, wherein the selected number of the plurality of data samples is less than the number of all data samples included in the data sequence.
13. The correlation value computing device of claim 11, wherein the accumulation circuit is arranged to accumulate the selected plurality of data samples to generate the second sum;
wherein accumulating the selected data samples to generate the second sum comprises:
checking whether a first code bit included in the first code sequence has a predetermined code value; and
in response to the first code bit having the predetermined code value, data samples in the data sequence corresponding to the first code bit are selected as one of the selected plurality of data samples.
14. The correlation value computing apparatus of claim 11, wherein all data samples included in the data sequence are grouped into a plurality of data words, each data word comprising a plurality of data samples; all code bits included in the first code sequence are grouped into a plurality of first codewords, each of the first codewords comprising a plurality of code bits;
wherein the accumulation circuit is arranged to accumulate a plurality of first combined sums to generate the second sum;
wherein accumulating the plurality of first combined sums to generate the second sum comprises:
generating a plurality of combined sums for a first data word included in the plurality of data words from a plurality of data samples included in the first data word;
one of the plurality of combined sums is selected as one of the plurality of first combined sums based on a first codeword included in the first code sequence and corresponding to the first data word.
15. The correlation value computing device of claim 14, wherein the plurality of data samples selected from the data sequence based on code bits included in the first code sequence are a first set of data samples, the accumulation circuit being further arranged to select a second set of data samples from the data sequence based on code bits included in the second code sequence; obtaining a third sum of the selected second set of data samples, wherein the second code sequence is different from the first code sequence, and the third sum is used to calculate a second correlation value between the data sequence and the second code sequence;
wherein all code bits included in the second code sequence are grouped into a plurality of second code words, each of the second code words comprising a plurality of code bits;
wherein obtaining a third sum of the selected second set of data samples comprises:
one of the plurality of combinations is selected as one of the plurality of second combination sums based on a second codeword included in the second code sequence and corresponding to the first data word, wherein the second codeword included in the second code sequence is identical to the first codeword included in the first code sequence, and the combination sum selected based on the second codeword is identical to the combination sum selected based on the first codeword.
16. The correlation value computing device of claim 14, wherein the plurality of data samples selected from the data sequence based on code bits included in a first code sequence are a first set of data samples, the accumulation circuit being further arranged to select a second set of data samples from the data sequence based on code bits included in a second code sequence, the second code sequence being different from the first code sequence, to obtain a third sum of the selected second set of data samples; and
the processing circuit is further arranged to obtain a second correlation value between the data sequence and the second code sequence based on the first and the third sum.
17. A correlation value computing device as claimed in claim 11, wherein the accumulation circuit is arranged to accumulate all data samples included in the data sequence to generate the first sum.
18. The correlation value computing apparatus of claim 11, wherein all data samples included in the data sequence are grouped into a plurality of data words, each data word comprising a plurality of data samples;
wherein the accumulation circuit is arranged to accumulate a plurality of selected combined sums to generate the first sum;
wherein accumulating the plurality of selected combined sums to generate the first sum comprises:
generating a plurality of combined sums for a first data word included in the plurality of data words from a plurality of data samples included in the first data word; and
from the plurality of combined sums, a combined sum equal to a sum of the plurality of data samples included in the first data word is selected.
19. The correlation value computing device of claim 11, wherein, based on the first and second sums, when obtaining a first correlation value between the data sequence and the first code sequence, the processing circuit is arranged to:
multiplying the second sum by a predetermined factor to obtain a multiplication result; and
the multiplication result is subtracted from the first sum to generate the first correlation value.
20. The correlation value computing device of claim 11, wherein, based on the first and second sums, when obtaining a first correlation value between the data sequence and the first code sequence, the processing circuit is arranged to:
dividing the first sum by a predetermined factor to obtain a division result; and
the second sum is subtracted from the division result to generate the first correlation value.
CN202310490280.8A 2022-05-06 2023-05-04 Correlation value calculation method and device Pending CN117008870A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US63/338,913 2022-05-06
US18/139,954 2023-04-27
US18/139,954 US20230359693A1 (en) 2022-05-06 2023-04-27 Correlation computation method for sharing common data and computation for different code sequences to be correlated with data sequence and associated apparatus

Publications (1)

Publication Number Publication Date
CN117008870A true CN117008870A (en) 2023-11-07

Family

ID=88562570

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310490280.8A Pending CN117008870A (en) 2022-05-06 2023-05-04 Correlation value calculation method and device

Country Status (1)

Country Link
CN (1) CN117008870A (en)

Similar Documents

Publication Publication Date Title
US7272168B2 (en) Determining the correlation between received samples and available replica samples
EP1284050A1 (en) Method and apparatus for code phase tracking
US7315569B2 (en) Method and system for locating a GPS correlated peak signal
JP2005519311A (en) Method and apparatus for performing signal correlation
US7574301B2 (en) Global positioning system receiver and correlating circuit thereof
JP4777353B2 (en) GPS positioning method and GPS positioning device
US7471747B2 (en) Bit down-scaling apparatus and method, GPS synchronization acquisition method, and GPS receiver
US8391335B2 (en) Apparatus and method for correlation in a GPS receiver
CN117008870A (en) Correlation value calculation method and device
US20230359693A1 (en) Correlation computation method for sharing common data and computation for different code sequences to be correlated with data sequence and associated apparatus
US6683923B1 (en) Method and apparatus for detecting and tracking coded signals in a noisy background environment
US7277476B2 (en) Determining the correlation between received samples and available replica samples
US9178561B2 (en) Method and apparatus for correlating signals received from a navigation satellite system
KR100905338B1 (en) Method and apparatus for digital correlation
Lee et al. Matched-filter-based low-complexity correlator for simultaneously acquiring global positioning system satellites
US20040141574A1 (en) Determination of the code phase between a code modulated signal and a replica code sequence
US20230385371A1 (en) Method and apparatus for performing correlation computation with reduced complexity through using composite code sequence that is generated from performing bit-wise combination with transformation upon multiple code sequences
JP6860971B2 (en) Signal processing device and receiving device and code tracking method
US8437435B2 (en) Correlation computation method, device and system
US20240039772A1 (en) Method and apparatus for performing efficient correlation computation between data sequence and both of in-phase code sequence and quadrature code sequence
Akopian et al. Fast and parallel matched filters in time domain
US20050151684A1 (en) Global positioning system receiver and correlating circuit thereof
CN101506680A (en) Improved processes involving non-coherent integration in a receiver
CN117111111A (en) Correlation operation method and correlation operation device
TW202406318A (en) Correlation computation method and correlation computation apparatus

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