digital signal processing jill, jon, kilo, roger design presentation spring ’06
Post on 21-Dec-2015
217 views
TRANSCRIPT
Digital Signal Processing
Jill, Jon, Kilo, RogerDesign 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
Jihl, Jahn,
Kiloh, Rahjah
Kilo, Roger
Jill, Jon
Simulations
C code
Simulations
Work on Matlab simulations and Code Composer Studio design
implementations simultaneously.
1st Stage
2nd Stage
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 (Echoooooooooo)
Use a buffer to record input signals. Add
old(delayed) sample to input to get echo.
Delay (Echoooooooooo)
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