Страница 4 из 8
Re: Алгоритм сглаживания шумов АЦП микроконтроллера.
Добавлено: Вс фев 05, 2023 19:18:55
MLX90640
КАЛМАН - ФПОМОЩЬ! Изучите матчасть. Если не вкурсе - почитайте, просвятитесь.
Я его использовал тыщщу раз, в том числе и сам писал реализацию. Учите матчасть!
Re: Алгоритм сглаживания шумов АЦП микроконтроллера.
Добавлено: Вс фев 05, 2023 19:24:48
КРАМ
[uquote="MLX90640",url="/forum/viewtopic.php?p=4367002#p4367002"]Я его использовал тыщщу раз[/uquote]
Очевидно, что нет.
Основой фильтра Калмана является частичная детерминированность сигнала. То есть для постоянного сигнала он фактически не имеет смысла и сводится к обычному экспоненциальному фильтру.
Re: Алгоритм сглаживания шумов АЦП микроконтроллера.
Добавлено: Вс фев 05, 2023 20:11:58
Alex_641
КРАМ писал(а):Но в любом случае программа ошибочна.
Не могу понять в чём . Этот метод пузырька я подсмотрел в инете. Классический код подразумевает два цикла FOR, но в таком случае возможно очень много бесполезных проходов . И я его немножко подкоррекировал , заменив первый цикл фор на вчиле , добавив флаг завершения. Я бы назвал этот метод " сортировка методом пузырька на 0,5" !!! А почему не работает , не могу понять.
Добавлено after 12 minutes:
Кстати сегодня ещё придумал способ сортировки массива, сканируем находим минимальное, и максимальное - меняем местами их с первым и последним, и снова сканируем но уже на два адреса меньше ( первого и последнего) и так сужается круг . Похоже что я не первый это придумал.
Re: Алгоритм сглаживания шумов АЦП микроконтроллера.
Добавлено: Вс фев 05, 2023 20:16:25
КРАМ
[uquote="Alex_641",url="/forum/viewtopic.php?p=4367036#p4367036"]в таком случае возможно очень много бесполезных проходов[/uquote]
А в случае с флагом вы делаете один лишний...
Добавлено after 2 minutes 17 seconds:
[uquote="Alex_641",url="/forum/viewtopic.php?p=4367036#p4367036"]сканируем находим минимальное, и максимальное[/uquote]
Только мне кажется, что вы сменили задачу?

Re: Алгоритм сглаживания шумов АЦП микроконтроллера.
Добавлено: Вс фев 05, 2023 20:17:55
Alex_641
Да , только один ! ( метод пузырька на 0,5 )
Добавлено after 46 seconds:
А что не так то ?
Re: Алгоритм сглаживания шумов АЦП микроконтроллера.
Добавлено: Вс фев 05, 2023 20:21:34
КРАМ
[uquote="Alex_641",url="/forum/viewtopic.php?p=4367052#p4367052"]метод пузырька на 0,5[/uquote]
В подавляющем количестве случаев выталкивание происходит во всех циклах, исключая случайное упорядочивание на входе, что при обсуждаемых помехах вообще не может быть.
Добавлено after 2 minutes 14 seconds:
[uquote="Alex_641",url="/forum/viewtopic.php?p=4367052#p4367052"]А что...?[/uquote]
Вы занялись изобретением деревянного велосипеда в алгоритме сортировки вместо обычной линейной фильтрации с правильными параметрами и оценки результата на предмет импульсных помех. По моему, вы про свою цель уже не вспоминаете.

Re: Алгоритм сглаживания шумов АЦП микроконтроллера.
Добавлено: Вс фев 05, 2023 20:26:19
Alex_641
КРАМ писал(а):Вы занялись изобретением деревянного велосипеда в алгоритме сортировки вместо обычной линейной фильтрации
Я хочу сделать пока действующую модель, прототип ! И потом по возможности её улучшить .
Re: Алгоритм сглаживания шумов АЦП микроконтроллера.
Добавлено: Вс фев 05, 2023 20:26:42
КРАМ
[uquote="Alex_641",url="/forum/viewtopic.php?p=4367036#p4367036"]Не могу понять в чём .[/uquote]
Так вы по шагам проверили?
У вас 20 элементов и вы делаете 20 шагов:
1-2
2-3
3-4
4-5
5-6
6-7
....
19-20
Только у меня выходит 19 шагов?
Re: Алгоритм сглаживания шумов АЦП микроконтроллера.
Добавлено: Вс фев 05, 2023 20:29:23
Alex_641
Я не про то что доробатываю алгоритмы сортировки, я про то что делаю. А это всё остальное - попутно.
Добавлено after 1 minute 33 seconds:
КРАМ писал(а):Только у меня выходит 19 шагов?
это один проход , а их ещё будет 19 ! 19 *19 = ?
Re: Алгоритм сглаживания шумов АЦП микроконтроллера.
Добавлено: Вс фев 05, 2023 20:31:45
КРАМ
[uquote="Alex_641",url="/forum/viewtopic.php?p=4367070#p4367070"]это один проход[/uquote]
Вы меня не поняли. Вы превышаете длину массива. Индекс внутри цикла принимает значение на 1 больше текущего.
У вас счетчик индекса в for задан от 0 до 19 - это ДВАДЦАТЬ циклов.
Re: Алгоритм сглаживания шумов АЦП микроконтроллера.
Добавлено: Вс фев 05, 2023 20:36:34
Alex_641
Ну да, это связано с тем что 1-й элемент массива имеет номер =0
Добавлено after 1 minute 37 seconds:
Но когда сравниваешь , или меняешь местами - то срвниваний или меняний местами то всего 19. или нет ?
Re: Алгоритм сглаживания шумов АЦП микроконтроллера.
Добавлено: Вс фев 05, 2023 20:39:05
КРАМ
[uquote="Alex_641",url="/forum/viewtopic.php?p=4367078#p4367078"]Ну да, это связано с тем что 1-й элемент массива имеет номер =0[/uquote]
И что? Не важно какой номер. У вас элементов в массиве 20. И проходов 20. В последнем проходе вы переставляете ЧУЖОЕ ЗНАЧЕНИЕ.
Отгадайте чье?

Re: Алгоритм сглаживания шумов АЦП микроконтроллера.
Добавлено: Вс фев 05, 2023 20:59:44
Alex_641
А если допустим что есть последовательность -1-0-2-3-4-5-6-7-8-9-10-11-12-13-14-15-16-17-18-19-20. Классический пузырёк пройдёт её за 19*19=361 цикл . А Пузырёк 0,5 за 19+19 =38 !
Добавлено after 1 minute 35 seconds:
это не минусы это тире
Добавлено after 13 minutes 36 seconds:
КРАМ писал(а):У вас элементов в массиве 20. И проходов 20.
Да элементов 20, но проходов 19 !
Re: Алгоритм сглаживания шумов АЦП микроконтроллера.
Добавлено: Вс фев 05, 2023 21:05:16
КРАМ
[uquote="Alex_641",url="/forum/viewtopic.php?p=4367089#p4367089"]но проходов 19 ![/uquote]
Даладна...
От 0 до 19 - это сколько будет?
1 класс средней школы...
Re: Алгоритм сглаживания шумов АЦП микроконтроллера.
Добавлено: Вс фев 05, 2023 21:16:00
Alex_641
20 . или нет ?
Добавлено after 8 minutes 16 seconds:
как бы в средней школе если 0 мандаринок или бананов - то считается что их нет. А в адресации массива в программировании , это считается адрес=1 .
Re: Алгоритм сглаживания шумов АЦП микроконтроллера.
Добавлено: Вс фев 05, 2023 21:18:45
КРАМ
[uquote="Alex_641",url="/forum/viewtopic.php?p=4367115#p4367115"]20?[/uquote]
Правильно. То есть в последнем цикле, где принимает участие индекс i+1 вы получите перестановку 21-го элемента. Классическая ошибка адреса.
Добавлено after 2 minutes 12 seconds:
[uquote="Alex_641",url="/forum/viewtopic.php?p=4367115#p4367115"]А в адресации массива в программировании , это считается адрес=1 .[/uquote]
С какого перепуга? Адрес в массиве - это индекс. Вы его задали начальным значением равным НУЛЮ. Правильно задали. Нулевой адрес массива - это указатель на массив.
Re: Алгоритм сглаживания шумов АЦП микроконтроллера.
Добавлено: Вс фев 05, 2023 21:19:19
Alex_641
Нет же.
Re: Алгоритм сглаживания шумов АЦП микроконтроллера.
Добавлено: Вс фев 05, 2023 21:21:45
КРАМ
[uquote="Alex_641",url="/forum/viewtopic.php?p=4367127#p4367127"]Нет[/uquote]
Это не ваш день. Точно. Идите спать, а завтра откроете любой учебник по Си и прочитаете про нумерацию элементов в массиве.
Керниган вместе со своим неразлучным Ритчи вещают нам:

Re: Алгоритм сглаживания шумов АЦП микроконтроллера.
Добавлено: Вс фев 05, 2023 21:22:57
Alex_641
КРАМ писал(а):i+1 вы получите перестановку 21-го элемента
for (i=0;i<20;i++) // цикл
максимальное i может быть только 19, а если +1 то 20 .
Re: Алгоритм сглаживания шумов АЦП микроконтроллера.
Добавлено: Вс фев 05, 2023 21:26:44
КРАМ
[uquote="Alex_641",url="/forum/viewtopic.php?p=4367134#p4367134"]если +1 то 20 .[/uquote]
Правильно, но счет в массиве С НУЛЯ. Скрин я вам выше привел.
Боюсь это принципиальная ваша уязвимость...
