реклама на сайте
подробности

 
 
> Определение скорости роста частоты, и экстраполяция
Waso
сообщение Dec 29 2011, 05:12
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 268
Регистрация: 4-11-05
Пользователь №: 10 470



Здравствуйте! И с наступающим!

Встала задача отслеживать расстояние до объекта, удаляющегося с ускорением. Для этого имеется передатчик на 70ГГц и приемник со смесителем. Длина волны 4мм. Точность нужна 1% от расстояния. Диапазон измеряемых расстояний - от 0.1 до 5 метров.

Сейчас у меня эта задача решается дубово - измеряю фазу со смесителя и считаю отталкиваясь от известного начального расстояния. Но вот проблема - в реальных условиях могут возникать кратковременные помехи - например пролет между объектом и датчиком посторонних предметов. Естественно, после такого безобразия мой алгоритм начинает безбожно врать.

Я хочу при обнаружении помехи экстраполировать сигнал и потом пытаться снова зацепиться за него в надежде что за время помехи объект не изменит своего движения. Т.е. будет продолжать двигаться с темже ускорением и в томже направлении.

Подскажите пожалуйста литературу!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Waso
сообщение Jan 5 2012, 18:16
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 268
Регистрация: 4-11-05
Пользователь №: 10 470



Цитата
Почему фазу измеряете, а не частоту? df=-2Vr/Lambda0, насколько помню.
Потомучто требуемая точность при малом расстоянии меньше длины волны.
Цитата
Если времени нет, то поможет ФАПЧ (схема Костаса)
Времени нет. Нужно выдавать информацию на ходу с частотой 2кГц и с известным отставанием по времени от фактического момента измерения (задержкой). Задержку нужно минимизировать, но она не должна быть больше 20мс. Буфер - это пожалуйста. 20мс - это уйма времени чтоб сделать первое БПФ, а вот как потом его заставить скользить по буферу и делать вычисления не более чем за 0.5мс... Существуют ли оптимальные алгоритмы для такого скользящего по буферу БПФ?

Про петлю Костаса начал учить матчасть. Спасибо. Будут вопросы - задам.
Go to the top of the page
 
+Quote Post
tmtlib
сообщение Jan 7 2012, 14:43
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 200
Регистрация: 30-10-10
Пользователь №: 60 531



Цитата(Waso @ Jan 5 2012, 21:16) *
Буфер - это пожалуйста. 20мс - это уйма времени чтоб сделать первое БПФ, а вот как потом его заставить скользить по буферу и делать вычисления не более чем за 0.5мс... Существуют ли оптимальные алгоритмы для такого скользящего по буферу БПФ?

Если шаг скольжения мелкий, как у вас - 0.5мс, то вместо БПФ возьмите обычное ДПФ, оно хорошо оптимизируется под скольжение. (в гугле - sliding dft). Я делал скользящий вариант ДПФ по приходу одного сэмпла, что естественно быстрее чем любое скользящее БПФ. Могу поискать ссылку на метод, объяснение на пальцах: каждая палка в спектре получается перемножением сигнала на синусоиду определённой частоты. То есть i-тая амплитуда это просто сумма A[i]=SUM( Sample[j]*Cos(i,j) ) по всем сэмплам j. По приходу сэмпла мы можем прибавить к палке число A[i]:=A[i]+Sample[Now]*Cos(i,j) и вычесть самое "старое" слагаемое A[i]:=A[i]+Sample[Now-128]*Cos(i,j). Так как старое произведение можно хранить в памяти, то на каждый сэмпл для каждой частоты только одно умножение по COS-компоненте. По второй компоненте так же. А дальше как для фурье - корни из сумм квадратов.

Если мелкий шаг не нужен, то можно целыми блоками. Будет быстро, но при росте размера блока алгоритм скользящего ДПФ станет в итоге медленнее, чем скользящего БПФ.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 12:48
Рейтинг@Mail.ru


Страница сгенерированна за 0.01371 секунд с 7
ELECTRONIX ©2004-2016