EE 445S Real-Time Digital Signal Processing Lab Spring 2012 Lab #3.1 Digital Filters Some contents are from the book “Real-Time Digital Signal Processing.

Slides:



Advertisements
Similar presentations
System Integration and Performance
Advertisements

Lab 2 – DSP software architecture and the real life DSP characteristics of signals that make it necessary.
DSPs Vs General Purpose Microprocessors
Lecture 4 Introduction to Digital Signal Processors (DSPs) Dr. Konstantinos Tatas.
Embedded Streaming Media with GStreamer and BeagleBoard ESC-228 Presented by Santiago Nunez santiago.nunez (at) ridgerun.com.
CPU Review and Programming Models CT101 – Computing Systems.
Yaron Doweck Yael Einziger Supervisor: Mike Sumszyk Spring 2011 Semester Project.
ARM-DSP Multicore Considerations CT Scan Example.
Sim-alpha: A Validated, Execution-Driven Alpha Simulator Rajagopalan Desikan, Doug Burger, Stephen Keckler, Todd Austin.
Programming Types of Testing.
Auto-tuning for Electric Guitars using Digital Signal Processing Pat Hurney, 4ECE 31 st March 2009.
EE 445S Real-Time Digital Signal Processing Lab Fall 2011 Lab #3.1 Digital Filters Debarati Kundu (With the help of Mr. Eric Wilbur, TI)
0 - 1 © 2007 Texas Instruments Inc, Content developed in partnership with Tel-Aviv University From MATLAB ® and Simulink ® to Real Time with TI DSPs Audio.
CMPT 300: Final Review Chapters 8 – Memory Management: Ch. 8, 9 Address spaces Logical (virtual): generated by the CPU Physical: seen by the memory.
DSP online algorithms for the ATLAS TileCal Read Out Drivers Cristobal Cuenca Almenar IFIC (University of Valencia-CSIC)
CMPT 300: Final Review Chapters 8 – Memory Management: Ch. 8, 9 Address spaces Logical (virtual): generated by the CPU Physical: seen by the memory.
20 October 2003WASPAA New Paltz, NY1 Implementation of real time partitioned convolution on a DSP board Enrico Armelloni, Christian Giottoli, Angelo.
DSP Implementation of a 1961 Fender Champ Amplifier James Siegle Advisor: Dr. Thomas L. Stewart March 11, 2003.
Software Performance Tuning Project – Final Presentation Prepared By: Eyal Segal Koren Shoval Advisors: Liat Atsmon Koby Gottlieb.
CS61C L20 Introduction to Synchronous Digital Systems (1) Garcia © UCB Lecturer PSOE Dan Garcia inst.eecs.berkeley.edu/~cs61c.
EE 345S Real-Time Digital Signal Processing Lab Fall 2008
EENG 3910: Project V Digital Signal Processing (DSP) System Design
Kathy Grimes. Signals Electrical Mechanical Acoustic Most real-world signals are Analog – they vary continuously over time Many Limitations with Analog.
LPC Speech Coder on the TI C6x DSP Mark Anderson, Jeff Burke EE213A / EE298-2 Prof. Ingrid Verbauwhede.
GallagherP188/MAPLD20041 Accelerating DSP Algorithms Using FPGAs Sean Gallagher DSP Specialist Xilinx Inc.
GPGPU platforms GP - General Purpose computation using GPU
Sub-Nyquist Sampling DSP & SCD Modules Presented by: Omer Kiselov, Daniel Primor Supervised by: Ina Rivkin, Moshe Mishali Winter 2010High Speed Digital.
Digital Signal Processors for Real-Time Embedded Systems By Jeremy Kohel.
Trigger design engineering tools. Data flow analysis Data flow analysis through the entire Trigger Processor allow us to refine the optimal architecture.
Develop and Implementation of the Speex Vocoder on the TI C64+ DSP
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
DSP Lecture Series DSP Memory Architecture Dr. E.W. Hu Nov. 28, 2000.
DSP Processors We have seen that the Multiply and Accumulate (MAC) operation is very prevalent in DSP computation computation of energy MA filters AR filters.
Performance of mathematical software Agner Fog Technical University of Denmark
External Storage Primary Storage : Main Memory (RAM). Secondary Storage: Peripheral Devices –Disk Drives –Tape Drives Secondary storage is CHEAP. Secondary.
Moving Arrays -- 1 Completion of ideas needed for a general and complete program Final concepts needed for Final Review for Final – Loop efficiency.
1 Implementation in Hardware of Video Processing Algorithm Performed by: Yony Dekell & Tsion Bublil Supervisor : Mike Sumszyk SPRING 2008 High Speed Digital.
LIST OF EXPERIMENTS USING TMS320C5X Study of various addressing modes of DSP using simple programming examples Sampling of input signal and display Implementation.
Exam Format  105 Total Points  25 Points Short Answer  20 Points Fill in the Blank  15 Points T/F  45 Points Multiple Choice  The above are approximations.
© GCSE Computing Candidates should be able to:  describe the characteristics of an assembler Slide 1.
Advanced Hardware/Software Optimization Techniques for Application Specific MCSoC m Yumiko Kimezawa Supervised by Prof. Ben Abderazek Adapted Systems.
Rohini Ravichandran Kaushik Narayanan A MINI STEREO DIGITAL AUDIO PROCESSOR (BEHAVIORAL MODEL)
Low Power, High-Throughput AD Converters
Sub- Nyquist Sampling System Hardware Implementation System Architecture Group – Shai & Yaron Data Transfer, System Integration and Debug Environment Part.
EE 345S Real-Time Digital Signal Processing Lab Fall 2008 Lab #3 Generating a Sine Wave Using the Hardware & Software Tools for the TI TMS320C6713 DSP.
Software Engineering Algorithms, Compilers, & Lifecycle.
Introduction to Performance Tuning Chia-heng Tu PAS Lab Summer Workshop 2009 June 30,
CSE 351 Caches. Before we start… A lot of people confused lea and mov on the midterm Totally understandable, but it’s important to make the distinction.
Today’s Agenda Exam 2 Part 2 (11:15am-12:30pm)
Flip Flops Lecture 10 CAP
Digital readout architecture for Velopix
Embedded Systems Design
EE 445S Real-Time Digital Signal Processing Lab Spring 2017
Digital Signal Processors
Subject Name: Digital Signal Processing Algorithms & Architecture
CS 1308 Exam 2 Review.
Operation System Program 4
EE 445S Real-Time Digital Signal Processing Lab Fall 2013
Chapter 21b Reference Frameworks
ECE 477 Final Presentation Team 2 Spring 2012
Lab 3 Part II Instructions
Logical Computer System
Getting serious about “going fast” on the TigerSHARC
A Discussion on Assemblers
Explaining issues with DCremoval( )
Lecture 31: The IO Model 2 Repacking
Virtual Memory: Working Sets
Working with the Compute Block
EE 345S Real-Time Digital Signal Processing Lab Spring 2009
CS 1308 Exam 2 Review.
Presentation transcript:

EE 445S Real-Time Digital Signal Processing Lab Spring 2012 Lab #3.1 Digital Filters Some contents are from the book “Real-Time Digital Signal Processing from MATLAB to C with the TMS320C6x DSPs”

2 Outline Frame-based DSP Frame-based FIR filter Code Optimization

3 Sample-based DSP Easier to understand and program Minimize the system latency (act on each sample as soon as it is available) Insufficient cycles (codec transfers; memory access; instruction and data cache latency) Input one sample Process one sample by DSP Output one sample Reconstructed analog signal Analog signal

4 Frame-based DSP Input one sample Process N samples by DSP Output N samples Reconstructed analog signal Analog signal Collected N samles? Start assembling the next frame No Yes

Triple Buffering Initial Condition (all three buffers filled with zeros) Pointer pInput Pointer pProcess Pointer pOutput Buffer A Buffer B Buffer C Time Progression 1. Each time block is the amount of time needed to fill one frame with samples. 2. Time T0: Buffer A is filling, Buffer B and C are still filled with zeros. 3. Time T1: Buffer C is filling, Buffer A is being processed, Buffer B is all zeros. 4. Time T2: the first actual output appears when Buffer A is sent to the DAC. 5. The same pattern repeats as shown above for as long as the program runs.

Frame-based convolution (FIR filter) x[N-2]x[N-1]x[0]x[1]x[2]…x[N-2]x[N-1]x[0]x[1]x[2]…x[N-2]x[N-1] From previous frame Frame 1Frame 2 b[0]b[1]b[2] b[0]b[1]b[2] b[0]b[1]b[2] b[0]b[1]b[2] b[0]b[1]b[2] b[0]b[1]b[2] Last allowable position for B Can’t do this Second-order FIR filter implementation

Code Optimization  A typical goal of any system’s algorithm is to meet real-time  You might also want to approach or achieve “CPU Min” in order to maximize #channels processed  The minimum # cycles the algorithm takes based on architectural limits (e.g. data size, #loads, math operations req’d) Goals: CPU Min (the “limit”):  Often, meeting real-time only requires setting a few compiler options  However, achieving “CPU Min” often requires extensive knowledge of the architecture (harder, requires more time) Real-time vs. CPU Min

8 “Debug” vs “Optimized” Benchmarks for (j = 0; j < nr; j++) { sum = 0; for (i = 0; i < nh; i++) sum += x[i + j] * h[i]; r[j] = sum >> 15; }  Debug – get your code LOGICALLY correct first (no optimization)  “Opt” – increase performance using compiler options (easier)  “CPU Min” – it depends. Could require extensive time OptimizationMachine Cycles Debug (no opt, –g)817K “Release” (-o3, no -g)18K CPU Min6650

Levels of Optimization FILE1.C { } {... } {... } FILE2.C -o0, -o1 -o2 -o3-pm -o3 LOCAL single block FUNCTION Across blocks FILE Across functions PROGRAM Across files {... }