Software Tools for Digital Down-Converters Design

Slides:



Advertisements
Similar presentations
SOC FPGA Design Lab Discussion 5
Advertisements

© 2003 Xilinx, Inc. All Rights Reserved Course Wrap Up DSP Design Flow.
August 2004Multirate DSP (Part 2/2)1 Multirate DSP Digital Filter Banks Filter Banks and Subband Processing Applications and Advantages Perfect Reconstruction.
Lecture 23 Filters Hung-yi Lee.
Signal and System IIR Filter Filbert H. Juwono
University Of Vaasa Telecommunications Engineering Automation Seminar Signal Generator By Tibebu Sime 13 th December 2011.
3. Digital Implementation of Mo/Demodulators
Design of a Power-Efficient Interleaved CIC Architecture for Software Defined Radio Receivers By J.Luis Tecpanecatl-Xihuitl, Ruth Aguilar-Ponce, Ashok.
Filtering Filtering is one of the most widely used complex signal processing operations The system implementing this operation is called a filter A filter.
So far We have introduced the Z transform
© 2003 Xilinx, Inc. All Rights Reserved Looking Under the Hood.
1 Fully Digital HF Radios Phil Harman VK6APH Dayton Hamvention – 17 th May 2008.
Characterization Presentation Neural Network Implementation On FPGA Supervisor: Chen Koren Maria Nemets Maxim Zavodchik
STARLight PDR 3 Oct ‘01H.1 Miller STARLight Sensor Signal Processing Ryan Miller STARLight Electrical Engineer (734)
Microcomputer Systems 1 Introduction to DSP’s. 9 August 2015Veton Këpuska2 Introduction to DSP’s  Definition: DSP – Digital Signal Processing/Processor.
AGC DSP AGC DSP Professor A G Constantinides 1 Digital Filter Specifications Only the magnitude approximation problem Four basic types of ideal filters.
1 Summary of SDR Analog radio systems are being replaced by digital radio systems for various radio applications. SDR technology aims to take advantage.
Digital Communication Techniques
GallagherP188/MAPLD20041 Accelerating DSP Algorithms Using FPGAs Sean Gallagher DSP Specialist Xilinx Inc.
FPGA Based Fuzzy Logic Controller for Semi- Active Suspensions Aws Abu-Khudhair.
© 2011 Xilinx, Inc. All Rights Reserved Intro to System Generator This material exempt per Department of Commerce license exception TSU.
DSP. What is DSP? DSP: Digital Signal Processing---Using a digital process (e.g., a program running on a microprocessor) to modify a digital representation.
DSP Techniques for Software Radio DSP Front End Processing Dr. Jamil Ahmad.
Digital Parts of Receivers and Transmitters Vilmos Rösner.
Digital Filtering.
Digital Filtering.
Digital Radio Receiver Amit Mane System Engineer.
Multirate Signal Processing
Software Defined Radio
Simulink ® Interface Course 13 Active-HDL Interfaces.
The GNU in RADIO Shravan Rayanchu. SDR Getting the code close to the antenna –Software defines the waveform –Replace analog signal processing with Digital.
Digital Signal Processing and Generation for a DC Current Transformer for Particle Accelerators Silvia Zorzetti.
© 2003 Xilinx, Inc. All Rights Reserved HDL Co-Simulation.
MATLAB for Signal Processing The MathWorks Inc. Natick, MA USA Filter Design.
Overlapped modulation structure Overlapped modulation structure Overlapped harmonic structure Overlapped harmonic structure Spurious spectral components.
SW and HW platforms for development of SDR systems SW: Model-Based Design and SDR HW: Concept of Modular Design and Solutions Fabio Ancona Sundance Italia.
1 Implementation in Hardware of Video Processing Algorithm Performed by: Yony Dekell & Tsion Bublil Supervisor : Mike Sumszyk SPRING 2008 High Speed Digital.
Chapter 7 Finite Impulse Response(FIR) Filter Design
FIR Filter Design & Implementation
© 2003 Xilinx, Inc. All Rights Reserved Course Wrap Up DSP Design Flow.
Software Defined Radio PhD Program on Electrical Engineering Sampling Theory and Quantization José Vieira.
FP7 Uniboard project Digital Receiver G. Comoretto, A. Russo, G. Tuccari, A Baudry, P. Camino, B. Quertier Dwingeloo, February 27, 2009.
Professor A G Constantinides 1 Digital Filter Specifications We discuss in this course only the magnitude approximation problem There are four basic types.
IAY 0600 Digital Systems Design
Digital Down Converter (DDC)
Registers and Counters
Software Defined Radio PhD Program on Electrical Engineering
EEE422 Signals and Systems Laboratory
Introduction to Programmable Logic
蔡宗珉 : Multi-stage Filter Implementation
Simulink Implementation of a Cable Modem
Generating Sinusoidal Signals
LINEAR-PHASE FIR FILTERS DESIGN
Field Programmable Gate Array
Field Programmable Gate Array
Field Programmable Gate Array
Course Agenda DSP Design Flow.
A Digital Signal Prophecy The past, present and future of programmable DSP and the effects on high performance applications Continuing technology enhancements.
A Software Defined Radio for the Masses, Part 4
Low IF topologies for fully integrated receivers
The performance requirements for DSP applications continue to grow and the traditional solutions do not adequately address this new challenge Paradigm.
VHDL Introduction.
Quadrature-Mirror Filter Bank
Chapter 7 Finite Impulse Response(FIR) Filter Design
Tania Stathaki 811b LTI Discrete-Time Systems in Transform Domain Simple Filters Comb Filters (Optional reading) Allpass Transfer.
Presented by Mohsen Shakiba
Chapter 7 Finite Impulse Response(FIR) Filter Design
Chapter 5: Active Filters
Embedded Sound Processing : Implementing the Echo Effect
IIR Digital Filter Design
Presentation transcript:

Software Tools for Digital Down-Converters Design Presented by Mohsen Shakiba

Outline FPGA Tools -MATLAB Tools What’s the Core Generator DDC Core Description Design a GSM DDC on a FPGA using DDC Core -MATLAB Tools Filter Design Toolbox Fixed Point Toolbox Design the GSM DDC filters with Filter Design & Fixed Point Toolboxes

Section I FPGA Tools

Benefits of Related FPGA Tools using More Flexibility Highly Parametrizable Real Realtime processing capabilities Best Option For a SoC Prototype System Design So Easy for you to Extend and Improve your Design

Some of Difficulties More needed Experience More Time To Target & Market Poor in integrated Synthesizers and routing tools

What’s The Core Generator ? The CORE Generator™ is a design tool that delivers parameterized IP optimized for Xilinx® FPGAs. It provides a catalog of ready-made functions ranging in complexity from FIFOs and memories to high level system functions such as a Reed-Soloman Decoder and Encoder, FIR filters, FFTs for DSP applications, standard bus interfaces such as PCI and PCI-X, and connectivity and networking interfaces (for example, Ethernet, and PCI Express). It Supports most of Xilinx FPGA Families such as Spartan™-II Spartan – 3 Virtex™ Virtex - II Virtex - II PRO Virtex - 4

Design Flow For a HDL Design Core-Gen Inserted Here

Core Generator Design Environment

Digital Down Converter (DDC) Core Features . Drop-in module for FPGAs • Configurable data path comprising a mixer, DDS, an optional CIC filter and a series cascade of two (optional) poly phase decimators • CIC rate changes from 4 to 16383, with support for decimation rate adjustment in real-time • Two poly phase decimation filters with configurable filter length (0 to 1024 taps) and coefficient precision (1 to 32 bits) • 0.02 Hz DDS tuning resolution (fclk = 86 MHz, 32bit phase accumulator) • 25 to 108 dB DDS spurious free dynamic range • Bias-free convergent rounding employed between datapath components to avoid DC bias issues • Microprocessor style interface to adjust the CIC decimation rate and tune the DDS

Digital Down Converter (DDC) Core Applications • Software defined radios (SDRs) • Digital receivers • Cable modems • BPSK, QPSK and QAM demodulators • Spread spectrum communication systems • CDMA2000 and 3G Basestations

Digital Down Converter (DDC) Core Structure DDC core architecture

DDC Core Main Components DDS DDS unit architecture Direct digital synthesizers (DDS), or numerically controlled oscillators (NCO), are important components in many digital communication systems. Quadrature synthesizers are used for constructing digital down and up converters, demodulators, and implementing various types of modulation schemes. A common method for digitally generating a complex or real valued sinusoid employs a look-up table scheme. The look-up table stores samples of a sinusoid. A digital integrator is used to generate a suitable phase argument that is mapped by the look-up table to the desired output waveform.

DDC Core Main Components DDS DDS unit architecture The DDS employed in the DDC uses phase dithering to extend the dynamic range of the heterodyning signal. Dithering also decorrelates the phase angle error , hence minimizing undesirable spectral artifacts (spurs). sample precision of DDS Output :

DDS Spectrum – Single Tone Test samples

DDS Spectrum – Frequency sweep Test samples

DDS Tuning and Some Design Notations The DDS can be configured to have a constant output frequency, or it can be programmed using the Core microprocessor style interface. The output frequency of the DDS waveform is a function of the system sample rate , the number of bits used in the phase accumulator and the phase increment value . For Example :

DDS Tuning and Some Design Notations The DDS tuning frequency resolution ∆f is a function of the phase accumulator width and the system sample rate For Example :

Digital Down Converter (DDC) Core Structure

DDC Core Main Components CIC Decimator CIC decimation filter The transfer functions for a single integrator The transfer function for a single comb stage, referenced to the high input sample rate The system transfer function for the composite CIC filter, referenced to the high sampling rate

DDC Core Main Components CIC Decimator CIC filter frequency response for N = 4, M = 2, R = 7 and fc =1/8 frequency bands magnitude frequency response

DDC Core Main Components CIC Decimator CIC filter frequency response for N = 4, M = 1, R = 7 and fc =1/8 frequency bands magnitude frequency response

CIC Decimator Register Growth The CIC data path experiences internal register growth that is a function of all the design parameters . The CIC filter uses BMAX bits internally for each of the integrator and differentiator stages, and so produces a full-precision result at the filter output . Thus Convergent rounding is used to generate the reduced precision sample. If a bit precision greater than BMAX is specified for the CIC output width, this value will be automatically limited to BMAX bits .

Digital Down Converter (DDC) Core Structure

DDC Core Main Components CFIR & PFIR Filters CFIR Frequency Response: Typical characteristic. Poly phase decimator used for both the CFIR and the PFIR

DDC Core Pin Descriptions

DDC Timing Without any Time Sharing Register write operation. DDC Core Timings DDC Timing Without any Time Sharing Register write operation.

DDC Core Parameterization GUI (1)

DDC Core Parameterization GUI (2)

DDC Core Parameterization GUI (3)

DDC Core Parameterization GUI (4)

DDC Core Parameterization GUI (5)

DDC Core Parameterization GUI (6)

DDC Core Parameterization Example For a GSM Application output sample rate of 270.8333 kHz needed sample rate change of 192 = 48×2×2 needed

DDC Core Parameterization Example For a GSM Application GSM spectral mask.

DDC Core Parameterization Example For a GSM Application -98,-679,-2016,-3234,-537,850,6053,12060,18230,23239,25212,23239,18230, 12060,6053,850,-2537,-3234,-2016,-679,-98; coe file content for the polyphase 2:1 decimator G(z) in the GSM DDC design example. 1007,-1853,79,1807,1633,423,265,175,-527,-1331,-1454,-1087, -721, -149, 1008, 1985,2164, 2005, 1483, 61, -1756, -3134, -3953, -4016,-2714, 134,4003, 8361, 12934, 17009, 19565, 20353,19565, 1009, 12934, 8361, 4003, 134,-2714,-4016, -3953, -3134, -756, 61, 1483, 2005, 2164, 1985,1008, -149, -721, -1087, -1454, -1331, -527, 175,265, 423, 1633, 1807, 79, -1853, 1007; coe file content for the polyphase 2:1 decimator H(z) in the GSM DDC design example.

DDC Core Inserting in a VHDL Code Libraries Declaration LIBRARY XilinxCoreLib; USE XilinxCoreLib.c_reg_fd_v7_0_comp.ALL; USE XilinxCoreLib.c_gate_bit_v7_0_comp.ALL; USE XilinxCoreLib.c_shift_fd_v7_0_comp.ALL; USE XilinxCoreLib.c_dist_mem_v7_0_comp.ALL; USE XilinxCoreLib.c_addsub_v7_0_comp.ALL; ENTITY gsm_ddc IS PORT ( CLK : IN STD_LOGIC; ND : IN STD_LOGIC; DIN : IN STD_LOGIC_VECTOR(11 DOWNTO 0); RFD : OUT STD_LOGIC; RDY : OUT STD_LOGIC; DOUT_I : OUT STD_LOGIC_VECTOR(23 DOWNTO 0); DOUT_Q : OUT STD_LOGIC_VECTOR(23 DOWNTO 0) ); END gsm_ddc; Libraries Declaration

DDC Core Inserting in a VHDL Code LIBRARY XilinxCoreLib; USE XilinxCoreLib.c_reg_fd_v7_0_comp.ALL; USE XilinxCoreLib.c_gate_bit_v7_0_comp.ALL; USE XilinxCoreLib.c_shift_fd_v7_0_comp.ALL; USE XilinxCoreLib.c_dist_mem_v7_0_comp.ALL; USE XilinxCoreLib.c_addsub_v7_0_comp.ALL; ENTITY gsm_ddc IS PORT ( CLK : IN STD_LOGIC; ND : IN STD_LOGIC; DIN : IN STD_LOGIC_VECTOR(11 DOWNTO 0); RFD : OUT STD_LOGIC; RDY : OUT STD_LOGIC; DOUT_I : OUT STD_LOGIC_VECTOR(23 DOWNTO 0); DOUT_Q : OUT STD_LOGIC_VECTOR(23 DOWNTO 0) ); END gsm_ddc; Component Instantitution

Section II MATLAB Tools

What is The MATLAB Filter Design Toolbox The Filter Design Toolbox is a collection of tools that provides advanced techniques for designing, simulating, and analyzing digital filters. Also it provides : - Advanced FIR filter design methods, including minimum-order, minimum-phase, constrained-ripple, halfband, Nyquist, interpolated FIR, and nonlinear phase - Advanced IIR design methods, including arbitrary magnitude, group-delay equalizers, constrained-pole radius, peaking, notching, and comb filters - Multirate filter design, analysis, and implementation, including cascaded integrator-comb (CIC) fixed-point multirate filters - A powerful Graphical User Interface

What is The MATLAB Fixed Point Toolbox The Fixed-Point Toolbox provides fixed-point data types in MATLAB® and enables algorithm development by providing fixed-point arithmetic. The Fixed-Point Toolbox provides you with : - The ability to define fixed-point data types, scaling, and rounding and overflow methods in the MATLAB workspace - Bit-true real and complex simulation - Interoperability with Simulink®, Signal Processing Blockset, Embedded MATLAB, and Filter Design Toolbox

Filter Design Toolbox used with the Fixed Point Toolbox the Filter Design Toolbox provides functions that simplify the design of fixed-point filters and the analysis of quantization effects

GSM Digital Down-Conveter Some Filters Design Notations Multirate filter response must be flat over the bandwidth to within the passband ripple, which must be less than 0.1 dB peak to peak. Looking at the GSM out of band rejection mask shown below, we see that the filter must also achieve 18 dB of attenuation at 100 KHz , 50 dB at 300 KHz & 85 dB at 500 KHz.

GSM Digital Down-Conveter Sampling Rate reduce scheme

FDATool Global Environment Implementing the Filter Chain of a GSM Digital Down-Converter Through MATLAB Toolboxes FDATool Global Environment

Implementing the Filter Chain of a GSM Digital Down-Converter Through MATLAB Toolboxes Implementation of CIC filter with specified parameters in multirate creation section

Normalize the Magnitude to 0 dB Implementing the Filter Chain of a GSM Digital Down-Converter Through MATLAB Toolboxes Normalize the Magnitude to 0 dB

Implementing the Filter Chain of a GSM Digital Down-Converter Through MATLAB Toolboxes CFIR Filter Design Filter specifications of CFIR Filter Fs = (52/48)e6 ; % Sampling frequency 52/48 MHZ N = 20; % 21 taps Npow = 5; % Sinc power w = 0.5; % Sinc frequency factor (Differential delay/2) Apass = 5.7565e-4; % 0.01 dB Astop = 0.01; % 40 dB Aslope = 60; % 60 dB slope over half the Nyquist range Fpass = 80e3/(Fs/2); % 80 KHz passband-edge frequency Design filter. cfir = firceqrip (N,Fpass,[Apass,Astop],'passedge','slope',Aslope, 'invsinc',[w,Npow]); precision arithmetic is used. hcfir = mfilt.firdecim(2,cfir); set(hcfir,... 'Arithmetic', 'fixed',... 'CoeffWordLength', 16,... 'InputWordLength', 20,... 'InputFracLength', -12);

Implementing the Filter Chain of a GSM Digital Down-Converter Through MATLAB Toolboxes PFIR Filter Design Filter specifications of PFIR Filter N = 62; % 63 taps Fs= 52/(48*2)e6 ; % 541.666 kHz F = [0 80e3 100e3 Fs/2]/(Fs/2); A = [1 1 0 0]; % Amplitude vector indicating a lowpass response W = [2 1]; % Weight the passband more than the stopband Filter Design pfir = firgr (N,F,A,W); precision arithmetic is used. hpfir = mfilt.firdecim(2,pfir); set(hpfir,... 'Arithmetic', 'fixed',... 'CoeffWordLength', 16,... 'InputWordLength', 20,... 'InputFracLength', -12);

Meets the GSM Spectral mask Implementing the Filter Chain of a GSM Digital Down-Converter Through MATLAB Toolboxes overall filter response by cascading the normalized CIC and the two FIR filters Meets the GSM Spectral mask

References - MATLAB Filter Design & Fixed Point Toolboxes - DDC & DDS Cores DataSheet ( Xilinx Core generator Documentations) - FPGA-based applications for software radio – Angsuman Rudra – www.rfdesign.com

Thanks for your consideration