180 likes | 351 Views
MICRO COMPUTER SYSTEMS 1 FINAL PROJECT. PRESENTED BY Rayan Instructor dR veton.z.kepuska. Tools and equipment used. ADSP Black Finn BF-533 kit Visual DSP++5.0 MATLAB Two Speakers. Objective. Record a song into the SDRAM
E N D
MICRO COMPUTER SYSTEMS 1 FINAL PROJECT PRESENTED BY Rayan Instructor dRveton.z.kepuska
Tools and equipment used ADSP Black Finn BF-533 kit Visual DSP++5.0 MATLAB Two Speakers
Objective Record a song into the SDRAM Use the FIR High pass and Low pass Filters on the recorded song Make the system use only one speaker at a time from two speakers
Function of the External Interrupt Handlers PF-8: 1.Record the song into the SDRAM,led 4 ON and 2.Stops recording song into SDRAM,led 4 OFF PF-9: 1.Out puts the FIR Low pass Filtered Sound of the recorded song, led 5 ON 2.Stops playing the sound, led 5 OFF
PF-10: 1.Out puts the FIR High pass Filtered Sound of the recorded song, led 6 ON 2.Stops playing the sound, led 6 OFF PF-11: 1.Plays the recorded song through the Left speaker only, led 7 ON 2.Plays the recorded song through the Right speaker only, led 7 ON 3.Stops playing the sound and the led 7 will be OFF
SDRAM initialization void Init_SDRAM(void) { if (*pEBIU_SDSTAT & SDRS) { *pEBIU_SDRRC = 0x00000406; //SDRAM Refresh Rate Control Register *pEBIU_SDBCTL = 0x00000025; //SDRAM Memory Bank Control Register *pEBIU_SDGCTL = 0x0091998d; //SDRAM Memory Global Control Register *start_point = pSDRAM_open; *end_point = pSDRAM_end; ssync(); } }
SDRAM start and end address #define pSDRAM_open (unsigned int *)0x00000000 //SDRAM begining address for pointer.!!!! #define pSDRAM_end (unsigned int *)0x01FFFFFF //SDRAM end address for pointer !!!!
FIR-Filters Finite Impulse Response filters are one of the primary types of filters used in DSP. No feed back The general relationship of output and input given with a difference equation of the form:
Implementation Algorithm The implementation is the direct realization of the below equation:
FIR-Low Pass Filter I used matlab to generate the FIR-Equi ripple low pass filter the figure of the filter and its coefficents or weights are given below:
The weights are: const float low_coeff[19] = { 0.02446134968293, 0.001186547087412, -0.02109743627068, -0.04616934655219, -0.05199956657146, -0.01894906858959, 0.056026536866, 0.152730004693, 0.2344973977203, 0.2665309220459, 0.2344973977203, 0.152730004693, 0.056026536866, -0.01894906858959, -0.05199956657146, -0.04616934655219, -0.02109743627068, 0.001186547087412, 0.02446134968293 };
FIR-High Pass Filter I used matlab to generate the FIR-Equi ripple High pass filter the figure of the filter and its coefficents or weights are given below:
The weights are: const float high_coeff[9] = { 0.05128514944534, 0.01947555494368, -0.1080081581231, -0.28271197951, 0.634193276543, -0.28271197951, -0.1080081581231, 0.01947555494368, 0.05128514944534 };
Problems faced The main problem I faced in this project is managing the input buffer in which I have to store the song. We have to refresh the buffer every time we stop playing the song or after pressing the push buttons, if we do not do this every time it won’t give us the correct output. One more problem was with the filters. At first I used the default settings for the filter design but it proved to be not working for the recorded song because of some noise induced in it, then I tried designing the filter with different stop and pass bands which worked up to some extent.
Conclusions The output was achieved want I thought of but with a little noise in the recorded song. I learned a lot in this lab about Filters and their design and using the Blackfinn kit and the power of DSP in signal processing.
Future improvements We can filter the recorded song Using good filters can reduce the noise in the recorded song