A kind of satellite navigation system based on greedy algorithm spread spectrum code cross-correlation optimization method
Technical field
The present invention relates to a kind of satellite navigation system based on greedy algorithm spread spectrum code cross-correlation optimization method, belong to satellite
Field of navigation technology.
Background technology
CDMA (CDMA) system is the basis of Modern Satellite navigation system, and design and the optimization of spread spectrum code are that satellite is led
One of important content of boat system signal system design.In the design and optimization of spread spectrum code, correlated performance is most important property
Can estimate, wherein auto-correlation function is relevant to the multi-path jamming of signal, and preferably spread spectrum code auto-correlation function should be in addition to main lobe
Being 0, cross-correlation function is then relevant to the multi-access inference of signal everywhere, and preferably spread spectrum code cross-correlation function should be is 0 i.e. everywhere
The most orthogonal, boundary's theory of spreading code design shows to spread the auto-correlation function of code and cross-correlation function cannot reach the most simultaneously
Excellent.In the developing history of satellite navigation system, Design of Signal person has been working hard improve the correlated performance of signal, classical satellite
Navigation signal spread spectrum code dependency is as shown in table 1:
Table 1 classical satellite navigation signal spread spectrum code dependency (dB)
In the performance measure of spread spectrum code, cross-correlation function has dramatically different with other performance measure, and cross-correlation function is many
The performance measure of " the having " of individual spread spectrum code, changes any of which one spread spectrum code word and all can have influence on other spread spectrum code words,
Therefore cross-correlation function has one " combined effect ", during therefore the optimization of spread spectrum code cross-correlation is spreading code design the most
One of part of complexity and difficulty.For a length of L spread spectrum code sequence a={a0,a1,...aL-1, b={b0,b1,
...bL-1, wherein ai,bi∈{-1,+1}.Then odd even cross-correlation function is defined as follows:
Wherein τ represents time delay, then consider the peak-peak of odd, even cross-correlation function, the relevance measure of spread spectrum code
It is defined as:
Rxy(a, b)=max (| EvenCCF (a, b, τ) |, | OddCCF (a, b, τ) |)
The target that spread spectrum code cross-correlation optimizes is for N number of spread spectrum codes C={ ci, i=1...N so that object function
CCF (C)=max (Rxy(ci,cj)), i, j=1...N, and i ≠ j
Minimize value.
During spreading code design, the spread spectrum preferred purpose of code is to select from a bigger spread spectrum code candidate collection
One preferable subset of performance measure, the spread spectrum code word in subset is for the signal spread-spectrum code of the different satellites of navigation system.Expand
Frequency code preferably generally include balance screening, auto-correlation screening, line spectrum screening and the step such as cross-correlation optimization, except cross-correlation is excellent
Other links outside the pale of civilization broadly fall into the screening of single threshold value, i.e. when the performance measure of certain spread spectrum code is less than threshold value then from Candidate Set
In conjunction delete spread spectrum code word, therefore for the candidate that element number is M spreads codeword set, computational complexity be O (M) i.e.
Linear complexity.The complexity that cross-correlation optimizes, much larger than linear complexity, will make the object function CCF (C) of N number of spread spectrum code
Reach minimum, then need to travel through whole N number of spread spectrum code combinatorics on words, the most totalPlant combination, according in Combinational Mathematics
Stirling formula:
Then computation complexity is exponential complexity, and the optimization of cross-correlation belongs to np problem, cannot after M, N are more than 100
Solve in finite time.
Greedy algorithm (Greedy Algorithm) is a kind of effective ways solving np problem, and its basic thought is to ask
Solving of topic is divided into some steps, makes object function (performance measure) reach optimum, reduce simultaneously and ask in each step
The scale of topic, through local optimum computing several times, can obtain a performance and preferably solve.Greedy algorithm optimization is used to expand
The thinking of frequency code cross-correlation is: deleting the element in candidate collection one by one, the criterion of deletion is so that remaining spread spectrum code word has
Having the most optimal cross correlation, stop deleting when spread spectrum number of codewords reaches requirement, residue spread spectrum code word is optimum results.Make
Deleting, by M-N time, the optimization that can realize spreading code cross-correlation by greedy algorithm, the complexity of algorithm is linear, uses greed
Algorithm is not typically available optimal solution, but is commonly available performance acceptable result.
Summary of the invention
The invention aims to solve the nonpolynomial complexity of satellite navigation system spread spectrum code cross-correlation optimization, have
The problem that cannot solve in limited time, proposes a kind of satellite navigation system based on greedy algorithm spread spectrum code cross-correlation optimization side
Method.
The present invention is achieved through the following technical solutions:
A kind of satellite navigation system based on greedy algorithm spread spectrum code cross-correlation optimization method, spreads in candidate codewords set
Number of codewords is M, it is desirable to preferably result is N number of, N < M, and spread spectrum code word size is L bit, comprises the steps:
Step 1, sets up co-related measure matrix and spread spectrum codewords indexes array.
Calculate the odd, even cross-correlation function of each code word in candidate codewords set, for any two code word, with the two
Maximum in odd, even cross-correlation function absolute value has M as performance measure, the cross-correlation performance measure of M spread spectrum code word
× M, form the co-related measure matrix R that one M × M ties up:
Wherein, ciAnd cjRepresenting different code words, i, j represent the sequence number of different code word, i=1...M, j=1...M, Rxy
(ci,cj) represent spread spectrum code word ciAnd cjCross-correlation function.
Setting up spread spectrum codewords indexes array CodeIndex, comprising element number in array of indexes is M ', array of indexes number
Initial value be M '=M, array of indexes initial value is CodeIndex [i]=i, i=1...M, represent initial candidate codeword set
The sequence number of middle spread spectrum code.
Step 2, uses greedy algorithm to delete 1 spread spectrum code word in candidate codewords set.
Search for current co-related measure matrix R and obtain cross-correlation performance measure maximum MaxR and the ranks sequence number of maximum
Px, Py, delete Px row from R and Px row obtain new matrix R1, search R1 and obtain maximum MaxR1, delete Py from R
Row and Py row obtain new matrix R2, search R2 and obtain maximum MaxR2.Based on Design of greedy algorithm thought, if MaxR1 >=
MaxR2, spread spectrum code word sequence number DeleteIndex=Py the most to be deleted, otherwise DeleteIndex=Px, so that residue expands
Frequency code word has current optimal cross-correlation.
From matrix R, delete DeleteIndex row and DeleteIndex row obtain matrix RR, from spread spectrum code word rope
Argument group CodeIndex is deleted the DeleteIndex element, the element number M ' of candidate codewords set is subtracted 1, update mutually
Correlated measure matrix R, order matrix RR are as current co-related measure matrix.
Step 3, iteration deletes the code word in candidate codewords set.
Checking residue spread spectrum number of codewords in current candidate codeword set, repeat step 2 as M ' > N, iteration is deleted and is expanded
Frequency code word, when M '=N stops iteration, obtains final spread spectrum codewords indexes array, performs step 4.
Step 4, exports optimum results.
According to the spread spectrum code sequence number in the spread spectrum codewords indexes array that step 3 obtains, take out respectively from candidate codewords set
The spread spectrum code taking corresponding sequence number exports as optimum results.
So far, satellite navigation system based on greedy algorithm spread spectrum code cross-correlation optimization process terminates.
Beneficial effect
A kind of based on greedy algorithm the satellite navigation system spread spectrum code cross-correlation optimization method that the present invention proposes, by greedy
M-N iteration of center algorithm, spreads from candidate and selects N number of spread spectrum code with preferable correlated performance codeword set, it is achieved that expand
The optimized choice of frequency code cross-correlation performance.The traversal search of contrast conventional method, computation complexity drops to from exponential complexity
Linear complexity, can quickly realize spreading the cross-correlation optimization of code, support to spread in bigger candidate collection simultaneously
Code is preferably.
Accompanying drawing explanation
Fig. 1 is the spread spectrum code optimization method flow diagram based on greedy algorithm of the present invention;
Fig. 2 is GPS L5 signal spread-spectrum code generating method in detailed description of the invention;
Fig. 3 is the R matrix change that in detailed description of the invention, 3 iteration of greedy algorithm are deleted;
Fig. 4 is greedy algorithm iterations and maximum cross-correlation peak value relation in detailed description of the invention.
Detailed description of the invention
In order to better illustrate objects and advantages of the present invention, below in conjunction with the accompanying drawings with the embodiment technical side to the present invention
Case is described further.In this embodiment, by use GPS System in USA L5 signal spread-spectrum code be example describe.
The L5 signal of GPS system is the navigation signal towards life security service of a new generation, and L5 specification of signals is defined on
Within 2011, announcing in IS-GPS-705B file, the generation of spread spectrum code realizes based on shift register as in figure 2 it is shown, spread code length
Degree L=10230 bit, has 2 by the different initial states of XBi13-1=8191 kind combines, based on balance, autocorrelation and frequency
Spectral property remains candidate after deleting choosing and spreads code word 107, i.e. M=107, it is considered to GPS basic configuration constellation needs 37 × 2=74 altogether
Individual spread spectrum code, i.e. N=74, cross-correlation optimization to make 74 spread spectrum codes have good dependency.
In order to describe the needs of algorithm, reduce the scale of problem further, select M=6, N=3 as initial conditions, wait
Choosing spread spectrum codeword set has 6 spread spectrums code words, i.e. C={c1,c2,...,c6, retain 3 spread spectrum codes as optimum results, adopt
Need altogether with traversal searchSecondary search, what problem scale reduced has no effect on the demonstration program of this example.
A kind of satellite navigation system based on greedy algorithm spread spectrum code cross-correlation optimization method, concretely comprises the following steps:
Step 1, sets up co-related measure matrix and spread spectrum codewords indexes array.
Calculate the cross-correlation functions of 6 spread spectrum code words in candidate codewords set, with odd, even cross-correlation function absolute value
Value is as performance measure greatly, the matrix R of 6 cross-correlation performance measure one 6 × 6 dimensions of composition spreading code words:
Setting up spread spectrum codewords indexes array CodeIndex, the initial value comprising element number M ' in array is 6, represents
Current candidate concentrates the sequence number of spread spectrum code, and initial value is CodeIndex=[1 2345 6].
Step 2, uses greedy algorithm to delete 1 spread spectrum code in candidate collection.
Search co-related measure matrix R obtains ranks sequence number Px=6 of maximum MaxR=494 and maximum, Py=2,
From R, delete the 6th row and the 6th row obtain R1, the maximum MaxR1=468 of search R1, from R, delete the 2nd row and the 2nd arrange
To R2, the maximum MaxR2=468 of search R2.Based on the greed calculation making residue spread spectrum code word have current optimal cross-correlation
Method thought, because MaxR1=468 >=MaxR2=468 spread spectrum the most to be deleted code word sequence number DeleteIndex=2.
From matrix R, delete the 2nd row and the 2nd row obtain RR, from spread spectrum codewords indexes array CodeIndex, delete the 2nd
Individual element, subtracts 1 by candidate codewords set element number, RR is assigned to R, M '=5, estimates matrix and is:
Array of indexes is:
CodeIndex=[1 345 6].
Step 3, iteration deletes the code word in candidate collection.
Check current residual spread spectrum number, repeat step 2 iteration as M ' > N=3 and delete spread spectrum code word, when M '=N stops
Only iteration.Process such as Fig. 3 and Biao 2 of 3 iteration deletions:
The state parameter that 3 iteration of table 2 greedy algorithm are deleted
Iterations |
MaxR |
Px |
MaxR |
Py |
MaxR |
DeleteIndex |
1 |
494 |
6 |
468 |
2 |
468 |
2 |
2 |
468 |
3 |
440 |
1 |
440 |
1 |
3 |
440 |
3 |
404 |
1 |
430 |
3 |
Step 4, exports optimum results.
Deleting through 3 iteration, spread spectrum codewords indexes array is in CodeIndex=[3 4 6], i.e. candidate codewords set
C3,c4,c6Being preferred result, cross-correlation peak value is MaxR=404.
So far, satellite navigation system based on greedy algorithm spread spectrum code cross-correlation optimization process terminates.
For making a concrete analysis of the advantage of satellite navigation system based on greedy algorithm spread spectrum code cross-correlation optimization method, with
The generation method construct candidate of GPSL5 signal spread-spectrum code spreads codeword set, chooses quantity identical with GPSL5 signal ICD file
The spread spectrum code of quantity, i.e. N=74, carry out spreading code performance and estimate and compare, result is as shown in table 3, greedy algorithm iterations with
The relation of maximum cross-correlation peak value as shown in Figure 4, along with the increase cross-correlation performance of iterations is progressively improved.Selected by new method
The spread spectrum code taken is better than the design of GPSL5 in cross-correlation performance measure, and it is 65 that optimization process runs the time on PC
Second, PC is configured that Intel Core2 Q6600 processor 2.4GHz, 4GB internal memory, Matlab2009a software platform.
Table 3 spreads code performance and compares
Performance measure |
GPSL5 spreads code |
The newly selected spread spectrum code |
Quantity |
74 |
74 |
Maximum even autocorrelation sidelobe |
362 |
362 |
Maximum strange autocorrelation sidelobe |
464 |
407 |
Maximum even cross-correlation peak |
492 |
470 |
Maximum strange cross-correlation peak |
554 |
470 |
The inventive method is not limited to specific satellite navigation system, and applies to arbitrarily use CDMA signal conduct
Navigation, the radio system of signal of communication.
Although being described in conjunction with the accompanying embodiments of the present invention, it will be apparent to those skilled in the art that do not taking off
On the premise of the principle of the invention, it is also possible to make some deformation and improvement, these protection models that also should be regarded as belonging to the present invention
Enclose.