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