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

Обсуждаем контроллеры компании Atmel.
Ответить
Друг Кота
Аватара пользователя
Сообщения: 26038
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

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

[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]
Вы занялись изобретением деревянного велосипеда в алгоритме сортировки вместо обычной линейной фильтрации с правильными параметрами и оценки результата на предмет импульсных помех. По моему, вы про свою цель уже не вспоминаете. :)
Реклама
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2314
Зарегистрирован: Вт янв 26, 2021 22:33:21

Сообщение Alex_641 »

КРАМ писал(а):Вы занялись изобретением деревянного велосипеда в алгоритме сортировки вместо обычной линейной фильтрации
Я хочу сделать пока действующую модель, прототип ! И потом по возможности её улучшить .
Не спрашивай по ком звонит колокол, он звонит по тебе !
Реклама
Друг Кота
Аватара пользователя
Сообщения: 26038
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

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

[uquote="Alex_641",url="/forum/viewtopic.php?p=4367036#p4367036"]Не могу понять в чём .[/uquote]
Так вы по шагам проверили? :roll:
У вас 20 элементов и вы делаете 20 шагов:
1-2
2-3
3-4
4-5
5-6
6-7
....
19-20
Только у меня выходит 19 шагов?
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2314
Зарегистрирован: Вт янв 26, 2021 22:33:21

Сообщение Alex_641 »

Я не про то что доробатываю алгоритмы сортировки, я про то что делаю. А это всё остальное - попутно.

Добавлено after 1 minute 33 seconds:
КРАМ писал(а):Только у меня выходит 19 шагов?
это один проход , а их ещё будет 19 ! 19 *19 = ?
Не спрашивай по ком звонит колокол, он звонит по тебе !
Реклама
Эиком - электронные компоненты и радиодетали
Друг Кота
Аватара пользователя
Сообщения: 26038
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

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

[uquote="Alex_641",url="/forum/viewtopic.php?p=4367070#p4367070"]это один проход[/uquote]
Вы меня не поняли. Вы превышаете длину массива. Индекс внутри цикла принимает значение на 1 больше текущего.
У вас счетчик индекса в for задан от 0 до 19 - это ДВАДЦАТЬ циклов.
Реклама
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2314
Зарегистрирован: Вт янв 26, 2021 22:33:21

Сообщение Alex_641 »

Ну да, это связано с тем что 1-й элемент массива имеет номер =0

Добавлено after 1 minute 37 seconds:
Но когда сравниваешь , или меняешь местами - то срвниваний или меняний местами то всего 19. или нет ?
Не спрашивай по ком звонит колокол, он звонит по тебе !
Реклама
Друг Кота
Аватара пользователя
Сообщения: 26038
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

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

[uquote="Alex_641",url="/forum/viewtopic.php?p=4367078#p4367078"]Ну да, это связано с тем что 1-й элемент массива имеет номер =0[/uquote]
И что? Не важно какой номер. У вас элементов в массиве 20. И проходов 20. В последнем проходе вы переставляете ЧУЖОЕ ЗНАЧЕНИЕ.
Отгадайте чье?
:)))
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2314
Зарегистрирован: Вт янв 26, 2021 22:33:21

Сообщение 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 !
Не спрашивай по ком звонит колокол, он звонит по тебе !
Друг Кота
Аватара пользователя
Сообщения: 26038
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

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

[uquote="Alex_641",url="/forum/viewtopic.php?p=4367089#p4367089"]но проходов 19 ![/uquote]
Даладна... :))) :))) :)))

Код: Выделить всё

for (i=0;i<20;i++)   // цикл
От 0 до 19 - это сколько будет?
1 класс средней школы...
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2314
Зарегистрирован: Вт янв 26, 2021 22:33:21

Сообщение Alex_641 »

20 . или нет ?

Добавлено after 8 minutes 16 seconds:
как бы в средней школе если 0 мандаринок или бананов - то считается что их нет. А в адресации массива в программировании , это считается адрес=1 .
Не спрашивай по ком звонит колокол, он звонит по тебе !
Друг Кота
Аватара пользователя
Сообщения: 26038
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

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

[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]
С какого перепуга? Адрес в массиве - это индекс. Вы его задали начальным значением равным НУЛЮ. Правильно задали. Нулевой адрес массива - это указатель на массив.
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2314
Зарегистрирован: Вт янв 26, 2021 22:33:21

Сообщение Alex_641 »

Нет же.
Не спрашивай по ком звонит колокол, он звонит по тебе !
Друг Кота
Аватара пользователя
Сообщения: 26038
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

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

[uquote="Alex_641",url="/forum/viewtopic.php?p=4367127#p4367127"]Нет[/uquote]
Это не ваш день. Точно. Идите спать, а завтра откроете любой учебник по Си и прочитаете про нумерацию элементов в массиве.
Керниган вместе со своим неразлучным Ритчи вещают нам:
Изображение
Последний раз редактировалось КРАМ Вс фев 05, 2023 21:25:38, всего редактировалось 1 раз.
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2314
Зарегистрирован: Вт янв 26, 2021 22:33:21

Сообщение Alex_641 »

КРАМ писал(а):i+1 вы получите перестановку 21-го элемента
for (i=0;i<20;i++) // цикл
максимальное i может быть только 19, а если +1 то 20 .
Не спрашивай по ком звонит колокол, он звонит по тебе !
Друг Кота
Аватара пользователя
Сообщения: 26038
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

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

[uquote="Alex_641",url="/forum/viewtopic.php?p=4367134#p4367134"]если +1 то 20 .[/uquote]
Правильно, но счет в массиве С НУЛЯ. Скрин я вам выше привел.
Боюсь это принципиальная ваша уязвимость... :facepalm:
Последний раз редактировалось КРАМ Вс фев 05, 2023 21:28:14, всего редактировалось 1 раз.
Мудрый кот
Сообщения: 1763
Зарегистрирован: Вт янв 05, 2016 10:14:25
Откуда: поселок Мелеуз

Сообщение Novice user »

Alex_641, for (i=0;i<20;i++) mass=read_adc(9); //счтываем 20 значений ацп помещаем в массив mass
какой индекс i у первого элемента массива и у последнего?
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2314
Зарегистрирован: Вт янв 26, 2021 22:33:21

Сообщение Alex_641 »

Ну так то да .... надо подумать ...
Не спрашивай по ком звонит колокол, он звонит по тебе !
Друг Кота
Аватара пользователя
Сообщения: 26038
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

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

[uquote="Alex_641",url="/forum/viewtopic.php?p=4367141#p4367141"]надо подумать ...[/uquote]
Я вам скрин из отцов-основателей Си привел. Этого мало? :)))
Вы с легкостью дорабатываете традиционный алгоритм пузырька и не сомневаетесь в себе. А с нумерацией массива у вас очевидные проблемы... оксюморон кокойты...
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2314
Зарегистрирован: Вт янв 26, 2021 22:33:21

Сообщение Alex_641 »

Всмысле прога постоянно сканирует из несуществущего элемента массива 19+1 , меняет местами и ставит флаг что всё хорошо ?

Добавлено after 31 second:
поэтому и висит ?
Не спрашивай по ком звонит колокол, он звонит по тебе !
Друг Кота
Аватара пользователя
Сообщения: 26038
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

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

[uquote="Alex_641",url="/forum/viewtopic.php?p=4367151#p4367151"]Всмысле прога постоянно сканирует[/uquote]
Осталось посмотреть порядок объявления переменных и понять что там по соседству с потерпевшим массивом находится... :)))
Ответить

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