Radar Signal Processing Final Report Spring Semester 2017

Similar documents
Serial FIR Filter. A Brief Study in DSP. ECE448 Spring 2011 Tuesday Section 15 points 3/8/2011 GEORGE MASON UNIVERSITY.

FPGA Laboratory Assignment 4. Due Date: 06/11/2012

LUT Optimization for Memory Based Computation using Modified OMS Technique

IP-DDC4i. Four Independent Channels Digital Down Conversion Core for FPGA FEATURES. Description APPLICATIONS HARDWARE SUPPORT DELIVERABLES

FPGA Development for Radar, Radio-Astronomy and Communications

Smart Night Light. Figure 1: The state diagram for the FSM of the ALS.

OF AN ADVANCED LUT METHODOLOGY BASED FIR FILTER DESIGN PROCESS

VHDL Design and Implementation of FPGA Based Logic Analyzer: Work in Progress

A Fast Constant Coefficient Multiplier for the XC6200

International Journal of Engineering Research-Online A Peer Reviewed International Journal

Technical Data. HF Tuner WJ-9119 WATKINS-JOHNSON. Features

Tutorial 11 ChipscopePro, ISE 10.1 and Xilinx Simulator on the Digilent Spartan-3E board

LogiCORE IP Video Timing Controller v3.0

DDC and DUC Filters in SDR platforms

Laboratory 1 - Introduction to Digital Electronics and Lab Equipment (Logic Analyzers, Digital Oscilloscope, and FPGA-based Labkit)

FPGA Digital Signal Processing. Derek Kozel July 15, 2017

Data Converters and DSPs Getting Closer to Sensors

Design & Simulation of 128x Interpolator Filter

AR SWORD Digital Receiver EXciter (DREX)

Keywords Xilinx ISE, LUT, FIR System, SDR, Spectrum- Sensing, FPGA, Memory- optimization, A-OMS LUT.

Design and Implementation of Partial Reconfigurable Fir Filter Using Distributed Arithmetic Architecture

Objectives. Combinational logics Sequential logics Finite state machine Arithmetic circuits Datapath

Design and FPGA Implementation of 100Gbit/s Scrambler Architectures for OTN Protocol Chethan Kumar M 1, Praveen Kumar Y G 2, Dr. M. Z. Kurian 3.

L12: Reconfigurable Logic Architectures

EXOSTIV TM. Frédéric Leens, CEO

Polar Decoder PD-MS 1.1

PROCESSOR BASED TIMING SIGNAL GENERATOR FOR RADAR AND SENSOR APPLICATIONS

COMPUTER ENGINEERING PROGRAM

Block Diagram. dw*3 pixin (RGB) pixin_vsync pixin_hsync pixin_val pixin_rdy. clk_a. clk_b. h_s, h_bp, h_fp, h_disp, h_line

Sharif University of Technology. SoC: Introduction

T1 Deframer. LogiCORE Facts. Features. Applications. General Description. Core Specifics

THE DIAGNOSTICS BACK END SYSTEM BASED ON THE IN HOUSE DEVELOPED A DA AND A D O BOARDS

Digital Systems Design

FPGA Implementation of DA Algritm for Fir Filter

ECE532 Digital System Design Title: Stereoscopic Depth Detection Using Two Cameras. Final Design Report

AD9884A Evaluation Kit Documentation

FPGA Hardware Resource Specific Optimal Design for FIR Filters

Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science Introductory Digital Systems Laboratory

4-Ch. 250 MHz, 16-bit A/D, 2-Ch. 800 MHz, 16-bit D/A - FMC

DT9857E. Key Features: Dynamic Signal Analyzer for Sound and Vibration Analysis Expandable to 64 Channels

Using on-chip Test Pattern Compression for Full Scan SoC Designs

Why FPGAs? FPGA Overview. Why FPGAs?

INF4420 Project Spring Successive Approximation Register (SAR) Analog-to-Digital Converter (ADC)

AC : DIGITAL DESIGN MEETS DSP

Field Programmable Gate Array (FPGA) Based Trigger System for the Klystron Department. Darius Gray

Nutaq. PicoDigitizer-125. Up to 64 Channels, 125 MSPS ADCs, FPGA-based DAQ Solution With Up to 32 Channels, 1000 MSPS DACs PRODUCT SHEET. nutaq.

Co-simulation Techniques for Mixed Signal Circuits

DIRECT DIGITAL SYNTHESIS AND SPUR REDUCTION USING METHOD OF DITHERING

Faculty of Electrical & Electronics Engineering BEE3233 Electronics System Design. Laboratory 3: Finite State Machine (FSM)

Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science Introductory Digital Systems Laboratory

Memory efficient Distributed architecture LUT Design using Unified Architecture

Reconfigurable FPGA Implementation of FIR Filter using Modified DA Method

Design and implementation (in VHDL) of a VGA Display and Light Sensor to run on the Nexys4DDR board Report and Signoff due Week 6 (October 4)

Solutions to Embedded System Design Challenges Part II

DT9834 Series High-Performance Multifunction USB Data Acquisition Modules

LFSRs as Functional Blocks in Wireless Applications Author: Stephen Lim and Andy Miller

L11/12: Reconfigurable Logic Architectures

A Low Power Implementation of H.264 Adaptive Deblocking Filter Algorithm

Experiment: FPGA Design with Verilog (Part 4)

DVB-S Modulator IP Core Specifcatoon

Interfacing the TLC5510 Analog-to-Digital Converter to the

CESR BPM System Calibration

Hugo Technology. An introduction into Rob Watts' technology

White Paper Versatile Digital QAM Modulator

Design and Implementation of SOC VGA Controller Using Spartan-3E FPGA

ENGG2410: Digital Design Lab 5: Modular Designs and Hierarchy Using VHDL

A video signal processor for motioncompensated field-rate upconversion in consumer television

Block Diagram. 16/24/32 etc. pixin pixin_sof pixin_val. Supports 300 MHz+ operation on basic FPGA devices 2 Memory Read/Write Arbiter SYSTEM SIGNALS

Techniques for Extending Real-Time Oscilloscope Bandwidth

Major Differences Between the DT9847 Series Modules

Testing Results for a Video Poker System on a Chip

Inside Digital Design Accompany Lab Manual

Traffic Light Controller

Memory Interfaces Data Capture Using Direct Clocking Technique Author: Maria George

MASSACHUSETTS INSTITUTE OF TECHNOLOGY Department of Electrical Engineering and Computer Science Introductory Digital Systems Laboratory

Status of readout electronic design in MOST1

VID_OVERLAY. Digital Video Overlay Module Rev Key Design Features. Block Diagram. Applications. Pin-out Description

FPGA Design. Part I - Hardware Components. Thomas Lenzi

Modeling Latches and Flip-flops

Voice Controlled Car System

Memory Interfaces Data Capture Using Direct Clocking Technique Author: Maria George

MASSACHUSETTS INSTITUTE OF TECHNOLOGY Department of Electrical Engineering and Computer Sciences

DT9837 Series. High Performance, USB Powered Modules for Sound & Vibration Analysis. Key Features:

FPGA DESIGN OF CLUTTER GENERATOR FOR RADAR TESTING

Optimization of Multi-Channel BCH Error Decoding for Common Cases. Russell Dill Master's Thesis Defense April 20, 2015

International Journal of Engineering Trends and Technology (IJETT) - Volume4 Issue8- August 2013

Block Diagram. pixin. pixin_field. pixin_vsync. pixin_hsync. pixin_val. pixin_rdy. pixels_per_line. lines_per_field. pixels_per_line [11:0]

Distributed Arithmetic Unit Design for Fir Filter

Programmable Logic Design I

LogiCORE IP Spartan-6 FPGA Triple-Rate SDI v1.0

Altera s Max+plus II Tutorial

RAPID SOC PROOF-OF-CONCEPT FOR ZERO COST JEFF MILLER, PRODUCT MARKETING AND STRATEGY, MENTOR GRAPHICS PHIL BURR, SENIOR PRODUCT MANAGER, ARM

Dual Link DVI Receiver Implementation

VRT Radio Transport for SDR Architectures

Achieving Timing Closure in ALTERA FPGAs

DT3162. Ideal Applications Machine Vision Medical Imaging/Diagnostics Scientific Imaging

DEDICATED TO EMBEDDED SOLUTIONS

Figure 1: Feature Vector Sequence Generator block diagram.

Implementation of Dynamic RAMs with clock gating circuits using Verilog HDL

An Enhancement of Decimation Process using Fast Cascaded Integrator Comb (CIC) Filter

Transcription:

Radar Signal Processing Final Report Spring Semester 2017 Full report report by Brian Larson Other team members, Grad Students: Mohit Kumar, Shashank Joshil Department of Electrical and Computer Engineering Colorado State University Fort Collins, Colorado 80523 Project advisor(s): Dr. V. Chandrasekar Approved by: Mohit Kumar 1 P a g e

Abstract Currently the D3R radar is an important part of the Global Precipitation Measurement mission. It is used to gather data for the Ground Validation program, which uses data from several radars to cross-validate to characterize errors and quantify uncertainties in the precipitation measurements of the GPM program [1]. Currently this radar uses a Pentek Model 71620 board for signal processing. This board includes three input channels of analog to digital converters (ADC) and two output digital to analog converters (DAC). It also includes a Xilinx Virtex-6 field programmable gate array (FPGA). The issue is that only two of the three input channels are active. This is because the team previously working on the FPGA digital processing design was not able to fit the required logic for all three input channels. The first thing we did was start building the signal processing blocks from scratch with resource management and efficiency in mind. This allowed us to learn how to design parts that utilized the FPGA s resources more effectively from the start. We are utilizing Xilinx IPcores in this design because it was specifically designed to be optimized for the FPGA. This is because there are some specialized parts in the Virtex-6 FPGA that can only be effectively utilized by the IPcores. The next stage of the project was to modify the existing FPGA design to work with all available input channels. This involved modifying several VHSIC Hardware Description Language (VHDL) code blocks. There were control registers that needed to be expanded to hold the additional control information as well as data flow changes. 2 P a g e

Contents Abstract... 2 Contents... 3 Table of Figures... 4 Chapter 1: Introduction... 5 Chapter 2 Review of Previous Work... 7 2.1 Analog to digital converter interface... 7 2.2 Direct Digital Synthesizer (DDS)... 8 2.3 Finite Impulse Response (FIR) Filter... 8 2.4 Pulse Compression Filter... 9 Chapter 3 VHDL Changes... 10 3.1 - Control Registers... 10 3.2 DSP Subchannel... 10 3.3 Subchannel-Interleaver... 10 Chapter 4 Tools... 11 4.1 Xilinx ISE... 11 4.2 Xilinx ISim... 11 4.3 - MATLAB... 11 Chapter 5 Optimization... 12 5.1 Synthesis... 12 5.2 - Implementation... 12 Chapter 6 Testing and debugging... 13 Chapter 7 Conclusions and Future Work... 13 References... 14 Appendix A: Abbreviations... 15 Appendix B: Budget... 15 Appendix C: Timeline... 15 Original timeline... 15 Revised Timeline... 16 Acknowledgments... 16 3 P a g e

Table of Figures Figure 1 - Pentek Model 71620 [2]... 5 Figure 2 - Pentek Virtex 6 FPGA [2]... 5 Figure 3 - ADC Acquisition Module [2]... 6 Figure 4 - Digital Downconverter... 7 Figure 5 - ADS5485 timing information [3]... 7 Figure 6 - DDS Phase Accumulator [6]... 8 Figure 7 - Downconverter output given 70Mhz input... 8 Figure 8 - Pulse Compression Filter diagram... 9 4 P a g e

Chapter 1: Introduction The D3R radar is an important part of the Global Precipitation Measurement (GMP) mission. It is used to gather data for the Ground Validation program, which uses data from several radars to cross-validate to characterize errors and quantify uncertainties in the precipitation measurements of the GPM program [1]. This radar currently uses a Pentek Model 71620 board for initial signal processing and interfacing with servers. This board includes three input channels of analog to digital converters (ADC) and two output digital to analog converters (DAC). The three analog to digital converters are intended to be used to read radar inputs. Two of these channels are used to measure active polarized radar inputs and matching polarized outputs. The issue is that only two of the three input channels are currently in use. This is because the team previously working on the FPGA digital processing design was not able to fit the required logic for all three input channels. Implementing an additional analog to digital converter channel will significantly improve the accuracy of the overall system. The additional channel will be used mainly as a passive sensor. This will to help filter out noise that could otherwise impact the accuracy of the other two sensors. The result of this is better weather analysis and prediction. A major benefit of this project is that it should have no additional cost for new hardware. In this project, we will make use of the existing hardware to add additional functionality. By adding the passive channel with the current hardware, there will be less need to upgrade it. By delaying a hardware upgrade to the digital receiver and waveform generator, other parts of the radar may be upgraded. Pentek provided board as well as the base infrastructure for the FPGA. The basic block diagram of the board can be seen in Figure 1 - Pentek Model 71620. The board provides the interface between the radars and the servers. Figure 2 - Pentek Virtex 6 FPGA shows a block diagram of the provided FPGA code. As you can see there are the expected three 200MHz 16 bit inputs as well as the two outputs as well as a PCI-E interface to communicate with servers. Figure 1 - Pentek Model 71620 [2] Figure 2 - Pentek Virtex 6 FPGA [2] 5 P a g e

Inside the ADC Acquisition Modules there is a section of user code as seen in Figure 3 - ADC Acquisition Module. This is where the focus of this project lies. In this section, we will be implementing a digital downconverter and a pulse compression filter. Figure 3 - ADC Acquisition Module [2] In this project, we will focus on creating a less resource intensive design for signal processing inside the FPGA. The two main challenges in this project are to create a design that fits in the FPGA and meets timing. To do this we will balance the utilization of the different parts of the design. One example of this could be to reduce the number of values in the coefficient vector in the finite impulse response filter (discussed in chapter 2). The first thing we did was start building the user block from scratch with resource management and efficiency in mind. This allowed us design parts that were more efficient from the start. We are utilizing Xilinx IPcores in this design because it was specifically designed to be optimized for the FPGA. This is because there are some specialized parts in the Virtex-6 FPGA that can only be effectively utilized by the IPcores. Chapter 2 contains a review of previous work. 6 P a g e

Chapter 2 Review of Previous Work The major part we designed up to this point is the Digital Downconverter. The design of the downconverter can be seen in Figure 4 - Digital Downconverter. The downconverter is designed to read in a 60 MHz signal with a 30MHz bandwidth, then shift it down to baseband. Due to the ADC only having a real-time component and no imaginary component, the output signal will have a reflection. This reflection, along with all the high frequency noise, will be filtered out of the signal. Figure 4 - Digital Downconverter 2.1 Analog to digital converter interface In this project, we will interface with the ADS5485 16-Bit, 200-MSPS Analog-to-Digital Converter (ADC). This ADC sends information over 16 pins using differential signaling. This means that there are 8 differential pairs sending data. Differential pairs are used to reduce the interference from external electromagnetic interference. Because there are only 8 signals being sent at a time, the ADC sends two sets of information each clock cycle as seen in Figure 5 - ADS5485 timing information. It sends the even bits on the rising clock edge and the odd bits on the falling clock edge. To use this data, we need to repack it as a single 16-bit value. To accomplish this, we saved the even bits of data on the rising clock edge, stored the value and packed it with the odd bits of data. We would then output this value on the next rising clock edge while also reading in the next set of even bits. Figure 5 - ADS5485 timing information [3] 7 P a g e

2.2 Direct Digital Synthesizer (DDS) The first part of the downconverter is the 60MHz DDS. The function of the DDS is to generate sign and cosine wave to represent the real and imaginary domains. By multiplying the output of the DDS by the input from the ADC, the signal is shifted down by 60MHz. The DDS functions by using a Phase Accumulator to control the address it needs to use from the lookup table. This way it can output the closest digital value to the sign wave it is generating. For this project we used the Xilinx Figure 6 - DDS Phase Accumulator [6] LogiCORE IP DDS Compiler v4.0. This is a highly customizable design, which we used to output a 60MHz 16-bit two s complement signal. Using the Xilinx DDS datasheet [4], we could set up all the parameters. 2.3 Finite Impulse Response (FIR) Filter After the signal has been shifted down, we used a FIR filter as a downconverter to filter out any frequencies above 15MHz. This filtering is done in the real-time domain using the equation M h[k]x[n k] k= M. We used the Xilinx IP LogiCORE FIR Compiler v5.0. We set it up to use a single channel, with two data streams to account for both the real and imaginary components of the signal. The output of this filter gave us a signal with no reflection and low noise. An example of this can be seen in Figure 7 - Downconverter output given 70Mhz input. Figure 7 - Downconverter output given 70Mhz input 8 P a g e

2.4 Pulse Compression Filter Pulse compression filters are used to increase the bandwidth of a pulse, improve sensitivity, and avoid sacrificing range resolution. If multiple responses overlap, a pulse compression filter allows you to measure the response time. X re[i] FIRre FIRre + - The pulse compression filter used in this project is shown in Figure 8 - Pulse Compression Filter diagram. X im[i] FIRim FIRim Figure 8 - Pulse Compression Filter diagram 9 P a g e

Chapter 3 VHDL Changes The Digital Signal Processing (DSP) block contains several major sections. It contains three DSP Subchannel, which control the processing for each of the three input channels. It also contains a subchannel-interleaver, which is used to control which Subchannel is currently sending processed data. The last major component is the DSP control registers. 3.1 - Control Registers The Control Registers control how the incoming data is processed. There are multiple options for which filters are used for the digital downconverter in each DSP Subchannel. It is also possible to load a different set of coefficients into the pulse compression FIR filters. The control registers can be set to determine what options are selected in each of the DSP Subchannels at run time. The largest part of the control register is a block ram, which stores all control data. This block ram was expanded to hold the required control data for the new DSP Subchannel. It was also necessary to increase the width of the data bus which is used to send data back to servers for additional processing. 3.2 DSP Subchannel Each Subchannel is responsible for processing an input signal from the ADC. This signal goes through a digital downconverter to shift the signal to approximately 0 MHz. Once the signal is shifted it goes through a pulse compression filter. Finally, it is sends the processed signal to an output FIFO. 3.3 Subchannel-Interleaver The Subchannel-Interleaver is a block which controls when the Subchannels output their data. The Subchannel-Interleaver is controlled by the Control Registers. 10 P a g e

Chapter 4 Tools There were several modern tools used in this project. The main ones were Xilinx ISE, Xilinx ISim, and Matlab. All of these tools were used in conjunction. 4.1 Xilinx ISE The main tool used for this project was Xilinx ISE. It integrates with all other necessary Xilinx tools and contains all required functionality to work with the Virtex-6 FPGA. It contains a functional logic simulator, synthesis tool, layout mapper, and a bit-stream generation tool. There is also a very large IP library available to use. ISE is also able to tell whether or not your design meets the given timing and space constraints. ISE was also used because it can provide debugging tools such as ChipScope. Using ChipScope allows you to record the values of any bus you set inside the FPGA while it is running. It can start recording given a variety of different triggers. This can be very useful to track down any potential issues. 4.2 Xilinx ISim ISim is the functional simulation built into ISE. It was extremely helpful to track down bugs in the logic of the design. The most useful part of ISim is the waveform viewer. It allows you to track down most bugs much more easily. It is also a great tool for debugging. Although ISim is not able to directly export the values of its waveforms, we found a way to use VHDL to print the values of different busses to a file, which we would then open in Matlab. 4.3 - MATLAB We have used MATLAB to plot the outputs to our design and verify it functions properly. We checked that our outputs were correct by plotting in both the time and frequency domains. An example of an output is shown in Figure 7 - Downconverter output given 70Mhz input. As you can see the output signal is 10MHz. 11 P a g e

Chapter 5 Optimization Most optimization was done using the Xilinx ISE Synthesize and Implementation tools. There are numerous settings for each step of the synthesis and Implementation process. 5.1 Synthesis The synthesis tool takes high level VHDL code and converts it to logic gates. During this step, any logic that isn t used will automatically be removed. The synthesis tool generates a set of netlists as its output. 5.2 - Implementation Most of the optimizations happen during the Implementation phase. Implementation consists of three major steps: Translate, Map, and Place and Route. The Translation phase takes the output from the synthesis tool and converts it into a Xilinx Native Generic Database (NGD) file. There are no options to help optimize the design in this part, however the output NGD file can be opened by the Map tool. The map tool maps the logic stored in the NGD file and maps it to FPGA elements, such as Configurable Logic Blocks (CLBs) and Input/Output Buffers (IOBs). This is the phase where most of the optimization happens. A few of the most effective settings for performance could minimize combinational logic and optimize logic between blocks. This had a substantial impact on helping to meet timing constraints. The final output of the map tool is a Native Circuit Description (NCD) file. This file represents all existing components that will be placed in the FPGA. The final phase of implementation is the Place and Route tool. This tool takes in the NCD file as an input to determine where on the physical FPGA the different components will be placed and how the connections between these components will be routed. There are few optimizations to be performed in this stage, however, this stage is what will determine whether the design will meet the given timing requirements. 12 P a g e

Chapter 6 Testing and debugging To test our design, we used the tools listed in Chapter 4. We tested the downconverter as well as the components used in it. These tests were useful to make sure that each part works the way it is expected to work. The tests were incrementally made as we designed each new block. The method used to test blocks will be to put each block into a test bench, which will provide simulated inputs and make sure the expected outputs match. These simulations were run using ISim and the results were then loaded into MATLAB to verify they are correct. Whenever the results were incorrect we would begin to debug the issue. This involved looking through the waveforms to make sure the logic is being carried through as expected. When we found where there appeared to be a problem in the waveforms, we would search for the section of code that could have caused it. We then rerun the simulation and make sure the issue is solved. Chapter 7 Conclusions and Future Work To start this project, we created a digital downconverter from scratch to learn how the parts and tools function. This required designing a digital downconverter using VHDL, creating a test bench, and simulating the newly designed parts. Once we finished this, we started modifying the previously written code. We modified the DSP block to allow for the additional input. Additional testing will need to be done in both simulation and on hardware. There will also need to be additional work to make sure the design works with a larger amount of signal noise. Some future testing will require access to a ISE license to use the implementation tools on our FPGA. 13 P a g e

References [1] V. Chandrasekar, M. Schwaller, M. Vega, J. Carswell, K. V. Mishra, R. Meneghini and C. Nguyen, "SCIENTIFIC AND ENGINEERING OVERVIEW OF THE NASA DUAL-FREQUENCY DUALPOLARIZED," IGARSS, pp. 4815-4818, 2010. [2] Pentek, "MODEL 71620 OPERATING MANUAL," 2014. [3] Texas Insturments, "16-Bit, 170/200-MSPS Analog-to-Digital Converters," 2009. [4] Xilinx, "LogiCORE IP DDS Compiler v4.0," 2011. [5] A. Devices, "Fundamentals of Direct Digital Synthesis (DDS)," 2008. [6] National Instruments, "Understanding Direct Digital Synthesis (DDS)," National Instruments, 4 May 2015. [Online]. Available: http://www.ni.com/white-paper/5516/en/. [Accessed 21 November 2016]. 14 P a g e

Appendix A: Abbreviations ADC - Analog to Digital Converters DAC - Digital to Analog Converters DDS - Direct Digital Synthesis DSP - Digital Signal Processing FPGA - Field Programmable Gate Array HDL - Hardware Description Language FIR - Finite Impulse Response GMP - Global Precipitation Measurement CLB - Configurable Logic Block IOBs - Input/Output Buffers Appendix B: Budget Currently no money has been spent on the project. One of the key parts of this project is that it will be done using existing hardware. Appendix C: Timeline Original timeline 10/27/2016 Finish going through the Gateflow IP_cores modules/parts. (modify and test modules) Meet with team to discuss functionality and issues with modules. 11/17/2016 Go through overall design of the existing design. (import project to Vivado). Brian explains to team on required changes to current design. 12/08/2016 Finish updating FPGA design with modified modules/updated modules. Present issues and architectural constraints. Brian sends code to team to review and test. 1/31/2017 Based on feedback from team, make modifications to design. 3/03/2017 Fit new design into FPGA and meet timing in Vivado tools. [will be iterative process for the team] 3/31/2017 Complete testing new design. [Working with team to maximize performance] 4/13/2017 Finish report and presentation Present project at E-Days. 15 P a g e

Revised Timeline Date Phase Task Who 1/10/2916 Design 1/31/2016 3/3/2017 Simulation Testing Optimization Finish updating FPGA design with modified modules/updated modules. Present issues and architectural constraints. Check the updated FPGA design with initial testcases. Test the code with more rigirous tescases. Complete new comprehensive design testing. Incorporate the code with the exisiting software and firmware and check for resource utilization and compatibility. If the above method fails use advanced features of the tools. Fit new design into FPGA and meet timing in ISE. Brian Brian, Mohit and Shashank Brian, Mohit and Shashank Brian Brian, Mohit and Shashank Brian, Mohit and Shashank Brian Brian, Mohit Present hardware preliminary testcases. Hardware testing and Shashank 3/31/2016 Complete testing new design. Brian Acknowledgments I would like to thank my project advisor Dr. V. Chandrasekar as well as Mohit Kumar and Shashank Joshil for being my graduate project mentors. I would also like to thank Nabeel Moin for his help understanding signal processing as well as debugging issues. 16 P a g e