Aktualnie pracuję nad kodem do przesyłania wiadomości/plików/i innych danych za pomocą laserów z wykorzystaniem transformacji audio. Mój obecny kod wykorzystuje funkcję hexlify z modułu binascii w pythonie, aby przekonwertować dane na binarne, a następnie emituje ton dla 1 i inny ton dla 0. To teoretycznie działa, chociaż nie jest najszybszym sposobem kodowania/dekodowania , ale w testach okazuje się, że jest kilka błędów.Binarne przesunięcie fazowe w Pythonie
dźwięki generowane są nie na miejscu, to znaczy: emitujące 150Hz może okazać się 145-155Hz w miejscu docelowym, to nie jest to ogromny problem, jak można po prostu ustawić granice na końcu odbierającym niższy lub wyższy.
prawdziwym problemem jest to, że jeśli emitować dźwięk, a to jest grać, komputer w miejscu docelowym może ją przeczytać kilka razy, czy nie czytać w ogóle w oparciu o kurs próbek IT przychodzące audio. Próbowałem odtwarzać dźwięki z taką samą szybkością, jaką próbują, ale to bardzo niepewne.
W sumie miałem kilka udanych uruchomień przy użyciu krótkich wiadomości, ale jest to bardzo niewiarygodne i niedokładne ze względu na wyżej wymienione problemy.
Zajrzałem do tego dalej i rozwiązanie tego wygląda na to, że może obejmować BPSK lub Binary Phase Shift Keying, chociaż nie jestem pewien, jak to wdrożyć. Wszelkie sugestie lub próbki kodu będą mile widziane!
Mój kod do projektu można znaleźć here, ale główne pliki, nad którymi pracuję, są przeznaczone do binarnego dekodowania i kodowania, które są here i here. Nie jestem ekspertem od pythona, więc proszę wybacz mi, jeśli cokolwiek, co powiedziałem, jest złe, mój kod nie jest najlepszy, lub jeśli przeoczyłem coś podstawowego.
Dzięki! :-)
Dzięki, to bardzo pomoże! – sbrichards