Чрезвычайно низкочастотные фильтры


13

У меня есть плата сбора данных (A / D + процессор цифровых сигналов), и я хочу проверить, действительно ли работает цифровой фильтр верхних частот (реализованный в DSP) с чрезвычайно низкой частотой среза (0,05 Гц).

Если бы это была частота, которую я мог бы генерировать с помощью генератора сигналов, это было бы легко проверить, но 0,05 Гц слишком низко, и я не могу ее сгенерировать. Как инженеры проверяют этот вид фильтров?


3
Мой вопрос взорван этим вопросом, и это ответы! Я никогда не
думал о

6
@bitsmack Я видел высокочастотный 50 МГц в инструменте электрогастрографии (EGG).
Ник Алексеев

Некоторые генераторы сигналов имеют как кнопку МГц, так и кнопку МГц.
AndrejaKo

Можете ли вы подать тестовый сигнал в цифровом виде в DSP? Любую частоту легко генерировать в цифровом виде. --- Недостаток в том, что вы не будете тестировать аналоговую и аналого-цифровую части платы.
Пабук

1
@bitsmack Это означает, что вам придется ждать долгое время, прежде чем все уладится, и «подметание» должно быть очень медленным (часы и часы), но хорошо бы хотя бы один раз проверить реальную производительность в реальном времени, прежде чем полагать, что она будет работать замедлился (после тестирования он ускорился). Такие вещи, как псевдонимы, могут поднять голову.
Спехро Пефхани

Ответы:


18

Я думаю, это зависит от нескольких факторов, в том числе порядка фильтра, но у вас есть несколько возможностей:

  1. Найти генератор сигналов, который туда попадает. Это довольно недорогие в наше время.
  2. Доверься математике. Это цифровой фильтр, который масштабируется с частотой дискретизации. Если вы сможете увеличить частоту дискретизации на два порядка, у вас будет фильтр с частотой среза 5 Гц, который будет гораздо проще измерить. Аналогичным образом, если ограничивающим фактором становится АЦП, вы можете изолировать его от фильтра и добавить некоторые искусственные цифровые данные.
  3. Используйте ответ шага (много широкополосных сигналов сделали бы). Рассчитайте шаг отклика желаемого фильтра и сравните с результатом. Или, в качестве альтернативы, вычислить частотную характеристику посредством FFT пошаговой характеристики.

Мы используем вариант с альтернативой 3 в некоторых наших тестовых настройках не потому, что мы не можем генерировать требуемые медленные сигналы, а потому, что отсечка <0,01 Гц наших аналоговых фильтров займет слишком много времени, чтобы охарактеризовать, если мы попробуем даже грубую развертку частоты , Это сократило время тестирования с более чем часа до нескольких минут.


10

μμ

К сожалению, вы не можете добиться такого низкого уровня с дешевыми модулями DDS (например, AD9850), потому что слово настройки составляет всего 32 бита, а тактовая частота обычно составляет 125 МГц, так что это разрешение 0,03 Гц. Я полагаю, это даст вам несколько точек данных (0,0291 / 0,0582 / 0,0873 Гц)

Вы также можете сделать шаг и посмотреть ответ во временной области.


2
Если ваш модуль DDS может принимать внешний тактовый сигнал, просто разогните его! DDS на самом деле очень причудливое деление на N в глубине души ...
ThreePhaseEel

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

Согласились, что вам понадобится постфильтр - AD9850 имеют минимальную тактовую частоту 1 МГц, что немного ограничивает, но все же достаточно для того, чтобы получить результаты, которых хочет ОП
ThreePhaseEel

@ThreePhaseEel Конечно, даже 8 или 10 МГц дадут разрешение 0,002 или 0,0024 Гц.
Спехро Пефхани

6

Вариант 1. Тест на ПК.

Если ваш код DSP написан на C, то вы можете настроить тестовый комплект в GCC или Visual Studio. Вы знаете частоту дискретизации для своего кода DSP, поэтому используйте Excel для генерации тестового входного CSV-файла и сделайте так, чтобы ваш тестовый жгут выводил выходной файл CSV, который вы можете проверить.

Вариант 2. Тест на DSP с интерфейсом ПК.

Если ваш код DSP должен работать на DSP, вы все равно можете использовать его для тестирования. Установите тестовый жгут на DSP, который получает значение от ПК, запускает один шаг фильтра DSP и затем сообщает о выходе фильтра для этого шага обратно на ПК (используя USB, RS-232 или TCP / IP в зависимости от как вы подключаетесь к DSP). Вам также понадобится тестовый жгут на стороне ПК для отправки и получения этих значений. Опять же, вы можете настроить тестовый входной файл CSV на ПК, передать последовательные выборки в код фильтра и вывести вывод файла CSV, который вы можете проверить.

Для обоих...

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


5

Если в вашей системе DSP также есть цифроаналоговый преобразователь, вы можете генерировать этот крайне низкочастотный сигнал в программном обеспечении и передавать его на ваш аналого-цифровой вход. В качестве альтернативы вы можете использовать D / A-карту или USB-адаптер для генерации сигнала. Одним из примеров таких устройств может быть LabJack, но есть и другие с различной ценой / возможностями. Другая возможность - использовать дешевый микроконтроллер + ЦАП, такой как Raspberry Pi или Arduino.


2

Если бы это была частота, которую я мог бы генерировать с помощью генератора сигналов, это было бы легко проверить, но 0,05 Гц слишком низко, и я не могу ее сгенерировать. Как инженеры проверяют этот вид фильтров?

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

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

В(T)знак равноВ0(1-е-T/τ)

τзнак равнорС

введите описание изображения здесь
Источник: http://mit6002.blogspot.com/2011/05/1011-parallel-rc-circuit-step-input.html

(рис имеет источник тока с параллельным резистором, который эквивалентен источнику напряжения с последовательным резистором)


0

Вы могли бы, вероятно, сгенерировать достаточно плавный сигнал 50 мГц вручную, используя потенциометр и наручные часы.

Также можно рассчитать ожидаемый шаг реакции вашего фильтра. Дайте вашему оборудованию пошаговый ввод , щелкнув выключателем. Спланируйте выходной сигнал в течение минуты или около того (если ваша временная база осциллографа не пойдет так медленно, сделайте видеозапись мультиметра и транскрибируйте показания каждую секунду). Сравните измеренный шаг реакции с тем, что вы прогнозировали. Если они совпадают (достаточно близко, учитывая АЦП / ЦАП / неточности синхронизации), тогда ваш фильтр работает в соответствии с планом.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.