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

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

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

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

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

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

Электроника - это просто Теоретические и практические вопросы для начинающих электронщиков.

 
Опции темы
Непрочитано 18.07.2018, 16:57  
optical illusion
Прописка
 
Регистрация: 17.08.2013
Сообщений: 287
Сказал спасибо: 10
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
optical illusion на пути к лучшему
По умолчанию Re: Подскажите где глянуть кусок кода на Си.

Фи́льтр Ка́лмана — эффективный рекурсивный фильтр, оценивающий вектор состояния динамической системы, используя ряд неполных и зашумленных измерений. Назван в честь Рудольфа Калмана.
Фильтр Калмана широко используется в инженерных и эконометрических приложениях: от радаров и систем технического зрения до оценок параметров макроэкономических моделей[1][2]. Калмановская фильтрация является важной частью теории управления, играет большую роль в создании систем управления. Совместно с линейно-квадратичным регулятором фильтр Калмана позволяет решить задачу линейно-квадратичного гауссовского управления. Фильтр Калмана и линейно-квадратичный регулятор — возможное решение большинства фундаментальных задач в теории управления.
В большинстве приложений размерность вектора состояния объекта превосходит размерность вектора данных наблюдения. И при этом фильтр Калмана позволяет оценивать полное внутреннее состояние объекта.


Наверное крутая штука, обязательно попробую разобраться.
Реклама:
optical illusion вне форума  
Непрочитано 18.07.2018, 18:57  
optical illusion
Прописка
 
Регистрация: 17.08.2013
Сообщений: 287
Сказал спасибо: 10
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
optical illusion на пути к лучшему
По умолчанию Re: Подскажите где глянуть кусок кода на Си.

Взял отсюда
http://www-users.cs.york.ac.uk/~fish...-bin/mkfscript
этот код:


/* Digital filter designed by mkfilter/mkshape/gencode A.J. Fisher
Command line: /www/usr/fisher/helpers/mkfilter -Bu -Lp -o 3 -a 1.0000000000e-01 0.0000000000e+00 -l */

#define NZEROS 3
#define NPOLES 3
#define GAIN 5.525187588e+01

static float xv[NZEROS+1], yv[NPOLES+1];

static void filterloop()
{ for (;
{ xv[0] = xv[1]; xv[1] = xv[2]; xv[2] = xv[3];
xv[3] = next input value / GAIN;
yv[0] = yv[1]; yv[1] = yv[2]; yv[2] = yv[3];
yv[3] = (xv[0] + xv[3]) + 3 * (xv[1] + xv[2])
+ ( 0.2780599176 * yv[0]) + ( -1.1828932620 * yv[1])
+ ( 1.7600418803 * yv[2]);
next output value = yv[3];
}
}

Вставил его в цикл непрерывного измерения АЦП.
Дает постоянное смещение. Например на вход АЦП реально подаю 1.000022 В.
На дисплее показывает 1.000726 В.
Это потому что ничего не откалибровано.
Разброс показаний при этом плюс минус 15 мкВ. ( Шумит)
Это с накоплением 32 разряда (т.е. вычисление среднеарифм. по 32 реализ.)

А после подключения фильтра индикатор стал показывать 1.094313 В.
Разброс около 3-5 мкв.
Фильтр работает. Но вносит сдвиг в показаниях существенный - не знаю получится это скомпенсировать или нет?

Последний раз редактировалось optical illusion; 18.07.2018 в 19:18.
optical illusion вне форума  
Непрочитано 18.07.2018, 20:00  
mike-y-k
Модератор
 
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,246
Сказал спасибо: 11,165
Сказали Спасибо 3,854 раз(а) в 2,925 сообщении(ях)
mike-y-k на пути к лучшему
По умолчанию Re: Подскажите где глянуть кусок кода на Си.

Итого имеем попытку последовательность отсчетов ADC избавить от некоторой суммы погрешностей? А попробовать на втором ADC измерять на длинной дорожке на некотором сопротивлении из той же партии напряжение Vref, аналогично напряжение питания, короткозамкнутую дорожку, висящую в воздухе или через сопротивление дорожку,…
По совокупности отсчетов вводить коррекцию, а потом уже фильтрами с откорректированным входным сигналом разбираться.
Пока нет никакого понимания о вкладе разных участников во входной цепи в наблюдаемое поведение.
Для этого желательно таки с исходным сигналом до фильтрации разобраться…
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
mike-y-k вне форума  
Непрочитано 18.07.2018, 20:29  
optical illusion
Прописка
 
Регистрация: 17.08.2013
Сообщений: 287
Сказал спасибо: 10
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
optical illusion на пути к лучшему
По умолчанию Re: Подскажите где глянуть кусок кода на Си.

Сообщение от mike-y-k Посмотреть сообщение
Для этого желательно таки с исходным сигналом до фильтрации разобраться…
На входе АЦП сигнал хороший. Вольтметр с отключенными фильтрами показывает флюктуации 1-2 мкВ.
Vref тоже шумит вряд ли больше этого.
После измерений, уже когда сигнал оцифрован - там появляется разброс основной.
В самом чипе до АЦП еще стоит цифровой фильтр для подавления наводки сети - 50\60 Гц. Он тоже сигнал фильтрует.
НО, паспортные данные АЦП не лучше 200 мкВ заявлены, для 1 В входного напряжения. Так то 15 мкВ - это норм.
По всякому получается, что бы уменьшить шум, это только фильтровать цифровую последовательность на выходе.
optical illusion вне форума  
Непрочитано 18.07.2018, 21:08  
mike-y-k
Модератор
 
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,246
Сказал спасибо: 11,165
Сказали Спасибо 3,854 раз(а) в 2,925 сообщении(ях)
mike-y-k на пути к лучшему
По умолчанию Re: Подскажите где глянуть кусок кода на Си.

Таки может изначально долбится корректных отсчетов на ADC, решить вопрос с получением поправок для коррекции показаний от внешних факторов,…
А потом уже заниматься фильтрацией…
Сейчас пока идёт попытка из чего-то неопределенного получить истинное значение.
Даже чисто математически это не даст требуемого результата.
Сейчас в отсчетах есть сумма из трёх величин - реального значения, ошибки измерения и помехи. Из-за неопределенности первых двух результат фильтрации и выдаёт что-то непонятное на выходе. Если величина ошибки ещё и плавает, то неопределенность результата только растёт…
И в самом алгоритме неплохо бы увеличить глубину выборки для обработки…
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
mike-y-k вне форума  
Непрочитано 19.07.2018, 09:24  
optical illusion
Прописка
 
Регистрация: 17.08.2013
Сообщений: 287
Сказал спасибо: 10
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
optical illusion на пути к лучшему
По умолчанию Re: Подскажите где глянуть кусок кода на Си.

Сообщение от mike-y-k Посмотреть сообщение
А потом уже заниматься фильтрацией…
А какие внешние факторы? Только шум. АЦП тоже шумит, кстати, там же проц шлепает, коммутатор переключает, дельта-сигма заряжает конденсатор и т.д.
Уменьшать шум в железе - это на два порядка сложнее чем в программах.
Вон я тут скачал кусок кода с интернета, вставил и оно работает. Даже это бы решило проблему, если бы не масштабирование сигнала. Поэтому нужен вейвлет, что бы узреть - будет ли масштабирование в результате фильтрации или нет. Если его не будет, то большего и не нужно в моем случае. Это бы решило проблему...
optical illusion вне форума  
Непрочитано 19.07.2018, 10:19  
mike-y-k
Модератор
 
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,246
Сказал спасибо: 11,165
Сказали Спасибо 3,854 раз(а) в 2,925 сообщении(ях)
mike-y-k на пути к лучшему
По умолчанию Re: Подскажите где глянуть кусок кода на Си.

optical illusion, в данном случае железо и есть внешний фактор к программе…
Для начала разобраться с шумами самого преобразования на замкнутом входе, использовать дополнительный канал для получения адекватной информации о шумах, артефактах,…
И потом уже фильтровать откорректированное значение.

PS Можно ещё тут посмотреть на код
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
mike-y-k вне форума  
Непрочитано 19.07.2018, 11:24  
optical illusion
Прописка
 
Регистрация: 17.08.2013
Сообщений: 287
Сказал спасибо: 10
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
optical illusion на пути к лучшему
По умолчанию Re: Подскажите где глянуть кусок кода на Си.

Хороший ресурс по фильтрам попался.
http://www.iowahills.com/A7ExampleCodePage.html

Последний раз редактировалось optical illusion; 19.07.2018 в 14:30.
optical illusion вне форума  
Сказали "Спасибо" optical illusion
mike-y-k (19.07.2018)
Непрочитано 19.07.2018, 16:14  
mike-y-k
Модератор
 
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,246
Сказал спасибо: 11,165
Сказали Спасибо 3,854 раз(а) в 2,925 сообщении(ях)
mike-y-k на пути к лучшему
По умолчанию Re: Подскажите где глянуть кусок кода на Си.

optical illusion, известный ресурс, но несколько не wavelets…
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
mike-y-k вне форума  
Непрочитано 19.07.2018, 18:37  
optical illusion
Прописка
 
Регистрация: 17.08.2013
Сообщений: 287
Сказал спасибо: 10
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
optical illusion на пути к лучшему
По умолчанию Re: Подскажите где глянуть кусок кода на Си.

Сообщение от mike-y-k Посмотреть сообщение
Для начала разобраться с шумами самого преобразования на замкнутом входе,
Замыкание входа это, как говорится, "по определению" сделано. Когда замкнут вход АЦП, на выходе пару десятков микровольт (стабильно) - шуметь нечему.

Напряжение 1 В взято путем деления Vref. И оно измеряется внешним качественным вольтметром.
Этот сигнал тоже не шумит (раз в 5 секунд на 1 мкВ меняется туда-сюда). Его подаю на вход АЦП.
optical illusion вне форума  
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
CodeVisionAVR кто выкладывал кусок быстрого умножения ? selevo Proteus, KiCAD и другие ECAD 0 22.06.2013 17:39
Подскажите по TMR0 В Pic16 Kopyl PIC 6 14.01.2013 12:50
Подскажите как работает участок схемы Сашааа Электроника - это просто 101 23.05.2012 18:25
pic16f684 проблема с портами подскажите где туплю? ctefan Микроконтроллеры, АЦП, память и т.д 11 18.02.2008 15:17
Подскажите по ПРОТЕУСУ Gladkih Proteus 3 14.02.2007 21:51


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


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