Generation and implementation of Pseudorandom codes for Navigation System in FPGA Akash B #1, Dileep D *2, Yashodha H #3 # Reva Institute of Technology & Management (RITM), Visvesvaraya Technological University(VTU) Rukmini Knowledge Park, Kattigenahalli,Yelahanka,Bangalore-64 * ISTRAC/ISRO #12&13,2 nd Phase, Peenya Industrial Area,Bangalore-58 Abstract Satellite Navigation system provides autonomous geo-spatial positioning with global coverage, collectively being called Global Navigation Satellite System (GNSS). Most of these systems work on the principle of code division multiple access (CDMA), in which Pseudo Random Code (PRN) sequences are heart of the whole system. In this paper a study is made on generation and properties of the PRN codes form Navigation system perspective. This paper also presents the design and implementation of PRN Code on Virtex-2P FPGA Hardware. The results of generation from hardware are validated with the simulation results and the properties of the PRN codes are analyzed. Keywords Multiple access, GNSS, PRN code, correlation, synthesis, ISE I. INTRODUCTION The Spread Spectrum communication involves the spreading of the signal spectrum to make it appear as noise-like signal. The signal will thus be hidden and any intentional jammer would not be able to detect it. The method usually employed for spreading the signal spectrum is to multiply it with spreading sequences. Some ways to spread the bandwidth of the signal: Frequency Hopping, Time Hopping, Direct sequence (DS), Hybrid system. Due to the LPI, AJ characteristics, the most popular SS are in fields where security is an important consideration. Also, multiple access enables many users to operate at the same time without much interference. The coded modulation characteristics uniquely qualify SS for navigation from the standpoints of both range measurements and direct fading. DS-SS is the most preferred for ranging. DSSS provides the structure for the transmission of ranging signals and essential navigation data, such as satellite ephemerides and satellite health. The ranging signals are PRN codes that binary phase shift key (BPSK) modulate the satellite carrier frequencies. These codes look like and have spectral properties similar to random binary sequences but are actually deterministic. A. Choice of Code: In BPSK transmission, bandwidth is a direct function of the code chip rate. Code repetition rate is simply given as R Rep =Clock rate(chips/sec)/code length (chips) (1) This repetition rate determines the line spacing in the RF output spectrum. Hence, it is an important consideration in a system design. Another important criterion is that the period of the code must be very large. Table I lists various code lengths for a 1-Mcps-chip rate. Other consideration should be that the choices of code rate and code length determine the relationship of the repetition rate to the information baseband and use of the system for ranging. The code used in a direct sequence system should be adjusted for repetition rate 78 Akash B, Dileep D, Yashodha H
and length such that noise does not pass into the demodulator especially under jammed conditions. A properly chosen code can not only improve resolution but also can ease range measurement problem. if the chip rate is chosen in such a way that an integral number of code offset can be used to measure range. Clock rates that are integral multiple of 161,875Hzproduce code at rates that are integrally related to the speed of propagation of RF signal. The relationship may be derived as follows: Speed of light in vacuum is c = 2.997926 x 10 8 m/s, 1 nautical mile = 1.852 x 10 3 meter, The clock rate (wavelength = 1nmi) = c/r=2.997926 x 10 8 /1.852 x 10 3 = 161,875 Hz Among the biggest problems in code generation are (1) finding feedback logic that gives desired code length and (2) checking the code one a sequence generator has been constructed to ensure that it is operating properly. Tables of feedback connections and irreducible polynomials have been generated. B. Popular Codes: 1) Maximal Length Sequence or PN Sequence: The pseudorandom noise (PN) sequence are a series of 1 s and 0 s which lack of any definite pattern and consists of a deterministic sequence of pulse that will repeat after its period. In a truly random sequence the bit pattern never repeats. A pseudo random binary sequence is a semi-random sequence in the sense that it appears random within the sequence length, fulfilling the needs of randomness, but the entire sequence repeats indefinitely. The heart of PN sequence generator is usually made up of linear feedback shift registers (LFSR). It generates a maximallength sequence of length N = 2n 1 elements. Because of their good autocorrelation two similar PN sequences can easily be phase synchronized, even when one of them is corrupted by noise. 2) Gold Sequence: Gold sequences are constructed by the XOR of a preferred pair of m-sequence with the same clocking. They have well defined cross correlation properties and only simple circuitry is needed to generate large number of unique codes. 3) Kasami Codes: Kasami codes have popular use in 3G wireless scheme. They can be classified as (1) large Kasami set or (2) small Kasami set. Small kasami set has family size (M) = 2 n/2 and period = N = 2 n -1. Their maxium cross-correlation is 2 n/2-1.large kasami set contains both gold sequence and small set of kasami sequences as subset.its period is N=2 n -1.Maximum cross-correlation is 2 (n+2)/2. II. PROPERTIES OF PN-SEQUENCE FOR NAVIGATION SYSTEM A PN sequence is a bit stream of 1 s and 0 s occurring randomly, with some unique properties. The sequence serves as a reference pattern with known random characteristics for the analysis, optimization and performance measurement of communication channels and systems. A. Balance Property In each period of a maximum length sequence, the number of 1s is always one more than the number of 0s. B. Autocorrelation Property: The autocorrelation function r(i) of any PN sequence of length N is given by r(i)= (2) C. Correlation Property: Correlation is a measure of similarity between two sequences. When the two sequences compared are different it is the cross correlation and when they are the same it is the autocorrelation. Mathematically, the correlation between two sequences x (k) and y (k) as a function of the time delay m is expressed as 79 Akash B, Dileep D, Yashodha H
(3) R(m) xy = The correlation equation for the digital bit sequence can thus be written as The proposed architecture for the PRN code generation for satellite based navigation is shown below. R (m) = total number of 1 s / total number of bits (4) These three properties make PN sequences efficient for speech encryption. However, particularly due to the third property, adjacent bits correlation becomes considerably less, thereby making the PN sequences more effective to be used in systems like CDMA. Therefore, useful PN sequences must have very good auto-correlation and cross-correlation properties as well as maintaining some randomness properties. Welch bound: Designing codes optimized for any of the potential application is practically impossible, using code centric metric is more appropriate. This is the reason why the Welch bound has gained importance in recent years as suitable metric for evaluating PRN codes. The Welch bound is the theoretical minimum of the maximum value of cross-correlation that can be obtained for a given code length L within a set of M codes [3]. The Welch bound for a set of K sequences with each sequence of length N (N K) is defined as (5) such a bound is no longer achievable when N > K(K+1)=2 for real cases. Note that, in the sequel, sometimes we shall represent binary sequences using zeros and ones and in other cases +1 s and -1 s. The appropriate mapping is that the zeros are mapped to +1 s and ones are mapped to -1 s. III. PROPOSED ARCHITECTURE FOR PRN CODE GENERATION Fig. 1 Block diagram for PRN code generation The GPS can be taken as an example for PRN code generation for satellite based navigation. The GPS signal for Standard Positioning Service (SPS) consists of the Navigational Data stream at 50bpsmixed with the C/A code, modulated using a carrier of 1575.42MHz (L-band). The C/A has a chipping rate of 1.023MHz with a code period of 1.023ms. The bits obtained after spreading the data with the PN sequence is represented in NRZ format, which is then used for BPSK modulation of a sinusoidal carrier of 1575.42MHz. So, the GPS-SPS signal for the ith satellite can be represented as (6) Where, A: The carrier amplitude Ci(t) : C/A code for the ith satellite Di(t) : Navigational data for the ith satellite ω c : L1 carrier with frequency of 1575.42MHz Gold codes are constructed by taking the modulo-2 sum of two maximal length sequences of length 2n-1, although the two sequences are required to be related to one another in a particular way. An explanation for the theory of Gold codes is beyond the scope of this thesis, although an excellent summary may be found in the Appendix of (Spilker, 1996). 80 Akash B, Dileep D, Yashodha H
In the case of the C/A codes, the pair of maximal-length sequences are constructed using generating polynomials G1 and G2, where G1 and G2 are given by G1= 1+X3+X10 (7) G2= 1+X2+X3+X6+X8+X9+X10 (8) The Gold code is constructed as the modulo- 2 sum of the G1 sequence and a delayed version of the G2 sequence, with each satellite number allocated a different delay quantity. As there are 1025 different sequences in the family of codes,but only 513 codes are balanced codes where the number of 1s and 0s differ by 1, the assignment of codes to satellites is from the set of balanced codes. The G1 and G2 generators reset to all 1s after generation of 1023 pseudorandom binary chips. In the case of GPS, two different taps of the 10-bit G2 register are added thereby allowing a maximum of 45 different codes to be generated. Alternative approaches that are more widely used are to reset the G2 register to a specified initial value rather than all 1s, or to insert a programmable delay that delays the reset of G2 until a specified number of chips in the sequence have elapsed. The advantage of these methods is that not only do they permit all of the 1023 codes in the family to be generated, but they also offer a simpler implementation3. In particular, they also permit generation of the codes used by the WAAS and EGNOS satellite based augmentation systems (SBAS). All the 37 Satellite vehicles have different code phase assignments so as to generate the Pseudo random noise codes. From the generated PN sequence the various properties mentioned in Section III are performed and they are verified. The balanced property is verified for all the satellites. The Auto correlation values obtained for the generated PRN code is represented with the waveforms generated. The Cross Correlation is also generated and represented. They are verified with the welch bound condition given by {Cross Correlation maximum peak value} x {Code Length} Code Length (9) IV. SIMULATION RESULTS AND ANALYSIS The PRN codes generation and analysis has been done using Matlab and Xlinx ISE simulations. Both Matlab and verilog codes have been used for the PRN codegeneration. The results are shown in the following figures. Fig. 2 PRN code generation & its Autocorrelation The Fig. 2 shows the generation of 1023 chips of PRN code and its auto correlation. It is evident from the figure that, the autocorrelation peak is occurring at the exact chip rate. The Fig. 3 shows the generation of two 1023 chips of PRN codes and their cross-correlation. From the definition, PRN codes are not complete orthogonal, but are semi-orthogonal. This feature is clearly indicated in the crosscorrelation plot which shows multiple peaks throughout the chip range. The Fig. 4 shows the generation of PRN code in the Xilinx ISE 9.1 environment by using code written in verilog HDL. The first 10-bits 81 Akash B, Dileep D, Yashodha H
represented on octal form is used for validating the generated data. 2P development kit. The Fig 6 shows the PRN code generation in FPGA kit. From the synthesis report, it was found that, this design and implementation has utilized only 12 slices, 20 flip-flops, 4 LUTs, 24 bonded IOBs and 1 GCLK. The delay involved for generation of 1023 chips is around 1.779ns. Fig. 3 Two PRN codes generation & plot of their Cross-correlation Fig. 5 Xilinx Virtex-2P development kit Fig. 4 PRN codes generation using Xlinx ISE 9.1 environment V. HARDWARE IMPLEMENTATION RESULTS The Xilinx Virtex-2 pro development FPGA kit is used for PRN code generation in the hardware. The physical layout of the kit is represented in the Fig. 5. The push button switch provided enter key is utilized as the clock input. The clock was derived from the internal master clock. Out of four DIP switches, two were used as reset and read inputs. Out of four LEDs, LED-1 is used for the displaying generated PRN data. The necessary user constrain files(ucf) were available from the user manual of the VIrtex- Fig. 6 PRN code generation in Virtex-2P development kit VI. CONCLUSIONS In this paper a study on generation and properties of the PRN codes is completed. This paper presents the design and implementation of PRN Code on Matlab, Xilinx ISE and Virtex-2P FPGA Hardware environments. The results of generation from hardware are validated with the simulation results and also the properties of the PRN codes are analyzed. ACKNOWLEDGMENT 82 Akash B, Dileep D, Yashodha H
I would like to thank my parents for their immense blessings without which this would not have been possible. I also like to thank my teachers, colleagues and friends for their support. REFERENCES [1] James Bao-Yen Tsui, Fundamentals of Global Positioning System Receivers - A Software approach, Wiley Publications, USA, 2000J [2] A. V. Oppenheim and R. W. Schafer, Discrete-Time Signal Processing, Prentice- Hall, Englewood Cliffs, NJ, USA, 1999. [3] Haykin. S, Communication Systems. 4th Edition. New York: John Wiley and Sons, 2001. [4] ACEEE Int. J. on Communications, Vol. 03, No. 03, Nov 2012-Analysis and Simulation of Pseudo Ranging Noise codes for Geo-Stationary Satellites and its Doppler Effect [5] E. D. Kaplan, Editor, Understanding GPS principles and applications, Artech House Publishers, 1998. [6] K. Borre, D. Akos, N. Bertelsen, P. Rinder, and S. Jensen, A Software- Defined GPS and Galileo Receiver: A Single-Frequency Approach, Birkhäauser, Boston, Mass, USA, 2007. [7] B. W. Parkinson and J. J. Spilker, Global Positioning Systems: Theory and Applications, American Institute of Aeronautics and Astronautics, Washington, DC, USA, 1996 [8] www.navpedia.com. Mr. Akash B has obtained his Bachelor s degree in Electronics & Communication from VTU in the year 2008 and is currently pursuing M.Tech in VLSI & Embedded Systems Design from VTU. Currently he is working as SR. TECHICAL ASSISTANT in ISTRAC/ISRO located in Bangalore. His areas of interests are Embedded Systems, Navigation and Multimedia systems. Mr. Dileep D has obtained his Bachelor s degree in Electronics & Communication from VTU in the year 2007 and also M.Tech in Digital Electronics from VTU. Currently he is working as SCIENTIST in ISTRAC/ISRO located in Bangalore. His areas of interest are Navigation, Cryptography, Chaos Theory and Digital Signal Processing. Ms. Yashodha H has obtained her Bachelor s degree Electronics & Communication from Dharwad university and her M.E degree in Power Electronics from Bangalore university. Currently she is working as ASSISTANT PROFESSOR in Reva Institute of Technology & Management, Bangalore. Her area of interests are Power electronics, Medical Electronics and Embedded Systems.. 83 Akash B, Dileep D, Yashodha H