The task for week 3 is to go further to see whether it is possible to speed up the algorithm a little more and make it real-time.
As suggested by Mr. Richter Ed to try to connect computers in the same lab as to improve the computation ability, Luting and I made big changes on Matlab code so that finally computers in the same lab could be connected using TCP/IP protocol during week 3. All computers were divided into 2 groups, one manager and several workers. The manager is responsible for distribution of tasks (data) to workers and comparison of the results each worker sends back. The workers equally share the computational loads, relying on the data the manager sends to them. We tested the algorithm, in different labs, to see the optimum number of workers under this distributed-computation-like structure.
Not only did we introduce a distributed structure into our simulation, also we managed to lower the computational load for each worker. We deleted a time-consuming function, saving a comparatively large amount of time, and changed the way we timed our algorithm to be more reasonable and precise. By the end of week 3, we eventually make the algorithm real-time, dealing with a 35-second audio file with 30 seconds.
Luting Yang went back to China after week 3 and would return one month later. The work afterwards would be on me. After all, this is an independent project.
From week 4, the project moved to hardware-related stage. It took a couple of days, in the first place, to fix the microphone array boards. Some of the microphones were out of work due to the microphone itself or bad soldering. Bad soldering on the boards caused ill functioning of amplifier. After the boards worked, Mr. Richter Ed helped me slightly change the Matlab code as well as LabView code and achieved getting the real-time DOA for every second under the distributed-computation-like structure.
As suggested by Mr. Richter Ed to try to connect computers in the same lab as to improve the computation ability, Luting and I made big changes on Matlab code so that finally computers in the same lab could be connected using TCP/IP protocol during week 3. All computers were divided into 2 groups, one manager and several workers. The manager is responsible for distribution of tasks (data) to workers and comparison of the results each worker sends back. The workers equally share the computational loads, relying on the data the manager sends to them. We tested the algorithm, in different labs, to see the optimum number of workers under this distributed-computation-like structure.
Not only did we introduce a distributed structure into our simulation, also we managed to lower the computational load for each worker. We deleted a time-consuming function, saving a comparatively large amount of time, and changed the way we timed our algorithm to be more reasonable and precise. By the end of week 3, we eventually make the algorithm real-time, dealing with a 35-second audio file with 30 seconds.
Luting Yang went back to China after week 3 and would return one month later. The work afterwards would be on me. After all, this is an independent project.
From week 4, the project moved to hardware-related stage. It took a couple of days, in the first place, to fix the microphone array boards. Some of the microphones were out of work due to the microphone itself or bad soldering. Bad soldering on the boards caused ill functioning of amplifier. After the boards worked, Mr. Richter Ed helped me slightly change the Matlab code as well as LabView code and achieved getting the real-time DOA for every second under the distributed-computation-like structure.