Jump to content

    
Sign in to follow this  
spooki

Фильтрация в многоканальной мультиплексной системе.

Recommended Posts

Эта фраза мне не понятна.

Возможно она не корректна с моей стороны.

 

Я подумал вы предлагаете. забить на эти 100 точек (не учитывать аномальные всплески длиной 100 точек - не обращать на них внимание).

Я плохо выразил мысль в тексте, но на приведённой мной выше картинке то, что я имел в виду.

 

В своей медианной фильтрации я как раз вырезаю импульсные помехи.

Насколько я понимаю амплитуда помехи не имеет значения для подобной фильтрации пока не перегружает АЦП и прочую входную часть по уровню. Важна лишь её длительность и количество таких помех в одном измерении.

 

У вас 100 точек из 10000 могут иметь помеху уровнем 6В которую надо обработать фильтром.

Т.е. надо получить (1*9900+1.1*100)/10000=1.001 В

Значит ваш фильтр должен ваши 6В урезать до 1В с точностью 10%. Вам это не удаётся?

 

Share this post


Link to post
Share on other sites
У вас 100 точек из 10000 могут иметь помеху уровнем 6В которую надо обработать фильтром.

Т.е. надо получить (1*9900+1.1*100)/10000=1.001 В

Значит ваш фильтр должен ваши 6В урезать до 1В с точностью 10%. Вам это не удаётся?

 

Возможно опять нарвемся на непонимание.

Если вы говорите про подавление импульсной помехи входным аналоговым фильтром до нужного значения то вот результат.

 

Рис. 1 Схема

 

Рис. 2 Сигнал на входе АЦП без аналогового RC фильтра.

 

Рис. 3 Синал на входе АЦП с аналоговым фильтром все на те же 280 Гц.

 

Из рис.3 видно, что ничего хорошего с таким сигналом уже не выйдет. Без RC фильтра (рис.2) вырезать проблем нет

post-56524-1333709110_thumb.png

post-56524-1333709124_thumb.png

post-56524-1333709189_thumb.png

Edited by spooki

Share this post


Link to post
Share on other sites
Таким образом, медианная фильтрация осуществляет замену значений отсчетов в центре апертуры медианным значением исходных отсчетов внутри апертуры фильтра.

 

??? Ну и зачем это все? Захватить фрейм. В отдельном массиве отсортировать по-возрастанию. Старшие отбросить. На их место вставить интерполяции по соседним. Вот такой порядковый фильтр применяется против "промахов"(из метрологии).

 

В своей медианной фильтрации я как раз вырезаю импульсные помехи.

Нет. Размазываете. Промах влияет на медиану.

 

P.S.: spooki с чего Вы взяли, что RC-цепочка это хороший фильтр?

P.P.S.: ...и прекратите все моделировать, это убивает физическое понимание на корню.

Share this post


Link to post
Share on other sites
??? Ну и зачем это все? Захватить фрейм. В отдельном массиве отсортировать по-возрастанию. Старшие отбросить. На их место вставить интерполяции по соседним. Вот такой порядковый фильтр применяется против "промахов"(из метрологии).

 

Допустимая частота появления 10мкс-ой помехи 250 мкс.

 

 

Мой алгоритм получения постоянной составляющей в первом фильтре таков. (без лишних тонкостей, цифры могут отличаться)

 

делим 250 мкс на 8 отсчетов (это 8 усредненных отсчетов в своих 31.25 us окнах) и кладем в медианный фильтр

 

2 верхних и 2 нижних отбрасываем 4 средних усредняем и на выход.

 

Проводим операцию 4 раза и получаем 4 отсчета за 1 мс - их усредняем - все.

 

 

Есть более простой и быстрый способ поления постаянной состовляющей сигнала налету?

У меня 8 элементный медианный фильтр пашет налету(упорядочивается параллельно без дополнительного времени на сортировку по возрастанию).

Вы сделаете медианный фильтр на 10 000 отсчетов без сортировки после сбора данных? Сомневаюсь.

 

 

P.S.: spooki с чего Вы взяли, что RC-цепочка это хороший фильтр?

 

А я говорю что хороший? Она там стоит для примера - смотрим как влияет фильтр с определенной постоянной времени на импульсный скачок.

 

 

 

 

И вообще, все это не так важно - разница между Вашим и моим алгоритмом - крохи.

 

Меня больше интрересует подавление переодических помех.

Edited by spooki

Share this post


Link to post
Share on other sites
А я говорю что хороший. Она там стоит для примера - смотрим как влияет фильтр с определенной постоянной времени на импульсный скачок.

...так этА... идеальный фильтр != идеальный интегратор.

 

Меня больше интрересует подавление переодических помех.

Вот и я говорю. Тут можно фильтровать в общем потоке. Нейквисту это не противоречит.

 

Кстати, тут пугали Калманом недавно... :rolleyes: АПшибки, Гинерция, мноХа каналаФФ... самАе Ано...

Share this post


Link to post
Share on other sites
Вот и я говорю. Тут можно фильтровать в общем потоке. Нейквисту это не противоречит.

 

Дык я так и делаю получаю в определенном окне отсчеты(32.5 мкс - 1 мс) далее их на второй НЧ фильтр сплошной ( в общем потоке) .

Поверьте, что отдельный отсчеты фильтровать в общем потоке, что их группировать (усреднять) по группам -сильно не влияет для данной реализации.

 

 

Кстати, тут пугали Калманом недавно... АПшибки, Гинерция, мноХа каналаФФ... самАе Ано..

 

Встречал такой. Врать не буду не разбирался. Но по реализации тяжелый.

Если его делать сквозным(т.е. не в 1 цикле опроса каналов, а больше) не знаю влезет ли у меня такой на 128 каналов в 1 ПЛИС.

Определенныйе блоки расчета, конечно можно использовать одни и те же(если скорость позводит).

Но у меня по хранению хотя бы 100 байт по каждому сигналу (20-30 отсчетов + 10-20 коэффициентов фильтра) уже проблемы - внутренней памяти не хватат. За внешнюю чую за одно место меня повесят.

 

Но на досуге надо посмотреть конечно.

Edited by spooki

Share this post


Link to post
Share on other sites
Но на досуге надо посмотреть конечно.

 

Хабр не читаете? :biggrin: Кто-то видимо писал по нему диплом. И накатал такую статью, что не понял под конец сам... Потом пошла целая серия "введений"...

Share this post


Link to post
Share on other sites

1. Скажите, а какой спектр у измеряемой величины без помех? Как быстро меняется напряжение на этом терморезисторе если на него подать ток постоянно?

2. Как реализован аналоговый мультиплексор на 128 входов?

3. Известно откуда помеха 10 кгц?

Share this post


Link to post
Share on other sites
1. Скажите, а какой спектр у измеряемой величины без помех? Как быстро меняется напряжение на этом терморезисторе если на него подать ток постоянно?

 

 

Система должна быть универсальна. Спектр полезного сигнала конкретного канала от 0 до 200Гц, скорость нарастания может быть любой. В зависимости от этого пользователь сам будет настраивать фильтры по каждому каналу.

 

Поэтому требования к системе очень широкие: фильтрация помех в диапазоне от 0.05 Гц - 70 МГц. Типо если им надо будет, наше система должна это уметь.

 

2. Как реализован аналоговый мультиплексор на 128 входов?

 

М.б. ответ туфтологический, но реализован с помощью 32 (канал + и -) 8-ми канальных аналоговых мультиплексоров.

 

3. Известно откуда помеха 10 кгц?

 

Нет. На самом деле 128 каналов это только 1 модуль. Всего в системе будет порядка 700 датчиков (аналоговые датчики с выходом- напряжение + параметрические) не считая цифровых. Все стоят в разных местах на разных узлах. Меряют освещенность, температуру, напряжение, ток и прочее прочее.

Короче система должна быть универсальна. Так что нет таких понятий что откуда берется.

 

 

Share this post


Link to post
Share on other sites
Система должна быть универсальна. Спектр полезного сигнала конкретного канала от 0 до 200Гц, скорость нарастания может быть любой. В зависимости от этого пользователь сам будет настраивать фильтры по каждому каналу.

 

Поэтому требования к системе очень широкие: фильтрация помех в диапазоне от 0.05 Гц - 70 МГц. Типо если им надо будет, наше система должна это уметь.

 

 

 

М.б. ответ туфтологический, но реализован с помощью 32 (канал + и -) 8-ми канальных аналоговых мультиплексоров.

 

 

 

Нет. На самом деле 128 каналов это только 1 модуль. Всего в системе будет порядка 700 датчиков (аналоговые датчики с выходом- напряжение + параметрические) не считая цифровых. Все стоят в разных местах на разных узлах. Меряют освещенность, температуру, напряжение, ток и прочее прочее.

Короче система должна быть универсальна. Так что нет таких понятий что откуда берется.

 

Если я правильно понял, то полоса сигнала от датчика - 200 герц, тогда Вам надо удвоить количество аналоговых ключей, включить 2 ключа последовательно, а в точке их соединения конденсатор на землю. И так для каждого канала. Соответственно, постоянная времени системы сопротивление ключа - выходное сопротивление датчика - конденсатор должна быть 5 миллисекунд.

 

..................................SW1......................... SW2

In o________________/ _________________/ __________________o ADC

...................................................|

...................................................|

...................................................|

.................................................___

.................................................___ C

...................................................|

...................................................|

...................................................|

.................................................___

...................................................-

.................................................GND

 

Соответственно, получите антиалиасинговый фильтр, который "помнит" состояние канала в промежутках между измерениями. Идею можно совершенствовать, например, добавить цепь компенсации тока утечки, или увеличивать порядок фильтра - вместо одного конденсатора поставить 2 с резистором...

Edited by Pavel_SSS

Share this post


Link to post
Share on other sites

Pavel_SSS

 

Если я правильно понял, то полоса сигнала от датчика - 200 герц, тогда Вам надо удвоить количество аналоговых ключей, включить 2 ключа последовательно, а в точке их соединения конденсатор на землю. И так для каждого канала. Соответственно, постоянная времени системы сопротивление ключа - выходное сопротивление датчика - конденсатор должна быть 5 миллисекунд.

 

Этот вопрос затрагивался на 1 странице темы. (аналог устройства выборки зранения)

Читайте мои ответы - Сообщение № 7 и 11.

 

В кратце. Этот фильтр также работает с частотой дискретизации подключения его к каналу (SW1 на вашей схеме). И также пропускает диапазон частот.

В целом иметь аналоговый фильтр для подавления НЧ, который подключается на то же самое оно что и АЦП - смысла не имеет(если только давить помехи от частоты дискретизации АЦП). С помехами в окне опроса одного датчика я и так справлюсь.

 

Пример подключения аналогового фильтра во время опроса канала на вложенном рисунке(1В - полезный постоянный сигнал , синус ампл. 1 В - помеха, прямоугольники - окна опроса)

 

И так для каждого канала. Соответственно, постоянная времени системы сопротивление ключа - выходное сопротивление датчика - конденсатор должна быть 5 миллисекунд.

 

См. мое сообщение № 17. Импульсную помеху смажем донельзя и вся точность измерения в 0.1% в урну.

post-56524-1333951977_thumb.png

Edited by spooki

Share this post


Link to post
Share on other sites
Pavel_SSS

 

 

 

Этот вопрос затрагивался на 1 странице темы. (аналог устройства выборки зранения)

Читайте мои ответы - Сообщение № 7 и 11.

 

В кратце. Этот фильтр также работает с частотой дискретизации подключения его к каналу (SW1 на вашей схеме). И также пропускает диапазон частот.

В целом иметь аналоговый фильтр для подавления НЧ, который подключается на то же самое оно что и АЦП - смысла не имеет(если только давить помехи от частоты дискретизации АЦП). С помехами в окне опроса одного датчика я и так справлюсь.

 

Пример подключения аналогового фильтра во время опроса канала на вложенном рисунке(1В - полезный постоянный сигнал , синус ампл. 1 В - помеха, прямоугольники - окна опроса)

 

 

 

См. мое сообщение № 17. Импульсную помеху смажем донельзя и вся точность измерения в 0.1% в урну.

Этот фильтр не работает с частотой дискретизации, а работает как фильтр с постоянной времени RC, которая может быть и больше частоты дискретизации.

Вообще, попытки создать систему сбора данных без какого-либо аналогового фильтра обречены на провал, как и попытки поставить аналоговый фильтр после мультиплексора (если постоянные составляющие входных сигналов не равны). Этот фильтр предназначен не для подавления НЧ, а для подавления ВЧ - обрезания полосы до рабочей полосы частот датчика. Кстати, Вы зря полагаете, что измеряя сигнал в течении 1 миллисекунды с частотой 128 миллисекунд, вы получаете истинное значение величины. Вы всего лишь получаете дискретную последовательность с периодом 128 миллисекунд сигнала, который не отфильтрован должным образом для выполнения условий теоремы Котельникова, т.е. эта последовательность не отражает в полной мере входной сигнал. Вдруг у Вас моменты измерения попадают на импульсную помеху, и Вы измеряете не сигнал, а помеху. Тот факт, что Вы измеряете сигнал 10000 раз ничего не меняет, это логичнее трактовать как увеличение эффективного количества бит на примерно 12 бит.

 

т.е. если Вы хотите оцифровать какой-либо сигнал, то сначала отфильтруйте его так, чтобы убрать составляющие спектра за пределами половины частоты дискретизации. А частота дискретизации у Вас равна не частоте, на которой работает АЦП, а частоте, с которой опрашиваются датчики.

Edited by Pavel_SSS

Share this post


Link to post
Share on other sites

Pavel_SSS

 

Все что Вы говорите правильно. Это все мне известно.

Я не просто так создал тему. Вы как будто через строку читаете мои ответы.

Я уже раз 5 писал в этой теме причины, почему мы не можем поставить аналоговый НЧ фильтр ниже, скажем, 100кГц.

 

В 1 сообщении темы читайте со слов:

 

Обычно в таких системах ставят отдельный аналоговый НЧ фильтр на каждый канал который давит помехи до частоты дискретизации 2-го фильтра, но тут это не прокатит:

 

Мы не только опрашиваем датчики раз в 128 мс, мы через него пропускаем ток опроса раз в 128 мс. Следовательно,

 

1) если аналоговый фильтр мы от него не отрубаем то на фильтре будут прямоугольные(в идеале) импульсы напряжения с частотой повторения 1/128 мс.

 

Что при этом будет выдавать фильтр показано здесь:

http://electronix.ru/forum/index.php?act=a...st&id=67283

 

(сверху импульс опроса тока, снизу напряжение на фильтре)

 

ФИЛЬТР С ПОСТОЯННОЙ ВРЕМЕНИ 5МС НЕ УСТАКАНИТСЯ ЗА 1 МС!!!!

 

2) если отключать фильтр от канала при прекращении подачи тока через датчик то получается что фильтр мы подключаем к каналу раз в 128 мс. При этом постоянная времени нпикуда не девается но уже меньше влияет.

 

НО ПОДКЛЮЧАЯ АНАЛОГОВЫЙ ФИЛЬТР С ПОСТОЯННОЙ ВРЕМЕНИ 5 МС К КАНАЛУ РАЗ В 128 МС ВЫ НЕ ПОЛУЧИТЕ ФИЛЬТРАЦИЮ ВЫШЕ 1/128 МС. Эта ситуация описана на вложенном рисунке

Пожалуйста, помеха частотой 24 Гц(Частота может быть и другая кратная 24 например 24 кГц - картина таже самая) на фоне постоянного сигнала 1 В. Че вы получите на аналоговом фильтре подключая его каждые 128 мс - правильно 2 В. Ну и че мы намерили, че отфильтровали. Хотя частота помехи мб намного выше частоты среза фильтра 200Гц в данном случае!

 

 

 

 

Вдруг у Вас моменты измерения попадают на импульсную помеху, и Вы измеряете не сигнал, а помеху.

 

Ну по ТЗ импульсная помеха не может превышать 10 мкс и я ее прекрасно отбрасываю за 1 мс, так что она тут не причеми а вот нарваться на пик переодической помехи - безусловно.

 

 

 

Вообще, попытки создать систему сбора данных без какого-либо аналогового фильтра обречены на провал, как и попытки поставить аналоговый фильтр после мультиплексора (если постоянные составляющие входных сигналов не равны)

 

т.е. если Вы хотите оцифровать какой-либо сигнал, то сначала отфильтруйте его так, чтобы убрать составляющие спектра за пределами половины частоты дискретизации. А частота дискретизации у Вас равна не частоте, на которой работает АЦП, а частоте, с которой опрашиваются датчики.

 

Ваши предложения, как это сделать при описанных НЕОДНОКРАТНО мною проблемах постановки этого фильтра?

post-56524-1334047232_thumb.png

Share this post


Link to post
Share on other sites
Pavel_SSS

 

Все что Вы говорите правильно. Это все мне известно.

 

1) если аналоговый фильтр мы от него не отрубаем то на фильтре будут прямоугольные(в идеале) импульсы напряжения с частотой повторения 1/128 мс.

 

Что при этом будет выдавать фильтр показано здесь:

http://electronix.ru/forum/index.php?act=a...st&id=67283

 

ФИЛЬТР С ПОСТОЯННОЙ ВРЕМЕНИ 5МС НЕ УСТАКАНИТСЯ ЗА 1 МС!!!!

 

2) если отключать фильтр от канала при прекращении подачи тока через датчик то получается что фильтр мы подключаем к каналу раз в 128 мс. При этом постоянная времени нпикуда не девается но уже меньше влияет.

 

 

Ваши предложения, как это сделать при описанных НЕОДНОКРАТНО мною проблемах постановки этого фильтра?

А почему не хотите сделать каждому каналу свой источник тока на ОУ?

 

Share this post


Link to post
Share on other sites
А почему не хотите сделать каждому каналу свой источник тока на ОУ?

 

Сами так хотим. Но:

 

Жесткие ограничения на габариты. Итак еле в блок влезаем.

 

Жесткие ограничения на мощность. Жрет генератор тока 2мА на 1800 Ом около 15 мВт, если на 128 каналов уже 2 Вт. У нас весь 128 - канальный модуль должен жрать не более 5 Вт в импульсе(при старте). Постоянное потребление вообще желательно меньше 3 Вт.

 

В ТЗ есть ограничения на пропускание тока через параметрический датчик не более 2 мс за 128 мс. Щас разбираемся откуда они это взяли и можно ли это убрать. Предположение такое, чтобы не увеличивать погрешность измерения. Ибо пропуская ток через, скажем датчик температуры (терморезистор), мы его подогреваем током опроса, м.б. это где-то и допустимо, но не для нашей точности 0.1 %.

 

 

Edited by spooki

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this