Технический форум по робототехнике.
USER777 » 09 июн 2009, 22:19
Привет всем!
Разрабатываю пеленгатор УКВ частоты (150-170 МГц).
В качестве контроллера выбрал Atmega128 который будет заниматься следующим:
1. Переключать по кругу (4 или 8 антенн)(1,2,3,4,5,6,7,8,1....)
2. Записывать через аналог. вход в память контроллера синусоиду с УНЧ приемника (~500Гц) 1 круг антенн.Затем сравнить ее с 2 кругом. т.е сравнить
2 синусоиды. Если очень "похожи" то вычислить угол по пику синусоиды
3 Выводить результат на комп через первый USART0, на светодиоды.
4 Поддерживать опред. уровень сигнала на аналог входе (АРУ) с помощью ШИМ.
5 через второй USART1 управлять частотой радиоприемника
Точность измерения теоретич = 2 град
на 1 круг 360/2 =180 байт
Вопрос как правильно сравнить 2 синусоиды не теряя много времени
180 байт 1-го круга похожи(не обязательно равны) на 180 байт второго круга
И пик вычислять лучше во время набора байт или после???
Спасибо заранее..
Duhas » 09 июн 2009, 22:23
что в синусоидах должно расходится? частота? амплитуда? сдвиг фаз?
USER777 » 09 июн 2009, 22:25
И амплитуда и сдвиг фаз. В основном амплитуда.
galex1981 » 09 июн 2009, 22:26
Интересует вопрос: зачем использовать Мегу 128 если она наполовину даже задействована не будет в вашем проекте (видел гдето аналогичную схему на ATTiny2313), можно подешевле МК использовать.
2 синусоиды можно сравнивать по набору, учитывая некоторую погрешность (можно программно задать). Пик можно вычислять сразу
Duhas » 09 июн 2009, 22:28
амплитуду по идее можно сравнить по нескольким экстремумам.. усреднить и сравнивать... со сдвигом фаз хуже дело .. хотя вроде корреляционной функцией решается..
USER777 » 09 июн 2009, 22:38
2 USARTa + дисплей 16х2 дело не в цене, Аtmega128 на работе есть пару десяток. Главное что бы заработало
2 синусоиды можно сравнивать по набору, учитывая некоторую погрешность (можно программно задать)эт как?
Добавлено спустя 6 минут 41 секунду:амплитуду по идее можно сравнить по нескольким экстремумам.. усреднить и сравнивать... со сдвигом фаз хуже дело .. хотя вроде корреляционной функцией решается.
На 16 меге делал по 4 точкам работала. А вот с "корреляционной функцией" еще не пробывал. Для манчестерского кода применял, результат не очень.
MiBBiM » 09 июн 2009, 22:46
хм. я бы вначале прошелся по двум массивам в поисках значений максимумов (паралллельно запоминаю номер макс элемента первого массива), после я могу сказать об отношении амплитуд; иду влево и вправо по массиву от максимума, в поисках точки (m2*A1/A2-m1)<погрешности. дельта найденной и запомненной точек и есть сдвиг фаз.
получается два полных и один неполный прохода по массиву. не совсем оптимально
- Вложения
-
galex1981 » 09 июн 2009, 22:48
Duhas сказал только другими словами
MiBBiM » 09 июн 2009, 23:02
а как это вообще
есть литература для ньюби?
contr » 09 июн 2009, 23:06
вообще сравнивают не синусоиды, а уровни сигналов с 4 антенн, разнесенных на 1/4 длины волны. Полагаю, лучше начинать с аппаратной части, а не математической.
Сергей » 09 июн 2009, 23:08
Если выбирать МК в ценовом диапазоне 200р-300р то лучше взять какой-нибудь простой LPC2000 за эту же цену. Просто ARM7 пошустрей будут.
MiBBiM » 09 июн 2009, 23:08
сорри, я о сравнивании синусоид по корр-функции
galex1981 » 09 июн 2009, 23:15
Я конечно соглашусь что ARM шустрее будет, но куда еге использовать если у топикстартера нересурсоемкая задача
Добавлено спустя 1 минуту 38 секунд:
Я к тому, что ему проще и дешевсле все-таки использовать AVR МК
Сергей » 09 июн 2009, 23:30
я же сказал - если ценовой диапазон МК выберут 200р-300р то лучше ARM взять. А если AVR то тогда брать mega8 за 50р )
Tracer » 09 июн 2009, 23:44
USER777 писал(а):И амплитуда и сдвиг фаз. В основном амплитуда.
Вообщето Допплер говорил об изменении частоты. Амплитуда и фаза вас уведет в другую степь.