Оперативная оптимизация является методом оптимизации памяти, который использует один буфер, то есть, та же память, чтобы сохранить входные и выходные данные. Каждый раз существует посредническое выходное значение в алгоритме, тот же буфер перезаписывается, чтобы сохранить это значение. Этот метод оптимизирует использование памяти и генерирует код, который использует очень меньше памяти.
Эти после функций в 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)