Sí, definitivamente deberías usar FSK, pero tiene que ser asincrónico y aquí está el por qué. La demodulación de FSK sincrónicamente se denomina demodulación coherente. La demodulación de FSK requiere coherentemente el bloqueo de fase de portadora entrante (sincronización de fase), que normalmente se realiza con bucles de bloqueo de fase (PLL) que no funcionan bien a menos que tenga una relación señal / ruido (SNR) de al menos 10 dB más o menos. Normalmente, la transmisión de audio no tiene una SNR tan alta, así que olvídate de la demodulación coherente. Además, en la práctica con señales electromagnéticas, la FSK no coherente requiere, como máximo, solo 1 dB más Eb / No que la FSK coherente para Pb ≤ 10−4 (esto significa que para obtener la misma probabilidad de error de bit Pb solo necesita transmitir un extra dB de potencia en cada bit). Sin embargo, el demodulador FSK no coherente es considerablemente más fácil de construir, ya que no es necesario generar señales de referencia coherentes. Por lo tanto, en los sistemas prácticos, casi todos los receptores FSK usan demodulación no coherente porque todos prefieren transmitir un dB extra de potencia en lugar de tener todos esos problemas de sincronización.
Respondiendo a sus principales consideraciones:
Ancho de banda de 200bps, si no más: he logrado 200 bps usando una fase continua de portadores ortogonales 8fsk, configurando el teléfono inteligente a 1 m del altavoz.
Resistente al ruido hasta cierto nivel: he implementado un código de corrección de errores BCH, con la capacidad de reparar hasta 8 errores por bloque de datos. Los códigos BCH tienen sus mayores ganancias de codificación cuando se agrega una redundancia del 25 al 50%
preferiblemente onda portadora de 16 kHz a 20 kHz con muestreo de 44,1 kHz: sugeriría aumentar la frecuencia de muestreo hasta 48 kHz (que es bastante común hoy en día en los teléfonos inteligentes) y limitar el ancho de banda de operación entre 17.5 o 18 y 21.5 kHz. Si usa 44.1, debe trabajar entre 17.5 o 18 y 20.5 kHz. Pero debe tener mucho cuidado con el altavoz y el micrófono que seleccione, ya que no todos funcionan a estas frecuencias altas. Tienes que hacer un análisis de respuesta de frecuencia de ellos. Si está utilizando una PC, le recomendaría ARTA o Audacity o si es un programador Matlab u Octave. Si está utilizando un teléfono inteligente, recomendaría cualquier aplicación de análisis de espectro de audio
Lógica de codificación no demasiado compleja: recomendaría el demodulador fsk de cuadratura de correlación no coherente. Mucho más ligero que cualquier implementación basada en FFT. Especialmente si estás a menos de 1 m de distancia, donde el doppler y la ruta múltiple no te afectan tanto