Good news from the lab as I finally succeeded in doing a basic communication between two different terminals with 20 kHz sound frequency.
I’ll go and explain the experimental protocol that was used just for the pleasure of doing that.
– I used my Samsung Galaxy S2 as a transmitter, using one free app in Play Store called Signal Generator, which allowed me to generate 20 kHz pulses.
– On one lab computer I ran a python script that would sample the input sound at 44100 Hz rate, and applied a sliding window fast Fourier transform on samples that were recorded through the microphone. The chosen window width was 320 samples (320/44100 ~7 ms).
To decide whether there is a pulse or not, what I have done is implement a Schmitt trigger, which entry was dependent on the amplitude of the 20 kHz frequency component: the main issue was to figure out the ideal values for the low and high threshold, which I’ve done experimentally. We must bare in mind that these threshold values are dependent on the conditions, and that they should be defined properly if these happen to change.
This script allows me to get the dates of the target ultrasonic pulses, that we could use for simulation purposes.
Here’s a screen shot of the output of the script, and sorry for the ears that I’ve torn
gladly through the experiment process.