Программная! Из аппаратуры всего-то - электретный микрофон и два
резистора - один подаёт питание на микрофон, а другой - с лапки МК
- дизеринг. - Входная частота выборки - 31250Гц. На входной сигнал наложен
дизеринг с периодом 16 выборок (см. adc.c) Правда, дизеринг
вырожден в меандр, подаваемый через резистор на вход АЦП, но был
заложен более гибкий, многоуровневый. Не пригодился.
- АЧХ фильтров не классические, а с помощью алгоритма генетической эволюции, адаптированы к заданной полосе пропускания, поэтому за её пределами, могут иметь не нормируемое ослабление:
На картинке - красным - целевые критерии оптимизации коэффициентов фильтра. Чёрным - стартовые условия из обычного ПО. Зелёным - результат эволюции коэффициентов.

В итоге, имеем высокую крутизну и хорошее ослабление каскада фильтров вне полосы сигнала при минимальной вычислительной нагрузке.
- Выборки фильтруются первым фильтром НЧ малого порядка (2) с частотой заграждения 3906.25Гц, что позволяет проредить выходные отсчёты 4:1 до частоты выборки 7812.5 выборок в секунду.
Вот пример проверки допустимого входного диапазона ФНЧ для работы без перегрузки:

- Второй фильтр НЧ, более высокого порядка (3), имеет полосу заграждения с 1953.125Гц, что позволяет ещё раз проредить сигнал 2:1 до частоты выборки 3906.25 выборок в секунду.
- Третий каскад фильтрации НЧ, так же 3го порядка, имеет частоту заграждения 976.5625Гц, что позволяет проредить микрофонный сигнал ещё раз 2:1, до частоты выборок 1953.125 выборок/с.
- Четвёртый этап фильтрации - два последовательных фильтра - ФНЧ и ФВЧ с полосами заграждения ниже 284.9Гц и выше 691.9Гц. Полоса пропускания, выходит, 380.2..597Гц при частоте выборки 1953.125 выборок/с.
- Фазовая демодуляция выполняется для центральной частоты... Блин, уже не могу вспомнить. Посмотрите генератор сигнала DBPSK, может, там понятно будет.
- Для демодуляции, используется только бит знака текущего отсчёта после каскада фильтров.
Вот картинка, как демодулируется преамбула. Если не ошибаюсь, номинальная битовая скорость порядка 61.0351 бит/с:

Синий - выход демодулятора. Красный - среднее значение скользящего буфера изменения полярности сигнала.
Вот как выглядит спектр сигнала после микрофона:

А вот спектр реального сигнала после фильтрации (но не помню, что за фильтрация - частота выборки слишком велика для фильтрации в МК:

P.S. Похоже, оба спектра - с варианта частотной манипуляции, который был забракован в пользу дифференциально-фазовой манипуляции. У последней спектр просто колоколообразный.