Муфты электромонтажные от производителя Fucon

Улучшение зашумленных данных простым цифровым фильтром

Фильтрация данных от датчиков давления и температуры

Множество систем используют АЦП для обработки аналоговых данных, получаемых от датчиков температуры и давления. Иногда шумы системы или другие факторы вызывают быстрые флуктуации этих медленно меняющихся величин. Для ослабления высокочастотного шума, инженеры часто включают аналоговые RC (резистор-емкость) фильтры нижних частот между датчиком и каскадом аналого-цифрового преобразования. В то же время, такое решение не всегда оптимально или реализуемо. Например, получение постоянной времени фильтра порядка минут требует очень больших номиналов элементов R и C.

Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Улучшение зашумленных данных простым цифровым фильтром

На рис.1. показан аналоговый RC фильтр нижних частот и выражения для его расчета. В качестве альтернативы вы можете отфильтровать зашумленный сигнал, который остается в линейном диапазоне работы АЦП, используя цифровой эквивалент аналогового фильтра нижних частот. Программа фильтра состоит всего из двух строк кода на языке «С»:

LPOUT=LPACC/K,

где выходной сигнал после фильтра равен LPACC, деленному на константу, и

LPACC=LPACC+LPIN–LPOUT,

где вы добавляете разность между входным и выходным сигналом для обновления LPACC. Тип всех переменных определен как целые.

Каждый раз, когда аналого-цифровое преобразование получает новый отсчет входного сигнала, LPIN, программа вычисляет величину выходного сигнала LPOUT, которая является отфильтрованной копией входного сигнала.

Величина константы, K, определяется, опираясь на быстродействие АЦП и величину постоянной времени фильтра следующим образом:

K=TxSPS,

где K>1 и SPS это количество отсчетов сигнала в секунду выдаваемого АЦП.

Например, для быстродействия системы 200 выб/с и постоянной времени фильтра 30 секунд, величина К будет эквивалентна 6000 отсчетов. При подаче сигнала в виде единичного скачка на вход фильтра, потребуется 6000 отсчетов для того, чтобы сигнал достиг приблизительно 63 % от установившегося значения на выходе.

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

Вы можете развить проиллюстрированную базовую концепцию фильтра для получения фильтров более высокого порядка, с большей величиной подавления высоких частот, выполняя код для нескольких фильтров последовательно. Кроме того, вы можете использовать массив переменных для LPACC и массив констант К для фильтрации данных получаемых по нескольким каналам.

На английском языке: Simple Digital Filter Cleans Up Noisy Data

Электронные компоненты. Бесплатная доставка по России
Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
Имя