Оглавление:
Видео: КИХ-фильтрация для более надежного определения частоты: 5 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:48
Я действительно большой поклонник инструкций Akellyirl о надежном обнаружении частоты с использованием методов DSP, но иногда метод, который он использовал, недостаточно хорош, если у вас есть измерения с шумом.
Одно простое решение, позволяющее получить более чистый входной сигнал для частотного детектора, - это применить какой-то фильтр вокруг частоты, которую вы хотите обнаружить.
К сожалению, создать цифровой фильтр непросто, и здесь требуется довольно много математики. Поэтому я подумал о создании какой-то программы, которая упростит создание таких фильтров, чтобы позволить любому использовать их в своих проектах, не вдаваясь в подробности.
В этом руководстве я собираюсь обнаружить синусоидальную волну 50 Гц в шумных измерениях с помощью Arduino Uno (Arduino на самом деле не требуется).
Шаг 1. Проблема
Представьте, что измеренные входные данные выглядят как приведенная выше кривая - довольно шумно.
Если мы сконструируем простой частотный детектор, подобный тому, что есть в инструкции Akellyirl, результатом будет «-inf» или, в случае приведенного ниже кода: «Да, слишком много шума…»
Примечание: я использовал почти весь код akellyirl, но добавил вверху массив rawData, содержащий зашумленные измерения.
Ниже вы можете найти весь код в файле под названием «uniltered.ino».
Шаг 2: решение
Поскольку входные данные зашумлены, но мы знаем частоту, которую мы ищем, мы можем использовать созданный мной инструмент под названием easyFIR, чтобы создать полосовой фильтр и применить его к входным данным, что приводит к гораздо более чистому входу для частотного детектора (изображение выше).
Шаг 3: EasyFIR
Инструмент easyFIR довольно прост в использовании, просто скачайте репозиторий GitHub и запустите файл easyFIR.py с одним образцом ваших измерений (в формате CSV).
Если вы откроете файл easyFIR.py, вы найдете 5 параметров (см. Изображение выше), которые вы можете и должны изменить в зависимости от желаемого результата. После того, как вы настроили 5 параметров и запустили файл python, вы увидите рассчитанные коэффициенты в своем терминале. Эти коэффициенты имеют решающее значение для следующего шага!
Более подробную информацию о точном использовании можно найти здесь:
Шаг 4: фильтрация
Теперь, если вы рассчитали необходимые коэффициенты фильтра, довольно легко применить фактический фильтр к частотному детектору.
Как вы можете видеть на изображении выше, вам нужно только добавить коэффициенты, функцию applyFilter и затем отфильтровать входные измерения.
Ниже вы можете найти весь код в файле под названием «filter.ino».
Примечание: большое спасибо этому сообщению о переполнении стека за отличный алгоритм применения фильтров!
Шаг 5: наслаждайтесь
Как видите, теперь мы можем обнаруживать сигнал 50 Гц даже в шумной среде?
Не стесняйтесь адаптировать мою идею и код к вашим потребностям. Буду очень признателен за ваши доработки!
Если вам понравится моя работа, я был бы очень признателен, если бы вы поддержали мою работу со звездой на GitHub!
Спасибо за поддержку!:)
Рекомендуемые:
Машина для определения цвета: 4 шага
Машина для определения цвета: машина для определения цвета копирует цвета вокруг вас и позволяет вам рисовать с их помощью. Если у вас есть краска основных цветов, вы можете использовать датчик цвета RGB, чтобы определить нужный цвет и смешать его. Но помните, используйте объект яркого цвета
Перчатка для определения проводимости: 6 шагов
Перчатка для определения проводимости: Применение: 1. Тестирование светодиодного освещения 2. Поиск и устранение неисправностей схем 3. Тестирование носимых технологий 4. Расходные материалы для проверки проводимости (мобильные): 1. Перчатка (Ткань: трикотаж) 2. BBC MicroBit3. Питание (аккумулятор) 4. Проводящая нить 5. Игла 6. Ножницы
Измерение частоты пульса на кончике пальца: фотоплетизмографический подход к определению частоты пульса: 7 шагов
Измерение частоты пульса на кончике пальца: фотоплетизмографический подход к определению частоты пульса: фотоплетизмограф (ФПГ) - это простой и недорогой оптический метод, который часто используется для обнаружения изменений объема крови в микрососудистом ложе ткани. В основном он используется неинвазивно для измерения на поверхности кожи, обычно
Сделайте ультразвуковое устройство для обнаружения и определения дальности дома: 7 шагов (с изображениями)
Сделайте дома ультразвуковое устройство для обнаружения и определения дальности: Привет! Я Сураб Кумар, я очень хотел сделать тревожный радар, но это не удалось, я попробую еще раз, но сегодня я расскажу вам, как сделать ультразвуковое устройство обнаружения и определения дальности дома с использованием ультразвукового датчика (трансивера), я знаю, что есть много про
Проверка частоты вращения для мини-двигателя постоянного тока: 11 шагов (с изображениями)
RPM Checker for Mini Motor Dc: Число оборотов в минуту, кратко - это скорость вращения, выраженная в оборотах в минуту. в инструментах для измерения частоты вращения обычно используется тахометр. В прошлом году я нашел интересный проект, сделанный electro18, и это моё вдохновение поучительно, он был зол