Hi everybody, this is my first post!
Ever since college I've had a project in mind, and I have never figured out how to actually implement it. Here is a video of me talking about the project back then:
And here is my old project page:
https://sites.google.com/a/vt.edu/amp_lab/projects/facilitated-echolocationLong story short, I want to see if humans' natural ability to navigate with echolocation could be improved with technology. People can in fact navigate by clicking their tongue and listening for the echos off objects. However, compared to animals that are good at echolocation (bats come to mind), we really stink at it.
What my project would attempt is to do is replace the click of a person's tongue with an audio pulse from a tweeter or ultrasonic transducer. Also, I would use microphones with a high frequency response to record the echos at a high sampling rate (~100kHz), store the audio in a buffer, and then immediately begin playing the echos back to the user through headphones at a lower sampling rate (~10-20kHz).
Below are the actions that would take place when a pulse is sent out.
At time t=0:
A loud ping is transmitted from an ultrasonic transducer (this part seems pretty easy).
The ADC begins recording audio from two microphones at a high sampling rate (~100kHz for each channel) into a buffer.
A DAC begins outputting the audio from the buffer at a much slower sampling rate (~20kHz) into a pair of headphones.
At time t=0.1s:
The ADC stops recording new data
At time t=0.5s:
The DAC has output all of the samples and stops
At this point, the user can press a button to initiate the transmission of another ping.
The main difficulty I have is figuring out how to sample audio at such a high frequency and store it in a buffer. I just purchased a Mojo FPGA board and am hoping to use it to shuffle data from the ADC to some kind of memory, and then from the memory back to the DAC. But I am totally new to FPGAs.
Previously I did get this working by buying a fast sound card with a 192kHz sampling rate and just recording the pulse with a laptop. However, this required me to press record, stop the recording, and then play back the audio after converting it to a slower speed.
I want the system to be real time and portable, hence me buying the FPGA. I envision that a user would only have to press a button, then they would immediately start hearing the echos at a reduced sampling rate through their headphones.
My questions are:
1. What kind of ADC should I look into
2. What kind of memory would be best
3. Can the Mojo FPGA handle this task, or is there something better suited
4. what kind of DAC should I look into?
Thanks so much for your help!!
-Hunter