1 Real time signal processing SYSC5603 (ELG6163) Digital Signal Processing Microprocessors, Software and Applications Miodrag Bolic.

Slides:



Advertisements
Similar presentations
DSPs Vs General Purpose Microprocessors
Advertisements

ADSP Lecture2 - Unfolding VLSI Signal Processing Lecture 2 Unfolding Transformation.
Intel Pentium 4 ENCM Jonathan Bienert Tyson Marchuk.
CENG536 Computer Engineering Department Çankaya University.
SWE 423: Multimedia Systems Chapter 7: Data Compression (1)
Sampling, Reconstruction, and Elementary Digital Filters R.C. Maher ECEN4002/5002 DSP Laboratory Spring 2002.
Hardware Basics: Inside the Box 2  2001 Prentice Hall2.2 Chapter Outline “There is no invention – only discovery.” Thomas J. Watson, Sr. What Computers.
Introduction to Computers and Programming. Some definitions Algorithm: –A procedure for solving a problem –A sequence of discrete steps that defines such.
Chapter 15 Digital Signal Processing
CUDA Programming Lei Zhou, Yafeng Yin, Yanzhi Ren, Hong Man, Yingying Chen.
20 October 2003WASPAA New Paltz, NY1 Implementation of real time partitioned convolution on a DSP board Enrico Armelloni, Christian Giottoli, Angelo.
Introduction SYSC5603 (ELG6163) Digital Signal Processing Microprocessors, Software and Applications Miodrag Bolic.
VHDL Coding Exercise 4: FIR Filter. Where to start? AlgorithmArchitecture RTL- Block diagram VHDL-Code Designspace Exploration Feedback Optimization.
2 Systems Architecture, Fifth Edition Chapter Goals Describe numbering systems and their use in data representation Compare and contrast various data.
VLSI DSP 2008Y.T. Hwang3-1 Chapter 3 Algorithm Representation & Iteration Bound.
Pipelining By Toan Nguyen.
Kathy Grimes. Signals Electrical Mechanical Acoustic Most real-world signals are Analog – they vary continuously over time Many Limitations with Analog.
© David Kirk/NVIDIA and Wen-mei W. Hwu, ECE 498AL, University of Illinois, Urbana-Champaign 1 ECE 498AL Programming Massively Parallel Processors.
GPGPU platforms GP - General Purpose computation using GPU
Digital Sound and Video Chapter 10, Exploring the Digital Domain.
Digital Signal Processors for Real-Time Embedded Systems By Jeremy Kohel.
Embedded Systems Design ICT Embedded System What is an embedded System??? Any IDEA???
Real time DSP Professors: Eng. Julian Bruno Eng. Mariano Llamedo Soria.
Chapter 6-2 Multiplier Multiplier Next Lecture Divider
1 Miodrag Bolic ARCHITECTURES FOR EFFICIENT IMPLEMENTATION OF PARTICLE FILTERS Department of Electrical and Computer Engineering Stony Brook University.
Basics and Architectures
TOPIC : Types of fault simulation
Processor Architecture Needed to handle FFT algoarithm M. Smith.
High Speed, Low Power FIR Digital Filter Implementation Presented by, Praveen Dongara and Rahul Bhasin.
Digital Signal Processing
Chapter 8 Problems Prof. Sin-Min Lee Department of Mathematics and Computer Science.
1 Advance Computer Architecture CSE 8383 Ranya Alawadhi.
High Performance Scalable Base-4 Fast Fourier Transform Mapping Greg Nash Centar 2003 High Performance Embedded Computing Workshop
Radix-2 2 Based Low Power Reconfigurable FFT Processor Presented by Cheng-Chien Wu, Master Student of CSIE,CCU 1 Author: Gin-Der Wu and Yi-Ming Liu Department.
An Object-Oriented Approach to Programming Logic and Design Fourth Edition Chapter 6 Using Methods.
© David Kirk/NVIDIA and Wen-mei W. Hwu, ECE 498AL, University of Illinois, Urbana-Champaign 1 Basic Parallel Programming Concepts Computational.
Parallel architecture Technique. Pipelining Processor Pipelining is a technique of decomposing a sequential process into sub-processes, with each sub-process.
LIST OF EXPERIMENTS USING TMS320C5X Study of various addressing modes of DSP using simple programming examples Sampling of input signal and display Implementation.
ELEC692 VLSI Signal Processing Architecture Lecture 2 Pipelining and Parallel Processing.
Von Neumann Computers Article Authors: Rudolf Eigenman & David Lilja
© David Kirk/NVIDIA and Wen-mei W. Hwu, ECE 498AL, University of Illinois, Urbana-Champaign 1 ECE 498AL Spring 2010 Lecture 13: Basic Parallel.
Fast Fourier Transforms. 2 Discrete Fourier Transform The DFT pair was given as Baseline for computational complexity: –Each DFT coefficient requires.
3/12/2013Computer Engg, IIT(BHU)1 CONCEPTS-1. Pipelining Pipelining is used to increase the speed of processing It uses temporal parallelism In pipelining,
Onlinedeeneislam.blogspot.com1 Design and Analysis of Algorithms Slide # 1 Download From
CACHE MEMORY CS 147 October 2, 2008 Sampriya Chandra.
VLSI SP Course 2001 台大電機吳安宇 1 Why Systolic Architecture ? H. T. Kung Carnegie-Mellon University.
Introduction to Performance Tuning Chia-heng Tu PAS Lab Summer Workshop 2009 June 30,
EE345S Real-Time Digital Signal Processing Lab Fall 2006 Lecture 17 Fast Fourier Transform Prof. Brian L. Evans Dept. of Electrical and Computer Engineering.
Real-time Digital Signal Processing Digital Filters.
1 VLSI Algorithm & Computing Structures Chapter 1. Introduction to DSP Systems Younglok Kim Dept. of Electrical Engineering Sogang University Spring 2007.
Chapter 3 Data Representation
Embedded Systems Design
Cache Memory Presentation I
Fei Li Jinjun Xiong University of Wisconsin-Madison
Digital Signal Processors
Subject Name: Digital Signal Processing Algorithms & Architecture
Lecture #17 INTRODUCTION TO THE FAST FOURIER TRANSFORM ALGORITHM
4.1 DFT In practice the Fourier components of data are obtained by digital computation rather than by analog processing. The analog values have to be.
Introduction SYSC5603 (ELG6163) Digital Signal Processing Microprocessors, Software and Applications Miodrag Bolic.
Superscalar and VLIW Architectures
Adaptive Filter A digital filter that automatically adjusts its coefficients to adapt input signal via an adaptive algorithm. Applications: Signal enhancement.
Chapter 19 Fast Fourier Transform
Memory System Performance Chapter 3
Real time signal processing
Introduction SYSC5603 (ELG6163) Digital Signal Processing Microprocessors, Software and Applications Miodrag Bolic.
Introduction SYSC5603 (ELG6163) Digital Signal Processing Microprocessors, Software and Applications Miodrag Bolic.
Implementation of a De-blocking Filter and Optimization in PLX
Lecture #17 INTRODUCTION TO THE FAST FOURIER TRANSFORM ALGORITHM
EE 345S Real-Time Digital Signal Processing Lab Spring 2009
Pipelining.
Presentation transcript:

1 Real time signal processing SYSC5603 (ELG6163) Digital Signal Processing Microprocessors, Software and Applications Miodrag Bolic

2 2 Outline Real time signal processing Structural levels of processing Properties and parameters of signal processing algorithms Definitions of throughput, latency, concurrency, … In order to prepare this material, Chapters 1 and 3 from [Ackenhusen99 ] are used.

3 DSP System

4 Real time signal processing x(n) input discrete time signal representation sampled every Tx. y(n) input discrete time signal representation sampled every Ty. Signal processing is a transformation F of input samples x(n) to obtain the output signal y(m)=F(x(n)) Tc is a computation time needed to process L input samples. System that has Tc≤LTx is said to operate in real-time.

5 Real time signal processing - Conditions Conditions for real-time processing –the input sample period Tx –the complexity of the transformation F –the speed of the computer(s) which compute F(x(n)) as measured by Tc

6 Non-real time signal processing

7 Structural levels of processing Stream processing –all computations with one input sample are completed before the next input sample arrives Block processing –each input sample x(n) is stored in memory before any processing occurs upon it. After L input samples have arrived, the entire collection of samples is processed at once. Vector processing –systems with several input and/or output signals being computed at once: can work with streams or blocks

8 Stream processing

9 Block processing Short-time stationarity of signals Advantages Efficiency: –Fast algorithms such as FFT can be applied –Some algorithms (median) require access to all the samples in the block and are difficult to execute in a stream manner. Disadvantages Latency

10 Parameters of algorithms related to complexity Throughput; Range and precision of numbers; Data-dependent execution, whereby the instruction sequence is influenced by the incoming data; Precedence relations within the algorithm, as well as the lifetime of data values within the computation; Global versus local communication of data; Random versus regular sequencing of data addresses; Diversity of operations and the amount of "difficult" instructions

11 Timing parameters The critical path determines the time it takes to complete an iteration of the computation. The latency of an algorithm is the time it takes to generate an output value from the corresponding input value.

12 Throughput Throughput is defined as the reciprocal of the time deference between successive outputs. It depends on: –number of operations, Examples: Speech coding ~ 100’s of operation per sample Video applications ~5 to 10 operations per sample –amount of data to process, and –time available to process

13 Range and precision of numbers A number is represented with a fixed number of bits - tradeoff between dynamic range and precision. Dynamic range is the range between the most negative and the most positive number encountered. The number of bits determines the number of numeric levels available Complexity increases with the number of bits. In a purpose-built (custom) architecture, increasing the number of bits increases the area, approximately as the square of the number of bits.

14 Data-dependent execution High-speed computing is most easily achieved for algorithms that are regular, i.e., that perform the same operations on each piece of data. Data-dependent computations and data precedence requirements for sequential execution pose obstacles to achieving task parallelism (executing multiple tasks in parallel). The requirement of global communication increases the difficulty of achieving data parallelism (performing parallel computations on subsets of the data). Data dependencies are studied through temporal and spatial locality: Temporal locality is described as the tendency for a program to reuse the data or instructions which have recently been used. Spatial locality is the tendency for a program to use the data or instructions neighboring those which were recently used.

15 Data lifetime Computations that use a piece of data once and then discard it are more amenable to stream processing algorithms Stream processing algorithms require less storage, avoid the need to again find a piece of data from within a random memory array, and reduce the latency of results. Block processing algorithms, which collect all samples at once before acting upon them, require time to accumulate numbers, which introduces latency.

16 Address pattern

17 Diversity of operations Typically: repetitive kernels of computation Examples: –FIR filter a multiply-add operation. –FFT is the butterfly calculation. Challenges: Linear or non-linear computation Nonstandard operations

18 Concurrency Concurrency of operations quantifies the expected number of operations that will be simultaneously executed. Temporal concurrency – pipelining Spatial concurrency represents a set of tasks that can be executed concurrently. Spatial concurrency – parallelism Retimed FIR filter: Multiplication and addition in O(1) time