A Successful “Applications Oriented” Undergraduate EE Course Elective: Electronic Navigation Systems
Author(s) -
Richard J. Hartnett,
Kelly C. Seals,
P.B. Crilly
Publication year - 2015
Language(s) - English
Resource type - Conference proceedings
DOI - 10.18260/p.23457
Subject(s) - computer science , global positioning system , class (philosophy) , code (set theory) , navigation system , communications system , course (navigation) , computer engineering , multimedia , telecommunications , engineering , real time computing , programming language , artificial intelligence , set (abstract data type) , aerospace engineering
In typical undergraduate Electrical Engineering programs, students take courses in circuit analysis, electronics, programming, signals and systems, digital design, physics, calculus, differential equations, plus some advanced courses such as linear algebra, discrete mathematics, communications systems, digital signal processing, antennas, and control systems. These courses are important, however students sometimes find themselves wondering about specific “real-world” applications for all the theory and information learned in these courses. Certainly as faculty members we make every attempt to discuss applications in class, but the unsettling fact is that some students really want to learn more about “real-world” systems! The purpose of this paper is to present how we connect theory to practice using navigation systems as the particular application. Several “real-world” systems discussed in our junior/senior elective course called Electronic Navigation Systems are highlighted in this paper. One system we learn is the NAVSTAR Global Positioning System (GPS). Students find that shift registers are used to generate a unique 1023 bit pseudo-random binary sequence for each satellite, and they write Matlab code to generate sequences for all satellites (digital design application). After telling our students about Gold codes, they then use their functions to study the auto and cross correlation properties of the sequences, and we highlight how a receiver might use those methods to estimate signal time of arrival for this Code Division Multiplexed Access (CDMA) system employing Binary Phase-Shift Keying (BPSK) signals (communication system application). Using the ranging information from N satellites, students learn that GPS receivers typically solve an over-determined system of N equations (where N>4) for 3-d position (x,y,z), plus receiver time offset (t) relative to GPS system time (linear algebra application). Given actual satellite locations and ranging information, students then write an iterative algorithm to solve for receiver position plus time offset (linear algebra and programming application). Then we show our students that GPS accuracy is a function of satellite position (azimuth and elevation) relative to the user, and they are asked to write a Matlab function which estimates GPS accuracy as a function of visible satellite azimuth/elevations. Finally, we ask our students to think about using a GPS receiver to try to find a restaurant in a large city such as New York, NY, where the only satellites visible would be the ones directly overhead. They quickly realize that they might have to ask for directions rather than depend on their GPS receiver inside their cellular telephone for guidance (linear algebra application)! Other systems discussed include aircraft navigation systems such as VOR (VHF Omni-Directional Radio Range) (AM and FM communications application), and Instrument Landing System (ILS) (antenna, phased array application). Page 26116.2 Finally, we present multi-year data from end-of-course surveys as the assessment tool that suggest our students see this course as highly relevant, applicable, and motivating. Studies on GPS: GPS P/N Sequence Generator Mini-Project, Gold Code Properties, and Signal Acquisition Using Cross-Correlation In our sophomore level course called Digital Circuits and Computer Systems (DCCS), students first learn about shift registers. In the junior/senior level Electronic Navigation course, students see a more in-depth, direct application for shift registers, tied to “Pseudorandom Noise” (PN) sequence generation. More specifically, students are tasked with writing a Matlab function that uses two 10 bit shift registers in order to calculate each GPS satellite’s unique 1023 bit L1 “Coarse Acquisition” (C/A) Gold Code (Figure 1). Validation of each satellite’s correct pseudo-random noise (PN) sequence (of 1’s and 0’s) is accomplished by comparing the first 10 values (chips) of that satellite’s PN sequence with an octal number provided in the GPS signal specification. One solution for a function that produces the PN sequences for satellites 1-32 can be found in Appendix A, under the heading “GPS P/N Sequence Generator Mini-Project Solution.” Once each student completes the “PN code generator” assignment, we have them unravel the mysteries of Code Division Multiple Access (CDMA) or Direct Sequence Spread Spectrum (DSSS), as used in C/A code GPS. After converting their sequence of 1’s and 0’s to 1’s and -1’s, students study the autocorrelation and cross-correlation properties of each satellite’s baseband sequence (as generated from their Matlab function) using Matlab’s “xcorr” function. Ignoring Doppler for now, students learn that all satellites transmit continuously on roughly the same L1 band frequency, so GPS receivers must use the cross correlation techniques in order to extract pseudo-range (range plus clock offset) measurements from each satellite. They learn that each satellite’s 1023 bit Gold Code sequence exhibits remarkable autocorrelation properties (i.e. single peak at zero lag, and small values for other lags), and remarkable cross-correlation properties (i.e. crosscorrelation of PN sequences from different satellites produce only small values at all lags) (Figures 2 and 3). Most importantly, they learn WHY those properties are, in fact, remarkable. While generating autocorrelation and cross correlation functions, students learn that GPS receivers typically use “running correlators” for signal acquisition (and signal time-ofarrival estimation), hence apriori knowledge of each satellite’s PN sequence is required. In order to “find” Satellite #12, the student simply correlates an incoming baseband signal with the known PN sequence for Satellite #12. The timing of the cross correlation peak establishes signal time of arrival relative to the local receiver clock. After learning about the autocorrelation and cross-correlation of GPS Gold Codes, students then do some detective work! We provide our students a file containing baseband satellite information, buried in noise. More specifically, we add the PN sequences of three different satellites together, at different delays, and add Gaussian noise (with σ=4), so our students cannot even see that a signal is present (Figure 4). We then ask them to figure out which satellites are present, and the signal times of arrival. P ge 26116.3 Students first load this data file into Matlab, and begin to “search the sky” using their PN Generator function and Matlab’s “xcorr” function, in a loop that searches for satellite #1 through satellite #32. We tell the students to declare that a satellite is present if any correlation value over 500 is detected, and given the data in Figure 4, students find 3 satellites are visible (#5, #19, #25) at varying delays. They complete their detective work by plotting cross correlation results for those satellites detected (e.g. Figure 5). Our students are typically amazed how powerful the cross correlation methods are, and usually make comments like “ ... but how can this work? ... you can’t even SEE any of the signals in the original noisy signal!” We call this the “aha moment,” where our students see results that they have produced, and their eyes are opened to the concept of processing gain from the de-spreading (cross-correlation) operation. At this point, we ask students if they had ever learned about auto and cross correlation functions, or DS spread spectrum systems, and they usually offer comments like “ ... yeah, but not like this ... we didn’t really see much application, and didn’t realize why we should care much about those concepts.” Figure 1. Shift register diagram for generating GPS C/A code PN sequence.
Accelerating Research
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom
Address
John Eccles HouseRobert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom