замечательно)) с шумами разобрались... Дальше вопрос: на сколько хорошо вы себе представляете принцип работы АЦП в Atmega 88...
[uquote="ozonn",url="/forum/viewtopic.php?p=3160283#p3160283"]Если у вас к примеру, измеряемое напряжение представляется однобайтовым числом, в котором шумит, т.е. непредсказыемо меняется младший разряд, то выполнив операцию "и" измеренного значения с маской 0b11111110, вы получите число, которое не будет меняться хаотично.[/uquote]
получим число, которое будет меняться хаотично на один разряд... и никакие маски вам не помогут))
[uquote="roman.com",url="/forum/viewtopic.php?p=3161150#p3161150"]замечательно)) с шумами разобрались... Дальше вопрос: на сколько хорошо вы себе представляете принцип работы АЦП в Atmega 88...
[uquote="ozonn",url="/forum/viewtopic.php?p=3160283#p3160283"]Если у вас к примеру, измеряемое напряжение представляется однобайтовым числом, в котором шумит, т.е. непредсказыемо меняется младший разряд, то выполнив операцию "и" измеренного значения с маской 0b11111110, вы получите число, которое не будет меняться хаотично.[/uquote]
получим число, которое будет меняться хаотично на один разряд... и никакие маски вам не помогут))[/uquote]
вы хорошо поняли, о чем я писал? Представьте себе, к примеру, три числа:
a = 0b10110100
b = 0b10110101
с = 0b10110111
эти числа не равны друг другу. Но если мы сделаем с ними следующую операцию:
а = а & 0b11111100
b = b & 0b11111100
c = c & 0b11111100
то получим три равных друг другу числа:
a = b = c = 0b10110100
то есть мы отфильровали шум. Потеряли точность, но шум отфильтровали.
Прочитайте это внимательно, по складам, два-три раза. Если все же не поймете, то продавайте все оборудование и прекращайте заниматься контроллерами и вообще программированием, это не ваш удел
Прошу прощения за вкрашуюся ошибку. Исправил, посыпал голову пеплом
Последний раз редактировалось ozonn Пн авг 14, 2017 10:11:58, всего редактировалось 1 раз.
а если взять другие соседние числа? например
a = 0b10110110
b = 0b10110111
с = 0b10111000
маска не помогает...
методов фильтрации много и гистерезис, и различные усреднения, и отсеивание явных выбросов - каждый метод для своего случая.
Добавлено after 2 minutes 28 seconds:
ну, и при маскировании инверсию, наверно, протерял...
Для тех, кто не учил магию мир полон физики
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
[uquote="Ivanoff-iv",url="/forum/viewtopic.php?p=3162080#p3162080"]а если взять другие соседние числа? например
a = 0b10110110
b = 0b10110111
с = 0b10111000
маска не помогает...[/uquote]
помогает:
а = а & 0b11110000
b = b & 0b11110000
c = c & 0b11110000
в результате:
a = b = c = 0b10110000
[uquote="Ivanoff-iv",url="/forum/viewtopic.php?p=3162080#p3162080"]методов фильтрации много и гистерезис, и различные усреднения, и отсеивание явных выбросов - каждый метод для своего случая.[/uquote]
совершенно верно
в данной меге есть ограничение: последний бит можно только 10 раз обрезать
Для тех, кто не учил магию мир полон физики
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
[uquote="Ivanoff-iv",url="/forum/viewtopic.php?p=3162102#p3162102"]в данной меге есть ограничение: последний бит можно только 10 раз обрезать [/uquote]
это вам в синагоге сказали?