DSP Design Lecture 1. Introduction and DSP Basics. Fredrik Edman, PhD

Similar documents
Introduction and DSP Basics. Viktor Öwall

EE 403: Digital Signal Processing

DIGITAL SIGNAL PROCESSING WITH VHDL

EE 351M Digital Signal Processing

Digital Signal Processing

EENG 479 Digital signal processing Dr. Mohab A. Mangoud

McGraw-Hill Irwin DIGITAL SIGNAL PROCESSING. A Computer-Based Approach. Second Edition. Sanjit K. Mitra

Keywords: Adaptive filtering, LMS algorithm, Noise cancellation, VHDL Design, Signal to noise ratio (SNR), Convergence Speed.

Implementation of FPGA based Design for Digital Signal Processing

ECE Digital Signal Processing

Digital Signal Processing Lecture 1

Design of Digital FIR Filter using Modified MAC Unit

GUJARAT TECHNOLOGICAL UNIVERSITY

DIGITAL SIGNAL PROCESSING (Date of document: 6 th May 2014)

Aparna Tiwari, Vandana Thakre, Karuna Markam Deptt. Of ECE,M.I.T.S. Gwalior, M.P, India

CG401 Advanced Signal Processing. Dr Stuart Lawson Room A330 Tel: January 2003

A Survey on Power Reduction Techniques in FIR Filter

Performance Analysis of FIR Digital Filter Design Technique and Implementation

A New High Speed Low Power Performance of 8- Bit Parallel Multiplier-Accumulator Using Modified Radix-2 Booth Encoded Algorithm

EE 470 Signals and Systems

Fixed Point Lms Adaptive Filter Using Partial Product Generator

An Efficient Design of Parallel Pipelined FFT Architecture

The Comparative Study of FPGA based FIR Filter Design Using Optimized Convolution Method and Overlap Save Method

Electrical and Telecommunication Engineering Technology NEW YORK CITY COLLEGE OF TECHNOLOGY THE CITY UNIVERSITY OF NEW YORK

Performance Analysis of FIR Filter Design Using Reconfigurable Mac Unit

FIR window method: A comparative Analysis

Problem Point Value Your score Topic 1 28 Discrete-Time Filter Analysis 2 24 Improving Signal Quality 3 24 Filter Bank Design 4 24 Potpourri Total 100

ELEC-C5230 Digitaalisen signaalinkäsittelyn perusteet

COURSE PLAN. : DIGITAL SIGNAL PROCESSING : Dr.M.Pallikonda.Rajasekaran, Professor/ECE

AC : INTERACTIVE LEARNING DISCRETE TIME SIGNALS AND SYSTEMS WITH MATLAB AND TI DSK6713 DSP KIT

A HIGH SPEED FFT/IFFT PROCESSOR FOR MIMO OFDM SYSTEMS

Team proposals are due tomorrow at 6PM Homework 4 is due next thur. Proposal presentations are next mon in 1311EECS.

Design of a High Speed FIR Filter on FPGA by Using DA-OBC Algorithm

AUTOMATIC IMPLEMENTATION OF FIR FILTERS ON FIELD PROGRAMMABLE GATE ARRAYS

An Efficient Method for Implementation of Convolution

Problem Point Value Your score Topic 1 28 Filter Analysis 2 24 Filter Implementation 3 24 Filter Design 4 24 Potpourri Total 100

Signal Processing Using Digital Technology

Part One. Efficient Digital Filters COPYRIGHTED MATERIAL

A Hardware Efficient FIR Filter for Wireless Sensor Networks

A Low-Power Broad-Bandwidth Noise Cancellation VLSI Circuit Design for In-Ear Headphones

ECE 429 / 529 Digital Signal Processing

Digital Signal Processing. VO Embedded Systems Engineering Armin Wasicek WS 2009/10

Digital Signal Processing

Teaching Plan - Dr Kavita Thakur

Lecture 1. Tinoosh Mohsenin

DAV Institute of Engineering & Technology Department of ECE. Course Outcomes

Discrete-Time Signal Processing (DSP)

DISCRETE FOURIER TRANSFORM AND FILTER DESIGN

Abstract of PhD Thesis

Digital Signal Processing of Speech for the Hearing Impaired

Digital Signal Processing

Architecture for Canonic RFFT based on Canonic Sign Digit Multiplier and Carry Select Adder

International Journal of Advanced Research in Computer Science and Software Engineering

Department of Electrical and Electronics Engineering Institute of Technology, Korba Chhattisgarh, India

An area optimized FIR Digital filter using DA Algorithm based on FPGA

FIR Filter Design on Chip Using VHDL

The University of Texas at Austin Dept. of Electrical and Computer Engineering Midterm #1

Design and Implementation of Signal Processing Systems: An Introduction

Control Systems Overview REV II

CHAPTER 2 FIR ARCHITECTURE FOR THE FILTER BANK OF SPEECH PROCESSOR

ece 429/529 digital signal processing robin n. strickland ece dept, university of arizona ECE 429/529 RNS

FPGA Implementation of Adaptive Noise Canceller

Digital Filters IIR (& Their Corresponding Analog Filters) Week Date Lecture Title

Design and Characterization of 16 Bit Multiplier Accumulator Based on Radix-2 Modified Booth Algorithm

REAL TIME DIGITAL SIGNAL PROCESSING. Introduction

Design of Multiplier Less 32 Tap FIR Filter using VHDL

Vector Arithmetic Logic Unit Amit Kumar Dutta JIS College of Engineering, Kalyani, WB, India

Lecture Perspectives. Administrivia

VLSI IMPLEMENTATION OF MODIFIED DISTRIBUTED ARITHMETIC BASED LOW POWER AND HIGH PERFORMANCE DIGITAL FIR FILTER Dr. S.Satheeskumaran 1 K.

Signal Processing in Mobile Communication Using DSP and Multi media Communication via GSM

Design and Analysis of RNS Based FIR Filter Using Verilog Language

Multiple Constant Multiplication for Digit-Serial Implementation of Low Power FIR Filters

DESIGN & FPGA IMPLEMENTATION OF RECONFIGURABLE FIR FILTER ARCHITECTURE FOR DSP APPLICATIONS

Design and FPGA Implementation of High-speed Parallel FIR Filters

Globally Asynchronous Locally Synchronous (GALS) Microprogrammed Parallel FIR Filter

Filters. Phani Chavali

ADSPAA - Analog and Digital Signal Processing in Aerospace Applications

Designing Filters Using the NI LabVIEW Digital Filter Design Toolkit

Lecture 3 Review of Signals and Systems: Part 2. EE4900/EE6720 Digital Communications

Design and Implementation of Scalable Micro Programmed Fir Filter Using Wallace Tree and Birecoder

CS3291: Digital Signal Processing

DESIGN AND IMPLEMENTATION OF ADAPTIVE ECHO CANCELLER BASED LMS & NLMS ALGORITHM

M.Tech Student, Asst Professor Department Of Eelectronics and Communications, SRKR Engineering College, Andhra Pradesh, India

MULTIRATE DIGITAL SIGNAL PROCESSING

IMPLEMENTATION OF 64-POINT FFT/IFFT BY USING RADIX-8 ALGORITHM

Digital Signal Processing

Enabling High-Performance DSP Applications with Arria V or Cyclone V Variable-Precision DSP Blocks

Using Soft Multipliers with Stratix & Stratix GX

Brief Introduction to Signals & Systems. Phani Chavali

JDT LOW POWER FIR FILTER ARCHITECTURE USING ACCUMULATOR BASED RADIX-2 MULTIPLIER

Presented at the 108th Convention 2000 February Paris, France

Lecture 30. Perspectives. Digital Integrated Circuits Perspectives

International Journal of Modern Trends in Engineering and Research

FPGA Implementation Of LMS Algorithm For Audio Applications

A Comparative Study on Direct form -1, Broadcast and Fine grain structure of FIR digital filter

DSP Filter Design for Flexible Alternating Current Transmission Systems

Advanced Digital Signal Processing Part 5: Digital Filters

Adaptive beamforming using pipelined transform domain filters

Understanding Digital Signal Processing

Design of Adjustable Reconfigurable Wireless Single Core

Transcription:

DSP Design Lecture 1 Introduction and DSP Basics Fredrik Edman, PhD fredrik.edman@eit.lth.se

Lecturers Fredrik Edman (course responsible) Mail: fredrik.edman@eit.lth.se Room E:2538 Mojtaba Mahdavi (exercises & labs) Mail: mojtaba.mahdavi@eit.lth.se Room E:2339 and several invited speakers! Course Aministrator Anne Andersson anne.andersson@eit.lth.se Room E:3152b (3rd floor in the north-west part of the building)

Course information www.eit.lth.se/course/etin45 Lectures Tuesdays 13-15 in E:2517 and Thursdays 13-15 in E:3139 Seminars Wednesdays and Fridays 10-12 in E:3139, E: 1407 No seminar 1 st week Labs - Lab 1 Friday 2nd Feb between 8-12 - Lab 2 Friday 9th Feb between 8-12 - Lab 3 Friday 16th Feb between 8-12 - Lab 4 Friday 2nd March between 8-12

Compulsary Parts Pass 4 Laborations (MATLAB & Hardware design in CatapultC) Pass Homework exercises & Homework seminar results in grade 3 Written exam for grade 4 & 5

Litterature Course Litterature Keshab K. Parhi, VLSI Digital Signal Processing Systems: Design and Implementation Extended Reading Alan V. Oppenheim, Ronald W. Schafer with John R. Buck, Discrete-Time Signal Processing, Prentice Hall, 1999, ISBN 0-13-754920-2. John G. Proakis and Dimitris Manolakis, Digital Signal Processing: Principles, Algorithms and Applications, Prentice Hall, 1995, ISBN 0133737624. Sanjit K. Mitra, Digital Signal Processing. A Computer Based Approach, McGRAW-HILL, 2001 ISBN: 0-07-118175-X Lars Wanhammar, DSP Integrated Circuits, Academic Press, 1999, ISBN 0-12-734530-2 etc.

Scope of the Course How to get from a signal processing algorithm to an EFFICIENT implementation using a number of tools such as; Different numbering systems Pipelining Parallelism Unfolding/Folding Strength reduction, i.e. complexity of operations. etc, etc,... in a structured way according to the specification!

Aims: Knowledge Goals After completing the course the student should: have gained an understanding for the relationship between parameters such as calculation capacity, power consumption and silicon area be familiar with transformations that help the designer to develop different solutions for a given signal processing algorithm. understand how different number representations affect the solution. Aims: Skills After completing the course the student should: be able to suggest an architecture from a given set of criteria. be able to analyze an architecture and suggest alternative solutions. Aims: Attitude After completing the course the student should: have gained an overview of the field of implementation aspects of signal processing algorithms. feel well equipped to design an application specific processor given a specification using the methodologies covered in the course.

Introduction to DSP

Definition DSP (Digital Signal Processing) Digital signal processing (DSP) is the mathematical manipulation of an information signal to modify or improve it in some way. It is characterized by the representation of discrete time, discrete frequency, or other discrete domain signals by a sequence of numbers or symbols and the processing of these signals. Wikipedia Digital signal processing (DSP) is the process of analyzing and modifying a signal to optimize or improve its efficiency or performance. It involves applying various mathematical and computational algorithms to analog and digital signals to produce a signal that's of higher quality than the original signal. Be aware that sometimes DSP = Digital Signal Processor! Technopedia

Example of DSP Applications Speech & Audio coding, MP3 recognition echo cancellation Image coding, MPEG4 Filtering Wireless Communication channel coding/decoding equalization channel estimation smart antennas beam forming MIMO, Multiple Input Multiple Output Seismology classification recognition Radar and sonar classification detection Financial signal processing filtering classification Calculations Bvlock chain technology Biomedicin smart sensors telemedicin pacemakers Image processing ESS, MAX IV, etc.

Definition DSP (Digital Signal Processor) Digital signal processor (DSP) A digital signal processor (DSP) is a specialized microprocessor, with its architecture optimized for the operational needs of digital signal processing. The goal of DSPs is usually to measure, filter and/or compress continuous real-world analog signals. Most general-purpose microprocessors can also execute digital signal processing algorithms successfully, but dedicated DSPs usually have better power efficiency thus they are more suitable in portable devices such as mobile phones because of power consumption constraints. Wikipedia

Different types of Digital Signal Processors Programmable or Custom DSPs What to use depends on requirements Sample rate Throughput Energy consumption Area Wordlength precision Flexibility Time to market Volume/size

Where do we find them? Large volume of data Very Low Power Extremely Low Power High performance computing Low Power

What s happening inside the DSP?

In the DSP an (DSP) algorithm is executed!

The heart of DSP algorithms are usually DSP Primitives Examples: Convolutions Filters FIR IIR Wave digital Correlation FFT - fast Fourier transform DCT - discrete cosine transform LMS Least Mean Square etc...

An application is often comprised of several DSP primitives Example: Acoustic Echo Cancellation Subband approach Reduces complexity and achieves Faster convergence Anders Berkeman

Hardware Implementation Techniques There are several ways of implementing a DSP-algorithm in hardware. Microprocessor/µcontroller is a small computer on a single integrated circuit which may contain a processor core, memory, and programmable input/output peripherals. Digital Signal Processor (DSP) a specialized microprocessor, with its architecture optimized for the operational needs of digital signal processing. Field-Programmable Gate Array (FPGA) - an integrated circuit designed to be configured after manufacturing. Application-Specific Intergated Circuit (ASIC) - is an integrated circuit customized for a particular use.

Architectural Options Standard Processor vs. Special Purpose Algorithm Standard Processor Programable/Flexible Short design time/ttm Low price? FPGA Main focus of this Course Special Purpose ASIC High calculation capacity Low power consumption Low price at volume

Different applications, different demands... (a simplified view) Flexibilty Complexity Low power Low cost Flexibilty Lower power Lower cost Processors Processors ASICs FPGAs ASICs Processors

This course mainly looks at specialized architectures Could be used for either FPGA or ASIC

Energy Efficiency One of the key design issues!

Utilizing the computation time Can we control the clock frequency? What power down options do we have? clock gating various sleep modes Can we scale the power supply? Dynamic How many levels What cell library can we choose? Low power High speed MIPS Compute as fast as we can? Compute as slow as we re allowed? Max computation time Time

Energy efficiency (MOPS/mW) depends on type of application 1000 Energy and Area Efficiencies 100 10 1 0,1 Microprocessors General Purpose DSP s Dedicated Designs 0,01 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Courtesy: Professor Bob Brodersen, UC Berkeley Chip Number (see next slide)

Energy efficiency (MOPS/mW) depends on type of application ISSCC Chips (0.18μm 0.25μm)

Complexity A constant challenge!

Complexity Complexity of Algorithms are increasing with new systems Number of transistors possible to implement on a die is incresing (Moore s law) Often mature algorithms (systems) go to non-custom solutions. But there is always new algorithms and there is power and price...

Evolution New systems i.e. high performance use non-standard architectures and components e.g. 5G Mature systems i.e. low performance compared to state of the art implemented on standard platforms mature technologies e.g. GSM, 3G New 1 Mature 1 New 2 New 3 Mature 2 Mature 3 Evolution

Important questions when designing hardware architectures Which structure gets the job done? Which structure use the least amount of energy? Which structure use the least amount of area? Etc, etc, etc... How do we design architectures to achieve it?

DSP Basics Filters

Digital signal processing algorithms works on samples of a continous signals. Sampling rate = nr. of samples processed/second Continous signal Analog Digital Sampled signal Digital Signal Processing

Two Basic DSP Structures x(n) h0 D D D h1 h2 h3 x(n) D y(n) y(n) FIR Finite Impulse Response 4-tap FIR filter No feedback D IIR Infinite Impulse Response Biquad section Feedback

y N 1 k = 0 The FIR filter ( n) = h( k) x( n k) h(.) is the impulse response which defines the filter response, e.g. low- or highpass. x(n) x(n-1) x(n-2) x(n-3) D D D h0 h1 h2 h3 y(0)

The FIR filter - Definitions y N 1 k = 0 ( n) = h( k) x( n k) x(n) h0 x(n-1) x(n-2) x(n-3) D D D h1 h2 h3 y(0) The filter length is = N The filter order is = N-1 The number of filter taps = the filter length A higher order filter, more taps, will result in a steeper filter function but has higher complexity!

Quick look at filter order, length and taps Suppose that we have the following filter: y[n]=2x[n]+4x[n 2]+6x[n 3]+8x[n 4] x(n) x(n-1) x(n-2) x(n-3) x(n-4) D D D D 2 4 6 8 What is the filter length, filter order and number of taps? y(n)

x(n) Quick look answer y[n]=2x[n]+4x[n 2]+6x[n 3]+8x[n 4] x(n-1) x(n-2) x(n-3) x(n-4) D D D D 2 4 6 8 Filter length: the filter length is 5, i.e. the filter extends over 5 input samples [x(n),x(n 1),x(n 2),x(n 3),x(n 4)]. Filter order: The order of an FIR filter is filter length minus 1, i.e. the filter order in the example is 4. (The filter order is the max. delay needed, so if your filter is y(n)+y(n 10)=x(n) you have a filter order of 10) # filter taps: The number of taps is the same as the filter length. In this case you have one tap equal to zero (the coefficient for x(n 1)), so there is 4 non-zero taps. Still, the filter length is 5. y(n)

Example: FIR filter in Matlab x(n) D D D h0 h1 h2 h3 FIR-filters can be designed with the built-in filter function fir1(n,wn) N th order filter with the cut-off frequency Wn must be between 0 < Wn < 1.0, with 1.0 corresponding to half the sample rate. y(n) 0.12 0.1 32-taps 0.25 0.2 8-order 0.08 0.06 0.15 0.04 0.1 0.02 0 0.05-0.02 0 5 10 15 20 25 30 35 0 1 2 3 4 5 6 7 8 9

FIR-filter frequency response Use fft to transform h(.) to frequency domain and plot. 1.4 1.2 32-taps 8-taps 1 0.8 0.6 0.4 0.2 0 0 200 400 600 800 1000 1200 Symmetry when real input to fft.

Linear phase FIR filters 1 0.12 0.8 0.1 0.6 0.08 0.4 0.06 0.2 0.04 0 0.02-0.2 0-0.4 0 5 10 15 20 25 30 35-0.02 0 5 10 15 20 25 30 35 Linear phase filters has a constant group delay in the passband, i.e. all frequency components are delayed equally no phase distortion! x(n) Linear phase filters, e.g. from fir1(), has symmetric coefficients. This can be used to simplify the filter structure. D D D D x(n) D D D D h0 h1 h2 h3 h4 y(n) y(n)

The FIR filter, hardware mapped, y N 1 k = 0 first clock cycle ( n) = h( k) x( n k) y( 0) = h0 x(0) + h1 x( 1) + h2 x( 2) + h3 x( 3) clock x(0) R E G x(-1) R x(-2) R x(-3) E E G G h0 h1 h2 h3 y(0)

The FIR filter, second clock cycle y N 1 k = 0 ( 1) = h0 x(1) + h1 x(0) + h2 x( 1) + h3 x( ( n) = h( k) x( n k) y clock 2) x(1) R E G x(0) R x(-1) R x(-2) E E G G h0 h1 h2 h3 y(1)

Time multiplexed to save hardware x(n) FIR : D D D y N 1 k = 0 ( n) = h( k) x( n k) MUX c h0 h1 h2 h3 REG 1 sample/cc N fixed multipliers N-1 adders y(n) N cc/sample 1 generalized multiplier 1 adders 1 coefficient memory + control

Time multiplexed to save hardware 0 Sample Mem x(n) How many clock cycles? MUX coeff Why the 0? Why the extra reg? REG REG y(n) x(n) h0 D D D h1 h2 h3 y(n)

Time multiplexed to save hardware Sample Mem cc0: x(0)h(0)+0 0 x(0) MUX coeff h(0) REG REG y(-1) x(n) h0 D D D h1 h2 h3 y(n)

Time multiplexed to save hardware x(0)h(0) Sample Mem x(-1) cc0: x(0)h(0)+0 cc1: x(-1)h(1)+x(0)h(0) MUX coeff h(1) REG REG y(-1) x(n) h0 D D D h1 h2 h3 y(n)

Time multiplexed to save hardware x(-1)h(1)+ x(0)h(0) MUX Sample Mem x(-2) coeff h(2) cc0: x(0)h(0)+0 cc1: x(-1)h(1)+x(0)h(0) cc2: x(-2)h(2)+ x(-1)h(1)+x(0)h(0) REG REG y(-1) x(n) h0 D D D h1 h2 h3 y(n)

Time multiplexed to save hardware x(-2)h(2)+ x(-1)h(1)+ x(0)h(0) MUX Sample Mem x(-3) coeff h(3) cc0: x(0)h(0)+0 cc1: x(-1)h(1)+x(0)h(0) cc2: x(-2)h(2)+ x(-1)h(1)+x(0)h(0) cc3: x(-3)h(3)+ x(-2)h(2)+ x(-1)h(1)+x(0)h(0) REG REG y(-1) x(n) h0 D D D h1 h2 h3 y(n)

Time multiplexed to save hardware 0 MUX Sample Mem x(1) coeff h(0) cc0: x(0)h(0)+0 cc1: x(-1)h(1)+x(0)h(0) cc2: x(-2)h(2)+ x(-1)h(1)+x(0)h(0) cc3: x(-3)h(3)+ x(-2)h(2)+ x(-1)h(1)+x(0)h(0) cc4: x(1)h(0)+0; new iteration REG REG y(0) x(n) h0 D D D h1 h2 h3 y(n)

Time multiplexed to save hardware 0 Sample Mem x(n) sample CONTROL MUX coeff reset address FSM Finite State Machine REG REG load x(n) D D D y(n) h0 h1 h2 h3 y(n)

The IIR filter, direct form I The impulse response also includes feedback terms. m n = i + j i= 0 j= 1 ( ) ( ) ( ) y n bx n i a y n j x(n) b 0 + Z -1 b 1 Z -1 + + + a 1 Z -1 Z -1 y(n) Z -1 b m-1 b m + + a n-1 a n Z -1 Steeper impulse response but possibility for unstability

The IIR filter, direct form II m n = i + j i= 0 j= 1 ( ) ( ) ( ) y n bx n i a y n j Each part is a linear time-invariant system and the order can be reversed. x(n) + + a 1 Z -1 Z -1 b 0 + Z -1 b 1 Z -1 + y(n) + a n-1 a n Z -1 Z -1 b m-1 b m +

The IIR filter, direct form II m n = i + j i= 0 j= 1 ( ) ( ) ( ) y n bx n i a y n j The two parts can be collapsed into one with a minimum number of delay elements. x(n) + b 0 + y(n) + a 1 Z -1 Z -1 b 1 + + a n-1 a n Z -1 b m-1 b m +

The IIR filter, cascade form N ( ) s 1 2 b0k + b1 kz + b2kz H z = ; Ns = ( N + 1 ) /2 1 a z a z 1 2 k = 1 1k 2k x(n) y(n) D D D D D D Often cascaded with shorter sections which are combined, easier to design when fixed-point arithmetic. The above is often referred to as biquad sections.

DSP Basics DFT - FFT

DFT - FFT The Discrete Fourier Transform (DFT) is a mathematical operation. The Fast Fourier Transform (FFT) is an efficient algorithm for the evaluation of that operation (actually, a family of such algorithms). The fast Fourier transform (FFT) samples a signal over a period of time (or space) and divides it into its frequency components.

DFT - FFT The DFT/FFT is one of the most common digital signal processing algorithms. Used to determine frequency content of a discrete signal sequence. Transform between time and frequency domains. The FFT is a low complexity way of computing the DFT.

N-point DFT X ( k) N = n= 1 0 x( n) W kn N, k = 0,1,..., N 1 N filters of length N O(N 2 ) kn W = e N j2πkn / N Complex x(n) N N X(0) X(1) Only every N th sample N X(N-1) The DFT determines spectral content at N equally spaced frequency points, i.e. coorelates with different frequencies, N samples are needed. f analysis ( m) = mf sample N

FFT is low complexity DFT x(0) X(0) x(1) X(8) x(2) W 0 X(4) x(3) W 4 X(12) log 2 ( N) stages x(4) x(5) x(6) W 0 W 2 W 6 W 0 X(2) X(10) X(6) DFT O( N 2 ) x(7) x(8) W 0 W 8 W 4 X(14) X(1) x(9) W 1 X(9) FFT N 2 log 2 ( N) x(10) x(11) x(12) W 2 W 3 W 4 W 0 W 0 W 4 X(5) X(13) X(3) x(13) W 5 W 2 X(11) x(14) W 6 W 4 W 0 X(7) x(15) W 7 W 6 W 4 X(15)

End of Lecture 1 See you on Thursday