DDC_DEC. Digital Down Converter with configurable Decimation Filter Rev Block Diagram. Key Design Features. Applications. Generic Parameters

Similar documents
Block Diagram. i_in. q_in (optional) clk. 0 < seed < use both ports i_in and q_in

FIR_NTAP_MUX. N-Channel Multiplexed FIR Filter Rev Key Design Features. Block Diagram. Applications. Pin-out Description. Generic Parameters

BPSK_DEMOD. Binary-PSK Demodulator Rev Key Design Features. Block Diagram. Applications. General Description. Generic Parameters

Method We follow- How to Get Entry Pass in SEMICODUCTOR Industries for 2 nd year engineering students

IP-DDC Channel Digital Downconversion Core for FPGA FEATURES DESCRIPTION APPLICATIONS IMPLEMENTATION SUPPORT HARDWARE SUPPORT

QAM Receiver Reference Design V 1.0

Channelization and Frequency Tuning using FPGA for UMTS Baseband Application

Multi-Channel Digital Up/Down Converter for WiMAX Systems

HB0267 Handbook CoreDDS v3.0

Pre-distortion. General Principles & Implementation in Xilinx FPGAs

Implementing DDC with the HERON-FPGA Family

Digital Downconverter (DDC) Reference Design. Introduction

VHDL Implementation of High Performance Digital Up Converter Using Multi-DDS Technology For Radar Transmitters

DS H01 DIGITAL SYNTHESIZER MODULE SYSTEM SOLUTIONS. Features Applications 174 x 131 x 54 mm. Technical Description

Wideband DDC IP Core Specifcaton

Real-Time Digital Down-Conversion with Equalization

Software Design of Digital Receiver using FPGA

Design and Implementation of Digital Signal Processing Hardware for a Software Radio Reciever

PLC2 FPGA Days Software Defined Radio

Keywords: CIC Filter, Field Programmable Gate Array (FPGA), Decimator, Interpolator, Modelsim and Chipscope.

High Speed & High Frequency based Digital Up/Down Converter for WCDMA System

DIRECT UP-CONVERSION USING AN FPGA-BASED POLYPHASE MODEM

Field Programmable Gate Array Implementation and Testing of a Minimum-phase Finite Impulse Response Filter

FPGA Implementation of Digital Modulation Techniques BPSK and QPSK using HDL Verilog

PRODUCT HOW-TO: Building an FPGA-based Digital Down Converter

The Application of System Generator in Digital Quadrature Direct Up-Conversion

FIR Compiler v3.2. General Description. Features

3GPP LTE Digital Front End Reference Design Authors: Helen Tarn, Ed Hemphill, and David Hawke

Using an Arbitrary Waveform Generator for Threat Generation

Successful Modulation Analysis in 3 Steps. Ben Zarlingo Application Specialist Agilent Technologies Inc. January 22, 2014

A Simulation of Wideband CDMA System on Digital Up/Down Converters

IP-PSK-DEMOD4. BPSK, QPSK, 8-PSK Demodulator for FPGA FEATURES DESCRIPTION APPLICATIONS HARDWARE SUPPORT DELIVERABLES

Crest Factor Reduction

PXIe Contents SPECIFICATIONS. 14 GHz and 26.5 GHz Vector Signal Analyzer

IJSRD - International Journal for Scientific Research & Development Vol. 5, Issue 06, 2017 ISSN (online):

Superheterodyne Receiver Tutorial

Digital Down Converter Demo/Framework for HERON modules with FPGA Rev 1.2 T.Hollis 11/05/05

CHAPTER III THE FPGA IMPLEMENTATION OF PULSE WIDTH MODULATION

Cyclone II Filtering Lab

SOFTWARE DEFINED RADIO

VLSI Implementation of Digital Down Converter (DDC)

ELT Receiver Architectures and Signal Processing Fall Mandatory homework exercises

PTX-0350 RF UPCONVERTER, MHz

TESTING METHODS AND ERROR BUDGET ANALYSIS OF A SOFTWARE DEFINED RADIO By Richard Overdorf

BPSK Modulation and Demodulation Scheme on Spartan-3 FPGA

Midterm Exam ECE 448 Spring 2013 Thursday Section (15 points)

Stratix Filtering Reference Design

Using a graphical interface for Fast FPGA design revision in SDR hierarchical structure

Rapid Design of FIR Filters in the SDR- 500 Software Defined Radio Evaluation System using the ASN Filter Designer

Stratix II DSP Performance

FPGA based Uniform Channelizer Implementation

Digital Logic ircuits Circuits Fundamentals I Fundamentals I

DIRECT DIGITAL SYNTHESIS BASED CORDIC ALGORITHM: A NOVEL APPROACH TOWARDS DIGITAL MODULATIONS

IMPLEMENTATION OF QALU BASED SPWM CONTROLLER THROUGH FPGA. This Chapter presents an implementation of area efficient SPWM

Design and Implementation of Software Defined Radio Using Xilinx System Generator

Making Noise in RF Receivers Simulate Real-World Signals with Signal Generators

Multiple Reference Clock Generator

Integrated Direct RF Sampling Front-end for VHF Avionics Systems

Section 1. Fundamentals of DDS Technology

Keysight Technologies

QAN19 Modulating Direct Digital Synthesizer in a QuickLogic FPGA

Commsonic. General-purpose FFT core CMS0001. Contact information. Typical applications include COFDM modems for a, and DVB-T.

Digital Systems Design

ECE 6560 Multirate Signal Processing Chapter 13

BPSK System on Spartan 3E FPGA

DATASHEET HSP Features. Applications. Ordering Information. Block Diagram. Pinout. Digital Down Converter. FN3288 Rev 8.

Lecture 3, Handouts Page 1. Introduction. EECE 353: Digital Systems Design Lecture 3: Digital Design Flows, Simulation Techniques.

Realization of Programmable BPSK Demodulator-Bit Synchronizer using Multirate Processing

Commsonic. Universal QAM/PSK Modulator CMS0004. Contact information. Continuous or burst-mode operation.

Multi-gigabii Modem IP ooee Specifcabtoon

R Using the Virtex Delay-Locked Loop

DYNAMICALLY RECONFIGURABLE PWM CONTROLLER FOR THREE PHASE VOLTAGE SOURCE INVERTERS. In this Chapter the SPWM and SVPWM controllers are designed and

An Efficient and Flexible Structure for Decimation and Sample Rate Adaptation in Software Radio Receivers

Tirupur, Tamilnadu, India 1 2

Audio Sample Rate Conversion in FPGAs

DC-Coupled, Fully-Differential Amplifier Reference Design

Burst BPSK Modem IP Core Specifccatoon

DIGITAL DOWN/UP CONVERTERS FUNDAMENTALS. TEXAS INSTRUMENTS - WIRELESS RADIO PRODUCTS GROUP Joe Quintal

Stratix II Filtering Lab

QAM Modulator IP Core Specifcatoon

EE25266 ASIC/FPGA Chip Design. Designing a FIR Filter, FPGA in the Loop, Ethernet

COM-1518SOFT HIGH-SPEED DIRECT-SEQUENCE SPREAD- SPECTRUM DEMODULATOR VHDL SOURCE CODE / IP CORE

Chapter 0 Outline. NCCU Wireless Comm. Lab

RPG XFFTS. extended bandwidth Fast Fourier Transform Spectrometer. Technical Specification

PORTING OF AN FPGA BASED HIGH DATA RATE DVB-S2 MODULATOR

FPGA based Asynchronous FIR Filter Design for ECG Signal Processing

8B.3 A GENERIC RADAR PROCESSOR DESIGN USINGSOFTWARE DEFINED RADIO

Hardware/Software Co-Simulation of BPSK Modulator and Demodulator using Xilinx System Generator

VIAVI VST. Data Sheet. 6 GHz RF Vector Signal Transceiver (VST)

Digital Logic, Algorithms, and Functions for the CEBAF Upgrade LLRF System Hai Dong, Curt Hovater, John Musson, and Tomasz Plawski

DVB-C Modulator IP Core Specifcatoon

Sampling. A Simple Technique to Visualize Sampling. Nyquist s Theorem and Sampling

ATSC 8VSB Modulator IP Core Specification

6.976 High Speed Communication Circuits and Systems Lecture 17 Advanced Frequency Synthesizers

Wideband Frequency Synthesizer Implementation using FPGA

SpectraTronix C700. Modular Test & Development Platform. Ideal Solution for Cognitive Radio, DSP, Wireless Communications & Massive MIMO Applications

A new method of spur reduction in phase truncation for DDS

Evaluation of Power Costs in Applying TMR to FPGA Designs

Serial and Parallel Processing Architecture for Signal Synchronization

DEVELOPMENT OF SOFTWARE RADIO PROTOTYPE

Transcription:

Key Design Features Block Diagram Synthesizable, technology independent VHDL Core 16-bit signed input/output samples 1 Digital oscillator with > 100 db SFDR Digital oscillator phase resolution of 2π/2 16 Digital oscillator frequency resolution of Fs/2 32 Integrated FIR decimation filter with configurable decimation factors from 0 to 2 N Highly optimized design requiring only 12 multipliers per decimate-by-2 stage Each decimate-by-2 filter stage has 80 db of stop-band attenuation 2 Typical FPGA sample rates of up to 250 MHz 3 Applications Digital I/Q Demodulators Compatible with any digital modulation scheme - e.g. QPSK, BPSK, QAM, WiMAX, WCDMA, COFDM etc. Conversion of IF signals to baseband frequencies for subsequent processing Pin-out Description Pin name I/O Description Active state clk in Sample clock (F S) rising edge reset in Asynchronous reset low en in Input clock enable (rate F S) en_out out Output clock enable (rate F S/N) phase_inc [31:0] in Phase increment as an unsigned 32-bit number (controls osc frequency) i_in [15:0] in Complex input (Real part) as 16-bit signed (rate F S) q_in [15:0] in Complex input (Imag part) as 16-bit signed (rate F S) i_out [15:0] out Complex output (Real part) as 16-bit signed (rate F S/N) q_out [15:0] out Complex output (Imag part) as 16-bit signed (rate F S/N) 1 Data sample width may be modified on request 2 Filter characteristic may be modified on request 3 Xilinx Virtex 6 FPGA used as a benchmark high high Generic Parameters Generic name Description Type Valid range num_stages Number of decimateby-2 stages integer 0 dithering Enable phase dither boolean TRUE/FALSE lutsize 16/12-bit LUT select integer 16 or 12 seed General Description Figure 1: DDC simplified architecture Seed for random number generator std_logic vector 0 < seed < 2 32 DDC_DEC (Figure 1) is a complex-valued digital down-converter with a configurable number of decimation stages. The design is ideal for high sample-rate applications and permits a digital input signal to be mixeddown and re-sampled at a lower rate. The DDC is suitable for the down-conversion of any digitally modulated signal to baseband an essential step before digital processing. The DDC features a high-precision 16-bit DDS oscillator for the digital mixing stage. This oscillator is fully programmable and offers excellent phase and frequency resolution. The digital mixing stage is a complex multiplier that allows the mixing of both real and imaginary (I/Q) inputs. If only real inputs are required, then the imaginary input (q_in) should be tied low. The output decimation stage features a configurable decimate-by-2 N polyphase filter for both I and Q channels. Each filter stage is highly optimized to use only 12 multipliers while still achieving 80 db of stopband attenuation. Copyright 2012 www.zipcores.com Download this VHDL Core Page 1 of 5

The design features two clock-enable signals. The signal en is the global clock-enable and may be used to enable/disable sampling for the whole circuit. The output clock-enable signal en_out is only asserted when the decimated output samples are active. For instance, when decimating by a factor of 2, then this signal will have a 50% duty cycle. When decimating by a factor of 4 it will have a 25% duty cycle and so on. Digital oscillator (DDS) The frequency of the DDS output waveform is controlled by the phase increment (phase_inc) on a clock-by-clock basis. The phase increment may be calculated using the formula: Complex digital mixer The digital mixing process performs a complex multiplication between the input samples i_in and q_in and the samples from the internal DDS modules. For any given frequency component in the input signal, the frequency component of the output signal has two components F out1 and F out2 given by the following relationship: Φ inc = (F out 2 32 ) / F s + 0.5 F out is the desired oscillator frequency and F S is the system sampling frequency. Note that the phase increment must be adjusted to the nearest integer value. The minimum and maximum frequencies the oscillator can generate are given by the following formulas: F out1 = F 1 F 2, F out2 = F 1 + F 2 F min = F s / 2 32, F max < F s / 2 F 1 is the frequency component of the input signal and F 2 is the oscillator frequency. It can be seen that by choosing a suitable oscillator frequency, then the signal of interest may be mixed-down to baseband so that the centre frequency is positioned at 0Hz. Normally the higher frequency mixer product (F out2) is unwanted and will be attenuated by the decimation filter output stages. Figure 2. below shows the basic mixing principal in which a generic input signal is shifted to baseband using a 20MHz oscillator frequency. The process of phase quantization introduces noise on the phase signal and it produces unwanted spurious spectral components in the DDS output signal (referred to as spurs). The difference between the carrier level and the maximum level of spurs is called the Spurious Free Dynamic Range (SFDR). By setting the generic parameter dithering to true, then the incidence and magnitude of these spurs can be reduced significantly. The dithering function uses a random number generator with the starting seed specified in the generic parameter. Decimation filter The decimation filter allows the output from the mixer to be decimated by any power of 2. Each decimate-by-2 stage has a magnitude response as shown in Figure 3. below. Figure 3: Decimation filter magnitude response for a single decimate-by-2 stage Figure 2: Mix-down of a 4MHz B/W signal to baseband. (a) Source signal, (b) Baseband signal after mixing (decimation filter disabled) The number of decimate-by-2 stages is specified by the generic parameter num_stages. For instance, setting this parameter to 2 will decimate the output samples by a factor of 4. Setting the parameter to 0 will eliminate all decimation and will output the signals directly from the digital mixer. Figure 4. demonstrates the result of mixing and decimating a generic 4MHz wideband signal by various stages. Copyright 2012 www.zipcores.com Download this VHDL Core Page 2 of 5

Functional Timing The DDC generates output samples depending on the decimation factor. Figure 5. below, shows the timing of the input and output samples for a decimation by 2. Note that the output samples are valid on the risingedge of clk when en_out is high. In this case, for a down-sample by 2 then the output clock-enable has a 50% duty cycle. Figure 5: Timing waveform - decimation by 2 Figure 6. shows a similar picture, but this time for a decimation by 4. in this case, the output samples are valid every 4 th clock cycle. Likewise, successive decimation factors of 8, 16, 32, etc. have similar timing waveforms with the en_out signal being asserted every 8 th, 16 th and 32 nd clock cycle respectively. Figure 6: Timing waveform decimation by 4 Figure 4: Digital down-conversion of a generic signal to baseband. (a) Source signal, (b) Decimate by 2, (c) Decimate by 4, (d) Decimate by 8 Copyright 2012 www.zipcores.com Download this VHDL Core Page 3 of 5

Source File Description Synthesis All source files are provided as text files coded in VHDL. The following table gives a brief description of each file. Source file fir_dec_pack.vhd fir_dec_mad.vhd fir_dec_mad_centre.vhd fir_dec_mad_zero.vhd fir_dec_rnd.vhd fir_dec_sat_vhd Description Package containing decimation filter parameters Multiply-add block Multiply-add block - centre tap Multiply-add block - zero coeffs Filter rounding block Filter saturation block fir_dec_s0.vhd Filter polyphase section 0 fir_dec_s1.vhd Filter polyphase section 1 fir_dec.vhd fir_dec_n.vhd sincos_lut.vhd dds.vhd ddc.vhd ddc_file_reader.vhd ddc_dec.vhd ddc_dec_bench.vhd Functional Testing Decimate-by-2 filter Top-level component SIN/COS look-up table DDS oscillator Digital down-converter mixer Text file reader for I/Q input samples Top-level component Top-level test bench An example VHDL testbench is provided for use in a suitable VHDL simulator. The compilation order of the source code is the same as that outlined in the source file description above. The VHDL testbench instantiates the DDC_DEC component and the user may modify the phase increment and generic parameters accordingly. In the test provided, the sample-frequency is set to 100MHz with an oscillator frequency of 20 MHz. The decimation factor is set to '2'. The input samples for the test are provided in the file 'ddc_stim.txt'. These samples are for a generic signal of 4MHz bandwidth and a centre frequency of 20MHz as per Figure 4(a). The simulation must be run for at least 10 ms during which time the DDC will output the I and Q samples to a file called 'ddc_out.txt'. The power spectral density of the output samples should correspond to that of Figure 4(b). 4 4 Matlab scripts to generate power-spectral density plots are available on request. Please contact Zipcores.. The files required for synthesis and the design hierarchy is shown below: ddc_dec.vhd ddc.vhd dds.vhd sincos_lut.vhd fir_dec_pack.vhd fir_dec_n.vhd fir_dec.vhd fir_dec_s0.vhd fir_dec_s1.vhd fir_dec_mad.vhd fir_dec_mad_centre.vhd fir_dec_mad_zero.vhd fir_dec_rnd.vhd fir_dec_sat_vhd The VHDL core is designed to be technology independent. However, as a benchmark, synthesis results have been provided for the Xilinx Virtex 6 and Spartan 6 FPGA devices. Synthesis results for other FPGAs and technologies can be provided on request. Generally, for each decimate-by-2 stage an extra 24 H/W multipliers are added to the design - 12 for each I/Q channel. Setting the lutsize to 12-bits will result in a much smaller LUT implementation and will greatly reduce the internal RAM resources required. Likewise, the implementation will be smaller if the dithering function is disabled. Trial synthesis results are shown with the generic parameters set to: num_stages = 1, lutsize = 12, dithering = true, seed = 0xffd45101. Resource usage is specified after Place and Route. VIRTEX 6 Resource type Slice register 1153 Slice LUT 1103 Block RAM 1 DSP48 32 Occupied slices 340 Clock frequency (approx) SPARTAN 6 Resource type Slice register 745 Slice LUT 904 Block RAM 2 DSP48 32 Occupied slices 314 Clock frequency (approx) Quantity used 250 MHz Quantity used 150 MHz Copyright 2012 www.zipcores.com Download this VHDL Core Page 4 of 5

Revision History Revision Change description Date 1.0 Initial revision 22/05/2008 1.1 Modified key design features 15/09/2009 2.0 Major revision. Digital mixer and decimation filter now combined in one top-level module 22/07/2011 2.1 Added 12-bit LUT option. Updated synthesis results for Xilinx 6 series FPGAs 08/06/2012 Copyright 2012 www.zipcores.com Download this VHDL Core Page 5 of 5