|
Фильтр для выделения прямоугольных импульсов |
|
|
|
 |
Ответов
|
May 14 2012, 09:26
|

pontificator
     
Группа: Свой
Сообщений: 3 055
Регистрация: 8-02-05
Из: страны Оз
Пользователь №: 2 483

|
Цитата(mempfis_ @ May 14 2012, 17:54)  Входные импульсы ограниченные амплитудой 3В через диод подаются на параллельную RC-цепочку 100k 0,1uF. RC-цепочка одним входом подключена напрямую к ножке процессора (LPC17) а вторым на землю. То есть, у вас пиковый детектор на входе стоит. С постоянной времени разряда 100к*100n=10 мс и задним фронтом 2.2*R*C = 22мс. При этом время заряда конденсатора неизвестно, оно определяется выходным сопротивлением источника сигнала. Непонятно, почему вы используете пиковый детектор, а не обычный RC фильтр. Я бы вместо диода поставил резистор 33к, а резистор на землю увеличил бы до 1М. Цитата(mempfis_ @ May 14 2012, 17:54)  При установке аппарата на транспортное средство появляется значительный пересчёт. Надо полагать, помехи. А пиковый детектор редкие помехи не фильтрует, он их регистрирует.  Цитата(mempfis_ @ May 14 2012, 17:54)  Импульсы считаются программно - идёт выборка состояния пина раз в 2 мС, выполняется медианная фильтрация настроенная на фиксацию импульсов от 10 мС (т.е. буффер на 9 отсчётов). Если 9 отсчетов по 2мс, это 18мс получается, а не 10. Медианный фильтр - лишняя сущность. Используйте простой "антидребезговый" алгоритм: берите отсчеты раз в миллисекунду и вдвигайте их в однобайтный сдвиговый регистр; если в сдвиговом регистре все восемь бит равны 0 - устанавливайте выходную переменную в ноль, если все восемь бит равны 1 - устанавливайте ее в единицу.
|
|
|
|
|
May 14 2012, 10:05
|

Профессионал
    
Группа: Свой
Сообщений: 1 001
Регистрация: 27-06-06
Пользователь №: 18 409

|
Цитата(=AK= @ May 14 2012, 12:26)  То есть, у вас пиковый детектор на входе стоит. С постоянной времени разряда 100к*100n=10 мс и задним фронтом 2.2*R*C = 22мс. Надо полагать, помехи. А пиковый детектор редкие помехи не фильтрует, он их регистрирует.  Если 9 отсчетов по 2мс, это 18мс получается, а не 10. Схему составлял не я - возможно это есть пиковый детектор реагирующий на помехи. Я только программирую плату. Вот схема. Резистор сверху 4к7 подключён к +3В, снизу 100к. Конденсатор 0,1uF. диодная сборка BTA54. Значёк сапрессора не нашёл - заменил на закарлючку. Эта схема позволяет подавать на вход до 12В. Реагирует на подачу 0. Медианный фильтр просимулирован и работает корректно - сохраняет в буффер на место самого старого отсчёта новый, сортирует по возрастанию и возвращает 9/2=4 й элемент буффера - поэтому 5*2 = 10мС. Если ничего нельзя поменять в схеме то если я увеличу период фильтра до 20-30 мС возможно ли улучшение работы?
|
|
|
|
|
May 14 2012, 11:09
|

pontificator
     
Группа: Свой
Сообщений: 3 055
Регистрация: 8-02-05
Из: страны Оз
Пользователь №: 2 483

|
Цитата(mempfis_ @ May 14 2012, 19:35)  Вот схема. Резистор сверху 4к7 подключён к +3В, снизу 100к. Конденсатор 0,1uF. диодная сборка BTA54. Значёк сапрессора не нашёл - заменил на закарлючку. Слава богу, есть резистор 4.7к, значит, короткая помеха все-таки будет отфильтрована. Хотя фильтр все-таки нелинейный. Интересно, куда на плате подключен земляной вывод супрессора. Если разводка земли некачественная, то из-за супрессора по земле могут бегать серьезные помехи. Цитата(mempfis_ @ May 14 2012, 19:35)  Медианный фильтр просимулирован и работает корректно - сохраняет в буффер на место самого старого отсчёта новый, сортирует по возрастанию и возвращает 9/2=4 й элемент буффера - поэтому 5*2 = 10мС. Вы опять говорите о медианном фильтре. Вы что, сигнал при помощи АЦП получаете, что ли? Вы, наверное, в книгу рекордов Гиннеса хотели попасть?
|
|
|
|
|
May 14 2012, 15:43
|

Профессионал
    
Группа: Свой
Сообщений: 1 001
Регистрация: 27-06-06
Пользователь №: 18 409

|
Цитата(=AK= @ May 14 2012, 14:09)  Интересно, куда на плате подключен земляной вывод супрессора. Если разводка земли некачественная, то из-за супрессора по земле могут бегать серьезные помехи.
Вы опять говорите о медианном фильтре. Вы что, сигнал при помощи АЦП получаете, что ли? Вы, наверное, в книгу рекордов Гиннеса хотели попасть? Про разводку платы и её качество ничего сказать не могу. Думаю что разведено нормально - схемотехник опытный. Как влияет сапрессор на вход тоже ничего сказать не могу. Моё мнение что проблема в параметрах входного фильтра - кажется завышена тау RC-цепочки и слишком затянут задний фронт. По поводу медианной фильтрации. Сигнал получаю опросом входа - т.е. 0 или 1. В программе используется процедура медианной фильтрации показаний АЦП. Применил её для фильтрации цифровых входов. Поначалу думал просто фиксировать состояния пинов в массив и если весь массив конкретного пина == 1 то вход в 1, и наоборот - если весь массив == 0 то вход в 0. Но тогда пришлось бы запоминать какое текущее состояние пина чтобы знать что мы ожидаем - заполнение нулями или еденицей. С медианным фильтром всё проще. Сохраняю текущее значение всех пинов в массив на место самого старого. Обнуляю переменную текущего состояния пинов, сколько пинов столько раз выполняю сортировку массива по возрастанию для каждого пина (массив копируется в промежуточный буффер с наложенной маской пина на каждый элемент, потом сортируется и возвращается средний элемент промежуточного буффера который содержит отфильтрованное состояние пина). Делаю OR переменной текущего состояния пинов с результатом фильтрации. И всё. Комуто покажется что громоздко - на самом деле очень просто и удобно. А главное эффективно фильтрует позволяя избавиться от дребезга (переходов 0-1 1-0 в пределах нескольких отсчётов) + легко расширяемо до 32х входов. Увеличил период до 20 мС. Ввёл некоторый контроль длительности как самого импульса так и его HIGH-части. Жаль нет возможности уменьшить конденсатор т.к. платы далеко. Посмотрим на результаты испытаний.... Всем спасибо за ответы.
|
|
|
|
Сообщений в этой теме
mempfis_ Фильтр для выделения прямоугольных импульсов May 14 2012, 08:24 mihalevski Цитата(mempfis_ @ May 14 2012, 15:24) Все... May 14 2012, 08:42 mempfis_ Цитата(mihalevski @ May 14 2012, 11:42) О... May 14 2012, 09:01  kovigor Цитата(mempfis_ @ May 14 2012, 12:01) ...... May 14 2012, 09:36   demiurg_spb Цитата(=AK= @ May 14 2012, 14:09) Вы опят... May 14 2012, 11:38    Ruslan1 Цитата(mempfis_ @ May 14 2012, 18:43) Про... May 14 2012, 16:48    =AK= Цитата(mempfis_ @ May 15 2012, 01:13) Моё... May 14 2012, 22:20     zombi Цитата(=AK= @ May 15 2012, 01:20) задачу ... May 15 2012, 10:02 ReAl Жуть.
Зачем сортировать данніе, состоящие (после н... May 14 2012, 16:47 ReAl Вот такое:
отбегало на нескольких сотнях такси бо... May 14 2012, 17:27 ReAl p.s. Немного врет схема — это что дома нашлось. Вс... May 14 2012, 19:07
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|