roboforum.ru

Технический форум по робототехнике.

Доплеровский пеленгатор на Аtmega128

Re: Доплеровский пеленгатор на Аtmega128

blindman » 10 июн 2009, 04:10

USER777, а ты точно понимаешь принцип радиопеленгации с использованием псевдо эффекта Допплера? Зачем сравнивать данные 2 кругов, когда нужно всего лишь определить фазу допплеровского сигнала?

Добавлено спустя 10 минут 53 секунды:
Вот пример аппаратной реализации пеленгатора
Вложения
A Doppler Radio-Direction Part 1.pdf
(673.18 КиБ) Скачиваний: 148

Re: Доплеровский пеленгатор на Аtmega128

USER777 » 10 июн 2009, 12:43

Вообщето Допплер говорил об изменении частоты. Амплитуда и фаза вас уведет в другую степь.

Все верно!
Изменение частоты на входе приемника(FM) приводит к изменению амплитуды на выходе FM приемника (частотная модуляция)

Добавлено спустя 1 час 36 минут 23 секунды:
http://roboforum.ru/download/file.php?id=9456

эт я уже собирал. Вот на основе этого пытаюсь реализовать на atmega128
например цифровой фильтр из
http://roboforum.ru/download/file.php?id=9456
и есть сравнение двух синусоид, только там реализовано на 8 конденсаторах.(zero-crossing)нуль-переход эт точка синусоиды в нулевом значении. А у меня по пику синусоиды, так точность выше.
Собирал уже на 16 меге с выводом на комп. Вот только проблема в скорости и алгоритме . Необходимо сравнивать на сходство синусоиды оч. быстро находить пик. отправлять данные в порт.


хм. я бы вначале прошелся по двум массивам в поисках значений максимумов (паралллельно запоминаю номер макс элемента первого массива), после я могу сказать об отношении амплитуд; иду влево и вправо по массиву от максимума, в поисках точки (m2*A1/A2-m1)<погрешности. дельта найденной и запомненной точек и есть сдвиг фаз.
получается два полных и один неполный прохода по массиву. не совсем оптимально
А вот это нужно попробовать.
Спасибо за быстрые ответы.

Re: Доплеровский пеленгатор на Аtmega128

contr » 10 июн 2009, 12:47

Такую противоугонку лет 20 назад активно рекламировал по ТВ автор фразы "Таньки грязи не боятся!". Даже в рекламных роликах было заметно, что 4 экипажа ГИБДД с большим трудом находят "угнанный" автомобиль.
Если говорить о современных угонщиках, то маяки вычисляются за 20 секунд. Здесь даже GPS, сбрасывающая координаты в импульсном режиме через модем не поможет. :(

Re: Доплеровский пеленгатор на Аtmega128

blindman » 10 июн 2009, 12:53

На 8 конденсаторах там сделан цифровой фильтр, который тоже нужно будет реализовывать. Разница во времени между началом сканирования и переходом через ноль - это и есть фаза допплеровского сигнала.

Re: Доплеровский пеленгатор на Аtmega128

USER777 » 10 июн 2009, 13:01

Нет все объекты оочень стационарные (скважины нефтяные, водяные ) бывают зависают р/м на передаче, а так все объекты (одного нефтепромысла) на одной частоте, в радиусе 10-15 км связь с остальными объектами тож пропадает. приходится много колесить с рацией чтобы найти зависший модем.Нормальный пеленгатор ФСБ не разрешило приобретать (Не знаю почему).
А еще бывает что частота у р/м уплывает на соседний канал (другого нефтепромысла эт еще хуже именно передача).
Пеленгатор облегчил бы поиск(ИМХО).
На 8 конденсаторах там сделан цифровой фильтр, который тоже нужно будет реализовывать. Разница во времени между началом сканирования и переходом через ноль - это и есть фаза допплеровского сигнала.

Ну да так и есть у меня тож самое, только пик.

Re: Доплеровский пеленгатор на Аtmega128

blindman » 10 июн 2009, 13:05

Так объясни тогда, нафига тебе 2 выборки сравнивать? Сделать так же как и в той схеме, только всё в программе - фильтры, детектор нуля и т.д.

Re: Доплеровский пеленгатор на Аtmega128

USER777 » 10 июн 2009, 13:10

Так объясни тогда, нафига тебе 2 выборки сравнивать? Сделать так же как и в той схеме, только всё в программе - фильтры, детектор нуля и т.д.

Я не силен в объяснениях,но тем не менее попытаюсь.
После фильтра на АЦП будет поступать очень узкий частотный диапазон (500 Гц)
т.е если даже приемник будет просто шипеть на входе АЦП будет частота 500 гц.
Нужно убедится что сигнал на АЦП тот самый сигнал а не просто шум.
Вроде так.

Re: Доплеровский пеленгатор на Аtmega128

boez » 10 июн 2009, 13:28

ИМХО пик или ноль в этой схеме ловить совершенно не нужно, имея МК. Нужно взять 180 значений синуса и косинуса для углов от 0 до 358 с шагом 2. На самом деле там реально разных значений всего 45, остальное повторы и повторы со знаком минус. И посчитать сумму произведений входного сигнала с АЦП в 180 точках круга на соответствующие синусы и косинусы. Получим 2 числа:

A = sum(U_k*cos(Alfa_k)), Alfa_k = 2*k град., k=0..179
B = sum(U_k*sin(Alfa_k)), Alfa_k = 2*k град., k=0..179

Эти числа - ни что иное, как действительная и мнимая части первого коэффициента преобразования Фурье входного сигнала - соответствующего основной гармонике, т.е. частоте "вращения" антенного переключателя. По ним легко определить азимут - это просто фаза этой гармоники, то есть arg(A+i*B), считается обычно через арктангенс (его тоже задают таблицей на отрезке от -1 до 1):

если А>B и A>-B, то Phi = arctg(B/A);
если А<B и A>-B, то Phi = 90 град. - arctg(A/B);
если А<B и A<-B, то Phi = arctg(B/A) + 180 град.;
если А>B и A<-B, то Phi = 270 град. - arctg(B/A);

Типа все. Если не лезть в плавающие числа (а все что я написал легко считается в числах с фиксированной запятой, сразу в нужном масштабе) - атмега справится легко. Хотя меня гложут смутные сомнения насчет необходимости 180 точек - будет ли реальная точность хоть немного близка к задуманной? Насколько скажется то, что антенну мы не крутим, а только переключаем 4 штуки? Хотя тем МК и хороши, что можно на том же железе пробовать с разным числом точек.

Вот. Убедиться, что это сигнал, а не шум, можно будет наблюдая за полученным значением. Если оно скачет как дурное по всему кругу - значит это шум. Если стоит примерно в одном месте - значит сигнал :) Ну еще возможно амплитуда (корень из A^2+B^2, на крайняк сойдет приближение в виде |A|+|B|) будет нести определенную информацию..

Добавлено спустя 9 минут 4 секунды:
А - да, чего забыл написать, можно ж (и нужно) не по одному периоду вращения суммировать, а по многим, к примеру по 512, тогда инфа будет обновляться примерно раз в секунду, но зато она будет неслабо отфильтрована от всего, кроме требуемого 500 Гц сигнала. И уж тогда наверняка у шума |A+i*B| будет намного меньше, чем у сигнала.

Re: Доплеровский пеленгатор на Аtmega128

USER777 » 10 июн 2009, 13:29

Голова!!
только вот эт
Вот. Убедиться, что это сигнал, а не шум, можно будет наблюдая за полученным значением. Если оно скачет как дурное по всему кругу - значит это шум. Если стоит примерно в одном месте -

не совсем понятно.
Минимум 2 замера в любом случае?

Re: Доплеровский пеленгатор на Аtmega128

blindman » 10 июн 2009, 13:31

А куда спешить-то? Сделай сотню, по ней прими решение - это 5 результатов в секунду

Re: Доплеровский пеленгатор на Аtmega128

USER777 » 10 июн 2009, 13:35

Наверное насчет замеров, нужно сделать гибкую систему.
Чтобы можно было работать и с короткими пакетами в эфире(ИМХО).

Re: Доплеровский пеленгатор на Аtmega128

Duhas » 10 июн 2009, 13:48

народ, а навигацию для робота по RF маякам так сделать не выйдет ли?

Re: Доплеровский пеленгатор на Аtmega128

USER777 » 10 июн 2009, 13:54

народ, а навигацию для робота по RF маякам так сделать не выйдет ли?

В чистом поле выйдет а в комнате вряд ли.
3 маяка на разных частотах.
На роботе один приемник 3 -х канальный
Чтобы знать какой маяк и где он.

Re: Доплеровский пеленгатор на Аtmega128

blindman » 10 июн 2009, 14:08

Если маяки синхронизировать, можно и на 1 канале.

Re: Доплеровский пеленгатор на Аtmega128

USER777 » 10 июн 2009, 14:11

Если маяки синхронизировать, можно и на 1 канале.

А по подробнее.


Rambler\'s Top100 Mail.ru counter