DataOverSound-Lib é uma biblioteca Java para transmissão e recepção de dados utilizando ondas sonoras. Essa biblioteca emprega modulação e demodulação QPSK (Quadrature Phase-Shift Keying) para converter mensagens de texto em sinais analógicos e vice-versa.
- Modulação de mensagens para sinais analógicos.
- Demodulação de sinais analógicos em mensagens.
- Configuração flexível dos parâmetros de QPSK.
- Java 8+.
- Maven para gerenciamento de dependências.
-
Importar ou clonar esta biblioteca para dentro do seu projeto
-
Configurar os parâmetros de QPSK.
Exemplo:
parameters = new QPSKParameters( 44100.0f, // Frequência de amostragem 440.0f, // Frequência de operação 1.0f, // Amplitude Máxima 5000 // Quantidade de amostras por símbolo );
-
Inicializar os serviços
Para transmitir dados:
QPSKModulationService qpskModulationService = new QPSKModulationService(parameters);
Para receber dados:
QPSKDemodulationService qpskDemodulationService = new QPSKDemodulationService(parameters);
-
Utilizar as funções principais
Modular uma mensagem (texto para sinal):
double[] signal = qpskModulationService.modulateMessage("Hello World!");
Demodular um sinal (sinal para texto):
String message = qpskDemodulationService.demodulateMessage(signal); System.out.println("Mensagem recebida: " + message);
QPSKParameters qpskParameters = new QPSKParameters(44100.0f, 440.0f, 1.0f, 5000);
QPSKModulationService qpskModulationService = new QPSKModulationService(qpskParameters);
String message = "Hello, Sound!";
double[] signal = qpskModulationService.modulateMessage(message);
// O sinal pode agora ser transmitido.
QPSKParameters qpskParameters = new QPSKParameters(44100.0f, 440.0f, 1.0f, 5000);
QPSKDemodulationService qpskDemodulationService = new QPSKDemodulationService(qpskParameters);
double[] receivedSignal = /* Sinal recebido via microfone ou outro meio */;
String message = qpskDemodulationService.demodulateMessage(receivedSignal);
System.out.println("Mensagem recebida: " + message);