реклама на сайте
подробности

 
 
4 страниц V  < 1 2 3 4 >  
Reply to this topicStart new topic
> STM32F4: цифровой фильтр АЦП
Golikov A.
сообщение Dec 29 2014, 12:07
Сообщение #16


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



Цитата
а чем такой способ отличается от медианного фильтра (в 2х словах, если не сложно) ?

можно ровно в 2 словахsm.gif
"Ни чем"
sm.gif))

это стандартный медианый целочисленный фильтр

Цитата
Если предположение подтвердится, то можно приподнять сигнал на входе АЦП ещё одним резистором (к Vref, например), чтобы сигнал на входе АЦП никогда не опускался ниже 0 даже в присутствии шумов. Ну а потом эту поправку от резистора учесть в расчётах, естественно.

все бы вам резисторы паять...

надо программно откалибровать и все... Проверьте на среднем значении. Если оно после усреднения будет ровное, то вам действительно надо просто учитывать что вблизи нуля отрицательный сигнал отваливается... и ввести еще одну коррекцию, как на спидометрах машин, загнуть хвост)
Go to the top of the page
 
+Quote Post
ViKo
сообщение Dec 29 2014, 12:32
Сообщение #17


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(Golikov A. @ Dec 29 2014, 15:07) *
можно ровно в 2 словахsm.gif
"Ни чем"
sm.gif))
это стандартный медианый целочисленный фильтр

Отнюдь. Медианный фильтр просто отбрасывает, не использует значения, значительно отличающиеся от остальных. Он хорош для избавления от неправильных измерений при импульсных помехах.
Go to the top of the page
 
+Quote Post
adnega
сообщение Dec 29 2014, 12:48
Сообщение #18


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата
Сейчас задача - улучших характеристики АЦП уже эксплуатируемых устройств (т.е. программно)

Увеличивать время семплирования до максимума.

А можно посмотреть напряжение на ножке АЦП? Осциллограмму в студию! По картинке сразу будет виден и уровень шумов, и характер...
Обсуждение сейчас - пальцем в небо.
Go to the top of the page
 
+Quote Post
scifi
сообщение Dec 29 2014, 12:56
Сообщение #19


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(adnega @ Dec 29 2014, 15:48) *
Обсуждение сейчас - пальцем в небо.

Ну так топикстартер на вопросы не любит отвечать. Ему, видимо, с бубном плясать приятнее laughing.gif
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Dec 29 2014, 14:22
Сообщение #20


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



Цитата
Отнюдь. Медианный фильтр просто отбрасывает, не использует значения, значительно отличающиеся от остальных. Он хорош для избавления от неправильных измерений при импульсных помехах.


А блин! Точно. Термины уже попутал.
Это обычный экспоненциальный фильтр.

Медиана, классическая, берет 4 значения, максимум - минимум отбрасывает, 2 оставшихся усредняет. Это фильтр который создан отсекать случайные выбросы.


Go to the top of the page
 
+Quote Post
k000858
сообщение Dec 30 2014, 05:47
Сообщение #21


Местный
***

Группа: Участник
Сообщений: 319
Регистрация: 31-01-12
Пользователь №: 69 978



1) Vref 3.3В
2) Вход АЦП (после резистивного делителя и ёмкости, прямо возле ножки МК) без подключенного напряжения

Шумит все, что можно: напряжение питания, опорное напряжение, вход АЦП. А вероятнее всего шумят земли. Понятное дело плату будут разводить, повторюсь, моя задача - улучшить показатели АЦП программно, насколько это возможно

SamplingTime = ADC_SAMPLETIME_480CYCLES;
АЦП конвертит беспрерывно и под DMA складывает результаты в память, а я из пати, когда мне надо забираю цифры (примерно раз в секунду)

Сообщение отредактировал IgorKossak - Jan 14 2015, 18:27
Причина редактирования: удалил "тяжёлые" картинки
Go to the top of the page
 
+Quote Post
VAI
сообщение Dec 30 2014, 06:04
Сообщение #22


Профессионал
*****

Группа: Модераторы
Сообщений: 1 120
Регистрация: 17-06-04
Пользователь №: 37



Вот здесь рассматривалось много разных медиан.


--------------------
Если зайца бить, его можно и спички научить зажигать
Сколько дурака не бей - умнее не будет. Зато опытнее
Go to the top of the page
 
+Quote Post
scifi
сообщение Dec 30 2014, 06:48
Сообщение #23


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(k000858 @ Dec 30 2014, 08:47) *
2) Вход АЦП (после резистивного делителя и ёмкости, прямо возле ножки МК) без подключенного напряжения

Имя, сестра, имя! Номиналы резисторов!?
Go to the top of the page
 
+Quote Post
adnega
сообщение Dec 30 2014, 07:03
Сообщение #24


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(k000858 @ Dec 30 2014, 09:47) *
Шумит все, что можно: напряжение питания, опорное напряжение, вход АЦП.

Дык, 10мВ амплитуда. Где же ужасные "0.1 - 0.3В"?
Go to the top of the page
 
+Quote Post
k000858
сообщение Dec 30 2014, 07:33
Сообщение #25


Местный
***

Группа: Участник
Сообщений: 319
Регистрация: 31-01-12
Пользователь №: 69 978



Цитата(scifi @ Dec 30 2014, 09:48) *
Имя, сестра, имя! Номиналы резисторов!?

69.8K и 3.3К

Цитата(scifi @ Dec 30 2014, 09:48) *
Имя, сестра, имя! Номиналы резисторов!?

вот пример нескольких замеров АЦП (при разрешении 4095)

Код
1: 4
2: 5
3: 0
4: 14
5: 1
6: 0
7: 0
8: 0
9: 4
10: 1


Код
1: 0
2: 0
3: 4
4: 0
5: 13
6: 3
7: 4
8: 2
9: 10
10: 6


вот отсуда и получаются эти 0 - 0.3В
Go to the top of the page
 
+Quote Post
adnega
сообщение Dec 30 2014, 07:49
Сообщение #26


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



max = 14

14 * 3300 мВ / 4096 = 11 мВ = 0.011В

А вы как считаете?
Go to the top of the page
 
+Quote Post
k000858
сообщение Dec 30 2014, 07:57
Сообщение #27


Местный
***

Группа: Участник
Сообщений: 319
Регистрация: 31-01-12
Пользователь №: 69 978



Цитата(adnega @ Dec 30 2014, 10:49) *
max = 14

14 * 3300 мВ / 4096 = 11 мВ = 0.011В

А вы как считаете?

* (R1 + R2)/R2 = 0.25В

R1 R2 резистивный делитель

Цитата(VAI @ Dec 30 2014, 09:04) *
Вот здесь рассматривалось много разных медиан.

применил способ Xenia
31 точка. в результате показания 0.02-0.07В при подключенных 0В
может стоит изменить количество точек?
Go to the top of the page
 
+Quote Post
VAI
сообщение Jan 13 2015, 12:32
Сообщение #28


Профессионал
*****

Группа: Модераторы
Сообщений: 1 120
Регистрация: 17-06-04
Пользователь №: 37



Цитата
может стоит изменить количество точек?

Медианный фильтр не пропускает выбросы длительностью меньше половины ширины фильтра. Т.е. если у Вас 31 точка, то шумовые выбросы длительностью меньше или равно времени 15 отсчетов не пройдут через фильтр. Думайте сами.
И после резестивного делителя повторитель поствьте.


--------------------
Если зайца бить, его можно и спички научить зажигать
Сколько дурака не бей - умнее не будет. Зато опытнее
Go to the top of the page
 
+Quote Post
KnightIgor
сообщение Jan 13 2015, 12:47
Сообщение #29


Знающий
****

Группа: Участник
Сообщений: 643
Регистрация: 29-05-09
Из: Германия
Пользователь №: 49 725



Цитата(VAI @ Jan 13 2015, 14:32) *
И после резестивного делителя повторитель поствьте.

Это лишнее: входное сопротивление ADC (ножки в режиме AIN) - огого, потому 70K погоды не делают.

Сообщение отредактировал KnightIgor - Jan 13 2015, 12:48
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Jan 13 2015, 13:59
Сообщение #30


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(KnightIgor @ Jan 13 2015, 14:47) *
Это лишнее: входное сопротивление ADC (ножки в режиме AIN) - огого, потому 70K погоды не делают.
При бесконечном времени выборки. А при конечном надо успеть за время выборки через выходное сопротивление этого делителя зарядить/разрядить конденсатор УВХ до входного напряжения плюс-минус половина напряжения младшего разряда АЦП. Емкость конденсатора УВХ - 4 пФ, проходное сопротивление ключа УВХ - 6 кОм, входное сопротивление входа АЦП - не менее 50 кОм (а совсем не огого).

Прикрепленное изображение


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post

4 страниц V  < 1 2 3 4 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd June 2025 - 16:08
Рейтинг@Mail.ru


Страница сгенерированна за 0.01509 секунд с 7
ELECTRONIX ©2004-2016