Делаю OSD, автопилот и инерциалку...

Diman_Y
Musgravehill:

Мне кажется, что тут физические ограничения.

Это не вопрос веры. Это просто математика и обработка сигналов. 😃

Musgravehill:

Сам датчик “заедает”, имеет гистерезис,

Это нелинейные искажения. О них я не еще не говорил.

Musgravehill:

несовершенство конструкции, наводки с одних своих линий на другие. То есть, выжать из него 0.05 градуса невозможно. Даже если его аналоговый сигнал подать на 64 битный АЦП, 1 ГГц дискретизацию, ФНЧ 1 Гц.

Пример с АЦП я привел просто чтобы пояснить как фильтровать шумы. В случае с компасом я уже фильтрую шумы самого компаса, т.е. те самые наводки, несовершенства и т.д. И отфильтровать я могу что угодно, если шум лежит за пределами нужной мне полосы пропускания. В нашем случае, если мне нужны отсчеты компаса раз в секунду, то я фильтрую фильтром с полосой 1 Гц.

Я могу даже картинки с шумами и без показать. 😃

А вот собственно и пример фильтрации.
Синий график - фильтрованный сигнал, красный не фильтрованный. Значения одной из осей магнитометра в состоянии покоя.
Как горовится, результат фильтрации на лицо. 😃

Musgravehill
Diman_Y:

В случае с компасом я уже фильтрую шумы самого компаса, т.е. те самые наводки, несовершенства и т.д. И отфильтровать я могу что угодно, если шум лежит за пределами нужной мне полосы пропускания.

У меня ощущение, что говорим о разном.
Фильтрация в частотной области не сделает из г - пулю.
Температурные погрешности, деформации частей, ЭМИ, гистерезисы и прочее - неустранимы.

Diman_Y:

Я могу даже картинки с шумами и без показать.

Покажите лучше 2 выставленных в одном направлении компаса, закрепленных на поворотной платформе. Чтобы один был образцовым с погрешностью 0.1 градус. А второй - ваш “полетный”. Пусть оба показывают на Север. Если погрешность полетного компаса составит хотя бы 0.5 градуса - я сильно пожму руку!
И следующий эксперимент - повторяемость результатов. Прокрутить платформу, выставить указатель на Север по образцовому компасу. Насколько будет врать полетный компас.

Diman_Y
Musgravehill:

У меня ощущение, что говорим о разном. Фильтрация в частотной области не сделает из г - пулю.

Смотрите на картинку и читайте еще раз то, что я написал. Все уже давно доказано.
На картинке пример того, как 2 градуса превратились в 0.2.

Musgravehill
Diman_Y:

На картинке пример того, как 2 градуса превратились в 0.2.

Дмитрий, попробуй провести эксперимент: плату с компасом (или коробку) положи на стол, обведи карандашом. Подними, поболтай, положи снова на стол в карандашный контур. Какая разность будет между предыдущим показанием компаса и текущим???
Потом еще раз поболтай плату, положи на стол в границы контура. Насколько показания изменились???

Неужели на 0.2 градуса?? (направление всегда было неизменным, карандашный контур не сдвинулся).

Diman_Y:

Смотрите на картинку

Я тоже так фильтрую. Через ФНЧ прогоняю, рекурсивные фильтры 1,4 порядка, вейвлеты, скользящее окно. Только реальное положение дел отличается от результата фильтрации.

morion15

Зачем вы используете такую точность 10^-4, мало того что там только шумы, вы тратите время процессора на фильтрацию. Округлите до 10^-3, и шумы уйдут, покрайней мере если исходить из картинки выше.
Имхо у вас избыточная точность.

Diman_Y
Musgravehill:

Потом еще раз поболтай плату, положи на стол в границы контура. Насколько показания изменились???

Ладно.
Что-то мне лениво стало доказывать.
У меня получается 0.2 градуса. Закончим спор.

morion15:

Зачем вы используете такую точность 10^-4, мало того что там только шумы, вы тратите время процессора на фильтрацию. Округлите до 10^-3, и шумы уйдут, покрайней мере если исходить из картинки выше. Имхо у вас избыточная точность.

Это не градусы. Это значение магнитного поля измеренного в “попугаях”. (В попугаях это значит в неизвестных величинах измерения. Но в связи с тем что единицы измерения меня в этом случае не волнуют, то меня это внолне устраивает.
И еще. Если шумы есть, то они никуда не уходят. И их отсечением я от них не избавлюсь.

morion15

Не избавитесь, но реально в расчетах от них пользы не будет, поетому лучше округлить до значущих разрядов.

Diman_Y
morion15:

е избавитесь, но реально в расчетах от них пользы не будет, поетому лучше округлить до значущих разрядов.

Во первых, округление в фиксированной точке, всегда добавляет дополнительную ошибку, и лучше стараться использовать максимально возможный диапазон значений.
А во вторых, у меня floating point DSP, поэтому мне вообще все равно сколько там разрядов. У меня все автоматом округляется. 😃

Musgravehill
morion15:

в расчетах от них пользы не будет, поетому лучше округлить до значущих разрядов

На практике получил звиздюлей от Главного метролога) высчитывал по формулам до 6 знаков после запятой, а он “Какие запятые, у тебя первичный преобразователь врет на +_ 10 попугаев!”

Петруччо

Дмитрий, вобщем ход мыслей правильный. А каким методом фильтрации пользуетесь если не секрет? Видел на сайте TI хар-ки этого DSP. Монстр:)

alexeykozin
Diman_Y:

Сейчас меня очень занимает вопрос: а зачем народ городит разного рода RLS системы, когда можно использовать xBee? Либо я что-то упускаю, либо одно из двух.

упускаете,
цена вопроса
комплект xbееpro вроде под 200 баксов стоит?

Diman_Y
Петруччо:

А каким методом фильтрации пользуетесь если не секрет?

Разными. 😃
Конкретно на этой картинке - FIR. Вообще, если время задержики некритично и нужна децимация, то используется fir фильтр. А вообще у меня поменять один фильтр на другой или добавить еще фильтр это просто драг и дроп операция. Как схему из готовых блоков рисовать. Типа симулинка.
Или Вы спрашиваете про метод генерирования коэффициентов?

alexeykozin:

омплект xbееpro вроде под 200 баксов стоит?

Ну в общем да. Но это ведь кит. Один модуль отдельно 50 баксов стоит. В общем не так уж и дорого.

Петруччо

Не-не, коэф-ты рассчитываются по формулам в Матлабе или Маткаде. Интересовал именно метод фильтрации. Я просто не очень сведущ в DSP, сейчас активно изучаю эту тему, т.к. тоже надо будет обрабатывать аксель+гирю+компас+еще много чего, и шумов там много:) Я тоже интуитивно думал в сторону КИХ-фильтрации.
Кстати, кому если интересно, очень хорошая доходчивая (по-своему) книжеца Э. Айфичер Б. Джервис “Цифровая обработка сигналов. Практический подход” (Digital signal processing. Practical approach).

Diman_Y
Петруччо:

Я тоже интуитивно думал в сторону КИХ-фильтрации. Кстати, кому если интересно, очень хорошая доходчивая (по-своему) книжеца

КИХ всегда применяется для интерполяции/децимации, так как это наиболее эффективно с точки зрения количества вычислений. А с фиксированной точкой БИХ фильтры вообще противопоказаны (бих фильтр очень шумит).
БИХ фильтры применяются только если критично время задержки и его надо минимизировать.

А вообще, если говорить о книгах, то цифровую обработку надо начинать с книги Трахтман А.М. “Введение в обобщённую спектральную теорию сигналов”. Не имея представления о сигналах, в ДСП нет смысла соваться.

Diman_Y

Всем привет!

Вчера доделал управление через xBee. Сейчас это выглядет так: пульт->xBee … xBee->Сервы. Управление пока только в одну сторону, к модели.
Вчера же и испытал на дальность.
Результаты получились очень противоречивыми.
Видеопередатчик (1.2 ГГц 1 ватт) без прямой видимости смог послать сигнал на 200 метров, и при этом xBee вполне нормально функционировал на мощности 1 мВт. Т.е. сервы крутились, камера крутилась и т.д. Для меня это было достаточно удивительно, так как от 1 мВт я много не ожидал.

Сейчас мне представляется что затык будет именно в канале видео а не в канале управления. Судя по тому что писали в отчетах о измерении дальности работы xBee Pro, все выглядет очень правдоподобно (60 кМ без дополнительных антенн).

Но есть и проблемы (а куда без них то?) и их две. 😃

Во первых, к сожалению, работа xBee не возможна если применик и передатч находятся очень близко друг к другу. В моем случае это меньше 2-х, 5 метров. Причемник у хВее настолько чувствительный, что просто забивается даже на одном милливате мощности. Из-за этого, пускать с руки не получится к сожалению. Придется либо шасси использовать, либо помощь друзей.

Вторая проблема выливается из первой. Пришлось сделать управление мощностью. Т.е. тумблерами на пульте можно теперь управлять мощностью передатчика и переключать ее : 1, 25, 100, 200 и 300 мВт.

Но в общем я доволен. Теперь осталось приделать шасси и испытать на выходных. 😃

Diman_Y

Всем привет и с Праздником!

Вчера испытал xBee управление! Испытания прошли крайне успешно.
Так как испытания проводились без автопилота и без RTH, то ограничения полета были 2.5 км. В пределах 2.5-3 км модель без проблем управлялась на 25 мВт мощностию(т.е. запас еще в 10 раз имеется). По моим ощущения можно было еще на пару километров улететь на 25 милливатах, но пока не стал этого делать. Может в следующее выходные запущу.

В связи с тем, что вблизи приемник хВее переполняется и через пару секунд возникает фейлсейв (так запрограммированно), то запуск проводился так: сначала выставлялся газ, потом искалось положение антены при котором приемник принимал этот газ, мотор начинал крутиться и модель отпускалась. А через 5-10 метров, управление было уже в норме. Через 50 метров уже переключался на 25 мВт и все. Посадка была без проблем. С шасси проблем то-же не будет. 😃

Короче, если хочется с руки, то запускать надо с возвышенности отрегулированную модель. 😃

Петруччо

а xBee с такой дальнобойностью у вас там не запеленгуют? В принципе за ж**пу взять могут? я так понимаю что модуль был доработан?😃

Diman_Y
Петруччо:

а xBee с такой дальнобойностью у вас там не запеленгуют? В принципе за ж**пу взять могут? я так понимаю что модуль был доработан?

хВее стандартный я ничего не дорабатывал. Мощность то-же разрешенная (до 500 мВт). Следовательно, до моей Ж им не добраться. 😃

Я что там в хВее можно дорабатывать?

Петруччо
Diman_Y:

что там в хВее можно дорабатывать?

мощность выходного каскада! шутка:) просто не сталкивался пока с такими зерями

Lazy

Вопрос из зала: а как вы подключали XBee? Как рашели проблему 10% duty cycle?