minimodem4j
О проекте
Уважаемой индийской компании Gupshup требовалась технология для обмена данными между Android устройствами по аналоговым каналам в звуковом диапазоне. Не могу быть уверен, но предполагаю, что единственным способом обмена информацией в джунглях был свист. Для того, чтобы облегчить поддержку свиста разными моделями телефонов, требовалось высокопроизводительное и легко переносимое решение на Java, без native кода.В качестве образца был выбран программный аудиомодем FSK , который и был портирован на Java.
Свист в джунглях подвержен помехам и искажениям, поэтому в качестве второго компонента решения была реализована библиотека алгоритмов FEC.
Теоретическая основа
Хотите портировать, оптимизировать или исправить сложный алгоритм ?
Объясню возможности и ограничения, реализую современный CI/CD pipeline, организую разработку