This is my first report for the first 2 weeks of the project.
The task assigned by Mr. Richter Ed for these 2 weeks is to optimize the algorithm Luting designed last semester. The former algorithm was created to calculate the direction of arrival (DOA) of sound source based on the data from all 64 microphones, but it took too much time to achieve it. The basic idea of the algorithm to get the DOA in each second is using delay-sum beamforming. However since the original one-second data contain 64*50000 voltage data for all 64 microphones with 50000 samples for each microphone per second, a huge amount of calculation is needed.
Luting and I made big progress with the algorithm in the past two weeks. During week 1, we achieved analyzing data in frequency domain. The former version of algorithm did sum in time domain, which means algorithm has to do both fft and ifft, while new version only has to do fft part and roughly double the speed. In addition, we did a lot of adjustments on Matlab code to take the advantage of matrix computation.
The benchmark is based on our repetitive tests on computers in different labs. During week 2, we continued modifying the algorithm. A band-pass filter was added into the algorithm before beamforming. The filter magnificently reduced the computation cost, the size of input data reduced from 64*50k to 64*4k, and of course it also greatly speed up the algorithm. Besides, we also modified the Matlab code so that parallel computation, an advanced characteristic of Matlab, could be applied in the simulation. Parallel computation did help and contributed a lot when the computation is much. By the end of week 2, we have been very close to real time, using 36.751s to deal with a 35-second data file.
To quantify the improvement, we made a benchmark to see how much faster it is after certain changes happened. The benchmark is based on our repetitive tests on computers in different labs.
Thanks for Luting Yang’s voluntary work. He doesn’t satisfy the former performance of his algorithm and wants to challenge himself to make the simulation in Matlab real-time.
The task assigned by Mr. Richter Ed for these 2 weeks is to optimize the algorithm Luting designed last semester. The former algorithm was created to calculate the direction of arrival (DOA) of sound source based on the data from all 64 microphones, but it took too much time to achieve it. The basic idea of the algorithm to get the DOA in each second is using delay-sum beamforming. However since the original one-second data contain 64*50000 voltage data for all 64 microphones with 50000 samples for each microphone per second, a huge amount of calculation is needed.
Luting and I made big progress with the algorithm in the past two weeks. During week 1, we achieved analyzing data in frequency domain. The former version of algorithm did sum in time domain, which means algorithm has to do both fft and ifft, while new version only has to do fft part and roughly double the speed. In addition, we did a lot of adjustments on Matlab code to take the advantage of matrix computation.
The benchmark is based on our repetitive tests on computers in different labs. During week 2, we continued modifying the algorithm. A band-pass filter was added into the algorithm before beamforming. The filter magnificently reduced the computation cost, the size of input data reduced from 64*50k to 64*4k, and of course it also greatly speed up the algorithm. Besides, we also modified the Matlab code so that parallel computation, an advanced characteristic of Matlab, could be applied in the simulation. Parallel computation did help and contributed a lot when the computation is much. By the end of week 2, we have been very close to real time, using 36.751s to deal with a 35-second data file.
To quantify the improvement, we made a benchmark to see how much faster it is after certain changes happened. The benchmark is based on our repetitive tests on computers in different labs.
Thanks for Luting Yang’s voluntary work. He doesn’t satisfy the former performance of his algorithm and wants to challenge himself to make the simulation in Matlab real-time.