Оперативная оптимизация является методом оптимизации памяти, который использует один буфер, то есть, та же память, чтобы сохранить входные и выходные данные. Каждый раз существует посредническое выходное значение в алгоритме, тот же буфер перезаписывается, чтобы сохранить это значение. Этот метод оптимизирует использование памяти и генерирует код, который использует очень меньше памяти.
Эти после функций в DSP System Toolbox™ поддерживают оперативную оптимизацию памяти.
Чтобы проиллюстрировать метод оперативной оптимизации, рассмотрите эту модель, которая содержит последовательность три, связанные блоки Discrete FIR Filter. Каждый блок фильтрует вход, это получает и генерирует выход, который является одного размера с входом.
Когда вы генерируете код из такой модели, вы видите оперативную оптимизацию в сгенерированном коде.
Этот раздел показывает оперативный оптимизированный сгенерированный код. Три for
циклы с индексом итерации n соответствуют соответствующему блоку Discrete FIR Filter в модели Simulink®. В каждом из этих трех for
циклы, фильтр выход вычисляется и хранится в m3fir_Y.Output [] буфер. m3fir_Y.Output [] буфер переписывает свое значение каждый раз, когда блок Discrete FIR Filter имеет обновленный выход.
Сгенерированный код снова использует буфер вывода и следовательно эффективен и использует меньше памяти.
Когда вы генерируете код из алгоритма MATLAB®, содержащего последовательность dsp.FIRFilter
объекты, вы видите подобную оптимизацию в сгенерированном коде.
codegen
(MATLAB Coder)