Усиление и фильтрация очень низкочастотного сигнала (полоса пропускания 4 Гц)

Спокойной ночи всем. Я хочу усилить и отфильтровать сигнал с полосой пропускания 3,5 Гц и напряжением порядка 5–40 мВ. Я планирую усилить сигнал перед его фильтрацией, чтобы предотвратить потери каких-либо полезных компонентов сигнала в этом особо слабом сигнале. Раньше я работал только с сигналами с полосой пропускания 1–10 кГц, поэтому хотел бы получить совет по следующим вопросам:

  1. Какие характеристики операционного усилителя следует учитывать при просмотре спецификаций операционных усилителей для каскада усиления и почему? Какие типы операционных усилителей следует рассмотреть?
  2. Должен ли я использовать активный или пассивный фильтр для этапа фильтрации?
  3. Если используется активный фильтр, на какие характеристики операционного усилителя следует обращать внимание при просмотре спецификаций и почему?
  4. Имеет ли значение тип конденсаторов, которые я использую с фильтрующим каскадом?

Любая помощь приветствуется.

Какое выходное сопротивление сигнала?
Поскольку вы упомянули пару ИК-светодиод / транзистор, вы можете попробовать управлять светодиодом с прямоугольной волной 10 кГц и использовать демодулятор блокировки (аппаратный или программный) на приеме. Другими словами, вы вычитаете принятый сигнал, когда светодиод выключен, из сигнала, когда светодиод горит, и, таким образом, исключаете большое количество оптических помех. Это можно сделать с помощью операционных усилителей, микросхем специального назначения или после аналого-цифрового преобразования.
@ChrisStratton- я не знаю, как реализовать вычитание / сложение сигналов в аппаратном или программном обеспечении, поскольку я никогда не делал этого раньше ... не могли бы вы привести мне несколько примеров того, о чем вы говорите, или отослать меня к какому-либо источнику, который будет объясни пожалуйста?
Является ли демодулятор с синхронизацией таким же, как демодулятор с фазовой автоподстройкой частоты?
Делаем фотоплетизмограф, не так ли?
@FakeName- Да, для измерения артериального давления и частоты пульса.

Ответы (2)

Было бы полезно узнать больше о характеристиках сигнала и о том, что с ним нужно делать. Вы говорите, что у него полоса пропускания 3,5 Гц, но каковы ее верхний и нижний пределы? В частности, вас волнует DC? Какой импеданс у сигнала? Чем должен управлять усиленный сигнал? Какое выходное напряжение и, следовательно, коэффициент усиления? Какова общая цель?

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

Я бы поставил небольшую фильтрацию нижних частот перед первым каскадом усиления. Он не должен быть тесным. Один или два пассивных полюса с частотой около 20 Гц были бы в порядке. Он не будет врезаться в сигнал, но он как можно раньше предотвратит попадание высокочастотного шума в систему, чтобы он не вызывал нелинейных эффектов в активной цепи. Если результат в конечном итоге попадет в микроконтроллер и будет обработан там, то все, что вам нужно, это свободная фильтрация нижних частот на входе, а затем усиление, чтобы примерно заполнить диапазон аналого-цифрового преобразования. Сэмплируйте достаточно быстро, например, на частоте 100 Гц (каждые 10 мс, довольно медленно для микро), чтобы не накладываться с учетом слабого входного фильтра. Попав в микро, вы можете применить более жесткую и точную фильтрацию, если это необходимо. Опять же, нам нужно больше информации.

Добавлен:

Теперь вы говорите, что сигнал будет поступать в микроконтроллер с диапазоном 0-5 VA/D. Прирост напряжения в 100 выглядит правильным. Практически любой операционный усилитель может справиться с этим на такой низкой частоте. Входное напряжение смещения будет важным, и будет полезно, если операционный усилитель может работать от того же источника питания 5 В, что и PIC. Microchip MCP603x с его входным смещением 150 мкВ звучит как хорошая подгонка. Как я сказал выше, поместите небольшую фильтрацию нижних частот перед операционным усилителем и направьте выход прямо на вывод PIC A/D. Я бы все же сделал некоторую передискретизацию и дополнительную фильтрацию нижних частот в PIC, что не потребует много ресурсов процессора при частоте дискретизации 100 Гц или около того.

Добавлено 2:

Фильтрация нижних частот может быть выполнена в цифровом виде по алгоритму:

ФИЛЬТР <-- ФИЛЬТР + FF(НОВЫЙ - ФИЛЬТР)

FF — это «фракция фильтра», определяющая плотность фильтра. При FF=0 фильтр бесконечно тяжелый, поскольку его выходные данные никогда не меняются. Для FF=1 вывод просто следует за вводом без фильтрации. Полезные значения, очевидно, находятся посередине. Чтобы сделать вычисления простыми в маленьком микро, вы обычно выбирали FF так, чтобы это было 1/2^N. В этом случае умножение на FF становится сдвигом вправо на N бит.

Например, вот график отклика двух каскадных фильтров, каждый с FF=1/4:

Если вы производите выборку с частотой 100 Гц, то на каждое минимально необходимое показание для поддержки 3,5 Гц приходится около 14 выборок. Из переходной характеристики вы можете видеть, что этот фильтр устанавливается примерно на 92% в течение 1/2 цикла от вашей максимальной частоты 3,5 Гц. Из импульсной характеристики видно, что глитчи будут ослаблены примерно на 9.

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

Источником сигнала является пара ИК-светодиод/фототранзистор, а нижний и верхний пределы частоты сигнала составляют от 0 Гц до 3,5 Гц. Целью этого усиления и фильтрации является преобразование сигнала для аналого-цифрового преобразователя PIC18F452 с динамическим диапазоном напряжения 0–5 В. Значение постоянного тока имеет значение, поскольку я хотел бы использовать сигнал постоянного тока для целей тестирования.
Спасибо за совет и дополнительные вопросы, Олин, это помогло мне прояснить несколько вопросов, которые у меня возникли.
Пара ИК-светодиод/фототранзистор будет находиться на некотором расстоянии (примерно 30–40 см) от макетной платы без пайки, где будут находиться схема формирования сигнала и микроконтроллер, поэтому будет достаточно обычного сплошного медного луженого провода диаметром 0,33 мм, или я должен использовать другой тип провода, чтобы свести к минимуму искажение сигнала, так как он такой маленький?
Пайка ключевых компонентов может быть хорошей идеей, даже если для соединения используется макетная плата без пайки. | При достаточно низких уровнях сигнала вам, возможно, придется внимательно посмотреть на свою «топологию» - используете ли вы несимметричный операционный усилитель дифференциального усилителя. Питание по витой паре? Экранирование? Необходимость зависит от фактической среды. 5-40 мВ не слишком низко, но все же требуется осторожность.
@Olin Lathrop - Спасибо за дополнительный совет, Олин, я обязательно попробую. Я не уверен, как сделать фильтрацию в MCU, не могли бы вы помочь мне или порекомендовать мне какой-нибудь хороший онлайн-ресурс по этому поводу?
@ Рассел МакМахон. Спасибо за совет по топологии, я проведу дополнительные исследования по этому вопросу.
это отличный ответ, хорошая работа @Olin
@Olin Lathrop - Большое спасибо за этот мини-учебник, Олин. Я обязательно попробую это и посмотрю, как оно пойдет. У меня могут быть дополнительные вопросы, но пока этого более чем достаточно. Надеюсь, к следующей неделе у меня будет работающий модуль. Еще раз спасибо, и я надеюсь, что вам понравится остаток ночи :-)

Я бы предпочел использовать DSP для фильтрации, на такой частоте можно было бы использовать обычный MCU. Однако я бы использовал Microchip dsPIC, поскольку у меня много микросхем и я купил инструмент для проектирования, что сделало бы реализацию тривиальной. Я бы использовал КИХ-фильтр с соответствующей оконной функцией с коэффициентами во флэш-памяти, чтобы свести к минимуму требования к ОЗУ. КИХ-фильтр — лучшее решение для этого приложения, если он правильно реализован.

@ Леон, спасибо, звучит как отличная альтернатива, Леон. Итак, вы говорите, что я могу использовать MCU, такой как PIC18F (это тот, который я должен использовать), и просто измерять значения напряжения через определенные промежутки времени с частотой дискретизации, которая соответствует критерию Найквиста?
Да, у PIC18 есть аппаратный множитель, который поможет. Вам понадобится рудиментарная аналоговая фильтрация, чтобы избежать алиасинга. Вы можете сэмплировать намного быстрее, чем в 2 раза, чтобы свести к минимуму требования к аналоговой фильтрации. Убедитесь, что у вас достаточно оперативной памяти в PIC для вашего кольцевого буфера.
@Leon: Вам не нужен круговой буфер для фильтрации. Я предполагаю, что вы предполагаете КИХ-фильтр, вероятно, среднее значение последних образцов. Я вижу это часто, но это не очень хороший фильтр, и он занимает много состояния. Возвращаясь к теории, вы можете видеть, что есть лучшие способы. КИХ-фильтры хороши, когда вам нужен сложный или несколько произвольный ответ. Но если вы просто хотите ослабить высокие частоты, чтобы уменьшить шум, лучше использовать простой БИХ-фильтр, который легко вычисляется и, безусловно, имеет меньше состояний.
Леон, как насчет антиалиасной фильтрации??? вам все равно нужно удалить частоты на Fs/2, независимо от того, насколько хорош ваш DSP. Кроме того, использование операционного усилителя и дешевого конденсатора NPO будет выполнять работу многих тактовых циклов....
Я упомянул об этом.
Я только что увидел, что ваш ответ был отклонен. Я не думаю, что это лучшее решение, но оно также не является неправильным, поэтому я проголосовал за то, чтобы снова исправить его.
Этот ответ будет работать только в том случае, если за пределами интересующей полосы нет значительного сигнала/шума. Если OP заинтересован в сигнале 4 Гц, 40 мВ на сигнале 60 Гц, 2,5 В, методы DSP мало что дадут.
Откровенно говоря, техникам DSP не место во внешнем интерфейсе. Вы хотите максимизировать соотношение сигнал/шум до преобразования AD.