ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
25 ноября
441775 Топик полностью
fk0, легенда (14.09.2013 10:39 - 10:54, просмотров: 107) ответил Adept на Мне кажется я что-то неправильно объяснил. Дело обстоит так:
Можно ли интегрировать результат на достаточно большом временном интервале? Я выше рассказал алгоритм им. АОНа. Он и фазовую информацию даёт. Т.е. сигнал с компаратора принимаем этим самым алгоритмом. На выходе переменные int sum_sin, sum_cos. Делаем atan2(sum_cos, sum_sin) и получаем угол, который при известной частоте известно какую задержку даёт. Чем больше период измерений, тем выше точность. В современном МК вместо XOR можно просто сигнал компаратора [-1,+1] перемножать на честные sin и cos т.е. просто суммировать их значения. Разрядность sin и cos порядка 6 бит, например, сумма 16 бит. Или все 32, если тактов хватает, тогда всё сильно проще. 20-30 замеров -- это же 20-30 периодов. АОН считал на ~десятке-двух периодов. Вполне вариант. Если частота меняется, то проще будет просто менять шаг в достаточно большой таблице синусов. Которую, если CPU хватает, можно хранить в разностном виде (разности между соседними значениями, умещающиеся в 2-3-4 бита) и вычислять нужные значения на лету. Т.к. таблица перебирается последовательно (с каким-то шагом), то вполне себе вариант. Это даже хорошо, что сигнал зашумлён (иначе бы и не работало). Важно чтоб шум было близкий к случайному белому, а не что-то специфическое для самого прибора. Идея в том, что компаратор выдаёт во всём сером квадрате единицы и нули примерно пропорционально амплитуде сигнала, если грубо. Да, частота "оцифровки" сигнала компаратором раз 30 и больше выше частоты оцениваемого сигнала, иначе фокус не удастся.
[ZX]