Мне нужно снять показания двух аналоговых датчиков температуры и уровня топлива. Оба они являются аналоговым сигналом, и мне нужно удалить шум из этого показания. И я хочу использовать цифровой фильтр для них. Мой MCU работает на частоте 32 МГц, также я считываю показания АЦП для обоих датчиков каждые 5 мс.
Теперь я хочу уменьшить шум в моем образце, используя внешний аналоговый фильтр и программный цифровой фильтр (IIR и FIR).
Эта ссылка говорит, что мы должны следовать критериям Найквиста для выборки, чтобы избежать возникновения проблемы. https://en.wikipedia.org/wiki/Аналогово-цифровой_преобразователь
Теперь, чтобы разработать цифровой БИХ-фильтр, используйте эту ссылку, чтобы указать об использовании частоты среза. https://stratifylabs.co/embedded%20design%20tips/2013/10/04/Tips-An-Easy-to-Use-Digital-Filter/
Теперь, если я прав, то критерий Найквиста, алиасинг и настройка частоты дискретизации важны для записи аналоговых сигналов, где мы знаем, что человеческий голос <20 000 Гц.
Но как установить эти критерии (частота среза аналогового или цифрового фильтра, частота дискретизации и критерии Найквиста) для сигнала датчика, такого как температура и топливо, где мы получаем просто аналоговые сигналы, и мы не знаем, какая частота для этих сигналов.
Пожалуйста, предложите.
У вас есть частота дискретизации 200 Гц (1/5 мс). Но вы не указали необходимое время отклика для вывода из фильтра. Чтобы найти ответ на этот вопрос, вы должны спросить себя, насколько медленным может быть ответ, прежде чем он вызовет у вас проблему. Т.е. если это уровень топлива и температура автомобиля, то одной минуты достаточно для хорошего времени отклика. Но если это какое-то внутреннее измерение топливной камеры для минитурбинного двигателя, то даже секундная задержка может доставить вам неприятности. У меня не получается определить. (Хорошо, турбина - надуманный и почти бесполезный пример, я не мог придумать лучших примеров, где время задержки в районе одной секунды могло вызвать проблемы).
Вы должны отфильтровать аналоговый сигнал с помощью фильтра нижних частот с частотой среза (частота -3 дБ) меньше, чем частота Найквиста. То же самое с частотой среза в цифровом фильтре. Я бы оставил частоту среза аналоговой фильтрации как можно ближе к частоте Найквиста. Таким образом, вы можете свободно изменять характеристики фильтра по своему усмотрению, изменяя только цифровой фильтр.
Другим критерием проектирования аналогового фильтра является глубина дискретизации (в битах) АЦП. Затухание сигналов выше частоты Найквиста должно быть больше, чем отношение сигнал/шум АЦП. Т.е. 8-битный АЦП, примерно 7-битный сигнал/шум -> демпфирование более 42 дБ на частоте Найквиста, чтобы избежать наложения.
Частота дискретизации 200 Гц -> частота Найквиста = 100 Гц. Частота среза аналоговых нижних частот < 100 Гц. Предполагая, что 8 бит, как в моем примере выше: демпфирование при 100 Гц> 42 дБ
Рекомендуемый аналоговый фильтр: 2. Фильтр порядка (40 дБ/декада). Частота фильтра < 8,8 Гц.
Что касается цифрового фильтра, вы можете фильтровать столько, сколько хотите, если не забываете о необходимом времени отклика.
Вы можете сэмплировать их от 2 до 20 раз в секунду, а затем вычислять скользящее среднее за секунду. ваше время отклика будет около секунды, и не должно быть никакого шума, если ваша электроника даже отдаленно разумна.
Если у вас нет интересной микротурбины и вы не хотите измерять точный расход топлива, вам вряд ли понадобится очень быстрый отклик от ваших фильтров или АЦП, если ваши датчики реагируют только на частоте от 1 до 10 Гц.
РЕДАКТИРОВАТЬ:
Если у вас есть или вы думаете, что у вас будет неслучайный электрический шум, намного превышающий разрешение, более чем в 5 раз превышающее разрешение, которое вам действительно нужно (а не то, что можно рассчитать), вы можете получить преимущество, добавив аналоговую фильтрацию. Частота среза должна быть около половины вашей частоты дискретизации.
Однако любая фильтрация нижних частот выше желаемой частоты отклика будет преимуществом, хотя цифровой усредняющий фильтр уже является фильтром нижних частот, который может устранить множество источников случайного шума. если у вас есть шум, близкий к некоторому кратному частоте дискретизации, то наложенный шум может вызвать биение на выходе, которого на самом деле нет, аналоговый входной фильтр минимизирует этот риск.
Арсенал
Висенте Кунья
пользователь6363
Шон Хулихейн
пользователь6363
Арсенал
Шон Хулихейн
Джейматернер