Python audio through lasers

I am currently working on a project that has been relatively simple so far. The main project is the transfer of data / messages through lasers using sound conversion. In short, the process is currently similar to this

  • User enters message
  • Message turns into binary
  • For each 1 and 0 in the binary message, it reproduces the corresponding signal for the signal, which in my case is 250 Hz for 1 and 450 Hz for 0.
  • The outgoing tone is transmitted through a stereo cable to an audio transformer equipped with a laser.
  • The solar panel acts as a microphone and records the incoming “sound” as a file
  • It plays the file back and reads the tones and tries to match each 250 and 450 Hz with 1 or 0 (where is my problem).

Until the actual sound processing is perfect, my current problem is the following.

I play tones every time for x time, at the receiving end it is recorded for y time, y time is cut out by sampling many times, and then the sample is analyzed by the sample, which then records each frequency. It is inefficient and inaccurate. I had a lot of problems, regardless of the time when I play tones, because he often hears a tone twice or does not hear it at all, which completely discards entire messages. I tried to compare the speed with which it is counted, each time each tone is played, but if you have not aligned, this will not work. I only had a few successful tests for messages such as "test" and "hello." I already studied bpsk and fsk, but it seems to me that I am already doing something similar, but I have a bad reception to decrypt all of this.

Python, , , . pyaudiere, pyaudio.

!

-Steve

+5
4

. , FSK. FSK PLL ( Phase-Locking Loop). .

-. :

FSK

PLL

, - !

+2

, ( , ), , , ? , , , .

/ , , , .

+1

, FIR-, , . - , (, 250 450 ). , , , - . (.. "" ). .

(.. ) . x ( , ). , (.. A > b, b > a), 0 1.

, : , (.. snr ). , , 450 500 , ​​250 .

+1

Use a signal representation of a self-clocking signal, such as the Manchester code . Thus, your time should be “good enough,” and you are primarily concerned about detecting a change, in this case, the frequency. In a related article, high and low levels refer to stress, but there is no reason why they should. You can just as easily use the high and low frequencies, or turn one laser on or off.

0
source

All Articles