|
Как внести иннерционность в измерение? |
|
|
|
 |
Ответов
|
Dec 2 2008, 21:17
|

Гуру
     
Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987

|
Цитата(hwdev @ Dec 2 2008, 22:11)  ...Дайте, пожалуйста, ссылку на теорию с примерами или сюда напишите готовый код. Спасибо! Простейшая адаптивная система: *X_n) , где  - выходные отсчёты;  - входные отсчёты (измерения);  - константа адаптации.
--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
|
|
|
|
|
Dec 4 2008, 07:11
|

Профессионал
    
Группа: Участник
Сообщений: 1 091
Регистрация: 25-07-07
Из: Саратов
Пользователь №: 29 357

|
Цитата(Stanislav @ Dec 3 2008, 00:17)  Простейшая адаптивная система: *X_n) , где  - выходные отсчёты;  - входные отсчёты (измерения);  - константа адаптации. А почему >0.5? Можно и меньше, нужно лишь, чтобы этот коэффициент был больше нуля. В программе эта формула кодируется так: y += (xn - y)*alpha; правда, в этом случае альфа приобретает иной смысл - чем она меньше, тем сильнее сглаживание, при 1 сглаживание полностью отсутствует. Можно даже вычслить этот коэффициент, если известна требуемая постоянная времени ) , где  - период следования входных отсчётов;  - требуемая постоянная фильтра в секундах. Эта формула реализует цифровой аналог RC-цепочки с постоянной времени  ,
Сообщение отредактировал 777777 - Dec 4 2008, 07:37
|
|
|
|
|
Dec 4 2008, 07:42
|

Гуру
     
Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987

|
Цитата(777777 @ Dec 4 2008, 10:11)  А почему >0.5? Можно и меньше, нужно лишь, чтобы этот коэффициент был больше нуля. Чтобы было хоть какое-нить сглаживание. Можно и меньше, но это не имеет смысла. Вообще, обычно выбирают в районе 0,9 и больше. Цитата(777777 @ Dec 4 2008, 10:11)  ...В программе эта формула кодируется так:
y += (xn - y)*alpha;
правда, в этом случае альфа приобретает иной смысл - чем она меньше, тем сильнее сглаживание, при 1 сглаживание полностью отсутствует. Ну да, то же самое. Кстати, забыл написать. Инициализировать адаптивную систему можно так:  , т.е., выбрать в качестве начального приближения первый же входной отсчёт, а потом уже усреднять. Иначе долго ждать придётся.
--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
|
|
|
|
|
Dec 4 2008, 15:40
|
Местный
  
Группа: Свой
Сообщений: 334
Регистрация: 1-09-06
Из: Москва
Пользователь №: 20 008

|
Цитата(Stanislav @ Dec 4 2008, 10:42)  Чтобы было хоть какое-нить сглаживание. Можно и меньше, но это не имеет смысла. Вообще, обычно выбирают в районе 0,9 и больше. Ну да, то же самое. Кстати, забыл написать. Инициализировать адаптивную систему можно так:  , т.е., выбрать в качестве начального приближения первый же входной отсчёт, а потом уже усреднять. Иначе долго ждать придётся.  Спасибо! Буду применять. А как этот алгоритм переделать в целые числа? Алгоритм всё таки на контроллере будет крутиться, не пентиум
|
|
|
|
Сообщений в этой теме
hwdev Как внести иннерционность в измерение? Dec 2 2008, 19:11 Deka Про готовый код не скажу, но применяется такое нап... Dec 2 2008, 21:06 hwdev Цитата(Deka @ Dec 3 2008, 00:06) Про гото... Dec 3 2008, 06:36     Stanislav Цитата(rezident @ Dec 4 2008, 19:04) Если... Dec 4 2008, 17:05 rezident В зависимости от наличия имеющихся ресурсов (ОЗУ) ... Dec 2 2008, 21:26 Dog Pawlowa Цитата(hwdev @ Dec 2 2008, 23:11) или сюд... Dec 3 2008, 10:17 drovik А что такое К в данном примере ? Или это какой-то ... Dec 3 2008, 11:19
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|