Алгоритм сглаживания шумов АЦП микроконтроллера.

Обсуждаем контроллеры компании Atmel.
Ответить
Это не хвост, это антенна
Сообщения: 1495
Зарегистрирован: Ср июн 25, 2008 15:19:44

Сообщение Demiurg »

Если я не ошибаюсь, ТС, возможно, персонаж, мелькавший под ником alex_ka. Тот товарищ не совсем в теме. Финансы. Электроника хобби, не более того. Ключевое слово "умные". Как тот товарищ сам признался, очень уж любит покомпостировать мозги участникам форума.
Я к чему. Неважно, клон или с похожим отношением к участникам форума. Отныне придется десять раз подумать
Отвечать на вопросы или нет...
Контактная информация:
Реклама
Мучитель микросхем
Сообщения: 437
Зарегистрирован: Пн май 27, 2019 07:18:28
Откуда: ВВХ-ск

Сообщение mont-oriol »

Такая реализация экспоненциального фильтра тоже имеет подводные камни. Например, если сначала resultADC было 5, затем стало 3.
outputResult в этом случае устаканивается на 4.
https://ideone.com/FkALck
Реклама
Модератор
Аватара пользователя
Сообщения: 19103
Зарегистрирован: Сб авг 14, 2010 15:05:51
Откуда: г. Озерск, Челябинская обл.

Сообщение Starichok51 »

mont-oriol, а кто тебе сказал, что вывод на экран будет сделан ровно через две итерации?
КРАМ, я проанализировал и простимулировал экспоненциальный фильтр по твоей формуле.
и сейчас реализовал в одном своем изделии такой фильтр именно с коэффициентом 0,0625 (1/16).
сделано на ассемблере в целых числах, без типа флот.
до этого у меня там было среднее из суммы 256 измерений.
а симуляция с 0,0625 показала, что установившийся результат с максимальным числом 1023 получается через 140 итераций. и чем меньше число, тем быстрее результат устаканивается.
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Мучитель микросхем
Сообщения: 437
Зарегистрирован: Пн май 27, 2019 07:18:28
Откуда: ВВХ-ск

Сообщение mont-oriol »

Какие две итерации? В моём примере по ссылке их по 50.
Реклама
Эиком - электронные компоненты и радиодетали
Друг Кота
Аватара пользователя
Сообщения: 26038
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

[uquote="mont-oriol",url="/forum/viewtopic.php?p=4369698#p4369698"]Такая реализация экспоненциального фильтра тоже имеет подводные камни. Например, если сначала resultADC было 5, затем стало 3.
outputResult в этом случае устаканивается на 4.[/uquote]
Это результат округления.
Можно уменьшить смещение округления.
Реклама
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2314
Зарегистрирован: Вт янв 26, 2021 22:33:21

Сообщение Alex_641 »

КРАМ писал(а):Вы не в состоянии написать простейший код по несложной формуле?
Написать код не проблема. Я не нашёл "несложных формул".

Добавлено after 2 minutes 23 seconds:
Demiurg писал(а):Если я не ошибаюсь
Ошибаешься. Я не менял ник с момента регистрации.
Не спрашивай по ком звонит колокол, он звонит по тебе !
Реклама
Модератор
Аватара пользователя
Сообщения: 19103
Зарегистрирован: Сб авг 14, 2010 15:05:51
Откуда: г. Озерск, Челябинская обл.

Сообщение Starichok51 »

mont-oriol писал(а):Какие две итерации?
вот эти две:
mont-oriol писал(а):Например, если сначала resultADC было 5, затем стало 3.
outputResult в этом случае устаканивается на 4.
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Друг Кота
Аватара пользователя
Сообщения: 26038
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

[uquote="Alex_641",url="/forum/viewtopic.php?p=4369759#p4369759"]Написать код не проблема. Я не нашёл "несложных формул".[/uquote]
Я привел код. Что сложного в формуле?
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2314
Зарегистрирован: Вт янв 26, 2021 22:33:21

Сообщение Alex_641 »

uint16_t S_IIR; // хотя бы как это понять?
uint16 это типа что ? Типа unsigned int 16... А что тогда ...._t ?
У меня CAVR не понимает таких садомазо.
Не спрашивай по ком звонит колокол, он звонит по тебе !
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2314
Зарегистрирован: Вт янв 26, 2021 22:33:21

Сообщение Alex_641 »

Нашёл в инете -"Может хранить любое значение из диапазона от 0 до 255 unsigned short - Представляет беззнаковое целое число. Занимает в памяти 2 байта (16 бит)" - это как ? беззнаковое целое число 0-255, и занимает 2 байта ... А второй байт - 255 оттенков беззнакового ?
Не спрашивай по ком звонит колокол, он звонит по тебе !
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2314
Зарегистрирован: Вт янв 26, 2021 22:33:21

Сообщение Alex_641 »

Наверное надо. Но когда память МК ограничена 512-8К , и два байта на одну unsigned char ... попробую воспринять.
Не спрашивай по ком звонит колокол, он звонит по тебе !
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2314
Зарегистрирован: Вт янв 26, 2021 22:33:21

Сообщение Alex_641 »

А в PIC10F200 256 флеша и 16 СРАМа. )))
Не спрашивай по ком звонит колокол, он звонит по тебе !
Модератор
Аватара пользователя
Сообщения: 19103
Зарегистрирован: Сб авг 14, 2010 15:05:51
Откуда: г. Озерск, Челябинская обл.

Сообщение Starichok51 »

не знать типы данных - это точно СРАМ.
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2314
Зарегистрирован: Вт янв 26, 2021 22:33:21

Сообщение Alex_641 »

Типы данных в разных средах программирования могут различаться . Например в CAVR, INT - это была единственная 16 битная , а в CCS ( для микрочипов) она определяется следующим числом INT8 или INT16 .
Старичёк ?
Не спрашивай по ком звонит колокол, он звонит по тебе !
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2314
Зарегистрирован: Вт янв 26, 2021 22:33:21

Сообщение Alex_641 »

Короче была такая история ! Писал проги всякие для авр-ов , ивсё было нормально . Потом решил сделать вольтметер на микрочипе ... Я не понимал почему он не работает. Я 3 дня бился головой об стену !!! А потом понял , что для мирочипов нужно указать инт8 или ин16.

Добавлено after 7 minutes 31 second:
И если не указываешь в CCS то имеется ввиду INT8.

Добавлено after 4 minutes 42 seconds:
Вот что вы меня хотите развести по типам переменных ?
Не спрашивай по ком звонит колокол, он звонит по тебе !
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2314
Зарегистрирован: Вт янв 26, 2021 22:33:21

Сообщение Alex_641 »

Возможно многие из вас тогда ходили под себя ( ввиду малого возраста ) , когда я писал проги на ассемблере для зх-спектрума .
Не спрашивай по ком звонит колокол, он звонит по тебе !
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2314
Зарегистрирован: Вт янв 26, 2021 22:33:21

Сообщение Alex_641 »

Сейчас разрабатываю плату измерений и управления, исчё напишу ! Можно ?
Не спрашивай по ком звонит колокол, он звонит по тебе !
Модератор
Аватара пользователя
Сообщения: 19103
Зарегистрирован: Сб авг 14, 2010 15:05:51
Откуда: г. Озерск, Челябинская обл.

Сообщение Starichok51 »

Alex_641 писал(а):я писал проги на ассемблере для зх-спектрума
судя по твоим постам на форуме, за 30 (возможно с гаком) лет ты мало чему научился.
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2314
Зарегистрирован: Вт янв 26, 2021 22:33:21

Сообщение Alex_641 »

Ничему не научился , и всё забыл !
Не спрашивай по ком звонит колокол, он звонит по тебе !
Ответить

Вернуться в «AVR»