Vous êtes sur la page 1sur 19

Digital Signal Processing

Jill, Jon, Kilo, Roger


Design Presentation
Spring ’06
Overview

 Project Overview
 Project Approach
 Block diagram
 Problems
 Final Status
 Sound effects
 The future
 Demo
Project Overview

Digital Signal Processing (DSP)


 Synthesize audio signals with DSP chip in real-
time to produce various sound effects -> make a
guitar pedal
 TI-C6713 DSP chip
 Features of the kit:
 DA & AD converters, C6713 digital signal processor,
anti-aliasing input filter, reconstruction output filter
already on the board
 Comes with an audio headphone and microphone
ports built on
 Plug the guitar in the mic port and the speaker
into the headphone output port
DSP board
Project Approach

 Figure out how to make distortion sound effect using


Matlab; general research on various sound effects
 Translate Matlab code to C code for DSP board
 Code Composer Studio
 Test I/O and master the DSP board
 Use Matlab to design more sound effects
 Implement codes onto DSP board
 Jill demonstrates the realized sound effects
Project Approach
Jill, Jon
Jihl, Jahn,
Simulations
Kiloh, Rahjah
1st Stage
Simulations
2nd Stage Kilo, Roger
C code

Work on Matlab simulations and Code Composer Studio design


implementations simultaneously.
Block Diagram
Problems: Adapt and Overcome!
 Additional parts were needed for DSP board interface
 Translation of Matlab code to C code
 Mastering the DSP board
 Mathematical/programming efficiency for real-time processing
 input buffer design
Distortion Module

 The Booya factor


 input power  , distortion 
The Arctan Function

 Normalizes signal to 1
 Need a multiplier to adjust signal back to original power
 Average power sub-module

 The Booya Factor


Average power

 Multiply distorted signal by p to get original signal


power
Results: DiStoRtiOn

 Symmetrical Hard Limiting

long harddistortion(long input)

if ((signed int) input <-4000000000) {input = -4000000000; return input;}

if ((signed int) input > 4000000000) {input = 4000000000; return input;}

if ((signed int) input <-3000000000) {input = -3000000000; return input;}

if ((signed int) input > 3000000000) {input = 3000000000; return input;}

if ((signed int) input <-2000000000) {input = -2000000000; return input;}

if ((signed int) input > 2000000000) {input = 2000000000; return input;}

}
Delay (Echooooooo )ooo

Use a buffer to record input signals. Add

old(delayed) sample to input to get echo.


Delay (Echooooooo ) ooo

 Simple code for fade effect

if (DSK6713_DIP_get(0) == 1 && DSK6713_DIP_get(1) == 0)

{DSK6713_LED_OFF(0); DSK6713_LED_ON(1); DSK6713_LED_OFF(2); DSK6713_LED_OFF(3);

sample = input + (amplitude*buffer [i]);

buffer [i] = sample; //store input for echo effect or sample for fade effect

i++;

if (i >=BUFFERLENGTH)

i = 0;

}
Flange

 Series of different delays that can be


selected using a1 through a4.

 Each delay falls within the range to


affect the pitch of the sound, but
avoids the echo effect.
Flange

 Simple code for flange effect

if (change_delay>= 10000) //vary delay every 1 second

{switch (select_delay) //select delay

{case 0: //output sample with short delay

{ output = sampleshortdelay; break; }

case 1: //output sample with normal delay

{ output = samplenormaldelay; break; }

case 2: //output sample with long delay


{

{ output = samplelongdelay; break; }

}
The Future

Additional sound effects


 Effects using frequency, power

 Invent some

GPS application with DSP board


Thanks :)
Don't forget to add buddy
www.myspace.com/DSP496
Timeline

Vous aimerez peut-être aussi