Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Цифровые сигнальные процессоры Вопросы, связанные с применением цифровых сигнальных процессоров: программирование, отладочные средства, алгоритмы...

 
Опции темы
Непрочитано 21.06.2010, 22:17  
Nikopol
Вид на жительство
 
Аватар для Nikopol
 
Регистрация: 05.01.2007
Адрес: Украина, г. Макеевка
Сообщений: 408
Сказал спасибо: 229
Сказали Спасибо 62 раз(а) в 52 сообщении(ях)
Nikopol на пути к лучшему
По умолчанию Re: Нужна помощь в реализации фильтра Калмана

Сообщение от raxp Посмотреть сообщение
http://autopilot.sourceforge.net - пишут, что есть код... как-то спрятали его

+ кое-что...
Это я уже курил, толку мало, информации действительно очень много, начиная от википедии заканчивая оффициальным сайтом Калмана с его изданиями в оригинале, да вот только я перелапатив все это дело не могу прийти к законченному алгоритму, точнее, я даже не могу себе его представить частично . Вчера искал реализации на С наткнулся тоже на реализацию в пару строк для платформы Aurdino, портировал для себя, вроде работает, но если я максимально сглаживаю шум, то он начинает сильно отставать от входного сигнала. Подобным недостатком обладает экспоненциальный фильтр, его я тоже пробовал, там вообще ни в какие ворота е лезет при большой динамике сигнала . В общем буду дальше заиматься изучением материала, к стате, спасибо за ссылки, обязательно ознакомлюсь.
Реклама:
__________________

____________________________________________
Internet Explorer - это такая программа, с помощью которой можно зайти на сайт http://opera.com и скачать себе браузер...
Nikopol вне форума  
Непрочитано 21.06.2010, 22:59  
alexgap
Гражданин KAZUS.RU
 
Аватар для alexgap
 
Регистрация: 08.07.2006
Сообщений: 886
Сказал спасибо: 119
Сказали Спасибо 1,110 раз(а) в 177 сообщении(ях)
alexgap на пути к лучшему
По умолчанию Re: Нужна помощь в реализации фильтра Калмана

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

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

Nikopol, может вы расскажете подробней чего именно вы хотите добиться? Какой сигнал хотите получить, от какой системы, чего хотите достичь и т.д.?

Я прошу дополнительную информацию потому что есть много вариантов решения одной задачи.
Например, у меня имеется обширный опыт с NLMS-фильтрами, с которыми можно сделать многое, так как они позволяют строить адаптивную модель отклика управляемой системы "на лету", без привязок. С помощью это фильтра можно сделать удивительные вещи - подавить паразитное эхо в звуковом сигнале, сделать адаптивный ПИД регулятор, подавить шум и т.д. NLMS это действительно универсальный предсказатель.

Калман - отдаленное подобие известного ПИДа, только перенесенного на плоскость измерений, а не управления.

В универсальном виде вы Калман не получите, ну разве что используя матричную арифметику, но стоит понимать что это всего лишь математический штрих - под перемножением матриц можно понимать очень многое, кроме собственно перемножения матриц. Например, таким образом часто показывают какое либо воздействие на величину. А воздействие может быть нелинейное, рекурсивное и т.д. - любое, в том числе и то, которое двумерной матрицей ну никак не описывается. При этом в алгебре все просто: С = A * B. "На пальцах": величина С получена из А с учетом взаимодействия B.

Поэтому не зная задачи нельзя и говорить о реализации алгоритма Калмана.
__________________
.

В мире всего два типа людей: те у кого был ZX Spectrum, и те у кого его не было.
alexgap вне форума  
Сказали "Спасибо" alexgap
Nikopol (22.06.2010)
Непрочитано 21.06.2010, 23:15  
avr123-nm-ru
Почётный гражданин KAZUS.RU
 
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
avr123-nm-ru на пути к лучшему
По умолчанию Re: Нужна помощь в реализации фильтра Калмана

Да говорить то и не надо.

Нужен ПРИМЕР на Си с началом и концом, а не несколько цитат кода.

Так как делают в апноутах.
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
avr123-nm-ru вне форума  
Непрочитано 21.06.2010, 23:20  
alexgap
Гражданин KAZUS.RU
 
Аватар для alexgap
 
Регистрация: 08.07.2006
Сообщений: 886
Сказал спасибо: 119
Сказали Спасибо 1,110 раз(а) в 177 сообщении(ях)
alexgap на пути к лучшему
По умолчанию Re: Нужна помощь в реализации фильтра Калмана

Алгоритм Калмана "на пальцах":

очищенный_сигнал_наблюдаемый_от_объекта = интегрированный_сигнал_наблюдаемый_от_объекта + сигнал_управления_объектом * модель_отклика_объекта

Как я говорил выше, знак "*" не стоит воспринимать буквально. Например, на языке програмирования в одномерном случае имеется в виду вызов функции модель_отклика_объекта с передачей ей одного аргумента сигнал_управления_объектом, например типа int:

Код:
int x = модель_отклика_объекта(сигнал_управления_объектом)  ;
Вызов функции дает значение x - это предсказанный сигнал отклика системы на управляющий сигнал. Предсказанный сигнал дает нам возможность знать что случится через несколько мгновений. Таким образом как-бы восстанавливается "острота" отфильтрованного сигнала, которая теряется при интегрировании (подавлении шума). Хочу заметить, что отклик системы всегда сбалансирован относительно 0.

В википедии то же самое изложено с стохастической точки зрения, что, на мой взгляд, намного сложнее для быстрого понимания.
__________________
.

В мире всего два типа людей: те у кого был ZX Spectrum, и те у кого его не было.

Последний раз редактировалось alexgap; 21.06.2010 в 23:29.
alexgap вне форума  
Эти 2 пользователя(ей) сказали Спасибо alexgap за это сообщение:
executer01 (24.06.2010), Nikopol (22.06.2010)
Непрочитано 21.06.2010, 23:26  
alexgap
Гражданин KAZUS.RU
 
Аватар для alexgap
 
Регистрация: 08.07.2006
Сообщений: 886
Сказал спасибо: 119
Сказали Спасибо 1,110 раз(а) в 177 сообщении(ях)
alexgap на пути к лучшему
По умолчанию Re: Нужна помощь в реализации фильтра Калмана

Сообщение от avr123-nm-ru Посмотреть сообщение
Нужен ПРИМЕР на Си с началом и концом, а не несколько цитат кода.
Чтобы был пример, нужно полное мат. описание управляемой/наблюдаемой системы. Если это физическая система, такая как гироскоп, то нужно знать зависимость скорости гироскопа от прилагаемого напряжения к мотору, который его раскручивает.

А систем таких тысячи на каждом углу. Поэтому и нет одного примера, который бы удовлетворил всех (точнее пример уже приводили, но его никто не понял - потому что мы не знаем ничего о системе, которую в алгоритм заложил его автор).

Я и прошу автора описать свою систему - чем управляют, что замеряют, чтобы можно было хотя бы мерность системы понять.
__________________
.

В мире всего два типа людей: те у кого был ZX Spectrum, и те у кого его не было.

Последний раз редактировалось alexgap; 21.06.2010 в 23:46.
alexgap вне форума  
Непрочитано 22.06.2010, 08:23  
Nikopol
Вид на жительство
 
Аватар для Nikopol
 
Регистрация: 05.01.2007
Адрес: Украина, г. Макеевка
Сообщений: 408
Сказал спасибо: 229
Сказали Спасибо 62 раз(а) в 52 сообщении(ях)
Nikopol на пути к лучшему
По умолчанию Re: Нужна помощь в реализации фильтра Калмана

Сообщение от alexgap Посмотреть сообщение
Nikopol, может вы расскажете подробней чего именно вы хотите добиться? Какой сигнал хотите получить, от какой системы, чего хотите достичь и т.д.?

Я прошу дополнительную информацию потому что есть много вариантов решения одной задачи.
Излагаю конкретную задачу, которая встала передомною. Есть сигнал от датчика ускорения, соответсявенно, когда атчик находится в состоянии покоя на выходе получаем очень зашумленный сигнал с размахом в 0,05 (весь диапозон от -3 до 3), задача состоит в том, что бы сгладить этот шум как можно больше, идеальным было бы конечно до 0,001, да и того меньше. Сам сигнал используется для управления изображением (т.е. его вращением, в зависимости от сигнала с датчика). Я пробовал применить КИХ ФНЧ, но нужного сглаживания я не добился, а моя реализация Калмана дает очень сильную задержку, что очень плохо влияет на динамику системы. В результате что мне необходимо:
- максимально сгладить шум, дабы небыло ложных колебаний, когда датяик находится в покое.
- сохранить динамику всей системы в целом, т.е. при перемещении датчика, фронты сигнала после фильтра максимально должны повторять входной сигнал.

Могу привести пример графиков с датчика, если необходимо. Я уже вторую неделю занимаюсь этим вопросом, но пока что нужного решения не нашел, к сожалению .
__________________

____________________________________________
Internet Explorer - это такая программа, с помощью которой можно зайти на сайт http://opera.com и скачать себе браузер...
Nikopol вне форума  
Непрочитано 22.06.2010, 09:40  
avr123-nm-ru
Почётный гражданин KAZUS.RU
 
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
avr123-nm-ru на пути к лучшему
По умолчанию Re: Нужна помощь в реализации фильтра Калмана

Сообщение от alexgap Посмотреть сообщение
Чтобы был пример, нужно полное мат. описание управляемой/наблюдаемой системы.
Большинству, чтобы увидеть код в ТЫЩАХ апноутов, достаточно апноут скачать и посмотреть. Для этого не нужно ни какого мат. описания.

Нужен только доступ к документу и возможность его просмотра.

Сообщение от alexgap Посмотреть сообщение
А систем таких тысячи на каждом углу. Поэтому и нет одного примера, который бы удовлетворил всех
А просят пример на все случаи жизни ?

Я уж несколько раз спрашивал ЛЮБОЙ пример, но с началом, серединой и концом. Который можно в компиляторе скомпилировать.
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru

Последний раз редактировалось avr123-nm-ru; 22.06.2010 в 09:56.
avr123-nm-ru вне форума  
Непрочитано 22.06.2010, 10:55  
avr123-nm-ru
Почётный гражданин KAZUS.RU
 
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
avr123-nm-ru на пути к лучшему
По умолчанию Re: Нужна помощь в реализации фильтра Калмана

Сообщение от Nikopol Посмотреть сообщение
Есть сигнал от датчика ускорения, .
У меня аналогично, но "гироскоп" - т.е. измеритель угловой скорости. Стоит на столе показания скачут у нуля хаотически ( на чуть чуть вроде ) ни фильтрами ни коэфами скорректировать не возможно. После интегрирования получается что стол поворачивается не предсказуемо градусов на 5-10 в секунду.
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
avr123-nm-ru вне форума  
Непрочитано 22.06.2010, 11:12  
avr123-nm-ru
Почётный гражданин KAZUS.RU
 
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
avr123-nm-ru на пути к лучшему
По умолчанию Re: Нужна помощь в реализации фильтра Калмана

Сообщение от alexgap Посмотреть сообщение
у меня имеется обширный опыт с NLMS-фильтрами, с которыми можно сделать многое, так как они позволяют строить адаптивную модель отклика управляемой системы "на лету", без привязок.
Вот по твоей ссылке есть и линк на конкреный код реализации этого алгоритма

http://xleox.somee.com/LMSAlgorithm.aspx

Вот тоже и шукчеца для Калмана.
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
avr123-nm-ru вне форума  
Непрочитано 23.06.2010, 01:09  
alexgap
Гражданин KAZUS.RU
 
Аватар для alexgap
 
Регистрация: 08.07.2006
Сообщений: 886
Сказал спасибо: 119
Сказали Спасибо 1,110 раз(а) в 177 сообщении(ях)
alexgap на пути к лучшему
По умолчанию Re: Нужна помощь в реализации фильтра Калмана

Сообщение от Nikopol Посмотреть сообщение
Есть сигнал от датчика ускорения
То, ускорение чего он замеряет, управляется вашим же аппаратом?
__________________
.

В мире всего два типа людей: те у кого был ZX Spectrum, и те у кого его не было.
alexgap вне форума  
 

Закладки
Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужна помощь ORION tv8201 offo Видеотехника 43 30.04.2010 08:12
Нужна помощь с картой SD в режим SD! (не SPI) backa Микроконтроллеры, АЦП, память и т.д 2 23.04.2010 15:28
Нужна помощь по схемотехнике (устройство - нечто вроде электронного ключа) aknyazhev Электроника - это просто 10 31.03.2010 19:10
AVR Studio и AT89S51 - нужна помощь roobeeaz Микроконтроллеры, АЦП, память и т.д 5 13.03.2010 18:34
Mega16 нужна помощь Alex_Megavolt_79 Микроконтроллеры, АЦП, память и т.д 12 02.03.2010 03:03


Часовой пояс GMT +4, время: 15:19.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot