#signal-processing #microcontroller
#обработка сигналов #микроконтроллер
Вопрос:
При проектировании встроенной системы, как я могу определить в целом, когда требуемая обработка с плавающей запятой будет слишком большой для стандартного микроконтроллера?
На случай, если кому-то интересно, система, которую я разрабатываю, представляет собой фильтр Калмана и некоторое управление двигателем. Тем не менее, я ищу инженерную методологию для общего случая.
Комментарии:
1. вы создаете его и смотрите, что происходит? Или вы анализируете свой дизайн и смотрите, не ниже ли его требования к обработке, которые может обеспечить ваш контроллер. Поскольку вы не предоставили никаких подробностей о своей системе, мы не можем вам помочь.
2. Обычно вы выполняете некоторый базовый анализ используемого вами алгоритма (сколько арифметических операций на выборку и т. Д.), Затем Вводите некоторые числа, такие как частота дискретизации и т. Д. Также вы можете отдельно рассмотреть, нужны ли вам какие-либо специальные функции DSP, например, адресация по модулю, адресация с обращением по битам, фиксированная точка, встроенный ввод-вывод и т.д.
Ответ №1:
Общий способ выяснить, может ли данный процессор решить вашу проблему, состоит в том, чтобы оценить количество операций с плавающей запятой, которые должны выполняться в секунду, а затем сравнить его с тем, что может сделать процессор.
На этот идеальный случай будут влиять время доступа к памяти, прерывания ввода-вывода и т. Д. На практике вам придется его запускать (хотя вы не хотите этого слышать).
Для случая фильтра Калмана: 1. Знать частоту дискретизации, размер переменной состояния и переменной измерения. 2. Сложность фильтра Калмана определяется инверсией матрицы и многократным умножением матрицы. (O (d ^ 3), d: размер переменной состояния или информационный фильтр (обратная задача): O (z ^ 3), z: размер измерения-вектор) Онлайн или в книгах вы найдете подробный анализ операций, необходимых для фильтров Калмана. 3. Выясните, какие фактические операции выполняются в алгоритмах, и добавьте количество операций, необходимых для каждой части алгоритма.
Анализ, по сути, одинаков для обычного микроконтроллера или DSP, за исключением того, что некоторые вещи поставляются бесплатно на DSP.
Комментарии:
1. В EWARM от IAR есть симулятор, в котором вы можете компилировать и запускать свой код. Затем вы можете запустить профилировщик функций, чтобы получить общее количество инструкций для него. Это хороший ресурс для оценки требований к процессору для ARM.