Цитата(kaf @ Jul 12 2006, 13:28)

Цитата(Andy Mozzhevilov @ Jul 12 2006, 13:06)

Поясните, какая частота гуляет, на сколько гуляет? Какие фронты дрожжат и откуда фронты в аналоговом сигнале?
Какая все-таки модуляция, какая несущая, какая символьная скорость? Обрисуйте задачу более конкретно.
Демодулятор нужно сделать на AVR. Входной сигнал компарируется и при переходе фаз начинается настояций бардак.
Входной сигнал 18 +/- 0.5 kHz. Есть две фазы 0 и 180. Минимальный период между изменениями 16 периодов несущей частоты.
PS Уже сделан апаратный демодулятор, но передомной лежит коробочка, котороя , кроме демодуляции делает еще кучу дел (а в приведенном алгоритме синусы(пусть табличные) и вагон умножений).
Приведенный алгоритм показывает принцип демодуляции. Дальше оптимизируйте под свою задачу.
Сделайте синусы однобитными, тогда ужмножения заменятся на "исключающие или", соответственно на AVR можно будет множить сразу 8 выборок. Далее сдвигами делаете скользящеее окно на количество выборок на битовом интервале, по таблице определяете количество полученных единичных бит. Можно попробовать делать скользящее окно не на длине бита, а на 1-2 периодах несущей, тогда длина линий задержки будет меньше.
Но вам нужно брать частоту дискретизации входного миниму в 5 раз больше, чем несущая, то есть под 100 кГц где-то. Не знаю, как тут AVR справится, давно не работал с ними.
Пасу котов...