Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Не могу поставить фильтр перед АЦП
Форум разработчиков электроники ELECTRONIX.ru > Аналоговая и цифровая техника, прикладная электроника > Вопросы аналоговой техники
RodionGork
Уважаемые товарищи, здравствуйте!

(введение)
Обычно перед АЦП ставится фильтр низких частот, который (в идеале) пропускает все что ниже половины частоты выборки, а все что выше подавляет - эта мера избавляет от (как это по-русски) aliases - отображения высокочастотных составляющих в низкие частоты за счет собственно квантования по времени, поскольку после оцифровки, скажем, на частоте 8кГц уже не отличить будет сигнал 9кГц от сигнала 1кГц.

Поправьте, если неправильно выразился.

(проблема)
Злокозненное мое проектируемое устройство измеряет не активную, а пассивную величину. То есть на время измерения нужно подавать на объект воздействие, включать ток, затрачивать энергию... И это все ужасно. Ну примерно как с сопротивлением - пока ток не пропустишь и не измеришь падение напряжения, не узнаешь, какое оно.

Для экономии энергии принято кажущееся разумным решение. Воздействие включается непосредственно перед оцифровкой и выключается после. То есть если оцифровки совершаются примерно 10000 раз в секунду, а ток подается за 4мкс перед подачей сигнала на оцифровку и выключается через 1мкс после него, то я экономлю 95% энергии. Да и по другим соображениям это, оказалось, удобно.

В общем, схему сделал, все работает, причем работает замечательно. Но гложет меня сомнение.

Поскольку сигнал на датчике появляется один раз за 100мкс на время примерно равное 5мкс, ставить сюда фильтр, как обычно, вроде бы бесполезно. Ну я его и не ставил. Один мудрый человек сказал с мудрым видом:
"Нужно сделать отдельную схему Sample And Hold для сигнала, чтобы она превращала импульсы длительностью в 5мкс и периодом в 100мкс в ступеньки той же высоты, но заполняющие период целиком. После этой схемы полученный ступенчатый сигнал можно будет фильтровать, а потом уже подавать на АЦП".

Я так и стал экспериментировать... И вдруг до меня дошло - это совершенно не избавит меня от aliases. Если скажем Sample And Hold работает с той же частотой 8кГц а на датчик каким-то образом космическим наводится помеха 9кГц, она точно так же будет превращаться в 1кГц и фильтроваться уже как сигнал 1кГц и разумеется подавляться не будет - да и с чего бы.

Я высказал это сомнение мудрому человеку, он сказал что я в чем-то не прав, но в чем именно у него сейчас нет времени разбираться.

Вот и обращаюсь к мировому разуму по поводу того, прав ли я и как надо поступать в данной ситуации?

с почтеньем,
Родион
Methane
Цитата(RodionGork @ Jun 16 2009, 07:59) *
Уважаемые товарищи, здравствуйте!
Поскольку сигнал на датчике появляется один раз за 100мкс на время примерно равное 5мкс, ставить сюда фильтр, как обычно, вроде бы бесполезно. Ну я его и не ставил. Один мудрый человек сказал с мудрым видом:
"Нужно сделать отдельную схему Sample And Hold для сигнала, чтобы она превращала импульсы длительностью в 5мкс и периодом в 100мкс в ступеньки той же высоты, но заполняющие период целиком. После этой схемы полученный ступенчатый сигнал можно будет фильтровать, а потом уже подавать на АЦП".

А что именно за вредный сигнал высокой частоты, которого вы так сильно боитесь?
Tanya
Цитата(RodionGork @ Jun 16 2009, 08:59) *
Я высказал это сомнение мудрому человеку, он сказал что я в чем-то не прав, но в чем именно у него сейчас нет времени разбираться.
Вот и обращаюсь к мировому разуму по поводу того, прав ли я и как надо поступать в данной ситуации?
с почтеньем,
Родион

То, что Вы имеете по сути и есть УВХ. Можно это рассматривать и как синхронный детектор. Он, естественно, ловит все четные гармоники.
На коренной вопрос - "Что делать?" имеется много ответов. Один из них - подавать возбуждение, сообразуясь с имеющимися помехами.
_Vova
с трудом понял? ваш сигнал подается с периодом 100мкс с длительностью 5мкс,а это уже дискретизация по времени,если сигнал НЧ ставьте ФВЧ(ПФ) перед АЦП и УВХ вам не нужно.
если нужно "держать" его межперидами можно подумать над детектором
сам сигнал(ток который вы подаете) какую частоту имеет или он просто одной амплитуды "включил ток"/выключил?
" Исчезли совсем столь характерные для эры Мирового Воссоединения словесные тонкости - речевые и письменные ухищрения, считавшиеся некогда признаком большой образованности...исчезло искусное жонглирование словами, так называемое остроумие. ... Все разговоры стали гораздо проще и короче. " Ефремов. Туманность Андромеды
Herz
Цитата(_Vova @ Jun 16 2009, 08:44) *
" Исчезли совсем столь характерные для эры Мирового Воссоединения словесные тонкости - речевые и письменные ухищрения, считавшиеся некогда признаком большой образованности...исчезло искусное жонглирование словами, так называемое остроумие. ... Все разговоры стали гораздо проще и короче. " Ефремов. Туманность Андромеды

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

Цитата(RodionGork @ Jun 16 2009, 06:59) *
Вот и обращаюсь к мировому разуму по поводу того, прав ли я и как надо поступать в данной ситуации?

Правильным решением была бы оценка того, насколько реальная помеха реально искажает результат. Потому как даже хороший фильтр никогда не убирает помеху/наводку полностью, он лишь снижает её влияние до приемлемых величин. Те ухищрения, которые Вам советуют, тоже имеют смысл, только если нынешний результат Вас не устраивает. А от всех возможных влияний не застрахуешься. С виду простое решение сделать сигнал квазинепрерывным для аналоговой фильтрации повлечёт за собой дополнительные погрешности - заставить УВХ держать уровень по 100мкс без ощутимого ухода непросто. Главное, что смысла может и не быть.
EvgenyNik
Удерживать сигнал на УВХ имеет смысл только ради снижения шума самого АЦП, но это никак не повышает точность одиночного отсчёта применительно к исходному сигналу и его компонентам. Если УВХ захватило сигнал в момент прохождения помехи, то "довесок" от этой помехи Вы так и растяните на 100 мкс.
Прежде всего надо оценить природу шума. Есть ли он всегда, т.е. не зависит от вашего наложения и не изменяется ли во время его действия, или же может быть вызван именно вашим наложением. Если вызван наложением, то это свойство системы или, иначе говоря, собственная функция, а значит она повторяема (для линейных систем и нелинейных без эффекта памяти) и/или предсказуема.
Если же шум независим от наложения, то необходимо оценить его периодичность. В ряде случаев удаётся, записав шум до воздействия, вычесть его из осциллограммы реакции на воздействие. Как выбирать окно и совмещать "фазу" - можно найти информацию, а можно просто подумать.
Tanya
Цитата(Herz @ Jun 16 2009, 11:47) *
...заставить УВХ держать уровень по 100мкс без ощутимого ухода непросто. Главное, что смысла может и не быть.

Смысла в этом, естественно, нет никакого. А вот измерять фон - может и есть.
Если система линейная, то можно возбуждать разнообразно. Синхронизировать возбуждение с основной наводкой тоже полезно.
orthodox
Цитата(RodionGork @ Jun 16 2009, 06:59) *
Я так и стал экспериментировать... И вдруг до меня дошло - это совершенно не избавит меня от aliases. Если скажем Sample And Hold работает с той же частотой 8кГц а на датчик каким-то образом космическим наводится помеха 9кГц, она точно так же будет превращаться в 1кГц и фильтроваться уже как сигнал 1кГц и разумеется подавляться не будет - да и с чего бы.

Я высказал это сомнение мудрому человеку, он сказал что я в чем-то не прав, но в чем именно у него сейчас нет времени разбираться.

Вот и обращаюсь к мировому разуму по поводу того, прав ли я и как надо поступать в данной ситуации?

с почтеньем,
Родион


ПМСМ, в основном правы были Вы, а мудрый человек - пока что неправ.
Если помеха наводится прямо на датчик - дальнейшее вообще может стать бессмысленным сразу после дискретизации - тех 5мкс выборки, о которых вы пишете. И таки станет. Эти выборки "срастят" сигнал с помехой, а потом хоть чего уже делай...

И синхронизация с помехой для данного случая , боюсь, тоже не панацея - чудненько продетектируется та помеха и даст, к примеру, постоянное смещение...
Tanya
Цитата(orthodox @ Jun 16 2009, 16:19) *
И синхронизация с помехой для данного случая , боюсь, тоже не панацея - чудненько продетектируется та помеха и даст, к примеру, постоянное смещение...

А я вот так всегда стараюсь делать... Зря что ли?
Alexashka
Как известно ФНЧ от наложений должен стоять до АЦП. Дело в том что на входе АЦП как раз и стоит этот самый УВХ. А Вы его теперь какбы перенесли со входа АЦП на выход датчика. Так что ФНЧ теперь ставить некуда.
Возможный вариант- делать цифровую фильтрацию отсчетов Вашего АЦП. Естественно выкинув все дополнительные УВХ, кроме того, что имеется в самом АЦП smile.gif
Tanya
Цитата(Alexashka @ Jun 16 2009, 20:08) *
Как известно ФНЧ от наложений должен стоять до АЦП. Дело в том что на входе АЦП как раз и стоит этот самый УВХ. А Вы его теперь какбы перенесли со входа АЦП на выход датчика. Так что ФНЧ теперь ставить некуда.
Возможный вариант- делать цифровую фильтрацию отсчетов Вашего АЦП. Естественно выкинув все дополнительные УВХ, кроме того, что имеется в самом АЦП smile.gif

Мне вот кажется, что автору не нужна такая фильтрация, (которая не избавляет от алиасов) так как ему жалко питания и он вынужден измерять с минимальными издержками.
Alexashka
Цитата(Tanya @ Jun 16 2009, 20:21) *
Мне вот кажется, что автору не нужна такая фильтрация, (которая не избавляет от алиасов) так как ему жалко питания и он вынужден измерять с минимальными издержками.

Да, все зависит от помехи. У нас такая система с резистивным датчиком работает нормально. Но у нас 500Гц стробирующий сигнал (частота УВХ), а помеха 50Гц. Так что она не вызывает наложения и нормально убирается потом усилителем+аналоговым фильтром. УВХ нужен только для того чтобы не перегружать усилительный каскад импульсами с датчика.
Tanya
Цитата(Alexashka @ Jun 16 2009, 20:52) *
Да, все зависит от помехи. У нас такая система с резистивным датчиком работает нормально. Но у нас 500Гц стробирующий сигнал (частота УВХ), а помеха 50Гц. Так что она не вызывает наложения и нормально убирается потом усилителем+аналоговым фильтром. УВХ нужен только для того чтобы не перегружать усилительный каскад импульсами с датчика.


Я иначе смотрю на ситуацию. В Ваших условиях автору никак не избавиться от помехи, так как он максимально редко хочет измерять.Каждое измерение - единичное. практически. Ему нужны данные с частотой возбуждения. Иначе он бы возбуждал еще реже. Вот нас всех тут возбудил (один лишь раз...), а сам скрывается в молчанках. А генерация (идей и догадок) идет полным ходом.
Alexashka
Цитата(Tanya @ Jun 16 2009, 22:33) *
Я иначе смотрю на ситуацию. В Ваших условиях автору никак не избавиться от помехи, так как он максимально редко хочет измерять.Каждое измерение - единичное. практически. Ему нужны данные с частотой возбуждения. Иначе он бы возбуждал еще реже. Вот нас всех тут возбудил (один лишь раз...), а сам скрывается в молчанках. А генерация (идей и догадок) идет полным ходом.

Боюсь Вы не поняли меня. У меня точто такаяже ситуация- введен импульсный режим работы для экономии энергии. Включение с частотой 500Гц (2мс) и длит.рабочего цикла 200мкс (т.е скважность=10). Разница в том что оцифровка делается после усилителя-фильтра, дабы снизить требования к АЦП и избавится от наводки 50Гц+шума коммутации. Решение как у автора темы не прокатило- по рассчетам вышло что если решать идею чисто одним АЦП требуется гораздо больше энергии -нужен дельтасигма АЦП и очень быстрый, так как времени ему на разгон выходит очень мало. Как вариант был поставить перед ним опятьже УВХ, но тогда теряется все преимущество дельта-сигма - естественная фильтрация сигнала самим АЦП. Если помните тема эта проходила неск.месяцев назад smile.gif
PS. Да и получить разрешение, которое получено у нас чисто аналоговым способом (20нВ! в полосе 2.5Гц) даже дельта-сигма не сможет ((
Tanya
Цитата(Alexashka @ Jun 17 2009, 00:34) *
Боюсь Вы не поняли меня.

Боюсь, что Вам придется бояться второй (а может, много...) раз.
Alexashka
Цитата(Tanya @ Jun 17 2009, 00:41) *
Боюсь, что Вам придется бояться второй (а может, много...) раз.

Ну Вы простите тупого инженера rolleyes.gif абстрактное мышление к сожалению не мой конек smile.gif)


2 RodionGork: А Вы не думали над таким вариантом. Частоту сэмплирования УВХ (fo)сделать максимально высокой (ровно столько сколько требуется для завершения перех.процессов в датчике), возможно тогда частота помехи будет меньше чем fo/2 и наложения не будет. Далее все как обычно- ФНЧ и оцифровка smile.gif
Herz
Цитата(Alexashka @ Jun 16 2009, 22:34) *
Боюсь Вы не поняли меня. У меня точто такаяже ситуация- введен импульсный режим работы для экономии энергии. Включение с частотой 500Гц (2мс) и длит.рабочего цикла 200мкс (т.е скважность=10). Разница в том что оцифровка делается после усилителя-фильтра, дабы снизить требования к АЦП и избавится от наводки 50Гц+шума коммутации. Решение как у автора темы не прокатило- по рассчетам вышло что если решать идею чисто одним АЦП требуется гораздо больше энергии -нужен дельтасигма АЦП и очень быстрый, так как времени ему на разгон выходит очень мало. Как вариант был поставить перед ним опятьже УВХ, но тогда теряется все преимущество дельта-сигма - естественная фильтрация сигнала самим АЦП. Если помните тема эта проходила неск.месяцев назад smile.gif
PS. Да и получить разрешение, которое получено у нас чисто аналоговым способом (20нВ! в полосе 2.5Гц) даже дельта-сигма не сможет ((

Хм, я тоже Вас не понял. Как же Вы добились таких замечательных результатов? С помощью усилителя-фильтра? Он работает в импульсном режиме и фильтрует наводку 50Гц?

Цитата(Alexashka @ Jun 16 2009, 23:00) *
2 RodionGork: А Вы не думали над таким вариантом. Частоту сэмплирования УВХ (fo)сделать максимально высокой (ровно столько сколько требуется для завершения перех.процессов в датчике), возможно тогда частота помехи будет меньше чем fo/2 и наложения не будет. Далее все как обычно- ФНЧ и оцифровка smile.gif

Что Вы называете "частотой сэмплирования УВХ"? Автора заботит помеха с частотой выше половины частоты квантования АЦП.
Alexashka
Цитата(Herz @ Jun 17 2009, 11:56) *
Хм, я тоже Вас не понял. Как же Вы добились таких замечательных результатов? С помощью усилителя-фильтра? Он работает в импульсном режиме и фильтрует наводку 50Гц?

Замечательные? Да нет вобщемто, все строго по расчету. Обратите внимания что выделяется полоса от 0.05 до 2.5Гц. Усилитель как раз работает в обычном режиме, в импульсном работаюь: датчик, первый каскад - масштабирующий усилитель на AD620, и собсно УВХ.


Цитата(Herz @ Jun 17 2009, 11:56) *
Что Вы называете "частотой сэмплирования УВХ"? Автора заботит помеха с частотой выше половины частоты квантования АЦП.

Частота сэмплирования УВХ-это частота с которой подается питание на датчик, масштаб.усилитель и УВХ (аналоговый ключ+емкость).

Автор насколько я понял хочет воткнуть перед АЦП аналоговый фильтр. Так вот если он отрежет фильтром помеху (точнее все что выше половины частоты квантования АЦП), то АЦП будет снимать только полезный сигнал. Единственное условие- частота сэмп.УВХ должна быть больше частоты помехи на столько, чтобы их разность была больше частоты среза фильтра.
Т.е к примеру если помеха 9кГц, можно сделать частоту УВХ 15кГц, частоту среза фильтра допустим 3кГц, а АЦП уж пусть и работает себе на 8кГц. Сигнал наложения от помехи даст разностную частоту 15-9=6кГц, которая задавится фильтром. В тоже время фильтр не будет пропускать частоты выше 4кГц на вход АЦП, что исключает эффект наложения который может возникнуть уже при оцифровке.
EvgenyNik
RodionGork, а что из себя представляет целевой сигнал в случае постоянного воздействия? Т.е. в неоптимальном случае - каково частотное представление измеряемого сигнала?
Tanya
Цитата(Alexashka @ Jun 17 2009, 15:30) *
Замечательные? Да нет вобщемто, все строго по расчету. Обратите внимания что выделяется полоса от 0.05 до 2.5Гц. Усилитель как раз работает в обычном режиме, в импульсном работаюь: датчик, первый каскад - масштабирующий усилитель на AD620, и собсно УВХ.



Частота сэмплирования УВХ-это частота с которой подается питание на датчик, масштаб.усилитель и УВХ (аналоговый ключ+емкость).

Автор насколько я понял хочет воткнуть перед АЦП аналоговый фильтр. Так вот если он отрежет фильтром помеху (точнее все что выше половины частоты квантования АЦП), то АЦП будет снимать только полезный сигнал. Единственное условие- частота сэмп.УВХ должна быть больше частоты помехи на столько, чтобы их разность была больше частоты среза фильтра.
Т.е к примеру если помеха 9кГц, можно сделать частоту УВХ 15кГц, частоту среза фильтра допустим 3кГц, а АЦП уж пусть и работает себе на 8кГц. Сигнал наложения от помехи даст разностную частоту 15-9=6кГц, которая задавится фильтром. В тоже время фильтр не будет пропускать частоты выше 4кГц на вход АЦП, что исключает эффект наложения который может возникнуть уже при оцифровке.

Автору, как мне кажется, нужны отдельные измерения. Никакие постобработки не нужны. При его способе измерений фильтром должно быть само УВХ. Если его правильно сделать. А именно: если сделать интегратор с входным ключом, интегрирующим сигнал + помеха за некоторое время, то легко подсчитать насколько будет ослабляться помеха заданной частоты. Например, если время интегрирования равно целому числу периодов наводки, то подавление будет полным...
Низкие частоты, естественно, не давятся. Это банально.
repairDV
Если у вас микроконтроллер однотактовый и АЦП снимает сигнал с длинных проводов, то без фильтра вам, скорее всего, никак не обойтись. И с этим не должно быть никаких проблем, но, только если вы формируете сигнал на датчик не путём разрыва/соединения контактов электрической цепи. Цепь должна быть всё время замкнута, а сигнал на датчик нужно подавать путём изменения напряжения с нулевого уровня. Кстати, вы написали, что у вас картина вполне удовлетворительная, но, если вы формируете сигнал на датчик путём разрыва/соедитения контактов, то вы, скорее всего, ошибаетесь. Даже если там активная нагрузка.
Alexashka
Цитата(Tanya @ Jun 17 2009, 16:35) *
Автору, как мне кажется, нужны отдельные измерения. Никакие постобработки не нужны. При его способе измерений фильтром должно быть само УВХ. Если его правильно сделать. А именно: если сделать интегратор с входным ключом, интегрирующим сигнал + помеха за некоторое время, то легко подсчитать насколько будет ослабляться помеха заданной частоты. Например, если время интегрирования равно целому числу периодов наводки, то подавление будет полным...
Низкие частоты, естественно, не давятся. Это банально.

Угу, чтото по типу интергирующего АЦП...
Или как вариант цифрового интегратора - можно ничего не менять в схеме. Просто набрать нужное кол-во отсчетов и усреднить их.
ЗЫ. И тот и другой МЕТОД может не прокатить. Если время интегрирования будет равно пол периода наводки, то подавления не будет вовсе smile.gif
RodionGork
Цитата(Евгений Николаев @ Jun 17 2009, 16:23) *
RodionGork, а что из себя представляет целевой сигнал в случае постоянного воздействия? Т.е. в неоптимальном случае - каково частотное представление измеряемого сигнала?


Сам-то сигнал по большому счету весьма низкочастотный... Все интересное в нем - ниже 10-20 Гц происходит...

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

Какие помехи я ожидаю? Ну я живу в розовых очках и ожидаю, что помех не будет вообще никаких и что на выходе 12-16 разрядного АЦП последний даже разряд никогда не будет "подпрыгивать"... Но некоторые обстоятельства меня смущают. Если я беру оригинальный (а не самодельный) датчик и смотрю на него осциллографом, то даже при отсутствии полезного сигнала я вижу колебания с частотой 2 Гц и амплитудой около 50мВ (при этом сам сигнал порядка 2В, а колебания, которые меня интересуют, около 1% от этих 2В)... Колебания не очень ровной формы, почти прямоугольные... Иногда увеличиваются, иногда уменьшаются... Процессы у них порядка десятков секунд имеют постоянную времени... Очччень интересно... ;-)

Взял вольтметр (китайский цифровой тестер в режиме вольтметра) подключил его к найденному в запасниках советскому германиевому диоду Д9... Диод в качестве ВЧ-детектора, ясно, а антенным контуром служат сами щупы прибора (один красный, другой черный, кому важны подробности, хе-хе) Наблюдаю показания 60мВ за рабочим столом и около 110мВ у окна... Тоже интересно...

Ну откуда в таких условиях взяться помехам?

А уж вопрос о том какие конкретно помехи эти будут - у меня на столе, на окне - или у заказчика, или у того кому он это устройство потом продаст... (если его получится сделать) - это, извините, я даже не в силах представить... Собственно если помеха будет такой вот двухгерцовой как та, которая витает у меня в лаборатории, то и фильтровать ее будет бесполезно - ведь сигнал примерно той же частоты... Тогда придется изобретать что-то смешное для улавливания помехи отдельно и вычитания ее... ;-)))

Пока что план такой - в цепи датчика, с которой снимаю показания, значительно повысил ток (до 10мА с 0.1мА примерно), сократил все цепи как мог, избавился от внутрисхемных шумящих узлов - в общем пока полет нормальный на 12 разрядах АЦП... Дальше посмотрим. ;-)

Цитата(Alexashka @ Jun 17 2009, 01:00) *
2 RodionGork: А Вы не думали над таким вариантом. Частоту сэмплирования УВХ (fo)сделать максимально высокой (ровно столько сколько требуется для завершения перех.процессов в датчике), возможно тогда частота помехи будет меньше чем fo/2 и наложения не будет. Далее все как обычно- ФНЧ и оцифровка smile.gif


Над этим я думал (и вообще конечно лучше всего было сделать непрерывный сигнал и сигма-дельта АЦП поставить или что-нибудь такое) - но учитывая что для каждой оцифровки надо систему с датчиком включать на какое-то время, все это не только увеличивает потребление но и при некотором значении вообще будет уже недопустимо... Поскольку все цепи связанные с измерением сигнала рассчитаны на такую импульсную работу... Не выдержат оне если их надолго включать... Конечно можно все переделать в расчете на более могучие элементы, но устройство изначально задумано как маленькое и автономное... ;-)))
Alexashka
Цитата(RodionGork @ Jun 18 2009, 10:07) *
Если я беру оригинальный (а не самодельный) датчик и смотрю на него осциллографом, то даже при отсутствии полезного сигнала я вижу колебания с частотой 2 Гц и амплитудой около 50мВ (при этом сам сигнал порядка 2В, а колебания, которые меня интересуют, около 1% от этих 2В)... Колебания не очень ровной формы, почти прямоугольные... Иногда увеличиваются, иногда уменьшаются... Процессы у них порядка десятков секунд имеют постоянную времени... Очччень интересно... ;-)

Осталось рассказать всем что же это за супер-пупер датчик такой wink.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.