Надзвичайно низькі частотні фільтри


13

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

Якби це частота, яку я міг би генерувати за допомогою генератора сигналів, це було б легко перевірити, але 0,05 Гц занадто низький, і я не можу його генерувати. Як інженери перевіряють подібні фільтри?


3
Моє розум роздувається цим питанням, і це відповіді! Я ніколи не думав фільтрувати цей низький показник частоти :)
бітмак

6
@bitsmack Я бачив високий пропуск 50 міліГц в інструменті електрогастрографії (EGG).
Нік Алексєєв

Деякі генератори сигналів мають як кнопку МГц, так і кнопку МГц.
AndrejaKo

Чи можете ви подати тестовий сигнал у цифровій формі в DSP? Генерувати будь-яку частоту в цифровій формі легко. --- Недолік полягає в тому, що ви не будете тестувати аналогову та A / D частину плати.
пабук

1
@bitsmack Це означає, що вам доведеться чекати довгий час, перш ніж все налагодиться, і "зачистка" повинна бути дуже повільною (години та години), але добре перевірити фактичну ефективність у режимі реального часу хоча б один раз, перш ніж довіряти, що вона буде працювати сповільнився (після тестування він прискорився). Такі речі, як псевдонім, можуть перевернути голову.
Spehro Pefhany

Відповіді:


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. У випадку з ОП, оскільки максимальна частота є настільки низькою, він або вона, ймовірно, може просто додати на виході RC-фільтр з низькою частотою 1 Гц і отримати хороший сигнал.
Spehro Pefhany

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

@ThreePhaseEel Звичайно, навіть 8 або 10 МГц дасть роздільну здатність 0,002 або 0,0024 ГГц.
Spehro Pefhany

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, ви можете генерувати цей надзвичайно низькочастотний сигнал у програмному забезпеченні, який подає його на ваш вхід A / D. Ви також можете використовувати карту D / A або USB-адаптер для генерації сигналу. Одним із прикладів таких пристроїв може бути LabJack, але є багато інших із різною ціною / можливостями там. Іншою можливістю буде використання дешевого мікроконтролера + ЦАП, наприклад, Raspberry Pi або Arduino


2

Якби це частота, яку я міг би генерувати за допомогою генератора сигналів, це було б легко перевірити, але 0,05 Гц занадто низький, і я не можу його генерувати. Як інженери перевіряють подібні фільтри?

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

За допомогою інструментів, якими я користуюся, експерименти можуть тривати від тижнів до місяців, деякі наші фізичні системи мають відгук у діапазоні днів. Найкращий спосіб перевірити ці системи \ фільтри - це використовувати крок введення, а потім виміряти константу часу. Якщо ви пам'ятаєте, постійною часом для входу напруги є:

V(t)=V0(1et/τ)

τ=RC

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

(на малюнку є джерело струму з паралельним резистором, що еквівалентно джерелу напруги з послідовним резистором)


0

Можливо, ви могли б генерувати переносимо плавний сигнал 50 мГц вручну, використовуючи потенціометр та наручний годинник.

Крім того, обчисліть очікуваний крок відповіді вашого фільтра. Надайте вашому обладнання покроковий вхід , повернувши перемикач. Накресліть висновок протягом хвилини або близько того (якщо часова база вашого осцилографа не піде так повільно, зробіть відеозапис на мультиметр і запишіть показання щосекунди). Порівняйте вимірюваний крок відповіді з тим, що ви передбачили. Якщо вони відповідають (достатньо близько, враховуючи неточності ADC / DAC / часу), то ваш фільтр працює як розроблено.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.