Rapid prototyping of of DSP algorithms. real-time. Mattias Arlbrant. Grupphandledare, ANC

Similar documents
Introduction To LabVIEW and the DSP Board

Digital Signal Processing Laboratory 7: IIR Notch Filters Using the TMS320C6711

Implementation of Graphical Equalizer using LabVIEW for DSP Kit DSK C6713

Journal of Theoretical and Applied Information Technology 20 th July Vol. 65 No JATIT & LLS. All rights reserved.

IMPLEMENTATION AND ANALYSIS OF FIR FILTER USING TMS 320C6713 DSK Sandeep Kumar

DH400. Digital Phone Hybrid. The most advanced Digital Hybrid with DSP echo canceller and VQR technology.

DSP in Communications and Signal Processing

Multiband Noise Reduction Component for PurePath Studio Portable Audio Devices

Real-time EEG signal processing based on TI s TMS320C6713 DSK

Lab 1 Introduction to the Software Development Environment and Signal Sampling

AcoustiSoft RPlusD ver

International Journal of Engineering Research-Online A Peer Reviewed International Journal

Experiment 2: Sampling and Quantization

Embedded Signal Processing with the Micro Signal Architecture

ECE438 - Laboratory 4: Sampling and Reconstruction of Continuous-Time Signals

1.1 Digital Signal Processing Hands-on Lab Courses

Put your sound where it belongs: Numerical optimization of sound systems. Stefan Feistel, Bruce C. Olson, Ana M. Jaramillo AFMG Technologies GmbH

PC-based Personal DSP Training Station

Chapter 3. Basic Techniques for Speech & Audio Enhancement

REAL-TIME DIGITAL SIGNAL PROCESSING from MATLAB to C with the TMS320C6x DSK

: INTERFACING J-DSP WITH A TI DSK FOR USE IN A SIGNAL PROCESSING CLASS

Nutaq. PicoDigitizer-125. Up to 64 Channels, 125 MSPS ADCs, FPGA-based DAQ Solution With Up to 32 Channels, 1000 MSPS DACs PRODUCT SHEET. nutaq.

Upgrading Digital Signal Processing Development Boards in an Introductory Undergraduate Signals and Systems Course

Video Surveillance *

A Matlab toolbox for. Characterisation Of Recorded Underwater Sound (CHORUS) USER S GUIDE

Multirate Digital Signal Processing

Low-Cost Personal DSP Training Station based on the TI C3x DSK

FPGA Implementation of Optimized Decimation Filter for Wireless Communication Receivers

Ensemble QLAB. Stand-Alone, 1-4 Axes Piezo Motion Controller. Control 1 to 4 axes of piezo nanopositioning stages in open- or closed-loop operation

inter.noise 2000 The 29th International Congress and Exhibition on Noise Control Engineering August 2000, Nice, FRANCE

Experiment: FPGA Design with Verilog (Part 4)

FPGA Digital Signal Processing. Derek Kozel July 15, 2017

Diamond Cut Productions / Application Notes AN-2

Speech and Speaker Recognition for the Command of an Industrial Robot

Session 1 Introduction to Data Acquisition and Real-Time Control

DDC and DUC Filters in SDR platforms

Vocoder Reference Test TELECOMMUNICATIONS INDUSTRY ASSOCIATION

Using Extra Loudspeakers and Sound Reinforcement

Digital Signal Processing

MAutoPitch. Presets button. Left arrow button. Right arrow button. Randomize button. Save button. Panic button. Settings button

Hugo Technology. An introduction into Rob Watts' technology

VXI RF Measurement Analyzer

mmwave Radar Sensor Auto Radar Apps Webinar: Vehicle Occupancy Detection

AND8383/D. Introduction to Audio Processing Using the WOLA Filterbank Coprocessor APPLICATION NOTE

Doubletalk Detection

PEP-II longitudinal feedback and the low groupdelay. Dmitry Teytelman

C8000. switch over & ducking

PROVIDING AN ENVIRONMENT TO TEACH DSP ALGORITHMS. José Vieira, Ana Tomé, João Rodrigues

AN 623: Using the DSP Builder Advanced Blockset to Implement Resampling Filters

Design of Speech Signal Analysis and Processing System. Based on Matlab Gateway

The following exercises illustrate the execution of collaborative simulations in J-DSP. The exercises namely a

Dragon. manual version 1.6

MIE 402: WORKSHOP ON DATA ACQUISITION AND SIGNAL PROCESSING Spring 2003

2 MHz Lock-In Amplifier

Digital Signal Processing Detailed Course Outline

Film Grain Technology

Modeling and Implementing Software-Defined Radio Communication Systems on FPGAs Puneet Kumar Senior Team Lead - SPC

Inside Digital Design Accompany Lab Manual

Analyzing Modulated Signals with the V93000 Signal Analyzer Tool. Joe Kelly, Verigy, Inc.

Digital Strobe Tuner. w/ On stage Display

MULTIMIX 8/4 DIGITAL AUDIO-PROCESSING

Solutions to Embedded System Design Challenges Part II

SR-D8-M, SR-D8-S. (Ver ) SOFTWARE INSTRUCTIONS

DSP Monitoring Systems. dsp GLM. AutoCal TM

ATS50SAW Programmable Selective Amplifier

SREV1 Sampling Guide. An Introduction to Impulse-response Sampling with the SREV1 Sampling Reverberator

DHANALAKSHMI COLLEGE OF ENGINEERING Tambaram, Chennai

Voxengo PHA-979 User Guide

DAC Express Release 3.4 (VT9801B)

Features/Specifications

Effect of Compensation and Arbitrary Sampling in interpolators for Different Wireless Standards on FPGA Platform

Keywords Xilinx ISE, LUT, FIR System, SDR, Spectrum- Sensing, FPGA, Memory- optimization, A-OMS LUT.

SCM820 Digital IntelliMix Automatic Mixer SEAMLESS MIXING. ADVANCED CONTROL.

FPGA Laboratory Assignment 4. Due Date: 06/11/2012

Design and VLSI Implementation of Oversampling Sigma Delta Digital to Analog Convertor Used For Hearing Aid Application

Getting Started with Launchpad and Grove Starter Kit. Franklin Cooper University Marketing Manager

AE16 DIGITAL AUDIO WORKSTATIONS

Controlling adaptive resampling

Sensor Development for the imote2 Smart Sensor Platform

System Requirements SA0314 Spectrum analyzer:

An Introduction to Hardware-Based DSP Using windsk6

Digital Effects Pedal Description Ross Jongeward 10 December 2014

PEP-I1 RF Feedback System Simulation

ControlSpace Designer software 5.1

A Fast Constant Coefficient Multiplier for the XC6200

8 DIGITAL SIGNAL PROCESSOR IN OPTICAL TOMOGRAPHY SYSTEM

The Discussion of this exercise covers the following points:

Yellow Frog. Manual Version 1.1

OL_H264MCLD Multi-Channel HDTV H.264/AVC Limited Baseline Video Decoder V1.0. General Description. Applications. Features

AN INTEGRATED MATLAB SUITE FOR INTRODUCTORY DSP EDUCATION. Richard Radke and Sanjeev Kulkarni

LOW POWER DIGITAL EQUALIZATION FOR HIGH SPEED SERDES. Masum Hossain University of Alberta

!! 1 of! 21. Magico Subwoofer Setup and DSP Control Manual. Password: Fact_ory

Brain-Computer Interface (BCI)

Experiment # 5. Pulse Code Modulation

Fall 2008 Group 3. 2-Point 5.1. Final Report

New Results on QAM-Based 1000BASE-T Transceiver

Lab 2: A/D, D/A, and Sampling Theorem

Common Spatial Patterns 3 class BCI V Copyright 2012 g.tec medical engineering GmbH

Figure 1: Feature Vector Sequence Generator block diagram.

Radar Signal Processing Final Report Spring Semester 2017

Transcription:

Rapid prototyping of of DSP algorithms real-time Mattias Arlbrant Grupphandledare, ANC

Agenda 1. 1. Our Our DSP DSP system system 2. 2. Creating Creating a Simulink Simulink model model 3. 3. Running Running the the Simulink Simulink model model on on our our C6713 C6713 signal signal processor processor 4. 4. Changing Changing parameters parameters in in the the signal signal processor processor in in real-time real-time 5. 5. Measuring Measuring performance

In Active Noise Control processing latency (=time delay) is critical! Prediction Time t-4 t-3 t-2 t-1 t t+1 t+2 t+3 t+4 = acoustic delay + processing delay Depends on distance betw. loudspeaker and mic Depends on our signal processing system Longer delay Lower performance

Real-time processing Processing Time Waiting Time n n+1 Sample Time (= 0.125ms @ 8kHz, sound travels ~ 0.000125*340=4.25cm during that ( time We can say we have a real-time application if the CPU can do all processing in the time between two samples. Note that we also have to take care not to introduce extra delay in the algorithms, like for example by using block processing

DSPs = Digital Signal Processors, special CPUs for signal processing Characteristics of of DSPs: DSPs: - Special instructions for common signal processing tasks -Cheap - Low power consumption

Our feedback ANC system No more noise! Let's cancel it all! PC USB cable Awful noise! DSP board with AD/DA Amplifier Mic

The Texas Instruments C6713 DSK board - 225 MHz TMS320C6713 floating point DSP - 16 MB Dynamic RAM, 512 kb Flash memory - USB interface, 4 DIP switches, 4 LEDs - AD/DA with 8-96kHz sampling frequency

Automatic DSP code generation The user only has to create a Simulink model and press a button! Simulink/MATLAB Clever DSP engineer (! you (That could be Simulink generates C-code from a model at the press of a button! ( ComposerStudio CCS CCS (Code (Code Composer CCS does compiling, linking and downloads executable to the DSP! TI TI C6713 C6713 DSK DSK board board = Target

Modeling in Simulink Creating a new Simulink model Click Click the the Simulink Simulink button button in in MATLAB MATLAB to to open open an an empty empty model model

Modeling in Simulink Adding blocks from the Simulink Library Browser Drag and drop

Modeling in Simulink Connecting the blocks Signals, can be - Sample-based = one sample at a time - Frame-based = a block of samples at a time - Multi-channel = two or more frame/sample based signals

Modeling in Simulink Changing block properties Double-clicking on a block opens a parameter dialog: Ex. Digital Filter: Type Coefficients

Simulation in Simulink Start button Simulation time

Simulation in Simulink

Simulink generating DSP code Add a Target preferences block...to let Simulink know what to generate C code for!

Simulink generating DSP code Add A/D and D/A blocks

Simulink generating DSP code Check AD/DA settings: smpl per frame, fs etc.

Simulink generating DSP code Press the magic button...

Simulink generating DSP code CCS opens automatically... and connects to the DSP Run / stop buttons

RTDX Real-Time Data Exchange To communicate with the DSP while it is running GUI (=Graphical User Interface) designed in MATLAB RTDX Channels ( USB (via C6713 DSK

RTDX Real-Time Data Exchange Ex. : Add an RTDX block to control the output level Name of channel Enable

RTDX Real-Time Data Exchange Set RTDX data in the MATLAB GUI Channel name

Performance CPU Load Select DSP/BIOS CPU Load Graph

Performance - Latency We can measure the delay that our DSP board introduces by comparing impulse response measurements on two channels: Out In RME soundcard PC with MATLAB

Performance - Aliasing - Make sure you use efficient decimation and interpolation filters when you process at a lower sample rate - Non-linearities like aliasing components in the feedback loop can cause instability - Check with sinusoids that the aliasing is kept at a low level

Important advice! Build your Simulink model one step at a time and test it after EVERY step! Good luck!

Resources Resources and and tips tips Simulink http://www.mathworks.com/demos/getting_started_with_simulink_demo_video.html -Help>Simulink RTDX - Help>Link for CCS>Automation Interface>Getting started with RTDX - MATLAB GUI prototype implementing RTDX communication ( site (available on course web MATLAB GUI - Type guide in MATLAB, opens a nice GUI editor - Help>MATLAB>Creating graphical user interfaces - MATLAB GUI prototype implementing RTDX communication ( site (available on course web

Useful Useful Simulink Simulink blocks blocks The Subsystem block use it to make the model less cluttered Delay line and Matrix multiply to implement your own filters Mux and Demux to join and split vector signals Transpose - to transpose vector signals Scope, Spectrum scope, To workspace - to inspect signals FIR Decimation/Interpolation or Digital filter and Upsample/Downsample - to do processing at a lower sample rate

Simulink Simulink pitfalls pitfalls The Delay line block make sure you set Allow direct feedthrough correctly The Delay line block the output column vectors have the least delayed sample at the bottom Make sure there is at least one sample of delay in feedback loops