Страница 5 из 8

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]
Так вы по шагам проверили? :roll:
У вас 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]
Даладна... :))) :))) :)))

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

for (i=0;i<20;i++)   // цикл
От 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]
Правильно, но счет в массиве С НУЛЯ. Скрин я вам выше привел.
Боюсь это принципиальная ваша уязвимость... :facepalm:

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

Добавлено: Вс фев 05, 2023 21:27:33
Novice user
Alex_641, for (i=0;i<20;i++) mass=read_adc(9); //счтываем 20 значений ацп помещаем в массив mass
какой индекс i у первого элемента массива и у последнего?

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

Добавлено: Вс фев 05, 2023 21:30:21
Alex_641
Ну так то да .... надо подумать ...

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

Добавлено: Вс фев 05, 2023 21:31:46
КРАМ
[uquote="Alex_641",url="/forum/viewtopic.php?p=4367141#p4367141"]надо подумать ...[/uquote]
Я вам скрин из отцов-основателей Си привел. Этого мало? :)))
Вы с легкостью дорабатываете традиционный алгоритм пузырька и не сомневаетесь в себе. А с нумерацией массива у вас очевидные проблемы... оксюморон кокойты...

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

Добавлено: Вс фев 05, 2023 21:39:09
Alex_641
Всмысле прога постоянно сканирует из несуществущего элемента массива 19+1 , меняет местами и ставит флаг что всё хорошо ?

Добавлено after 31 second:
поэтому и висит ?

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

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