Hardware Architecture of a real-world Digital Signal Processing platform: ADSP BlackFin Processor, Software Development on DSPs, and Signal Processing. “SOUND MODULATION” MICROCOMPUTERPROJECT
PURPOSE • To illustrate an understanding of the course requirements in a comprehensive and interactive manner.
OBJECTIVES • Functionality. • Realize the purpose of project. • Relate theoretical knowledge experimentally.
PROCEDURE/JOURNEY • Formulated a plan of action in correspondence with the objective at hand. • Research was the next course of action: Blackfin Circuit-board Programming language C (Dsp) - digital signal processing Real time computing Microcontrollers • Implementation of that research and knowledge to start building a project. • Building the Project
EQUIPMENT USED • ADSP-BF533 EZ-KIT Lite board • VisualDSP++ software • ADSP-BF533 EZ-KIT Lite debug software • Matlab
PROJECT DESCRIPTIONstages • Input/output audio signal. • Output audio signal in a clockwise sequential order through a medium of audio speakers. One (1) speaker at a time. • Reverse the audio signal to represent the output in a counter-clockwise sequential order. One (1) speaker at a time. • Surround sound effect – sound is emitted through all four (4) speakers simultaneously. • Intensity meter – displays through a lighting system on the circuit board the volume levels being outputted. • Echo effect - extended audio play function. This is a basic overview of what the project itself entails.
CODE DESCRIPTION What does the code in this project represent? Firstly what code does this project entail? • Main Code • Initialization Code • ISR code • Surround sound Code • Talkthrough Code • Process data code
CODE DESCRIPTION MAIN CODE • All the initialization functions are caused at this location. Once this done the code is run using interrupts as seen in the ISR. For example, whenever a sound input is called an interrupt is raised which causes the microprocessor to run a specific routine. ISR • This location is basically where all the defined codes are implemented and where conditions for implementations are made. INITIALIZATION • All the base code and initialization functions are in this location.
CODE DESCRIPTION TALKTHROUGH • This involves a base code whereby everything is built on top of that. Process data is an example of function that takes the input in and types it out. PROCESS DATA • This location includes the actual input and output channel definitions as well as the echo effect function. SURROUND SOUND • This location basically defines the surround sound function. This function involves the skipping position of the audio output from speaker to speaker at calculated time intervals. TMWTYPES • Code added for support when experimenting with filters in initial stages of experimentation.
SYSTEM FUNCTIONS The audio system in summation:- • Input Signal • Signal outputted in counter-clockwise direction. • Signal outputted in clockwise direction. • Output duplicated and represented in 4 speakers. • Intensity Gauge • Echo effect implemented
SYSTEM FEATURES Each feature is functional through conditions. These conditions are: • PF8 - Toggles the direction of the audio output. • PF9 - All four speakers / initializes the intensity meter as well. • PF10 - Echo Effect. • PF11 - N/A.
DISCUSSION • The surround sound functions were built by using the process data function and adding extra capabilities to it. Surround Sound accepts the stereo input and uses a counter that runs different part of the code for approximately two seconds. • The first segment code accepts the input and outputs to one speaker for two seconds this process is repeated for all for speakers and then the functions repeats. To enhanced functionality the speaker output cycle can be reversed this is done by output to the speakers in a reverse order.
DISCUSSION • Second feature of the program uses an array the hold 0.5 seconds if values. The valves can then be replayed at the same time as if live input. This gives the effect of echoes. • The visual element of the program triggered using the timer interrupt. The proportional intensity of the signal is represented on the LEDs by the scaling the audio value to six specific buckets (each light) The LEDs will then signify how loud the input signal is. The surround sound lights works by reflecting the active speaker on LEDs on 6 though 9. This represents which-ever speaker that is active it gives real time feedback.
DISCUSSION • Difficulties • Minor difficulties along the way. Deriving the mathematical values were a tedious process. The values obtained were derived through the use of equations combined with the method of trial and error. Values such as: • Time interval between skipping positions • Ranges for measuring the intensity (used only one speaker to illustrate this feature via a lighting system on the circuit board. • The range for the echo effect. • In terms of coding, yes, there were syntax errors here and there but errors that were very easily rectified. One particular circumstance was the implementation of low pass filters as a part of initial ideas but in the end we absconded from using It in the project.
DISCUSSION • Successes • Obviously the successes outweigh the difficulties of this project. In the end the system was fully functional and it was due to the combined knowledge and what stood out was the teamwork. • Roles – even (50%) • Understanding – even (code 100% each) • Focal points – even(50%)
CONCLUSION In the final analysis, the problem statement was addressed as well as the purpose of the project realized. As a team we had an enjoyable time building this project. In the end we were very satisfied with our accomplishment. The one issue of the low pass filter was the only major difficulty experienced throughout experimentation. The end result however, is a program that illustrates various interesting and interactive effects. As to the potential of the project, we think that time was the only real variable.
ACKNOWLEDGEMENT Firstly we would like to thank the almighty father for the gift of life and for guidance in everything that I do. We would also like to thank our parents for the continued support . Much gratitude to Prof. Kepuska for a good course instruction and availability to offer guidance where and when needed. Last but not least a special thanks to all our colleagues who were open to dialogue about achieving the goal. A general pledge of appreciation to everyone mentioned as the combined effort is what made this project a success.