Digital Programmable Gaussian Noise Generator
WPI – MIT Lincoln Laboratory
A Major Qualifying Project Submitted to the faculty of the WORCESTER POLYTECHNIC INSTITUTE in partial fulfillment of the requirements for the Degree of Bachelor of Science in Electrical and Computer Engineering by
______
Karen L. Fitch Date: October 30, 2015 ______
Kathryn A. Gillis Date: October 30, 2015 ______
Abby W. Harrison Date: October 30, 2015
Approved: ______
Edward A. Clancy, Faculty Advisor, WPI Date: October 30, 2015
This work is sponsored by the Department of the Air Force under Air Force Contract #FA8721- 05-C-0002. Opinions, interpretations, conclusions, and recommendations are those of the authors and not necessarily endorsed by the United States Government.
1 Abstract
Electronic countermeasures are critical to air vehicle survivability. Noise jamming is a technique used to prevent radar from tracking targets by taking advantage of a radar’s sensitivity to noise. Gaussian noise is preferred for this purpose because it is more difficult to eliminate than structured noise. This project produced a digital Gaussian noise generator based around a field programmable gate array (FPGA) with programmable bandwidth, center frequency, and amplitude to be used by Group 108 within MIT Lincoln Laboratory. Noise produced by the generator is band limited white in frequency with a Gaussian probability density function, as verified both visually and via statistical tests. The device is a strong improvement over existing technology used by Group 108 and it will be used in laboratory and over-the-air testing for researching the effects of Gaussian noise on various radar systems.
2 Statement of Authorship
In this project, all three group members contributed to work on all parts of the design and implementation of the final device. All members also contributed to editing all sections of the paper, but sections were written individually as follows:
Karen Fitch: Sections 1.0, 2.5, 3.1, 3.2, Chapter 6
Kathryn Gillis: Sections 2.1, 2.3, 3.4.1, 3.4.3, Chapter 4
Abby Harrison: Sections 2.2, 2.4, 3.3, 3.4.2, 3.4.3, Chapter 5
All members wrote the Abstract and Executive Summary
3 Acknowledgements
We would like to thank Lisa Basile, Sarah Curry, Emily Fenn and Chris Massa for mentoring us throughout our time at MIT Lincoln Laboratory and for assisting us in understanding and completing our project. We would also like to thank Professor Edward Clancy, our WPI advisor, for guiding us and consistently encouraging us to improve our project. Additional thanks go to Dave Baur, Jim Burke, Bob Giovanucci, Dave McQueen and Andy Messier for their important contributions to our project.
4 Table of Contents
Abstract ...... 1 Statement of Authorship ...... 3 Acknowledgements ...... 4 Table of Contents ...... 5 Table of Figures ...... 7 Table of Tables ...... 9 Executive Summary ...... 10 2.0 Background ...... 15 2.1 Gaussian Noise and Radar ...... 15 2.1.1 Radar Overview ...... 15 2.1.2 Radar Pulse Generation ...... 16 2.1.3 Effects of Noise on Radar ...... 19 2.1.4 Jamming Techniques ...... 19 2.1.5 Effectiveness of White Gaussian Noise in Jamming ...... 20 2.2 Gaussian Characteristics ...... 20 2.2.1 Defining Characteristics ...... 20 2.2.2 How to Test Characteristics ...... 24 2.3 Group 108 Testing Environment ...... 27 2.3.1 Radar Open Systems Architecture ...... 27 2.3.2 Existing Noise Sources in Group 108 ...... 28 2.4 Digital Generation of Gaussian Noise ...... 28 2.4.2 Pseudorandom Number Generation ...... 29 2.4.3 Techniques for Digitally Generating Gaussian Distributions ...... 29 2.5 Digital Programmability ...... 33 2.5.1 Center Frequency and Bandwidth ...... 33 2.5.2 Amplitude ...... 37 3.0 Methods...... 38 3.1 Project Requirements ...... 38 3.2 Gaussian Test Suite ...... 39 3.3 Hardware Selection ...... 39 3.4 Implementation ...... 40 3.4.1 Random Number Algorithm Selection and Implementation ...... 40 3.4.2 Programmability ...... 48 Determining Center Frequency and Bandwidth ...... 48 User Interface ...... 51
5 4.0 Results ...... 54 4.1 Simulation Results ...... 54 4.2 Output Test Results ...... 60 4.3 ROSA Data ...... 64 5.0 Discussion ...... 66 6.0 Conclusion ...... 70 Works Cited ...... 72 Appendix A – Hardware Platform Value Analysis ...... 75 Appendix B – MATLAB Simulation of Uniform Data Through ROSA ...... 76
6 Table of Figures
Figure 1: Comparison of KC705 Noise Generator to WhiteBox Lite Noise ...... 13 Figure 2: IQ Data ...... 16 Figure 3: Mixing a signal to a desired center frequency ...... 17 Figure 4: IQ data generation by digital mixing (top) and analog mixing (bottom) ...... 18 Figure 5: MATLAB-generated autocorrelation of white Gaussian noise vs. band-limited Gaussian noise ...... 21 Figure 6: MATLAB-generated power spectral density plots of white vs. band-limited noise ..... 22 Figure 7: Gaussian distribution with zero-mean and standard deviation of 1 ...... 23 Figure 8: Rayleigh distribution with σ = 1 ...... 24 Figure 9: Visualizing chi-square null hypothesis testing ...... 26 Figure 10: Overview of data acquisition using ROSA ...... 27 Figure 11: Gaussian ICDF ...... 30 Figure 12: Ziggurat Resolution Comparison ...... 32 Figure 13: Ideal vs Practical Band Pass Filter ...... 34 Figure 14 Filter Flow Diagrams ...... 35 Figure 15: Cascaded 2nd Order IIR Filter ...... 36 Figure 16: Broadband vs. Baseband Generation ...... 37 Figure 17: High Level Integration Diagram ...... 39 Figure 18: Diagram of Fixed-Point Box-Muller Algorithm Implementation ...... 45 Figure 19: Block Diagram of Second Box-Muller Implementation ...... 46 Figure 20: Calculating an FIR Band pass Filter Response ...... 51 Figure 21: FPGA-based digital noise generator ...... 54 Figure 22: Power Spectrum of MATLAB Simulated Data ...... 55 Figure 23: Time Domain Distribution of MATLAB Simulated Data ...... 56 Figure 24: Power Spectrum of Fixed-Point Box-Muller Hardware Simulation ...... 57 Figure 25: Time Domain Distribution of Fixed-Point Box-Muller Hardware Simulation ...... 58 Figure 26: Power Spectrum of Floating-Point Box-Muller Hardware Simulation ...... 59
7 Figure 27: Time Domain Distribution of Floating-Point Box-Muller Hardware Simulation ...... 59 Figure 28: KC705 Broadband Noise Power Spectrum ...... 60 Figure 29: KC705 Time Domain Distribution of Broadband Noise ...... 61 Figure 30: Power Spectrum of Band-limited Noise with Bandwidth and Center Frequency of 30 MHz (3 dB cutoffs marked) ...... 62 Figure 31: Time Domain Distribution of Band-limited Noise ...... 62 Figure 32: Power Spectrum of WhiteBox Lite Frequency Sweep ...... 63 Figure 33: Time Domain Distribution of WhiteBox Lite Frequency Sweep ...... 63 Figure 34: Time Domain Distribution ROSA Data from Fixed-Point Box-Muller ...... 65 Figure 35: Time Domain Distribution ROSA Data from WhiteBox Lite ...... 65
8 Table of Tables
Table 1: Result Comparison ...... 12 Table 2: MATLAB randn p-values ...... 56 Table 3: Fixed-Point Simulation p-values ...... 58 Table 4: Floating-Point Simulation p-values ...... 59 Table 5: Floating-Point Broadband Oscilloscope Data p-values ...... 61 Table 6: Floating-Point Band-Limited Oscilloscope Data p-values ...... 62 Table 7: WhiteBox Lite p-values ...... 64 Table 8: Table of FPGA Resources Utilized ...... 68
9 Executive Summary
The objective of our project was to design and implement a digital, programmable, intermediate frequency (IF) band Gaussian noise generator for Group 108 at MIT Lincoln Laboratory. The Group conducts research on tactical defense and intelligence, surveillance, and reconnaissance (ISR) systems and is interested in the effects of Gaussian versus structured noise on radar. Pulsed radar is a surveillance technique widely used for aerial defense. This surveillance technique detects targets by emitting a high frequency signal and identifying returned signals that have reflected off of an object. The radar locates targets by comparing the power of a received signal in a given direction to a threshold determined by the system. The amount of noise in a radar system influences its performance. Noise in the radar system comes from both electrical components in the receiver and the environment. Jamming is an electronic counter-measure technique that takes advantage of threshold detection sensitivity to noise to deny or deceive radar detection of targets. One jamming method is emission of a structured signal that matches a radar’s pulse, which causes the radar to detect a false target. Another jamming method is emission of unstructured noise in order to mask reflected signals within the increased noise received by the radar. Group 108 currently has strong capabilities for generating false targets, but is looking to expand their noise jamming abilities. Generation of Gaussian noise is an area of interest for noise jamming since the noise inherent in radar systems is also Gaussian. [Eaves, 1987; Nitzberg, 1999] The noise generated by electrical components in radar receivers is approximated as white Gaussian noise. White noise is defined as noise that has equal power at all frequencies. Gaussian noise is a random signal that has a normal, bell-shaped probability density function (PDF). Generating wideband white Gaussian noise is not achievable in practice since infinite-valued noise amplitudes and frequencies are purely theoretical. In actuality, white Gaussian noise is always band-limited due to physical constraints and is only white within its frequency band. We designed a digital noise generator on standalone hardware that produces band- limited, white Gaussian noise with programmable amplitude, center frequency, and bandwidth. We implemented the generator on the Xilinx Kintex-7 DSP Development Kit (KC705), a development board with a large Kintex-7 FPGA and a daughtercard containing a dual channel, 16-bit digital-to-analog converter (DAC). Data for the implementation were collected using
10 Xilinx ISim testbench simulations, a spectrum analyzer, and an oscilloscope. We did not collect data for our noise generator on Group 108’s test and development system as the processing performed by the system distorted the acquired data. To test the whiteness and normality of our results, we created a MATLAB test suite that qualitatively evaluates a data set based on its autocorrelation, power spectral density (PSD), and histogram. Additionally, quantitative measurements are provided using the chi-square test and the Anderson-Darling test. To reduce the effects of random variations in the data, we averaged results from five runs over a standard sample size of 100,000 per run. Group 108 currently uses the KC705 with their radar test and development system to produce false targets for jamming using a system called WhiteBox Lite. We used the source code for this device as a base for our design. Our KC705 implementation generates either broadband or band-limited white Gaussian noise with a maximum bandwidth of 0 to 125 MHz by transforming uniformly distributed, pseudorandom numbers to normally distributed numbers. The numbers are optionally processed through a filter and amplitude control and then converted to an analog signal using a DAC. The uniform numbers are generated using a Tausworthe algorithm based on linear feedback shift registers and transformed using the Box-Muller algorithm. The original implementation used fixed-point calculations, while a later improvement changed the algorithm to use floating point calculations to improve the statistical quality of the Gaussian output. The floating point implementation makes use of Xilinx modules, which are fully pipelined to produce one output every clock cycle. The device is programmable through a command line interface which uses a terminal window to send serial commands to a soft processor on the FPGA. The amplitude is controlled by multiplying the output values by an attenuation factor while a finite impulse response band pass filter controls the center frequency and bandwidth. Before testing the KC705, we collected data from MATLAB-simulated Gaussian noise, an analog Gaussian noise generator, and a digital noise source used by Group 108. These data were collected using the Group’s radar test and development system, except for the MATLAB simulation. Based on analysis of the preliminary data, we set a benchmark where our noise generator must pass the chi-square and Anderson-Darling tests. These tests produce a test statistic called a p-value that we require to be at least 0.2. For goodness-of-fit tests to a Gaussian distribution, a higher p-value indicates a closer fit. A commonly used significance level is 0.05
11 when researchers are trying to show that their data are statistically significant rather than random. We opted to raise the threshold to meet the lowest value scored by MATLAB’s randn function, which also produces pseudorandom, normally distributed numbers. We performed analysis on both the in-phase (I) and quadrature (Q) components of our output, both of which were Gaussian, as well as the signal with combined components, which had a Rayleigh distribution. The simulation data passed all of our tests with comparable quality to an analog noise generator. The chi-square and Anderson-Darling test results were a significant improvement over the existing WhiteBox Lite noise and are comparable to both the MATLAB simulation and a commercially available analog noise source. The physical data collected using the spectrum analyzer showed that output is white up to approximately 80 MHz, with attenuation at higher frequencies. The physical data collected using the oscilloscope showed that the analog noise is visually Gaussian, though with less statistical quality than its simulated counterpart. A comparison of the test results is in Table 1. The table compares our noise generator to MATLAB and WhiteBox Lite’s noise generation technique. The results presented are the averaged results from the I and Q components and the results for the combined components.
Table 1: Result Comparison
Result Comparison
Test Platform Data Chi-Square Anderson-Darling
I&Q Average 0.54 0.42 MATLAB IQ Magnitude 0.2 N/A
I&Q Average 0 0 WhiteBox Lite IQ Magnitude 0 N/A KC705 Broadband I&Q Average 0.44 .55 Floating Point Xilinx Simulation IQ Magnitude 0.42 N/A
KC705 Analog Band- I&Q Average .12 .34 Limited Noise IQ Magnitude .02 N/A
12
A comparison of the noise produced by WhiteBox Lite and the broadband noise from our generator is shown in Figure 1. It is clear by visual comparison that our noise generator outputs noise that is a closer approximation to Gaussian than that of WhiteBox Lite.
Figure 1: Comparison of KC705 Noise Generator to WhiteBox Lite Noise
Although our implementation of a programmable Gaussian noise generator was successful, there is no single correct way to accomplish our objective. First, there are alternate algorithms that can be used to generate normally distributed numbers. While some are less suitable for hardware platforms than others, it is possible that a different algorithm could produce noise with a higher statistical quality. Second, a band pass filter is one of two main ways to implement a programmable center frequency. The generated noise could alternatively be multiplied by a cosine to be mixed up to a higher frequency from baseband, rather than directly band pass filtering the IF-band noise either digitally or using analog hardware. Third, we chose to use a finite impulse response (FIR) filter to band pass filter our signal because source code for the implementation was readily available to us. An infinite impulse response (IIR) filter is capable of producing significantly sharper frequency cutoffs with the same number of coefficients. Additionally, the device is capable of transmitting only I and Q data individually over the Ethernet interface. Work can be done to transmit Ethernet packets containing both I and Q data. However, our existing implementation was successful in meeting our objective and the requirements. At the conclusion of this project, we presented Group 108 with a digital, programmable Gaussian noise generator ready for immediate use. The generator implemented on a KC705
13 development board met the needs of the Group. Our final design is a small, standalone platform that produces band-limited, white Gaussian noise with programmable amplitude, center frequency, and bandwidth. This platform will enhance Group 108’s radar research and test capabilities.
14 2.0 Background
This chapter will provide background information necessary for the development of our digital, programmable, Gaussian noise generator. Section 2.1 first gives general information on what radar is, how it works, and why Gaussian noise is effective for jamming applications. Second, section 2.2 covers the characteristics of Gaussian noise and testing how close a sample distribution is to an ideal Gaussian distribution. Third, section 2.3 describes the need and purpose for a digital, programmable, Gaussian noise generator in Group 108’s radar testing and development system. Finally, sections 2.4 and 2.5 explain how to digitally generate Gaussian noise and techniques that can be used to configure the noise.
2.1 Gaussian Noise and Radar Before discussing digitally generated Gaussian noise, it is important to provide basic background on how radar works and why Gaussian noise is important to radar research.
2.1.1 Radar Overview Radar is a common tool used in many contexts, such as air traffic control and aerial defense, to find and track targets that cannot be easily tracked visually. Pulsed radar systems detect objects by sending a sinusoidal pulse of electromagnetic radiation into the environment at a high frequency and checking for any reflection of the pulse that returns to the radar. If the return voltage from a pulse is above a certain threshold, the system assumes that the radiated waveform reflected off an object within the antenna’s beam, resulting in target detection. The radiation’s constant velocity and the time to return can then be used to calculate the distance to the object, R, that caused the reflection by using the relation in Equation 1 where c is the speed of light. Additionally, the Doppler shift in the frequency of the returned signal gives the target’s approximate radial velocity. [Eaves, 1987; Nitzberg, 1999]
�������� 2� � = = Eq. 1. �������� �
15 2.1.2 Radar Pulse Generation In modern radar systems, radar pulses are produced digitally at baseband and raised to a higher frequency for transmission. Digital pulse generation reduces the amount of analog hardware and makes the radar more configurable than a system that uses analog generation. The radar begins by constructing the pulse it should send out as a series of digital samples, with a center frequency of 0 Hz. Usually, these samples are in the form of in-phase (I) and quadrature (Q) data. At each sample time, the amplitude and phase may be thought of as creating a vector in polar coordinates, which are then translated to Cartesian coordinates as demonstrated in Figure 2. The transmitted samples are these Cartesian coordinates, representing the real (I) and imaginary (Q) parts of the signals. The two sets of samples together capture the amplitude and the phase. Frequency is the rate of change of phase, thus the phase indirectly relates to the frequency of the signal. The two sets of samples together are referred to as IQ data and can be used to represent the waveform to allow digital generation followed by analog transmission. [Nitzberg, 1999; Wiegand et al., 1989]
Figure 2: IQ Data
16 This signal is then mixed with sinusoidal waves at an intermediate frequency (IF) between 0 Hz and the frequency at which it will be transmitted. The I data are multiplied by a wave of the form cos(2πfct) and the Q data by a wave of the form sin(2πfct). As the signal must be transmitted as an analog pulse, the I and Q data are combined and converted to an analog waveform using a digital to analog converter (DAC). The amplitude of the analog pulse is the square root of the sum of the squares of the I and Q data, while the phase is the inverse tangent of Q divided by I. Finally, the pulse is multiplied by another sine wave, this time in the analog domain, to shift its frequency up to the transmission radio frequency (RF) the radar uses. The process of multiplying the signal with sine waves is known as mixing. At each stage, the signal is shifted up by the frequency of the sine wave, as seen in Figure 3. Replicas are also created at integer multiples of the sine wave frequency, which must be removed through filtering. Analog mixing is often useful for bypassing the limitations of the DAC. Without mixing, the maximum transmit frequency is limited to half the DAC output rate; with mixing, the maximum frequency is limited by the analog mixing hardware.
f f Signal -fc Sine Wave fc
f -fc fc Signal Mixed to fc
Figure 3: Mixing a signal to a desired center frequency
When the return signal is received, the same process is performed in reverse. IQ data points are created by mixing the received signal with cosine and sine waves at the signal’s center frequency to produce two separate signals centered at 0 Hz or at IF. These signals are then low
17 pass filtered to eliminate copies of the signal at higher frequencies and sampled [Miller and Childers, 2012]. This process can be performed on both analog and digital signals. Forming the IQ data in the digital domain is more advantageous as it requires one analog-to-digital conversion while doing so in the analog domain requires two parallel conversions. Group 108’s radar development system, which is discussed further in section 2.3, uses the former. Figure 4 shows the two methods of IQ data generation at the receiver.
Figure 4: IQ data generation by digital mixing (top) and analog mixing (bottom)
18 2.1.3 Effects of Noise on Radar There are many factors in radar detection that add to the complexity of the simplified explanation above. One of the most prominent is detection in noise. Detection is the process by which a target is sensed in the presence of competing returns that come from background echoes, atmospheric noise, or noise generated in the radar receiver. Noise forces the radar to perform a careful balancing act as its effects can increase or decrease the detected return voltage depending on whether the interference is constructive or destructive. If the radar has too low a threshold for detecting a target, noise that adds to the return voltage will cause many false positives. If the threshold is too high, the radar may miss detecting distant targets that reflect less of the transmitted radiation. Additionally, if the noise voltage is higher than the reflected voltage at the radar’s transmit frequency, the target is impossible to detect. [Eaves, 1987; Nitzberg, 1999]
2.1.4 Jamming Techniques Jamming is an electronic countermeasure (ECM) that makes use of radar sensitivity to noise in order to deny or deceive radar by creating false targets or masking a signal with noise. There are two types of false target jamming and two types of noise jamming. One method of creating false targets is to transmit pulses of energy that match the energy transmitted by a threat radar. The second method of false target jamming is digital radio frequency memory (DRFM) false target generation. A DRFM generates false targets by detecting and recording a threat radar pulse, processing the pulse digitally, and repeatedly transmitting the resulting signal [Roome, 1990]. For both methods, a single pulse represents a single target. The goal is for the radar to treat each replica as a separate target and to make real targets indistinguishable from the false targets. Additionally, attempts to process each target replica may overload the radar’s processor and render it unable to create or maintain a track for any real targets [Nitzberg, 1999]. Noise jamming introduces interference to a threat radar, which raises the amount of noise received by the radar and makes targets more difficult to detect. One type of noise jamming is spot jamming. Spot jamming transmits a large amount of energy at the approximate frequency at which a radar is transmitting. This method requires knowledge of the radar’s center frequency. Measuring a threat radar’s center frequency is not a simple task for a receiver that is within range of multiple radars, or in the case of a radar transmitting over multiple frequencies simultaneously or consecutively to avoid spot jamming. Thus, many noise jammers instead produce broadband noise, a method known as barrage jamming. This method reduces the power at all frequencies,
19 but it eliminates the requirement to monitor and mimic the radar’s frequency. If the wideband noise is sufficiently random, it may blend with noise produced by the environment and make filtering out everything other than the narrowband, structured noise of the target more difficult [Nitzberg, 1999]. It has been shown that fixed detection threshold radar systems experiencing noise jamming are significantly less capable of tracking targets [Choi et, al., 2002]. This project will focus on noise jamming, as Group 108 already possesses DRFM technology for false target jamming.
2.1.5 Effectiveness of White Gaussian Noise in Jamming The noise that affects radar can come from both the natural environment and manmade sources. Naturally occurring noise is generated by the random movement of free electrons in a conducting medium. Sources of random noise in radar applications include atmospheric noise picked up by the radar antenna and electrically conductive components inside the radar receiver. These random processes all follow a normal, or Gaussian, distribution. The resulting electromagnetic signal, theoretically, has approximately equal power at all frequencies – a phenomenon known as white Gaussian noise. Using white Gaussian noise for noise jamming is preferred since it mimics the distribution of noise already present at the radar receiver. The next section describes the characteristics of white Gaussian noise as well as testing how closely a data set follows a Gaussian distribution, and how close it is to white. [Eaves, 1987]
2.2 Gaussian Characteristics True white Gaussian noise is a theoretical phenomenon of infinite power over an infinite range of frequencies. In practice, infinite numbers are impossible to realize and measure. Band- limited noise is practical to model and analyze, unlike true white Gaussian noise. The properties and characteristics of white Gaussian noise also apply to band-limited white Gaussian noise, but only within the given bandwidth. [Vaseghi, 2008]
2.2.1 Defining Characteristics White noise is characterized by its autocorrelation function. Autocorrelation compares a signal to time-shifted versions of the same signal. True white noise should have complete correlation at zero time-shift and zero correlation at any other time-shift; thus, the autocorrelation of white noise is an impulse function. The autocorrelation of band-limited noise that is white
20 within the passband follows a sinc function. This sinc function is shown in Equation 2 where � represents the positive bandwidth, � represents standard deviation, � represents variance, � represents the sampling period, and � is the time-shift, measured in samples.