Мне никогда раньше не приходилось иметь дело с кодированием или декодированием сигналов / потоков, по крайней мере, не выходя за рамки довольно простых протоколов, таких как HTTP, так что простите меня, если я делаю это сложнее, чем должен.
Некоторые из систем, которые мы используем на работе, для работы полагаются на тайм-код SMPTE, манчестерскую двухфазную систему меток, которая занимает 1 кГц полосы пропускания между 1 кГц и 2 кГц.
Поскольку он находится прямо в звуковом спектре и на линейном уровне, его можно подключить прямо к линейному входу звуковой карты, доступ к которому можно получить с помощью аудио API по вашему выбору (я планирую использовать Core Audio на Mac).
Я довольно доволен декодированием самого цифрового битового потока для восстановления времени и параметров, но на самом деле восстановление битового потока из дискретизированного аналогового сигнала менее прямолинейно, и я не уверен, как лучше всего решить эту проблему.
Мой текущий план состоит в том, чтобы дать короткий промежуток времени после обнаружения сигнала (1 секунда или 24-30 кадров) для измерения максимального и минимального количества выборок между уровнями пересечения нуля (с использованием фильтра скользящего среднего для предотвращения всплесков / выпадений влияющие на декодирование), а также максимальное и минимальное записанные напряжения для определения точки пересечения нуля (уровень постоянного тока).
Затем я смогу использовать эту информацию для построения цифрового битового потока из входящего аналогового сигнала. В правильном ли направлении я двигаюсь или есть лучший способ сделать это?
Спасибо