Project Reflection
I figure I should document my achievements up to this point.
What Works
- TDOA Simulator. I have built a simulator which will define a room with 4 microphone clusters. The simulator will then randomly pick a source location, and then calculate the time delays the microphone pairs would pick up. Then, each cluster generates a vector back towards the source. The measurements the cluster uses can be injected with random Gaussian noise if so desired.
- PCI Functions. I implemented Brandstein et al’s method for finding points of closest intersection. The function creates the over determined system I described in my notes, and then uses the least-squares method to solve for the desired parameters. I have called this “open-form” because, well, it’s not a closed-form solution. That is to say, this method is not a general solution I can plug in values to and get an answer. Having a closed-form equation is desirable for real-time situations, because it’s easier to process. UPDATE: I now have the closed-form equation. It is a little too much to go into here, but I will post up notes on it soon.
- Coordinate Transformation. I have an algorithm that can translate vectors from the microphone’s coordinate system to the room’s coordinate system. However, this algorithm only works for rooms that are perfectly rectangular. That is to say, a room with only four walls that meet at 90-degree angles. Though this is the kind of room that is a Cartesian coordinate system implies, I’ve yet to see a room that is perfectly rectangular. Most rooms have some sort of taper, projection into the room, alcove, etc, that prevent it from being perfectly rectangular.
- Centralized Method. I have built an add-on to the TDOA simulator that emulates the setup used by Brandstein et al. This simulator emulates the ML estimator, but it limits the field of search to the points of closest intersection (PCI ) of the lines. This simulator is fairly robust with “noise” of +/- 0.01 seconds–impressive when the time delay is on the order of .0001 seconds.
-
Orthogonal Projection Method . I have the algorithm that can find the intersection of lines using the orthogonal projection method I showed in my previous notes. This method can function both with and without noise. To force a convergence to a single point, the algorithm will apply a “relaxation term” which will limit the contribution individual members of the ring make to the final estimate.
What Needs Work
- New Microphone Geometries. To simplify the process of calculating vectors, Brandstein et al fixed the microphones to a cross-shaped geometry. While this does seem to work fairly well, It’s hardly enough for me to rehash the contents of an old paper with a new estimator. What’s to stop us from having 8 microphones arranged in a circle. To that point, what about a ring of microphones? What’s the formula for getting the vector when you have N microphones arranged in a certain pattern (ring, sphere, cube, etc.) This will be tough, but this is what will make my research mean something.
- Developing the Wireless Network. I will need to conceive the network’s workings. I have a simulator that lays out what the distributive network does, but not how the network goes about accomplishing it. Things I will need to consider include efficiency of the network, “race conditions” (where the output changes depending on which input gets there first), how to handle things such as ring convergence, and how to report the final estimate. The trick is to make maximum utility of the hardware while keeping the network under control. The collaborative network has had mention in multiple papers, and Paolo has implemented it before. The only issue is that in papers, people are more interested in theory rather than implementation, so it’s hard to avoid reinventing the wheel.
- Hardware/Testbed. I need to find a space where I can conduct experiments, and get hardware that will do the job. There is a smart space available on the 5th floor of Calit2 that can conduct these experiments. The issue on hand is figuring out how to get the information from 4+ microphones to a computer for analysis. Though up until now Paolo has been taking the lead, I will need to take the initiative on this. I have a list of contacts ready, and will need to figure out the most cost-efficient way to build the needed hardware (if it needs to be built at all). If I’m lucky, I’ll be able to borrow existing hardware and avoid the issue altogether.
-
Abstract. I need to develop my abstract and title for the Undergraduate Research Conference in August. This will take some conversing with Paolo, and will (hopefully) not take too long.