Digital Signal Processing with Field Programmable Gate Arrays

Similar documents
All MSEE students are required to take the following two core courses: Linear systems Probability and Random Processes

REAL-TIME DIGITAL SIGNAL PROCESSING

3.5 Filtering with the 2D Fourier Transform Basic Low Pass and High Pass Filtering using 2D DFT Other Low Pass Filters

Fatima Michael College of Engineering & Technology

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

Research Article International Journal of Emerging Research in Management &Technology ISSN: (Volume-6, Issue-8) Abstract:

MULTIDIMENSIONAL SIGNAL, IMAGE, AND VIDEO PROCESSING AND CODING

Optimum Array Processing

Fast Block LMS Adaptive Filter Using DA Technique for High Performance in FGPA

CONTENTS CHAPTER 1: NUMBER SYSTEM. Foreword...(vii) Preface... (ix) Acknowledgement... (xi) About the Author...(xxiii)

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

Xilinx DSP. High Performance Signal Processing. January 1998

CONTACT: ,

2. Computer Arithmetic

Head, Dept of Electronics & Communication National Institute of Technology Karnataka, Surathkal, India

IMPLEMENTATION OF AN ADAPTIVE FIR FILTER USING HIGH SPEED DISTRIBUTED ARITHMETIC

International Journal for Research in Applied Science & Engineering Technology (IJRASET) IIR filter design using CSA for DSP applications

Integrated Algebra 2 and Trigonometry. Quarter 1

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

Digital Image Processing

Madhya Pradesh Bhoj (Open) University, Bhopal

ISSN (Online), Volume 1, Special Issue 2(ICITET 15), March 2015 International Journal of Innovative Trends and Emerging Technologies

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

Honors Precalculus: Solving equations and inequalities graphically and algebraically. Page 1

CHAPTER 4. DIGITAL DOWNCONVERTER FOR WiMAX SYSTEM

MCM Based FIR Filter Architecture for High Performance

An FPGA based rapid prototyping platform for wavelet coprocessors

Mapping Algorithms to Hardware By Prawat Nagvajara

Implementation of Lifting-Based Two Dimensional Discrete Wavelet Transform on FPGA Using Pipeline Architecture

Adaptive System Identification and Signal Processing Algorithms

The Designer's Guide to VHDL Second Edition

An Efficient Implementation of Fixed-Point LMS Adaptive Filter Using Verilog HDL

INTERNATIONAL JOURNAL OF PROFESSIONAL ENGINEERING STUDIES Volume 10 /Issue 1 / JUN 2018

RISC IMPLEMENTATION OF OPTIMAL PROGRAMMABLE DIGITAL IIR FILTER

A SIMULINK-TO-FPGA MULTI-RATE HIERARCHICAL FIR FILTER DESIGN

TOPICS PIPELINE IMPLEMENTATIONS OF THE FAST FOURIER TRANSFORM (FFT) DISCRETE FOURIER TRANSFORM (DFT) INVERSE DFT (IDFT) Consulted work:

FPGA Polyphase Filter Bank Study & Implementation

DESIGN AND IMPLEMENTATION OF DA- BASED RECONFIGURABLE FIR DIGITAL FILTER USING VERILOGHDL

Contents. 3 Vector Quantization The VQ Advantage Formulation Optimality Conditions... 48

Yves Nievergelt. Wavelets Made Easy. Springer Science+Business Media, LLC

FIR Compiler MegaCore Function User Guide

Implementation of digit serial fir filter using wireless priority service(wps)

REAL TIME DIGITAL SIGNAL PROCESSING

Pyramid Coding and Subband Coding

Analytical Approach for Numerical Accuracy Estimation of Fixed-Point Systems Based on Smooth Operations

Evaluating MMX Technology Using DSP and Multimedia Applications

VHDL Implementation of Multiplierless, High Performance DWT Filter Bank

Binary Adders. Ripple-Carry Adder

S2CBench : Synthesizable SystemC Benchmark Suite for High-Level Synthesis

DSP-CIS. Part-IV : Filter Banks & Subband Systems. Chapter-10 : Filter Bank Preliminaries. Marc Moonen

AVR32765: AVR32 DSPLib Reference Manual. 32-bit Microcontrollers. Application Note. 1 Introduction. 2 Reference

Numerical Robustness. The implementation of adaptive filtering algorithms on a digital computer, which inevitably operates using finite word-lengths,

A Novel Distributed Arithmetic Multiplierless Approach for Computing Complex Inner Products

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

Implementation and Impact of LNS MAC Units in Digital Filter Application

REAL TIME DIGITAL SIGNAL PROCESSING

Fault Tolerant Parallel Filters Based On Bch Codes

A High-Speed FPGA Implementation of an RSD- Based ECC Processor

A HIGH PERFORMANCE FIR FILTER ARCHITECTURE FOR FIXED AND RECONFIGURABLE APPLICATIONS

4.1 QUANTIZATION NOISE

Design Optimization Techniques Evaluation for High Performance Parallel FIR Filters in FPGA

Pyramid Coding and Subband Coding


AUDIO SIGNAL PROCESSING FOR NEXT- GENERATION MULTIMEDIA COMMUNI CATION SYSTEMS

Computing the Discrete Fourier Transform on FPGA Based Systolic Arrays

Pipelined Quadratic Equation based Novel Multiplication Method for Cryptographic Applications

Research Article Digital Decimation Filter of ADSL: Design and Implementation

Point Lattices in Computer Graphics and Visualization how signal processing may help computer graphics

Digital Design Using Digilent FPGA Boards -- Verilog / Active-HDL Edition

An efficient multiplierless approximation of the fast Fourier transform using sum-of-powers-of-two (SOPOT) coefficients

VLSI Implementation of Low Power Area Efficient FIR Digital Filter Structures Shaila Khan 1 Uma Sharma 2

Area And Power Efficient LMS Adaptive Filter With Low Adaptation Delay

CHAPTER 3 MULTISTAGE FILTER DESIGN FOR DIGITAL UPCONVERTER AND DOWNCONVERTER

REAL TIME DIGITAL SIGNAL PROCESSING

DUE to the high computational complexity and real-time

DA-FIR Filter Generator User s Guide

Indian Silicon Technologies 2013

Overview. Spectral Processing of Point- Sampled Geometry. Introduction. Introduction. Fourier Transform. Fourier Transform

Introduction to Field Programmable Gate Arrays

ELEC 427 Final Project Area-Efficient FFT on FPGA

Filterbanks and transforms

Implementation Of Quadratic Rotation Decomposition Based Recursive Least Squares Algorithm

F# for Scientists. Jon Harrop Flying Frog Consultancy Ltd. Foreword by Don Syme A JOHN WILEY & SONS, INC., PUBLICATION WILEY

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

A Ripple Carry Adder based Low Power Architecture of LMS Adaptive Filter

CHAPTER 3 METHODOLOGY. 3.1 Analysis of the Conventional High Speed 8-bits x 8-bits Wallace Tree Multiplier

About the Author. Dependency Chart. Chapter 1: Logic and Sets 1. Chapter 2: Relations and Functions, Boolean Algebra, and Circuit Design

Modeling and implementation of dsp fpga solutions

A DCT Architecture based on Complex Residue Number Systems

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

DIGITAL ARITHMETIC. Miloš D. Ercegovac Computer Science Department University of California Los Angeles and

Exercises in DSP Design 2016 & Exam from Exam from

Academic Course Description

Image Transformation Techniques Dr. Rajeev Srivastava Dept. of Computer Engineering, ITBHU, Varanasi

Digital Filters in Radiation Detection and Spectroscopy

The Parks McClellan algorithm: a scalable approach for designing FIR filters

S2CBench : Synthesizable SystemC Benchmark Suite for High-Level Synthesis

A Wavelet Tour of Signal Processing The Sparse Way

EEE 512 ADVANCED DIGITAL SIGNAL AND IMAGE PROCESSING

Table of Contents. Preface... vii Abstract... vii Kurzfassung... x Acknowledgements... xiii. I The Preliminaries 1

Transcription:

Uwe Meyer-Baese Digital Signal Processing with Field Programmable Gate Arrays Third Edition With 359 Figures and 98 Tables Book with CD-ROM ei Springer

Contents Preface Preface to Second Edition Preface to Third Edition VII XI XIII 1. Introduction 1 1.1 Overview of Digital Signal Processing (DSP) 1 1.2 FPGA Technology 3 1.2.1 Classification by Granularity 3 1.2.2 Classification by Technology 6 1.2.3 Benchmark for FPLs 7 1.3 DSP Technology Requirements 10 1.3.1 FPGA and Programmable Signal Processors 12 1.4 Design Implementation 13 1.4.1 FPGA Structure 18 1.4.2 The Altera EP2C35F672C6 22 1.4.3 Case Study: Frequency Synthesizer 29 1.4.4 Design with Intellectual Property Cores 35 Exercises 42 2. Computer Arithmetic 53 2.1 Introduction 53 2.2 Number Representation 54 2.2.1 Fixed-Point Numbers 54 2.2.2 Unconventional Fixed-Point Numbers 57 2.2.3 Floating-Point Numbers 71 2.3 Binary Adders 74 2.3.1 Pipelined Adders 76 2.3.2 Modulo Adders 80 2.4 Binary Multipliers 82 2.4.1 Multiplier Blocks 87 2.5 Binary Dividers 91 2.5.1 Linear Convergence Division Algorithms 93

XVI Contents 2.5.2 Fast Divider Design 98 2.5.3 Array Divider 103 2.6 Floating-Point Arithmetic Implementation 104 2.6.1 Fixed-point to Floating-Point Format Conversion 105 2.6.2 Floating-Point to Fixed-Point Format Conversion 106 2.6.3 Floating-Point Multiplication 107 2.6.4 Floating-Point Addition 108 2.6.5 Floating-Point Division 110 2.6.6 Floating-Point Reciprocal 112 2.6.7 Floating-Point Synthesis Results 114 2.7 Multiply-Accumulator (MAC) and Sum of Product (SOP) 114 2.7.1 Distributed Arithmetic Fundamentals 115 2.7.2 Signed DA Systems 118 2.7.3 Modified DA Solutions 120 2.8 Computation of Special Functions Using CORDIC 120 2.8.1 CORDIC Architectures 125 2.9 Computation of Special Functions using MAC Calls 130 2.9.1 Chebyshev Approximations 131 2.9.2 Trigonometrie Function Approximation 132 2.9.3 Exponential and Logarithmic Function Approximation 141 2.9.4 Square Root Function Approximation 148 Exercises 154 3. Finite Impulse Response (FIR) Digital Filters 165 3.1 Digital Filters 165 3.2 FIR Theory 166 3.2.1 FIR Filter with Transposed Structure 167 3.2.2 Symmetry in FIR Filters 170 3.2.3 Linear-phase FIR Filters 171 3.3 Designing FIR Filters 172 3.3.1 Direct Window Design Method 173 3.3.2 Equiripple Design Method 175 3.4 Constant Coefficient FIR Design 177 3.4.1 Direct FIR Design 178 3.4.2 FIR Filter with Transposed Structure 182 3.4.3 FIR Filters Using Distributed Arithmetic 189 3.4.4 IP Core FIR Filter Design 204 3.4.5 Comparison of DA- and RAG-Based FIR Filters 207 Exercises 209 4. Infinite Impulse Response (IIR) Digital Filters 215 4.1 IIR Theory 218 4.2 IIR Coefficient Computation 221 4.2.1 Summary of Important IIR Design Attributes 223 4.3 IIR Filter Implementation 224

Contents XVII 4.3.1 Finite Wordlength Effects 228 4.3.2 Optimization of the Filter Gain Factor 229 4.4 Fast IIR Filter 230 4.4.1 Time-domain Interleaving 230 4.4.2 Clustered and Scattered Look-Ahead Pipelining 233 4.4.3 IIR Decimator Design 235 4.4.4 Parallel Processing 236 4.4.5 IIR Design Using RNS 239 Exercises 240 5. Multirate Signal Processing 245 5.1 Decimation and Interpolation 245 5.1.1 Noble Identities 246 5.1.2 Sampling Rate Conversion by Rational Factor 248 5.2 Polyphase Decomposition 249 5.2.1 Recursive HR Decimator 254 5.2.2 Fast-running FIR Filter 254 5.3 Hogenauer CIC Filters 256 5.3.1 Single-Stage CIC Case Study 257 5.3.2 Multistage CIC Filter Theory 259 5.3.3 Amplitude and Aliasing Distortion 264 5.3.4 Hogenauer Pruning Theory 266 5.3.5 CIC RNS Design 272 5.4 Multistage Decimator 273 5.4.1 Multistage Decimator Design Using Goodman Carey Half-band Filters 274 5.5 Frequency-Sampling Filters as Bandpass Decimators 277 5.6 Design of Arbitrary Sampling Rate Converters 280 5.6.1 Fractional Delay Rate Change 284 5.6.2 Polynomial Fractional Delay Design 290 5.6.3 B-Spline-Based Fractional Rate Changer 296 5.6.4 MOMS Fractional Rate Changer 301 5.7 Filter Banks 308 5.7.1 Uniform DFT Filter Bank 309 5.7.2 Two-channel Filter Banks 313 5.8 Wavelets 328 5.8.1 The Discrete Wavelet Transformation 332 Exercises 335 6. Fourier Transforms 343 6.1 The Discrete Fourier Transform Algorithms 344 6.1.1 Fourier Transform Approximations Using the DFT 344 6.1.2 Properties of the DFT 346 6.1.3 The Goertzel Algorithm 349 6.1.4 The Bluestein Chirp-z Transform 350

XVIII Coatcuts 6.1.5 The Rader Algorithm 353 6.1.6 The Winograd DFT Algorithm 359 6.2 The Fast Fourier Transform (FFT) Algorithms 361 6.2.1 The Cooley Tukey FFT Algorithm 363 6.2.2 The Good Thomas FFT Algorithm 373 6.2.3 The Winograd FFT Algorithm 375 6.2.4 Comparison of DFT and FFT Algorithms 379 6.2.5 IP Core FFT Design 381 6.3 Fourier-Related Transforms 385 6.3.1 Computing the DCT Using the DFT 387 6.3.2 Fast Direct DCT Implementation 388 Exercises 391 7. Advanced Topics 401 7.1 Rectangular and Number Theoretic Transforms (NTTs) 401 7.1.1 Arithmetic Modulo 2 6 ± 1 403 7.1.2 Eflicient Convolutions Using NTTs 405 7.1.3 Fast Convolution Using NTTs 405 7.1.4 Multidimensional Index Maps 409 7.1.5 Computing the DFT Matrix with NTTs 411 7.1.6 Index Maps for NTTs 413 7.1.7 Using Rectangular Transforms to Compute the DFT 416 7.2 Error Control and Cryptography 418 7.2.1 Basic Concepts from Coding Theory 419 7.2.2 Block Codes 424 7.2.3 Convolutional Codes 428 7.2.4 Cryptography Algorithms for FPGAs 436 7.3 Modulation and Demodulation 453 7.3.1 Basic Modulation Concepts 453 7.3.2 Incoherent Demodulation 457 7.3.3 Coherent Demodulation 463 Exercises 472 8. Adaptive Filters 477 8.1 Application of Adaptive Filter 478 8.1.1 Interference Cancellation 478 8.1.2 Prediction 479 8.1.3 Inverse Modeling 479 8.1.4 Identification 480 8.2 Optimum Estimation Techniques 481 8.2.1 The Optimum Wiener Estimation 482 8.3 The Widrow Hoff Least Mean Square Algorithm 486 8.3.1 Learning Curves 493 8.3.2 Normalized LMS (NLMS) 496 8.4 Transform Domain LMS Algorithms 498

Contents XIX 8.4.1 Fast-Convolution Techniques 498 8.4.2 Using Orthogonal Transforms 500 8.5 Implementation of the LMS Algorithm 503 8.5.1 Quantization Effects 504 8.5.2 FPGA Design of the LMS Algorithm 504 8.5.3 Pipelined LMS Filters 507 8.5.4 Transposed Form LMS Filter 510 8.5.5 Design of DLMS Algorithms 511 8.5.6 LMS Designs using SIGNUM Function 515 8.6 Recursive Least Square Algorithms 518 8.6.1 RLS with Finite Memory 521 8.6.2 Fast RLS Kaiman Implementation 524 8.6.3 The Fast a Posteriori Kaiman ELS Algorithm 529 8.7 Comparison of LMS and RLS Parameters 530 Exercises 532 9. Microprocessor Design 537 9.1 History of Microprocessors 537 9.1.1 Brief History of General-Purpose Microprocessors 538 9.1.2 Brief History of RISC Microprocessors 540 9.1.3 Brief History of PDSPs 541 9.2 Instruction Set Design 544 9.2.1 Addressing Modes 544 9.2.2 Data Flow: Zero-,One-, Two- or Three-Address Design 552 9.2.3 Register File and Memory Architecture 558 9.2.4 Operation Support 562 9.2.5 Next Operation Location 565 9.3 Software Tools 566 9.3.1 Lexical Analysis 567 9.3.2 Parser Development 578 9.4 FPGA Microprocessor Cores 588 9.4.1 Hardcore Microprocessors 589 9.4.2 Softcore Microprocessors 594 9.5 Case Studies 605 9.5.1 T-RISC Stack Microprocessors 605 9.5.2 LISA Wavelet Processor Design 610 9.5.3 Nios FFT Design 625 Exercises 634 References 645 A. Verilog Source Code 2001 661

XX Contents B. VHDL and Verilog Coding 729 B.1 List of Examples 731 B.2 Library of Parameterized Modules (LPM) 733 B.2.1 The Parameterized Flip-Flop Megafunction (lpmff) 733 B.2.2 The Adder/Subtractor Megafunction 737 B.2.3 The Parameterized Multiplier Megafunction (1pm_mult) 741 B.2.4 The Parameterized ROM Megafunction (1pm_rom) 746 B.2.5 The Parameterized Divider Megafunction (lpm_divide) 749 B.2.6 The Parameterized RAM Megafunction (1pm_ram_dq) 751 C. Glossary 755 D. CD-ROM File: "lreadme.ps" 761 Index 769