Честно простой цифровой фильтр

Вы работаете с АЦП. Получаете результаты преобразования, один за одним. И замечаете, что эти результаты «скачут». А хотелось бы, чтобы стояли, как… Ну, короче, чтобы стояли!
Есть много причин, почему отсчеты АЦП могут быть нестабильны. В своей заметке я не говорю об этих причинах. Я говорю о том, как успокоить показания, получая их AS IS. И как сделать это максимально просто. При этом, возможно, не имея ни малейшего понятия о науке под названием «цифровая  обработка сигналов».

Читать дальше

Простой расчет рекурсивного фильтра 1-го порядка

ВНИМАНИЕ! Это черновая статья, в которой уважаемые коллеги нашли много недочетов. Новый вариант см. здесь.
При обработке выборок АЦП часто говорят об усреднении. И нередко — о скользящем. Что такое скользящее усреднение? Обновление результата с каждым приходящим новым отсчетом. Можно сузить задачу: накапливать предыдущие результаты негде или не хочется. Тогда однозначно речь может идти только рекурсивном фильтре первого порядка.
Конечно, вещь писанная-переписанная :) Но бывает непросто выбрать из горы литературы простые расчетные соотношения. А для новичков в цифровой обработке сигнала придется разобраться в терминологии, ограничениях и еще во многом, не очень-то и нужном для построения простого скользящего фильтра.
Постарался в этой заметке дать известный материал так, чтобы его можно было использовать даже школьнику.


Читать дальше

Простая утилита для расчета цифровых фильтров.

Нашел неплохую утилиту (увы, только под Win32) для расчета цифровых фильтров. Утилита древняя, не обновлялась с 2004 года, но со своими функциями справляется.

Собственно говоря, функции сводятся к следующему:

1. Пользователь выбирает тип фильтра и задает его параметры (частота дискретизации, частота среза и т. д).
2. Программа рассчитывает фильтр и визуализирует его характеристики.
3. Утилита может сгенерировать код на С с реализаций рассчитанного фильтра. Заявлена поддержка генерации кода на VHDL, но так и не реализована в текущей версии.

Основной плюс утилиты – простота. С ее помощью можно получить реализацию нужного фильтра без погружения в теорию ЦОС (хотя, безусловно, любому эмбеддеру изучить теорию ЦОС однозначно стоит).

Сгенерированный код, честно говоря, не фонтан, но в качестве основы сгодится.

Последняя версия Google Crome почему-то блокирует скачивание данной утилиты, хотя антивирус (avast) ничего страшного в исполняемом файле не находит.
  • +1
  • 17 августа 2012, 16:44
  • e_mc2
  • 1