<< Chapter < Page | Chapter >> Page > |
As can be seen in the screenshots given in the results section, the setup and program work at least some of the time. As was noted in the introduction , there is a small degree of ambiguity resulting from the two-dimensional natureof the array in that the array and algorithm will not be able to distinguish at all, theoretically, between a source above the array and an identical source ata location that is the original source reflected across the plane of the array. Practically, this should not matter at all if the array is mounted on a wallor on the ground, but should the need arise, the problem can be eliminated completely by taking the array to three dimensions.
As the arccosine function was used in the computation of one of the angles, accuracy is much worseas the angle approaches ±pi/ 2 due to the slope of the arccosine function going toinfinity in that region. The shortcuts we took were probably detrimental to the accuracy of the project, but once again, they were necessary to have it runat all on what we had to work with. Scanning with only three microphones instead of with all eight does not fully utilize the noise-reducing capability ofthe delay and sum technique, but it does conserve a great deal of computing power. The simplification made by assuming that the three microphones usedto scan could be broken up into pairs will sometimes yield ”Not a Number” as one of the angles because the resulting delays are not physically realizable.
When it works, the simplification cuts computation for that portion of the program from complexity O(n^2) to O(n). The reason for this is that the”safe” way to scan using the three microphones would be to check each valid pair of delays, where valid would mean that the delays between themicrophones was physically realizable, and then take the pair corresponding to the maximum power whilst the ”quick” way to do so that we ended up usingwas to compute the delay for one pair, compute the delay for the other pair, and then assume that the two delays as a pair were physically realizable. Thisworks if the maximum power is located at one of the valid pairs of delays (as, in most cases where there is a well defined signal, it will be) and fails if it is not, but is in return far faster, much as the reduction in computationalcomplexity would suggest.
Any increases in computing power and hardware would always be welcome in a computationally intensive project such as this; however, the computersand hardware that were used were far from top of the line, even for five years ago. The DAQ card that was available for use is far enough out of date that it is no longer supported byNational Instruments; in fact, the current version of Labview does not even recognize it.
As a result, in order to be able to interface with the DAQ card that was available, the version of Labview this project was implemented on was also greatly out of date -- to the point where the NI website no longer provided support. A good indicator of the age of the hardware is the fact that the computer used possessed a turbo button. In fact, it seemsthat the computers were probably very good when they were first purchased as the RAM size is actually 32 megabytes. However, that was enough years ago to where they no longer are adequate for the level of processing we wished to do.
With more computing power and better hardware, it would be possible to increase the amount of sampling (restricted by a 64kbyte buffer) and upsampling to increase accuracy and precision, take fewer shortcuts, also to the same effect, or perhaps run in real time (a feat possible only if the processing time is of equivalent length to or less than the time it takes to input a "chunk" of the signal).
One obvious extension to this project would be to go to a 3-dimensional array, eliminating the ambiguity arising from reflection of signals across the planeof the array. Another possible improvement would be to increase the processing speed to the point where processing in real time could be a possibility. This project only dealt with calculations in far field, which seem to be less computationallytaxing than calculations in near field. Thus, another possible extension would be to implement something that could accurately locate signals in near field. Another possible region of interest might be to investigate beamforming when dealing with multiple signal sources.
Simple delay and sum is optimal (in ability to distinguish, if not in computational complexity) for a single source and white noise, but we are unsure if it is optimal if some structure to the noise is known. In thecase of multiple signals, the other signals would be considered noise when focusing in on one signal. Itmay be possible to focus on each of the signals and separate them. If there is not a closed form for doing so, theseparation could probably be done iteratively by some sort of subtraction. A further extension of this would be to apply blind signal separation techniquesto distinguish signal sources that seem to overlap.
Notification Switch
Would you like to follow the 'Elec 301 projects fall 2005' conversation and receive update notifications?