Тема: РЕАЛИЗАЦИЯ ФИЛЬТРА КАЛМАНА ДЛЯ ОБРАБОТКИ ЭЛЕКТРИЧЕСКИХ СИГНАЛОВ НА МИКРОКОНТРОЛЛЕРЕ ARM STM32F407
Закажите новую по вашим требованиям
Представленный материал является образцом учебного исследования, примером структуры и содержания учебного исследования по заявленной теме. Размещён исключительно в информационных и ознакомительных целях.
Workspay.ru оказывает информационные услуги по сбору, обработке и структурированию материалов в соответствии с требованиями заказчика.
Размещение материала не означает публикацию произведения впервые и не предполагает передачу исключительных авторских прав третьим лицам.
Материал не предназначен для дословной сдачи в образовательные организации и требует самостоятельной переработки с соблюдением законодательства Российской Федерации об авторском праве и принципов академической добросовестности.
Авторские права на исходные материалы принадлежат их законным правообладателям. В случае возникновения вопросов, связанных с размещённым материалом, просим направить обращение через форму обратной связи.
📋 Содержание
Глава 1. Фильтр Калмана 5
1.1 Линейная задача. Основные понятия 6
1.2 Коэффициент обратной связи 8
1.3 Коррекция значения ковариационной матрицы ошибки оценки вектора
состояния 9
1.4 Фильтр Калмана для нелинейных систем (расширенный фильтр) 10
1.5 Использование фильтра Калмана 12
1.6 Проблема адаптивного фильтра. Метод “Уточнение ковариации” 13
Глава 2. Микроконтроллеры фирмы STMicroelectronics семейства STM32F407 16
2.1 Общая информация о микроконтроллерах 16
2.2 Обзор семейства микроконтроллеров STM32F407 21
2.3 Архитектура микроконтроллеров STM32F407 25
2.4 Тактирование и запуск микроконтроллера. Схема питания 36
2.5 Обзор средств разработки и отладки 39
Глава 3. Реализация проекта и разработка кода 44
3.1 Создание проекта и выполнение необходимых настроек 44
3.2 Реализация фильтра Калмана и анализ результатов 50
Заключение 57
Литература 58
Приложение
📖 Введение
Цифровая обработка сигналов выделяется из других областей знаний вычислительной техники уникальным типом данных, который она использует - сигналы. В большинстве случаев эти сигналы представляют собой информацию от датчиков из окружающего мира: сейсмические колебания, визуальные изображения, звуковые волны и т.п. ЦОС представляет собой математику, алгоритмы и методы, используемые для обработки этих сигналов, после того как они были переведены в дискретную форму. Обработка может содержать в себе несколько задач: улучшение визуального отображения, распознавание и синтез речи, сжатие данных для их хранения и передачи и др. В данной работе данные представляют собой выборку из аналого-цифрового преобразователя (ЦАП) микроконтроллера STM32F407 фирмы STMicroelectronics.
STM32 - это микроконтроллер, построенный на ядре ARM Cortex-M4 [2]. Данное ядро имеет много преимуществ, но его основное преимущество на сегодняшний день - универсальность. Эти микроконтроллеры стали новым эталоном по уровню рабочих характеристик и стоимости. Кроме того, они могут использоваться в применениях с малым энергопотреблением и жесткими требованиями к характеристикам управления в масштабе реального времени. Поэтому, разработка универсальных решений (функций, библиотек) для этих устройств является весьма актуальной задачей.
Любой измерительный прибор обладает некоторой погрешностью, на него может оказывать влияние большое количество внешних и внутренних воздействий, что приводит к тому, что информация с него оказывается зашумленной. Чем сильнее зашумлены данные, тем сложнее обрабатывать такую информацию.
Фильтр — это алгоритм обработки данных, который убирает шумы и лишнюю информацию. В фильтре Калмана есть возможность задать априорную информацию о характере системе, связи переменных и на основании этого строить более точную оценку, но даже в простейшем случае (без ввода априорной информации) он дает отличные результаты.
В связи с этим целью данной работы является реализация фильтра Калмана для обработки электрических сигналов на ARM-микроконтроллере STM32F407.
Для достижения поставленной цели необходимо решить следующие задачи:
1. Изучение алгоритма фильтрации электрических сигналов с помощью фильтра Калмана.
2. Определение требований к фильтру, выбор типа и коэффициентов. Выбор структурной формы.
3. Изучение основ программирования микроконтроллеров семейства STM32F407.
4. Изучение средств разработки для микроконтроллеров STM32F407.
5. Конфигурирование микроконтроллера STM32F407 под задачи фильтра Калмана.
6. Разработка рабочего кода.
✅ Заключение
1. Изучен алгоритм фильтрации электрических сигналов с помощью фильтра Калмана.
2. Изучены основы программирования микроконтроллеров семейства STM32F407.
3. Изучены средства разработки и отладки для микроконтроллеров STM32F407.
4. Разработан проект, сконфигурирован и запрограммирован микроконтроллер STM32F407 под задачи фильтра Калмана.
5. Реализован в коде С фильтр Калмана.
В результате проделанной работы была написана библиотека на языке программирования «Си», содержащая достаточно простой и эффективный алгоритм, очищающий сигнал от шума. Несмотря на конечность разрядности вычислительного ядра, данные, отфильтрованные с помощью микроконтроллера, не отличались от данных, обработанных на ПК в пакете MathLab (при использовании 64-х разрядной ОС Windows). Этот инструмент может быть использован не только для фильтрации шумов с АЦП, но и во многих других приложениях.



