We propose a simple and faster Gold codes generator, which can be efficiently initialized to any desire code, with a minimal delay. Its principle consists of generating entirely one sequence ( code number 1 ) from which we can produce all the early unlike signal codes. This is realized by simply shifting this sequence by different delays that are judiciously determined by using the bicorrelation routine characteristics. This is in contrast to the classical Linear Feedback Shift Register ( LFSR ) based Gold codes generator that requires, in addition to the transfer process, a meaning total of logic XOR gates and a phase picker to change the code. The bearing of all these logic XOR gates in classical LFSR based Gold codes generator provokes the consumption of an extra time in the generation and skill processes. In accession to its simplicity and its celerity, the proposed architecture, due to the sum absence of XOR gates, has fewer resources than the conventional Gold generator and can thus be produced at lower cost. The Digital Signal Processing ( DSP ) implementations have shown that the proposed architecture presents a solution for acquiring Global Positioning System ( GPS ) satellites signals optimally and in a twin room .
The spread codes are the most important elements of the Direct Sequence Code Division Multiple Access ( DS-CDMA ) communications [ 1 ]. According to their performances and their characteristics, they will determine the quality of transmittance and communication because they have the properties of a White gaussian Noise ( WGN ). The code sets can be divided into two classes : orthogonal codes, like Walsh Hadamard codes, chiefly used in Interim Standard 95 ( IS-95 ) and CDMA 2000 systems [ 2 – 5 ], Orthogonal Variable Spreading Factor ( OVSF ) codes [ 6 ], used in Wideband CDMA ( WCDMA ) [ 7 ] and Time Division Synchronous CDMA ( TD-SCDMA ) systems [ 8 ], orthogonal Gold codes [ 9, 10 ], and Golay complementary color codes [ 11 – 17 ] and those being nonorthogonal or pseudorandom codes, such as m-sequence codes [ 18 – 20 ], Gold codes [ 21, 22 ], Gold-like codes, Kasami codes [ 23, 24 ], Weil codes [ 25, 26 ], and Barker codes [ 27 ]. The performances of a CDMA system are largely dependent on the characteristics of spreading codes and their principle of generation. GPS system uses Gold codes that are generated by two LFSRs expressed each as coefficients of a polynomial. The two polynomials corresponding to the two LFSRs form a prefer polynomial pair of a Gold code. The whole code sequence is defined entirely by the generator polynomials and the initial states. The receivers, thus, only need to store the generators functions alternatively of the wholly sequence and the memory space is saved [ 28 ]. The gull generation has attracted a lot attention in both industrial and academic fields. The cognition of the spread spectrum codes is a prerequisite for designing receivers capable of acquiring and tracking all satellites in the configuration. ball-shaped Navigation Satellite Systems ( GNSS ) include the american GPS, the European Galileo, the russian GLObal NAvigation Satellite System ( GLONASS ), and the chinese BeiDou. Galileo satellite navigation system will use memory codes for the bands E1-OS ( Open Service ) and E6 that are hard for rearward technology [ 26 ]. These codes are random sequences like Coarse Acquisition ( C/A ) code used in GPS but do not have a common code generator algorithm. According to [ 25, 26 ], the principle of memory codes is to generate a family of codes that fulfills the properties of a random noise at maximum for a given code distance. The resulting codes are then optimized by means of artificial intelligence like familial algorithm in order to have codes with properties that are needed for optimum operation of Galileo organization. The optimize codes are then stored in the telephone receiver memory, which is more expensive compared to codes generators. Hence, a lot of memory is required for full system hold. Although memory codes will provide an addition in receiver trailing performances, their execution has a direct deduction in the telephone receiver design. In fact, memory increases the hardware price, the complexity, the manipulation of signal process resource, and the power consumption of the receiver when compared to LFSRs. As manufacturers move towards low-cost and low-power ASIC implementations, memory code execution will become more challenging [ 29 ]. In this wallpaper, we propose a simple and fast pseudorandom code generator that can be efficiently initialized to any coveted code, with a minimum delay. In addition, we propose an architecture with fewer resources than the conventional ones which can be produced at lower price. We propose besides a new shape of the correlation routine calculation that is compatible with these codes. The composition is organized as follows : we begin with discussion of the classical music principle of generation and the properties of C/A-GPS Gold codes. The principle of the proposed architecture for these codes ’ genesis and correlation principles are provided in Section 3. After that, we present the results of DSP implementation and, ultimately, we end up by some conclusions .
2. Principle of Generating and Acquiring C/A-Gold Codes
The skill is the boring job of searching a cubic space for the correlation coefficient bill. One dimension is the satellite vehicle signal phone number ( SN ) ( at least if the liquidator has no a priori cognition ). The moment property is the frequency space, since an unknown Doppler careen of the familial sign and an inaccurate frequency reference in the liquidator produce a high frequency-offset doubt. The third proportion is the code phase [ 30, 31 ].
many modern GPS receivers have 8, 12, or 16 channels in parallel to facilitate a faster search process. GPS system contains 32 codes. Each code is generated using a combination of two tapdance LFSRs and as shown in Figure 1. Each LSFR generates a maximum-length Pseudorandom Noise ( PRN ) sequence of “ ” elements, where, which is adequate to 10 in GPS system, is the number of the LSFR stages as illustrated in Figure 1 .
A transformation read is a set of one-bit storage or memory cells. When a clock pulse is applied to the register, the content of each cell shifts one act to the right. The content of the last cell is “ read out ” as output [ 31 ]. The two resulting 1023-chip-long sequences are modulo-2 total to generate a 1023-chip-long code, entirely if the polynomial is able to generate codes of maximum length. Every 1023rd period, the shift registers are reset with all ones, making the code start over. register constantly has a feedback shape with the polynomial :, meaning that state 3 and department of state 10 are feedback to the remark. In the same way, register has the polynomial :. To make different codes for the satellites, the outputs of the two transformation registers are combined in a very special manner. cash register always supplies its output, but register supplies two of its states to a modulo-2 adder to generate its output. The survival of states for the modulo-2 adder is called the phase choice. SN is affected to each satellite of the configuration. table 1 shows the combination of the phase selections ( PS ) for each satellite C/A-GPS code [ 31 ] .
The most significant characteristics of the C/A codes are their correlation properties. The two crucial correlation properties of the C/A codes can be stated as follows [ 31 ] .
2.1. Nearly No Cross-Correlation
All the C/A codes are about uncorrelated with each other. That is, for two codes and for satellites and, respectively, the cross-correlation can be written as
2.2. Nearly No Autocorrelation Except for Zero Lag
All C/A codes are closely uncorrelated with themselves, except for zero lag. This property makes it easy to find out when two similar codes are perfectly aligned. The autocorrelation property for satellite can be written asIn the very foremost clock time when a liquidator is switched on, it has no information about its position or about the status of the satellites. The liquidator has no information about which satellites are in position. The receiver starts a sky search by analyzing the stimulation signal with respect to all known satellite ranging codes [ 32 ]. If the receiver has been initialized before, it by and large uses almanac and ephemerides, the approximate user position, and approximate time estimate to provide aiding information in form of estimated Doppler chemise and calculate time shift to the tracking loops. Depending on the handiness of the information, three unlike acquisition modes are distinguished : cold begin, hot beginning, and reacquisition start. In cold-start case, no data is available to help acquiring signals and determining the satellites in position ; therefore, the learning times may take respective minutes. In hot-start case, the receiver has a number of low-level formatting parameters ( almanac or navigation messages ), and the acquisition time is reduced to a few tens of seconds. Reacquisition begin is the march when satellites signals have just been lost and are acquired again ; therefore, the receiver has good cognition of time and Doppler shift [ 32 ]. The core element of the liquidator is the correlation between the receive signal and locally generated replica. The designation of one dedicated satellite signal is performed by searching for the maximum of its autocorrelation function, which works like a filter for all other satellites signals components [ 32 ]. The acquisition of a specific satellite from the entire constellation involves performing the correlation coefficient between the code corresponding to this satellite and its replica that is locally generated. consequently, the number of locally generated replica depends on the number of satellites that can be acquired. An increasing number of visible satellites increase the requirements of the hardware components and circuitry, which is a limitation of classical music LFSR based Gold codes generator .
3. Principle of the Proposed Method
In our proposed method acting, we use the bicorrelation between two different codes and. The chief estimate is that, in line to the intercorrelation function of two different C/A-GPS codes, which is always null, the bicorrelation serve can be unlike from zero. The general expression of the bicorrelation is given byBy considering the same routine as the autocorrelation affair, we can determine analytically the approach mathematical mannequin of. here, we have considered three orthogonal windows, a fixed one and two others that are, respectively, shifted by and. In ideal case, which corresponds to the absence of noise, multipaths, and interferences, ( 3 ), for C/A-GPS codes, is found to beHere, we use the same rationale as that used in [ 33 ]. In this lawsuit, as presented in Figures 2 and 3, two pyramids whose basis is hexangular and harmonious about the diagonal qualify the nonnull bicorrelation bidirectional plot. Besides, as illustrated in Figure 4, when considering either one of the plan sections, we find precisely the ACF triangular wave form of the code which is frankincense given by. Therefore, which gives where is the specific time stay corresponding to the thorium code, which permits deriving the thursday satellite from the thursday satellite. The centers and of the hexagons represent, respectively, to the ACF peaks projections on the straight lines and .
, as illustrated in Figure 4, is found by determining the remainder between and coordinates relative to either or axis. According to ( 5 ) and ( 6 ), we notice that it is possible to generate a C/A-GPS code from the product of another code and its stay version. For example, let us consider the bicorrelation of the two codes and. This latter is found to be nonnull and the projections of the two autocorrelation peaks on the plan, as presented in Figure 5, are chips and chips ; therefore, chips. hence, according to ( 6 ), we conclude that code 26 may be generated from code 31 by multiplying this latter by its lapp version delayed by chips .
consequently, this feature is going to be used to generate all the CA-GPS codes of the satellite configuration from the exclusive use of just one locally generated code. This latter, for public toilet, is chosen to be which is generated either by the LSFR generator or from the memory. To initiate the coevals of the remaining codes, we will first look for all the codes for which. As solutions, we obtain the eight codes with. then, corresponding, which permit their genesis from, are determined graphically and given in board 2. The set of codes thus obtain, , with, represents the first category of codes generated from .
Afterwards, each of these eight codes will in turn be bicorrelated individually with the rest of the codes. In this casing besides, by solving for the codes for which with, we find For codes with. For codes with. For codes with. For codes with. For codes with. For code with. For code with. The accumulative set of values, with, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, is then diagrammatically determined and given in Table 2 which gives the second category of 21 codes that are besides initially generated from. By using the lapp reasoning, the last stay two codes with, which represent the third and last category, are obtained by replacing in ( 6 ) and solving for the codes for which. Corresponding values graphically determined are given in table 2. The different steps used to generate the hale determined of the GPS configuration codes from the single code are summarized in the flow graph of Figure 6 .
Based on these results, we can propose a modern structure for acquiring all C/A-GPS codes. The rationale of this correlation system is shown in Figure 7. In this social organization, the manner in which the reference point C/A code is locally generated depends on the category to which it belongs. The codes of the first class are all generated directly from by using the corresponding delay lines values of table 2. then, each one of these first-category codes is delayed individually with its correspond as given in table 2, to obtain the second category of codes. finally, the third category of codes is generated by applying corresponding to the appropriate codes of the second class as specified in table 2. By comparing the outputs of the unlike correlators, after an integration time to a specific doorway, we can easily detect the absence or the presence of any satellite of the configuration .
4. DSP Implementation
As shown in Figure 7, the basic element in the proposed C/A-GPS Gold code generation social organization is the delay line, which can be implemented in a DSP by using a Digital Delay Line ( DDL ) that is an elementary functional unit for stay model. A fundamental build block of DDL is shown in Figure 8 .
The routine of a check line is to introduce a time delay corresponding to samples between its stimulation and output. Because is an integer, the DDL can be implemented as a circular cushion, which is one of the highlights of a DSP. In fact, compared to linear buff, round buffer is more advantageous in terms of memory and access time. We can besides implement the DDL as a Finite Impulse Response ( FIR ) trickle with a transfer routine that is given as follows : The percolate given by ( 7 ) has “ ” poles at and “ ” zero at. Its frequency reaction is given as follows : The filter, given by ( 7 ) and ( 8 ), is an all-pass filter with linear phase and it can be implemented as C/A-GPS Gold codes generator [ 34 ]. There are different DSP families with particular architectures. It is therefore necessary to choose the processor with the necessity resources to meet specific needs. The ADSP BF537 processors, Analog Devices, Inc., can reach the highest performances in comparison to the other ones. Processors, ADSP BF537, are new members of the Blackfin class of Analog Devices, Inc., Intel Micro Signal Architecture ( MSA ), which offer very high performances and first gear power consumption with the serviceability advantage. They are clocked at speeds astir to 600 MHz. ADSP BF537 processor is shown in Figure 9 .
The schemes implemented in this DSP, for our method acting and traditional LFSR method, are given, respectively, in Figures 1 and 10 and the results are shown in Figure 11 as code representation in graphic manner. The prevail results illustrate that the C/A-GPS codes obtained with our method coincide with C/A-GPS LFSR codes.
In addition, when we compare the execution time of the proposed method acting to that of the conventional one for one given code, we find that our architecture is 5.3883 times faster. Therefore, the proposed generation process, compared to the classical one, is approximately 172.4 times faster, which shows the efficiency of our method acting .
An effective method for generating and acquiring C/A-GPS signals based on bicorrelation function rationale is proposed in this newspaper. This method takes advantage of the relationships between the different C/A-Gold codes that are derived from the slices of the bicorrelation routine. The propose computer architecture, compared to the conventional ones, is less meter devour and has fewer resources since it uses a reduce number of XOR functions. In accession, it can be produced at lower monetary value and may be used for the skill of all C/A-Gold GPS satellites signals. The DSP implementations have shown that the proposed architecture presents a substantial solution for the optimum learning of GPS signals. furthermore, it can be easily extended to all CDMA PRN codes specially those of GPS and Galileo CDMA new coevals systems .
Conflict of Interests
none of the authors has any dispute of interests .