Oui, vous devez absolument utiliser FSK, mais il doit être asynchrone et voici pourquoi. La démodulation FSK de manière synchrone est appelée démodulation cohérente. Démoduler FSK de manière cohérente nécessite un verrouillage de phase de la porteuse entrante (synchronisation de phase), ce qui se fait normalement avec des boucles de verrouillage de phase (PLL) qui ne fonctionnent pas bien, sauf si vous avez un rapport signal / bruit (SNR) d'au moins 10 dB ou plus. Normalement, la diffusion audio n’a pas un SNR aussi élevé, alors oubliez la démodulation cohérente. Outre la pratique des signaux électromagnétiques, le FSK non cohérent ne nécessite, au maximum, que 1 dB de Eb / No en plus que celui du FSK cohérent pour Pb ≤ 10−4 (cela signifie que pour obtenir la même probabilité d'erreur sur les bits Pb, il vous suffit de transmettre un supplément dB de puissance dans chaque bit). Pourtant, le démodulateur FSK non cohérent est considérablement plus facile à construire car il n'est pas nécessaire de générer des signaux de référence cohérents. Par conséquent, dans les systèmes pratiques, presque tous les récepteurs FSK utilisent une démodulation non cohérente car tout le monde préfère transmettre un dB de puissance supplémentaire plutôt que de rencontrer tous ces problèmes de synchronisation.
Répondre à vos principales considérations:
Bande passante de 200bps sinon plus: j'ai atteint 200 bps en utilisant une porteuse orthogonale à phase continue 8fsk, en plaçant le smartphone à 1 m du haut-parleur.
Résistant au bruit jusqu'à un certain niveau: j'ai implémenté un code de correction d'erreur BCH, avec la possibilité de réparer jusqu'à 8 erreurs par bloc de données. Les codes BCH ont leurs gains de codage les plus importants lorsqu'une redondance de 25 à 50% est ajoutée
de préférence une onde porteuse de 16 kHz à 20 kHz avec un échantillonnage de 44,1 kHz: je suggérerais d'augmenter la fréquence d'échantillonnage jusqu'à 48 kHz (ce qui est assez courant de nos jours dans les smartphones) et de limiter votre bande passante de fonctionnement entre 17,5 ou 18 et 21,5 kHz. Si vous utilisez 44,1, vous devez travailler entre 17,5 ou 18 et 20,5 kHz. Mais vous devez être très prudent avec le haut-parleur et le microphone que vous sélectionnez car ils ne fonctionnent pas tous à ces hautes fréquences. Vous devez en faire une analyse de réponse en fréquence. Si vous utilisez un PC, je recommanderais ARTA ou Audacity ou si vous êtes un programmeur Matlab ou Octave. Si vous utilisez un smartphone, je recommanderais toute application d'analyse du spectre audio
Logique de codage pas trop complexe: je recommanderais le démodulateur fsk en corrélation non cohérente. Beaucoup plus léger que n'importe quelle implémentation basée sur fft. Surtout si vous êtes à moins de 1 m de distance où le doppler et les trajets multiples ne vous affectent pas autant