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 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. 1 st Stage 2 nd 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 < ) {input = ; return input;} if ((signed int) input > ) {input = ; return input;} if ((signed int) input < ) {input = ; return input;} if ((signed int) input > ) {input = ; return input;} if ((signed int) input < ) {input = ; return input;} if ((signed int) input > ) {input = ; return input;} … }
Delay (Echo o o o o o o o o o ) Use a buffer to record input signals. Add old(delayed) sample to input to get echo.
Delay (Echo o o o o o o o o o ) 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
Timeline