This application claims priority of Taiwanese Application No. 100139583, filed on Oct. 31, 2011.
1. Field of the Invention
The invention relates to a method and a device for acquiring a code phase shift, more particularly to a method and a device for acquiring the code phase shift between pseudo random (PN) sequences.
2. Description of the Related Art
In a general signal processing system, a phase shift between a pseudo-random (PN) input sequence and a reference sequence is useful in many aspects, such as signal synchronization and data analysis.
In order to obtain the phase shift, the cross-correlation between the input sequence with a current phase and the reference sequence is first obtained. The phase of the input sequence is subsequently varied, and a group of cross-correlations associated with different phases of the input sequence are obtained accordingly. A peak cross-correlation that has a greatest magnitude is selected from the aforementioned group, and the phase difference between the reference sequence and the phase of the input sequence that results in the peak cross-correlation is the desired phase shift.
Conventionally, the cross-correlations are computed using convolution theory, computation of which is not practical in time-domain because of the numerous multiplication and integration computations involved. According to the convolution theorem, convolution in one domain (e.g., time domain) equals point-wise multiplication in the other domain (e.g., frequency domain). Therefore, Fast Fourier Transformation (FFT) is used for transforming the sequences from the time domain to the frequency domain, so as to eliminate the requirement of integration computation.
However, FFT has a drawback in that FFT involves complex multiplication and addition, resulting in a computational complexity of N·log2N when processing a sequence of length N. That is, as the length N of the sequence increases, computational load of FFT for processing the sequence is increased at an even faster rate. As a result, FFT may be unsuitable in a signal processing system that involves a sequence with a very large length N, such as in a global navigation satellite system (GNSS) or a global positioning system (GPS).
Therefore, one object of the present invention is to provide a method to obtain a phase shift between a PN sequence and a reference sequence.
According to one aspect, a method of the present invention is for acquiring a cede phase shift between an input sequence and a reference sequence, and is implemented using an acquisition device that includes a mapping unit, a comparison unit and a calculating unit. The method comprises the following steps of:
configuring the mapping unit to transform the input sequence into an input signal with a complex phase, and to transform the reference sequence into a reference signal with a complex phase;
configuring the comparison unit to compare the input signal with the reference signal so as to obtain a phase coherent indicator according to the input signal and the reference signal; and
configuring the calculating unit to obtain the code phase shift between the input sequence and the reference sequence based on a phase of the phase coherent indicator and a number of bits of the input sequence.
According to another aspect, a method of the present invention is for acquiring a code phase shift between an input sequence and a reference sequence, and is implemented using an acquisition device that includes a mapping unit, a comparison unit and a calculating unit. The method comprises the following steps of:
configuring the first mapping unit to partition the input sequence including a number N of bits {x0, x1, x2, . . . , xN−1} into a number K1 of first input sequence groups each including a number M1 of bits (xn
configuring the calculating unit to obtain the code phase shift based on one of the numbers m1 that is associated with one of the first indicators with a largest magnitude.
Another object of the present invention is to provide an acquisition device that is capable of implementing the previously described methods.
Accordingly, an acquisition device of this invention is for acquiring a code phase shift between a PN input sequence and a reference sequence. The input sequence includes a number N of bits {x0, x1, x2 . . . , xN−1}, and the reference sequence includes the number N of bits {y0, yn, y2 . . . yN−1}. The device comprises a mapping unit, a comparison unit and a calculating unit.
The mapping unit is operable to transform the input sequence into an input signal with a complex phase, and to transform the reference sequence into a reference signal with a complex phase. The input signal is partitioned and trans formed into K1 of first input signal groups each including a number M1 of bits (xn
The comparison unit is operable to obtain a plurality of first indicators, each of which is computed based on a respective permutation of the first input signal groups with a particular order and a corresponding permutation of the first reference signal groups with an offset of a number m1 of bits from the first input signal groups, where m1=0˜(K1−1).
The calculating unit is operable to obtain the code phase shift based on one of the numbers m1 that is associated with one of the first indicators with a largest magnitude.
Other features and advantages of the present invention will become apparent in the following detailed description of the preferred embodiments with reference to the accompanying drawings, of which:
Before the present invention is described in greater detail, it should be noted that like elements are denoted by the same reference numerals throughout the disclosure.
In a general signal processing system, a signal sent by a transmitter is received by a receiver as an input sequence. The receiver is configured to compute a phase shift between the input sequence and a reference sequence, which is useful in many aspects, such as signal synchronization and data analysis. It is worth noting that, throughout this disclosure, both the input sequence and the reference sequence are pseudo random (PN) sequences.
The input sequence (A) has a number (N) of bits {x0, x1, x2 . . . , xN−1}, and the reference sequence (B) has the number (N) of bits {y0, y1, y2 . . . , yN−1}. The input sequence (A) and the reference sequence (B) can be transformed into an input signal (X) with a complex phase and a reference signal (Y) with a complex phase, respectively. A phase coherent indicator (U) can be obtained by computing a phase relationship between the input signal (X) and the reference signal (Y), and can be expressed as:
and |U| and Ψ represent the magnitude and the phase of the phase coherent indicator (U), respectively.
Then, the cross-correlation between the input sequence (A) and the reference sequence (B) with an offset of a number (m) of bits can be expressed as
It is assumed that R(q) is one of the R(0) to R(n−1) that has a greatest magnitude. From the Maximum-Length Sequence (MLS) theory, R(m)=N when m=q, and R(m)=−1 when otherwise. The Equation (3) can thus be rearranged as:
Comparing Equations (3) and (4), it can be derived that
which can be mapped onto a complex plane with a phase resolution of
as shown in
the code phase shift between the input sequence (A) and the reference sequence (B) is equal to q. This computational procedure is relatively simpler than computation of the conventional convolution method.
However, the phase resolution is decreased as the number (N) of bits of the input sequence increases. That is, when the number (N) is large, deviation between adjacent phases is small and leads to erroneous phase shift estimation. In such cases, accuracy of the phase shift estimation may be sensitive to noise during transmission.
In order to address the noise problem, it is proposed that the input sequence (A) be partitioned into a plurality of shorter sequences, such that the noise sensitivity can be reduced and reliability of the method can be enhanced.
For example, the input sequence (A) may be partitioned into a number (K1) of first input sequence groups (Ai) each having a number (M1) of bits, and the reference sequence (B) may be partitioned into the number (K1) of first reference sequence groups (Bi) each having the number (M1) of bits, where N=K1×M1. In particular, the first input sequence groups (Ai) and the first reference sequence groups (Bi) can be expressed as
Each of the first input sequence groups (Ai) can be transformed into a first input signal group (Xi) with a complex phase, and each of the first reference sequence groups (Bi) can be transformed into a first reference signal group (Yi) with a complex phase. It should be noted that the code phase shift (q) can be computed based upon q=c1K1+d1, where (c1) and (d1) represent a first shift number and a first group parameter, respectively. The details about the first shift number (c1) and the first group parameter (d1) will be described in the succeeding paragraphs.
Equations (7) and (8) describe the corresponding expressions of the first input signal group (Xi) and the first reference signal group (Yi).
In Equations (7) and (8), i=0˜(K1−1),
|Xi| and θi represent the magnitude and the phase of the first input signal group (Xi), and |Yi| and φi represent the magnitude and the phase of the first reference signal group (Yi).
Subsequently, a first indicator (Gm
It can be derived that, when the number (m1) is equal to the first group parameter (d1), i.e., m1=d1, exponential components in first indicator (Gd
Further, a magnitude of the first indicator |Gd
In Equation (10), since the exponential components of the first phase coherent indicator (Gd
the exponential components can be added up altogether and result in a largest magnitude among those of the first indicators (Gm
By virtue of this property, the code phase shift (q) can be obtained by identifying the first group parameter (d1) that results in the first indicator (Gd
Then, the phase shift (q) can be computed based upon q=c1K1+d1.
It can be seen that the phase resolution is given by
before partitioning of the input sequence (A) and the reference sequence (B), and by
afterward. Since N is K1 times larger than M1, the phase resolution is enlarged by the same ratio, and the noise sensitivity is effectively reduced.
Moreover, in an environment with extremely great noise, a single partition may not improve the accuracy sufficiently, and therefore, a second partition can be applied to the first input sequence groups (Ai) and the first reference sequence groups (Bi). In this procedure, after offsetting each of the first input sequence groups (Ai) (see Equation (5)) by the first group parameter (d1), each of the shifted first input sequence groups (Ai) and each of the first reference sequence groups (Bi) are further partitioned. In particular, the offset procedure in this case involves a circular offset procedure, each of the updated first input sequence groups (Ai) is further partitioned into a number (K2) of second input sequence groups {Ai,0, Ai,1, Ai,2 . . . , Ai,(K
Each of the second input sequence groups (Ai,j, j=(0˜K2−1)) and the second reference sequence groups (Bi,j, j=(0˜K2−1)) can be transformed into second input signal groups (Xi,j) with complex phases and second reference signal groups (Yi,j) with complex phases, respectively. The second input signal group (Xi,j) and the second reference signal group (Yi,j) can be expressed by Equations (11) and (12).
In Equations (11) and (12), n2=0˜(M2−1), M1=K2×M2, 0≦j≦(K2−1),
and mod represents modulus arithmetic.
Those skilled in art can readily appreciate that, the code phase shift (q) is given by q=c1K1+d1, and (c1) is given by c1=c2K2+d2. In particular, the second input sequence groups (Ai,j+m
In Equation (14), it is assumed that, when the number (m2) is equal to a second group parameter (d2) (i.e., m2=d2), a corresponding one of the second indicators (Gd
It should be noted that, the second shift number (c2) ranges from 0 to M2, and the second input sequence group (Ai,j+m
Therefore, the code phase shift (q) can be computed based upon q=c1K1+d1=(c2K1+d2)K1+d1. The resulting phase resolution in this procedure is further enlarged to
and is even more noise-resistant.
Additionally, in order to ensure the first group parameter (d1) is correctly selected (i.e., selection of the first group parameter (d1) is not disturbed by noise), a coherence correction procedure can be implemented by hardware (for example, a coherence correction unit 25 of
Reference is now made to
The acquisition device 500 includes a mapping unit 51, a comparison unit 52 and a calculating unit 53. The acquisition device 500 is operable to select one of three available processing procedures according to the noise of the environment.
In a first processing procedure, the input sequence (A) and the reference sequence (B) are not partitioned. The mapping unit 51 is operable to transform the input sequence A={x0, x1, x2 . . . , xN−1} into an input signal (X) with a complex phase, and to transform the reference sequence B={y0, y1, y2 . . . , yN−1} into a reference signal with a complex phase based upon Equation (1). The comparison unit 52 is operable to compare the input signal (X) with the reference signal (Y) so as to obtain a phase coherent indicator (U) based on Equation (3). The calculating unit 53 is operable to obtain the code phase shift (q) between the input sequence (A) and the reference sequence (B) based on a phase of the phase coherent indicator (U) and a number (N) of bits of the input sequence (A) according to Equation (4). In particular, when the phase of the phase coherent indicator is between
the calculating unit 53 is configured to compute the code phase shift between the input sequence (A) and the reference sequence (B) as (q), where 0≦q<N.
In a second processing procedure, the input sequence (A) and the reference sequence (B) are partitioned once. The input sequence (A) is partitioned and transformed into (K1) of first input signal groups {X0, X1, X2 . . . , XK
For example, for a set of input and reference sequences that each have 15 bits (i.e., N=15), five (K1=5) first input signal groups and first reference signal groups are obtained by the mapping unit 51, each having three (M1=3) bits. The comparison unit 52 is then operable to obtain five of the first indicators (G0 to G4). Based on Equation (9), one of the first indicators (G0) is computed baSed on the respective permutation of the first input signal groups (Xi) and the corresponding permutation of the first reference signal groups (Yi) with an offset of 0 bits from the first input signal groups (Xi). The respective permutation of the first input signal groups (Xi) for the first indicator (G0) is expressed as {X0, X1, X2, X3, X4}, and accordingly, the corresponding permutation of the first reference signal groups (Yi) for the first indicator (G0) is {Y0, Y1, Y2, Y3, Y4}. Similarly, the first indicator (G1) may be computed based on another permutation of the first input signal groups (Xi) (e.g., {X4, X0, X1, X2, X3}) and another permutation of the first reference signal groups (Yi) (e.g., {Y0, Y1, Y2, Y3, Y4}).
The calculating unit 53 is operable to identify one of the first indicators (Gd
and is based upon the first input signal groups and the first reference signal groups with an offset of a number (d1) of bits from the first input signal groups, the code phase shift (q) based upon q=c1K1+d1, where 0≦d1<(K1−1), and 0≦c1<m1.
In a third processing procedure, the input sequence (A) and the reference sequence (B) are partitioned twice. The mapping unit 51 is operable to partition and transform each first input sequence groups (Ai) into a number (K2) of second input signal groups (Xi,j) with complex phases, and to partition and transform each of the first reference sequence groups (Bi) into the number (K2) of second reference signal groups (Yi,j) with complex phases. Each of the second input signal groups (Xi,j) includes a number M2 of bits of the second input sequence groups (x(n2K1K2+jK1+(z1−d1))modN) based on Equation (11), and each of the second reference signal groups (Yi,j) includes the number (M2) bits of the second reference sequence (yn
The calculating unit 53 is operable to identify one of the second indicators with a largest magnitude, and to compute the code phase shift (q) based upon (c2K2+d2)K1+d1 when said one of the second indicators with the largest magnitude has a phase between
and is based on the second input signal groups (Xi,j) and the second reference signal groups (Yi,j) with an offset of a number (d2) of bits from the second input signal groups (Xi,j), where 0≦d2<K2, and 0≦c2<M2. Said one of the second input signal groups (Xi,j) and said corresponding one of the second reference signal groups (Yi,j) are offset with each other by a second shift number (c2) of bits.
Reference is now made to
The acquisition device 100 includes a first extraction circuit 1, which has a first mapping unit 11, a first comparison unit 12 and a first calculating unit 13.
Further referring to
In step 71, the first mapping unit 11 is operable, based on Equation (7) and (8), to partition the input sequence (A) into first input sequence groups (Ai) and to transform the first input sequence (Ai) into first input signal groups (Xi) with complex phases, and to partition the reference sequence (B) into first reference sequence groups (Bi) and to trans form the first reference sequence groups(Bi) into first reference signal groups (Yi) with complex phases. Specifically, the input sequence (A) is partitioned and transformed into K1 of first input signal groups {X0, X1, X2 . . . , XK
In step 72, the first comparison unit 12 is operable to obtain, based on Equation (9), a plurality of first indicators (Gm
In step 73, the first calculating unit 13 is operable to obtain a first group parameter (d1) by selecting one of the numbers (m1) that results in one of the first indicators (Gm
where Ω1 is a phase of said first phasor coherence indicator (Gd
In step 74, the first calculating unit 13 is operable to compute the phase shift (q) based upon q=c1K1+d1.
Reference is now made to
The acquisition device 200 includes a first extraction circuit 1 and a second extraction circuit 2. The second extraction circuit 2 has a second mapping unit 21, a second comparison unit 22, a second calculating unit 23 and a coherence correction unit 25.
Further referring to
In step 81, the first mapping unit 11 is operable to partition the input sequence (A) into the number K1 of the first input sequence groups (Ai) and to transform the first input sequence groups (Ai) into the number K1 of first input signal groups (Xi) with complex phases, and to partition the reference sequence (B) into the number K1 of first reference sequence groups (Bi) and to transform the first reference sequence groups (Bi) into the number K1 of first reference signal groups (Yi) with complex phases based on Equation (7) and (8). Specifically, the input sequence (A) is partitioned and transformed into (K1) of first input signal groups {X0, X1, X2 . . . , XK
In step 82, the first comparison unit 12 is operable to obtain, based on Equation (9), a plurality of first indicators (Gm
In step 83, the first calculating unit 13 is operable to select from the first indicators (Gm
In step 84, the second mapping unit 21 is operable to partition and transform, based upon Equation (11), each of the first input sequence groups (Ai) into a number (K2) of second input signal groups {(Xi,0, Xi,1, Xi,2 . . . , Xi,(K
In step 85, the second comparison unit 22 is operable to obtain a plurality of second indicators, each of which is computed based on a respective permutation of the second input signal groups (Xi,j) and a corresponding permutation of the second reference signal groups (Yi,j) with an offset of a number (m2) of bits therebetween. Then, the second comparison unit 22 is operable, based on Equations (13) and (14), to obtain second indicators (Gm
In step 86, the coherence correction unit 25 is operable to execute the coherence correction procedure by identifying one of the characteristic signals (Wm
The purpose of this verification procedure (i.e., the coherence correction procedure) is to ensure that the first group parameter (d1) thus selected is correct, since in ideal cases, when the first group parameter (d1) is optimal, the magnitude of the corresponding characteristic signal (Wm
In step 88, the second calculating unit 23 is operable to obtain a second group parameter (d2) by selecting one of the numbers (m2) that results in said one of the characteristic signals (Wd
Similar to step 73, the second shift number (c2) is transferred to an integer, as previously described, if not.
In step 89, the second calculating unit 23 is operable to compute the code phase shift (q) based upon g=c1K1+d1=(c2K1+d2)K1+d1.
In order to verify the performance of the method of this invention, Monte Carlo simulation was executed with 1000 trials. For the simulation, N is 216−1, K1=28+1, M1=28−1, K2=24+1, and M2=24−1.
It is noted that, in other embodiments where even better performance is required, a third partition may be implemented by an acquisition device 300 shown in
To sum up, the present invention can process the input sequence (A) with a number (N) of bits by only having to execute a number (3N) of addition operations (based on Equations (7) to (9)) for the first partition and another 3N addition operations (based on Equations (11) to (13)) for the second partition. Generally, two partitions will be sufficient for achieving a relatively good result, meaning at most a number (6N) of addition operations are required. It is worth noting that no multiplication is required in this invention to process the input sequence (A), such that the computational load can be greatly reduced compared to the conventional FFT method. Moreover, it is readily appreciated by those skilled in art that all the coefficients involved in the additions are either 0 or 1, and is easier to implement using electronic circuits compared to the coefficients involved in the FFT method.
While the present invention has been described in connection with what are considered the most practical and preferred embodiments, it is, understood that this invention is not limited to the disclosed embodiments but is intended to cover various arrangements included within the spirit and scope of the broadest interpretation so as to encompass all such modifications and equivalent arrangements.
Number | Date | Country | Kind |
---|---|---|---|
100139583 | Oct 2011 | TW | national |