Можем ли мы иметь фильтр цифрового сглаживания?

12

Я работаю над платой, на которой нет фильтра сглаживания на входе АЦП. У меня есть возможность реализовать свой собственный фильтр, используя схему RC + Opamp. Но возможно ли также реализовать фильтр сглаживания после выборки с помощью АЦП и обработки в цифровом домене: цифровой фильтр сглаживания?

gpuguy
источник

Ответы:

11

Просто чтобы поддержать ответ Мэтта и предоставить несколько более подробной информации:

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

  • Аналоговый вход.
  • Аналоговый сглаживающий фильтр.
  • Передискретизация (например, в 8x).
  • Цифровой сглаживающий фильтр.
  • Децимация (уменьшение до 1х).
  • Цифровой выход.

Для дальнейшей иллюстрации рассмотрим следующее:

  • Аудио сэмплируется с частотой 44100 Гц.
  • Это обеспечивает частоту Найквиста 22050 Гц.
  • Любые частоты выше 24100 Гц будут возвращаться к звуковому диапазону (ниже 20 кГц).
  • От 20000 Гц до 24100 - это примерно четверть октавы.
  • Даже с крутым фильтром 80dB / 8ve вы будете уменьшать частоты наложения только на 20dB.

Но с 8-кратной передискретизацией:

  • Звук дискретизируется с частотой 352,8 кГц (44,1 кГц x 8).
  • Найквист составляет 176,4 кГц.
  • Только частоты выше 332,8 кГц будут отражать звуковой диапазон.
  • Это около 4 октав.
  • Таким образом, вы можете применить аналоговый фильтр 24 дБ / 8ve, чтобы уменьшить частоты наложения на 96 дБ.
  • Тогда перевыбор.
  • Затем примените линейный фазовый цифровой фильтр между 20 кГц и 24,1 кГц.

Следующая книга является прекрасным, ясным ресурсом для этого рода вещей.

Izhaki
источник
1
То, что вы говорите, безусловно верно для аудиоприложений (в которых готовые к использованию встроенные микросхемы кодеков давно заменили АЦП / ЦАП), но есть много областей разработки, в которых приобретение все еще выполняется ванильными АЦП SAR (как автономные). микросхемы или встроенные в микроконтроллеры) - и с этим вам придется выполнять тяжелую работу!
пикенеты
Это отличный комментарий. Тем не менее, я считаю, что ответ остается в силе - если вы можете себе это позволить, цифровые фильтры сглаживания приносят много преимуществ.
Изаки
просто хотел узнать, это способ убедиться, что аналоговые фильтры будут иметь малую геометрию и вес?
gpuguy
1
Если я правильно понимаю вопрос, то да - использование цифрового фильтра будет означать гораздо более простую настройку аналогового сигнала (особенно, если учитывать качество).
Ижаки,
Вы имеете в виду «decimate» на последнем шаге в рабочем процессе передискретизации?
Ник Т
15

Нет, это не имеет смысла. Скажите, что ваша частота дискретизации АЦП составляет 1 кГц. Синусоидальная волна с частотой 100 Гц и синусоидальная волна с частотой 900 Гц даст точно такую ​​же последовательность цифровых выборок, которые будут поданы на ваш АЦП, но вы хотите пропустить первую и ослабить последующую. Как вы ожидаете, что ваш цифровой фильтр будет выдавать разные выходы при питании одного и того же входа?

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

pichenettes
источник
1
«Синусоидальная волна с частотой 100 Гц и синусоидальная волна с частотой 900 Гц даст точно такую ​​же последовательность цифровых выборок». Это вообще неправда (хотя я понимаю, что вы имеете в виду).
Ниарен
3
Ладно, это требует определенных условий на их фазах, но это не главное! Дело в том, что ваши цифровые сэмплы могут выглядеть так, как будто они получены от синусоидальной волны 100 Гц, тогда как та же самая последовательность данных могла быть сгенерирована синусоидальной волной 900 Гц.
пикенеты
Можете ли вы сказать, что это за условие (для точного соблюдения)?
Ниарен
1
π
в вашем ответе есть ошибка 100 Гц и 900 Гц не имеют одинакового сэмплированного выхода. На самом деле это [100 +/- k * 1000], который даст те же образцы. Итак, -900, 1100, 2100 и т. Д. Являются частотами с псевдонимами, соответствующими 100 Гц. На самом деле, частота 900 Гц будет отрицательной по сравнению с волной размера 100 Гц.
15

Я согласен с ответом Pichenettes, но я хотел бы добавить, что довольно распространенной практикой является использование простого недорогого аналогового фильтра сглаживания низкого порядка и выполнение остальной части фильтрации сглаживания в цифровой области. Конечно, это подразумевает, что вы обрабатываете не с максимальной частотой дискретизации, а что вы уменьшаете после цифрового фильтра сглаживания. Подводя итог:

  1. Конечно, вам нужен аналоговый фильтр сглаживания.

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

Мэтт Л.
источник