LWA DRX C Language Simulation Report - v0.1

Similar documents
Implementation of a Low Power Decimation Filter Using 1/3-Band IIR Filter

In this article, we present and analyze

ECE4703 B Term Laboratory Assignment 2 Floating Point Filters Using the TMS320C6713 DSK Project Code and Report Due at 3 pm 9-Nov-2017

FPGA Based Digital Signal Processing Applications & Techniques. Nathan Eddy Fermilab BIW12 Tutorial

Data Manual GC4016 MULTI-STANDARD QUAD DDC CHIP

New! New! New! New! New!

Implementing Biquad IIR filters with the ASN Filter Designer and the ARM CMSIS DSP software framework

High Level Abstractions for Implementation of Software Radios

Fatima Michael College of Engineering & Technology

02 - Numerical Representations

D. Richard Brown III Associate Professor Worcester Polytechnic Institute Electrical and Computer Engineering Department

Audio-coding standards

Advanced Design System 1.5. Digital Filter Designer

Digital copying involves a process. Developing a raster detector system with the J array processing language SOFTWARE.

Optical Data Interface ODI-2.1 High Speed Data Formats Preliminary Specification

Understanding Signal to Noise Ratio and Noise Spectral Density in high speed data converters

Audio-coding standards

S2CBench : Synthesizable SystemC Benchmark Suite for High-Level Synthesis

FS2000 Series Fast Switching Synthesizer

s3.kth.se MUMS Lecture ACE course Agenda C-Programming language Global and local variables

UM1641 User manual. Sampling rate conversion SRC236 library software expansion for STM32Cube. Introduction

Digital Signal Processing with Field Programmable Gate Arrays

Laboratory Exercise #5

AN-1055 APPLICATION NOTE

D. Richard Brown III Professor Worcester Polytechnic Institute Electrical and Computer Engineering Department

S2CBench : Synthesizable SystemC Benchmark Suite for High-Level Synthesis

Core Facts. Documentation Design File Formats. Verification Instantiation Templates Reference Designs & Application Notes Additional Items

User Manual for FC100

Jason Manley. Internal presentation: Operation overview and drill-down October 2007

CHAPTER 4. DIGITAL DOWNCONVERTER FOR WiMAX SYSTEM

Filterbanks and transforms

Objectives. Connecting with Computer Science 2

New! New! New! New! New!

PC104P66-16HSDI4AO4:

SR3_Analog_32. User s Manual

Four Best Practices for Prototyping MATLAB and Simulink Algorithms on FPGAs by Stephan van Beek, Sudhir Sharma, and Sudeepa Prakash, MathWorks

CHAPTER TWO LITERATURE REVIEW

How to validate your FPGA design using realworld

19. Implementing High-Performance DSP Functions in Stratix & Stratix GX Devices

Method We follow- How to Get Entry Pass in SEMICODUCTOR Industries for 3rd year engineering. Winter/Summer Training

Optical Data Interface ODI-2.1 High Speed Data Formats Preliminary Specification. Revision Date

156.25MHz in Xilinx Virtex6 w/ -2 speed grade

GC2011A 3.3V DIGITAL FILTER CHIP DATASHEET. March 21, 2000

8-Bit to 16-Bit, 40MSPS to 500MSPS ADC Evaluation System

Spectral modeling of musical sounds

cpci6u64-20aof16c500kr

REAL-TIME DIGITAL SIGNAL PROCESSING

EE2S11 Signals and Systems, part 2. Ch.7.3 Analog filter design. Note differences in notation. We often write. transition band passband.

DSP. Presented to the IEEE Central Texas Consultants Network by Sergio Liberman

Mpeg 1 layer 3 (mp3) general overview

REAL TIME DIGITAL SIGNAL PROCESSING

ET4254 Communications and Networking 1

IEEE 1901 HD-PLC (High Definition Power Line Communication) Abstract

Using an FFT on the Sigma-Delta ADCs

8-Bit to 14-Bit, 40MSPS to 500MSPS ADC Evaluation System

Correlator Field-of-View Shaping

Compact 8 in 1 Multi-Instruments SF Series

ECE 5655/4655 Laboratory Problems

Data Acquisition Specifications a Glossary Richard House

NMS Spectrum Analyzer Application

RECENTLY, researches on gigabit wireless personal area

Getting Started with montaj GridKnit

MASSACHUSETTS INSTITUTE OF TECHNOLOGY HAYSTACK OBSERVATORY

A POWER EFFICIENT POLYPHASE SHARPENED CIC DECIMATION FILTER. FOR SIGMA-DELTA ADCs. A Thesis. Presented to

New! New! New! New! New!

PXDAC4800. Product Information Sheet. 1.2 GSPS 4-Channel Arbitrary Waveform Generator FEATURES APPLICATIONS OVERVIEW

19 th INTERNATIONAL CONGRESS ON ACOUSTICS MADRID, 2-7 SEPTEMBER 2007

Test and Measurement Product Catalog. ZTEC Instruments. The Leader in Modular Oscilloscopes

PX14400D2 14-Bit, 400 MS/s, 2 CH DC-Coupled, PCIe Digitizer

INTEGER SEQUENCE WINDOW BASED RECONFIGURABLE FIR FILTERS.

System Debugging Tools Overview

Agenda. Introduction FPGA DSP platforms Design challenges New programming models for FPGAs

Exercise 1 In this exercise you will review the DSSS modem design using the Quartus II software.

DSL Consortium. VDSL2 Rate vs. Reach Interoperability Test Suite (V2RR) Version Last Updated: March 24, 2008

TEXAS INSTRUMENTS ANALOG UNIVERSITY PROGRAM DESIGN CONTEST MIXED SIGNAL TEST INTERFACE CHRISTOPHER EDMONDS, DANIEL KEESE, RICHARD PRZYBYLA SCHOOL OF

Audio Coding and MP3

INTRODUCTION TO CATAPULT C

A Parallel Hardware Architecture for Information-Theoretic Adaptive Filtering

Programming Logic and Design Sixth Edition

New! New! New! New! New!

noise We: noise 51+1

Digital Signal Processing System Design: LabVIEW-Based Hybrid Programming Nasser Kehtarnavaz

Latest Innovation For FFT implementation using RCBNS

Filter Bank Design and Sub-Band Coding

Core Facts. Documentation Design File Formats. Verification Instantiation Templates Reference Designs & Application Notes Additional Items

[1] IEEE , Standard for Floating-Point Arithmetic [and Floating-Point formats]

Implementing FIR Filters

GIGABIT ETHERNET CONSORTIUM

Instruction Manual. Sound Calibrator 42AB. LI0062 Revision 30 April 2012

ThinkRF R5500. Real-Time Spectrum Analyzer 9 khz to 8 GHz / 18 GHz / 27 GHz. Technical Data Sheet Preliminary

A Non-Iterative Approach to Frequency Estimation of a Complex Exponential in Noise by Interpolation of Fourier Coefficients

Heath Yardley University of Adelaide Radar Research Centre

Parallel FIR Filters. Chapter 5

Core Facts. Documentation Design File Formats. Verification Instantiation Templates Reference Designs & Application Notes Additional Items

Rapid Prototyping System for Teaching Real-Time Digital Signal Processing

Rationale for TR Extension to the programming language C. Decimal Floating-Point Arithmetic

LOW COMPLEXITY SUBBAND ANALYSIS USING QUADRATURE MIRROR FILTERS

AND9105/D. Biquad Filters in ON Semiconductor Pre-configured Digital Hybrids APPLICATION NOTE. a 0 = 1. x[n] y[n] a 1. b 1. z 1. a 2.

CPCI-16HSDI. 16-Bit, Six-Channel Sigma-Delta Analog Input Board. With 1.1 MSPS Sample Rate per Channel, and Two Independent Clocks.

AR-IQ v.1.1. Receiver Control. I/Q Record & Playback. for AR-ALPHA

Transcription:

LWA DRX C Language Simulation Report - v0.1 Johnathan York (ARL:UT) February 1, 2008 1 Introduction This document contains a short report on the Long Wavelength Array (LWA) Digital Receiver (DRX) C simulator and support files. For context, please see the DRX design document contained in [3], and the LWA Station Architecture document [1]. The goal of this simulator is to mimic in software the operation of the DRX hardware. This simulator has a variety of intended uses, including: early validation of the digital signal processing algorithms used in the DRX, separation of algorithm development from register transfer language (RTL) implementation issues, promoting early interoperability testing, specifically with the DAC and other downstream components, and promoting more extensive testing by running at 1,000X slower than realtime, rather than 1,000,000X typical for RTL simulations of this size. In effect, the C simulation complements high-level design documentation by providing a bit-accurate, functional interface control document between the externally visible performance requirements and the RTL development of the DRX. That is, potential end-users of the DRX are able to experimentally validate that the DRX design will meet their needs using the C simulation, while RTL designers can validate their implementations at the bit-level against the output of the C simulation. 1

Figure 1: Block diagram of the DRX DSP components 2

2 Design Figure 1 is a block diagram of the digital signal processing (DSP) components of the DRX. The design of the simulator closely mimics the intended hardware layout, in that separate C source files contain the logic for each module. In all there are 5 modules implementing Digital Signal Processing algorithms. These include tuner.hpp - Implements a fixed-point lookup table (LUT) based, complexvalued heterodyning mixer cic.hpp - Implements a Cascaded Integrating Comb (CIC) [4] decimating filter fir.hpp - Implements a fixed-point Finite Impulse Response (FIR) filter pfb fir.hpp - Implements a fixed-point Finite Impulse Response (FIR) filterbank suitable for polyphase filterbank (PFB) implementation fft.hpp - Implements a fixed-point Fast Fourier Transform (FFT) Although this document is titled as a C language simulation, a C++ language simulation is perhaps more accurate. The simulator components, as currently written, make heavy use of C++ templates to facilitate experimentation with varying bit-depths, fixed/floating-point arithmetic, and complex/real valued signals. The file sample.hpp provides a templated complex sample type used throughout the simulator. The file inttraits.hpp contains trait classes used to appropriately size accumulators, and result values based upon the input data types specified via template parameters. The heavy use of templates allows the compiler to perform substantial compiletime optimizations while preserving the data-type and data-flow agnostic characteristics of the simulator components themselves. 3 Interface While the simulator components are modularized C++ classes, the uservisible interface is provided through 5 executable files, each one testing a specific subset of the DRX components: ddc testbench - Tests the tuner, CIC, and fir components. Accepts 16-bit I&Q time-domain samples, outputs 16-bit I&Q time-domain samples. 3

pfbfir testbench - Tests Polyphase FIR. Accepts 16-bit I&Q time-domain samples, outputs filtered 16-bit I&Q time-domain (but polyphase) samples. fft testbench - Tests the FFT module. Accepts 4096 32-bit I&Q timedomain samples, outputs 4096 32-bit I&Q frequency-domain samples. pfb testbench - Test the Polyhase FIR and FFT modules. Accepts 16- bit I&Q time-domain samples, outputs 4096 interleaved 32-bit I&Q frequency channels. drx testbench - Tests the entire DRX module. Accepts 16-bit I&Q time-domain samples, outputs 4096 interleaved 32-bit I&Q frequency channels. The general philosophy is that each of these executables reads binary data from stdin, and writes output binary data to stdout. As noted above, time-domain data is input as signed 16-bit I&Q samples. That is, each sample consists of 4 bytes: 2 for the in-phase component and 2 for the quadrature component. The output of the DRX module are blocks of 4096 samples, each sample consisting of 8 total bytes (4 bytes for the 32-bit signed in-phase component and 4 bytes for the 32-bit signed quadrature component). Each of 4096 samples within a block contains the data for one frequency channel for a single time step. The drx testbench module accepts command line parameters to set the various DRX runtime configurable parameters outlined in [3]. In addition to the C++ simulator, sample Python code leveraging the numpy and matplotlib modules are provided to exercise each executable and produce graphical output. 4 Validation While the C simulation is merely an intermediate product of the DRX development effort, it is nevertheless a useful exercise to examine how the C simulation matches up with the LWA technical requirements specified in [2]. Table 1 captures the LWA technical requirements relevant to the DRX C simulation. Due to the deterministic nature of digital signal processing techniques, most of the LWA technical requirements relevant to the DRX can (and must) be correct by design. That is, proper design techniques ensure that the DRX meets the requirements. For the DRX the relevant design analysis can be found in [3]. 4

Number Requirement Value Validation By TR-1A/B Frequency Range 20-80 MHz By Design TR-2 Instantaneous BW per beam 8 MHz By Design TR-3 Min channel width 100 Hz By Design TR-5A Min temporal resolution 10 ms By Design TR-24A/B RFI mitigation Qualitative By Design & Test Table 1: Technical requirements relevant to the DRX C simulation Because many of the technical requirements must be correct by design, experimental validation of the C language DRX simulation is limited to verification that 1) the C simulation implements the design specified, 2) effects due to fixed-point implementation are tolerable, 3) the simulation handles known DSP corner cases. The tests documented in the remainder of this section are included to give an indication that the simulation is functioning correctly based on these criteria, but the tests here are by no means exhaustive, nor do they capture the full extent of the tests performed the simulation. These tests were conducted in three phases: 1) validation of the digital downconversion (DDC) component (including the first-stage tuner, CIC low-pass filter, and FIR low-pass filter components shown in Figure 1), 2) validation of the remaining channelizing components (the polyphase filter bank components of Figure 1 ), and 3) integration tests of the entire simulation. 4.1 Digital Down-Conversion Tests The first tests conducted on the DRX simulation validated the gross operation of the first stage tuner, consisting of the mixing, CIC, and FIR filter. Figure 2 shows the time domain output of the first stage tuner for a single tone for varying CIC decimation factors. Note that in the deci = 6 case, in which the tuned bandwidth is 2 (6 0) = 64 times narrower than the deci=0 mode, the tone has moved partially outside of the increasingly narrow passband. Figure 3 shows the time domain output of the first stage tuner for a single, constant-frequency input tone for various center tuning frequency parameter. This data is taken in the deci = 0 mode, which provides approximately 8 MHz of bandwidth. Note the attenuation that occurs beyond the 4 MHz cutoff frequency. Figure 4 shows the FFTed output of the first stage tuner for a white noise input applied to the DRX. This data was taken in the deci = 0 mode, 5

1500 1000 deci=0 deci=2 deci=4 deci=6 500 Amplitude 0-500 -1000-1500 0 20 40 60 80 100 120 140 Time (output samples) Figure 2: Time-domain output of tuner for single tone with varying CIC decimation factors 1500 1000 500 freq=0 (0.0 MHz) freq=20 (1.9 MHz) freq=40 (3.8 MHz) freq=60 (5.7 MHz) freq=80 (7.7 MHz) Amplitude 0-500 -1000-1500 0 20 40 60 80 100 120 140 Time (output samples) Figure 3: Time-domain output of tuner for single tone with varying frequency tunings 6

0-1 -2 Power (db) -3-4 -5-6 -7-8 -6-4 -2 0 2 4 6 8 Frequency Offset (MHz) Figure 4: Incoherent average of 4096 FFTs of the first stage tuner output with white noise applied to the DRX input which provides approximately 8 MHz of usable passband. Note that the passband is within 4 MHz of the center frequency, and that the noise power shown does not directly correspond to the out of band rejection values for the filter. 4.2 Channelizer Tests The fine channelizer component of the DRX is composed of a polyphase FIR filterbank followed by an fixed-point fast Fourier transform (FFT) module. Figure 5 shows the amplitudes for 8 of 4096 phases of the polyphase FIR component when the input is excited by a 4096-sample length rect() signal. The rect() signal length is equal to the number of phases of the polyphase FIR, and so each phase of the filterbank sees a unit impulse. The 8 phases shown are evenly spread across the entire filterbank, such that evidence of the interpolating effect of the polyphase response is evident across the channels. Figure 6 shows the output of the fixed-point FFT module when excited by a single value of 16 in input bin 4. The values from a reference floatingpoint FFT algorithm (numpy) are represented by the green traces, while the values from the fixed-point module under test are shown in blue. The 7

Amplitude 0 5 10 15 20 25 30 35 Output Sample Number Figure 5: Output of eight (out of 4096) phases of the polyphase FIR when excited by a rect(x) input maximum deviation is 0.5 LSB units, which indicates the algorithm worked correctly in this test case. 4.3 Fully Integrated DRX Tests After validating each component of the DRX simulation individually, tests of the integrated DRX simulation were performed. For these tests input data from was produced using floating-point arithmetic, then converted to 12-bit fixed-point, so as to mimic an ideal 12-bit analog to digital converter operating at 196 MSPS. Unless otherwise noted, graphs depict a single FFT, captured randomly from the DRX simulator output stream. That is, no post-process averaging has been applied to the output. Furthermore, no dither has been applied to any of the sinusoidal input signals. Figure 7 shows the amplitude output of the DRX when excited by a -0.5 dbfs single tone aligned with the FFT frequency bins. Figure 8 shows the same results, but zoomed tightly around the FFT bins containing the tone. One FFT bin away the power level is below -75 dbc, and beyond two bins the power levels remains below -97dBc. These results are consistent with the expected results of -75dBc and -100 dbc from [3]. The internal math of the DRX is predominantly at 16 bits, which puts a theoretical bound of 8

20 15 10 5 0-5 -10-15 SingleOneEntry(4) Test Maximum delta: 0.50 SD: 0.00-20 0 500 1000 1500 2000 2500 3000 3500 4000 4500 20 15 10 5 0-5 -10-15 -20 0 500 1000 1500 2000 2500 3000 3500 4000 4500 Figure 6: Real (top) and imaginary (bottom) output of the fixed-point FFT module when excited by a single value of 16 in input bin 4. The values from a reference floating-point FFT are shown in green, while data from the unit under test is shown in blue. 9

0-20 -40-60 Power (dbc) -80-100 -120-140 -160-180 0 500 1000 1500 2000 2500 3000 3500 4000 4500 FFT Bin Figure 7: Single-tone, FFT Bin-Aligned Test 1.76+6.02 16 98 dbc. Thus the measured -97 dbc spurious level appears to be limited by quantization effects rather than filter roll-off. To ensure that the behavior is stable for input frequencies not related to the FFT bin width, the experiment above was repeated at offsets that are multiples of 0.2 2 times the FFT bin size. The factor 0.2 2 is arbitrary, but is a convenient irrational number suitable for generating test tone frequencies not harmonically related to internal DRX frequencies. Figure 9 shows the results of this test. Note the low-level, and relatively well-behaved noise away from the carrier, and the smooth transition between the two adjacent frequency bins. For completeness, a two tone test was conducted in which two tones 100 + 0.1 2 FFT bins apart at -6.5 dbfs were provided as inputs into the DRX simulator. Figures 10 and 11 show the results, which notably are absent of detectable nonlinearity-generated products. To demonstrate out-of-band rejection, the two tone test was repeated but modified to place the two tones just out of the tuned band. The highest inband spurious product was measured at -94.5 dbc, which is consistent with expectations for the test setup of two -6.5dBFS tones and 16-bit internal arithmetic. A further test was conducted in which Gaussian white noise was provided 10

0-20 -40 Power (dbc) -60-80 -100-120 -140 2040 2045 2050 2055 2060 FFT Bin Figure 8: Single-tone, FFT Bin-Aligned Test (zoomed) 0-20 -40 Power (dbc) -60-80 -100-120 -140 2040 2045 2050 2055 2060 FFT Bin Figure 9: Single-tone tests at steps of 0.2 2 times the width of an FFT bin 11

0-20 -40 Power (dbc) -60-80 -100-120 -140-160 0 500 1000 1500 2000 2500 3000 3500 4000 4500 FFT Bin Figure 10: Two-tone Test Results 0-20 -40 Power (dbc) -60-80 -100-120 -140 2200 2300 2400 2500 2600 2700 2800 2900 3000 FFT Bin Figure 11: Two-tone Test Results (zoomed) 12

-90-100 -110 Power (dbc) -120-130 -140-150 0 500 1000 1500 2000 2500 3000 3500 4000 4500 FFT Bin Figure 12: Out-of-band two-tone Test Results as input to the DRX simulator, the results of which are shown in Figure 13. 5 Document History Revision 0.1 - This is the initial version of this document 6 Conclusion The DRX C-language simulation provides a bit-accurate, functional interface control document between the externally visible performance requirements and the RTL development of the DRX. Results from the output of the simulator have been presented to verify that the simulator functions correctly in a variety of relevant test-cases. The source code for the DRX simulator can be made available to interested parties upon request. The code is revision controlled with the GIT version control system, and patches, comments and suggestions are welcomed. The code repository also contains Python scripts to generate all the graphs in this document, and the author particularly welcomes additional test cases. 13

0-1 -2-3 Power (db) -4-5 -6-7 -8 0 500 1000 1500 2000 2500 3000 3500 4000 4500 FFT Bin Figure 13: White noise test - average of 256 output periods References [1] Ellingson, S. LWA Station Architecture Ver 1.0, LWA Memo 119, November 19, 2007. [2] Janes, C. The Long Wavelength Array System Technical Requirements Ver. Draft #9, LWA Memo 118, November 19, 2007. [3] York, J. LWA DRX High-level Design - v0.2, LWA Memo 114, December, 2007. [4] Donadio, M. CIC Filter Introduction, July 18, 2000. 14