реклама на сайте
подробности

 
 
> STM32F3 FPU для фильтрации, обработка данных с магнетометра и акселерометра
serjj
сообщение Jun 10 2015, 09:16
Сообщение #1


Знающий
****

Группа: Участник
Сообщений: 527
Регистрация: 4-06-14
Из: Санкт-Петербург
Пользователь №: 81 866



Всем доброго дня.
Еще немного нубских вопросов про stm от плисовода.. )
Есть STM32F303, который принимает данные с датчиков LSM303DLHC (магнетометр + акселерометр) и L3GD20 (гироскоп, на самом деле измеряет угловую скорость). Итого получается 9 каналов, предварительно: 3x220Гц, 3х50Гц, 3х95Гц. В силу низкочастотного характера измеряемых процессов, ставлю ФНЧ с достаточно узкой полосой. На каждом канале сначала делаю медианный фильтр с окном 7, а потом FIR фильтр с порядком 32-64. Все операции во floating point. Затем децимация всех каналов до 10 Гц и там окончательные рассчёты также в плавучке и передача данных "вверх". Вероятно, что какой-то еще значительной вычислительной нагрузки сверх описанной не будет. Пока проверял с фильтрами до 48 порядка по отдельным группам каналов, вроде все ок.
Интересуют вычислительные возможности FPU на борту - какие тут могут быть подводные камни при запуске всех каналов? Или если я захочу, например поднять порядки FIR фильтров до 64-128? Как правильно оценить его силы и на какой вычислительной загрузке лучше остановиться, чтобы не было неожиданных сюрпризов, когда он начнёт не успевать обрабатывать поток. Или я может быть зря беспокоюсь и такие полосы для него это фигня и смело можно лепить длинные фильтры?
Заранее благодарен!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
adnega
сообщение Jun 10 2015, 10:10
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(serjj @ Jun 10 2015, 12:16) *
Пока проверял с фильтрами до 48 порядка по отдельным группам каналов, вроде все ок.

Попробуйте вывести на пин время работы фильтра. Т.е. перед началом работы фильтра пин устанавливайте в единичку,
после работы фильтра пин устанавливайте в 0. Осциллографом можно посмотреть сколько мкс длится работа. Поделив на период можно получить загрузку CPU.
Сложив все нагрузки по всем фильтрам можно получить общую загрузку CPU.

Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 12:31
Рейтинг@Mail.ru


Страница сгенерированна за 0.01369 секунд с 7
ELECTRONIX ©2004-2016