Anna’s Status Update for 11/14

Anna’s Status Update for 11/14

The beginning of this week was a bit of a grind to prepare for the demo. I mostly had my microphones working but found that the microphone delay was a bit finicky. I’ve known that the microphones each have a different amount of delay, and I spent a good amount of time last week figuring out the approximate delay of two of the mics relative to one, then hardcoded this into my acoustic location program. However, when I demoed for Heather and Edward at one of our group meetings, I tried sharing my screen from my Jetson, and the results were pretty… awful. I had just demoed myself before sharing my screen, and things went smoothly, so I was pretty confused and a bit panicked when it seemed to break upon being observed by others (Heisenberg is laughing at me from his grave). Then, I realized that it was actually because the USB delay was getting messed with as a result of more processes running on the Jetson, i.e. with Zoom running alongside the mics. Therefore, for demo, I ended up using my phone to live-record my monitor with the Jetson’s output, rather than sharing directly from my Jetson.

Because of this undependable delay, as well as the mics’ seemingly poor detection of human voices (I’ve been testing/demoing with claps), I immediately started looking for new non-USB solutions right after demo. Luckily, I still have some analog mics from back when the plan was to take in audio input on the Jetson’s I2C ports. The problem back then was that the ADC’s sampling rate (860Hz) was just way too low for acoustic location, so I sought out a new high-sampling ADC. The best I could find was the MCP3008, which samples at 200kHz, but upon doing some more research on it, this sampling rate is only attainable with a dedicated microcontroller with a real-time OS, as opposed to our Jetson Nano, which runs Linux, a general-purpose OS. Thus, the best sampling rate we’d be able to achieve on the Jetson would be a fraction of 200kSPS (unsure of exactly what that fraction will end up being, but I’ll do my best to optimize). We just need to be able to sample twice the highest frequency (to avoid Nyquist aliasing) that we anticipate capturing, i.e. the highest frequency of the average human vocal range. Modern phones typically accommodate a range of 300-3400Hz, so a sampling rate of about 8kHz per microphone should be sufficient, meaning 24kSPS overall from the three microphones. I just got my MCP3008s in the mail today and am in the process of getting them working — they use SPI interface, which is new to me, so I need to learn more about that.

My goals for this week will be to get the analog mics working with the new ADC and to determine whether they can sample accurately enough for our purposes. If not, I will begin looking into a dedicated microcontroller that can handle the audio and communicate the acoustic location results to the Jetson. Hopefully, it won’t have to come to this, as it would be a lot more complex, but I’m ready for anything.

Leave a Reply

Your email address will not be published. Required fields are marked *