lloyd (09.03.2018 09:53, просмотров: 153) ответил Dingo на Сделал следующим образом: нахожу среднее N ошибок, корректирую их на это среднее, корректирую на среднее период. Работает. Дополнительно выловил баг в алгоритме: при смене знака "-" => "+" ошибка удваивалась.
Ну, средневзвешенное - это когда мы учитываем не просто среднее величин, а где они чаще встречались. Недостатком такого подхода будет задержанный отклик системы на скачок по частоте, к примеру.
А до FLL - то в железе оно выглядит примерно так: входная частота у нас представлена меандром со скважностью 50%, так же представлена наша внутренняя частота. Сначала мы подстраиваем частоту так, чтобы ширина импульсов A xor B стала стабильной (если частота отличается, они будут бегать по синусоиде определенной частоты) в заданных рамках. Собственно, ширина импульса (если он не нулевой) будет фазой отклонения нашего сигнала от принимаемого.
Но это все хорошо, когда у нас куча времени, сигналы приходят быстро и мы можем потратить 20-30 периодов на фиксацию частоты/фазы.
Если мы говорим про обмен пакетами, то потерять 40-50 пакетов при включении - дикость.
Так что лично я сомневаюсь, что хитрые DSP-техники тут играют большую роль