Чтобы настроить модель Simulink ® для создания кода SIMD :
На вкладке «Моделирование» панели инструментов модели выберите «Параметры модели».
![]()
В открывшемся диалоговом окне Параметры конфигурации (Configuration Parameters) на панели Создание кода (Code Generation) задайте для целевого системного файла значение ert.tlc.

В разделе «Создание кода» на панели «Интерфейс» задайте для библиотек замены кода значение Intel AVX (Windows) или Intel AVX (Linux). С помощью этих библиотек можно создать код, который обрабатывает больше данных в одной инструкции. Дополнительные сведения о библиотеках замены кода см. в разделе Что такое замена кода? (Встроенный кодер).

В окне модели инициируйте создание кода и процесс построения модели, используя одну из следующих общих опций:
Нажмите кнопку «Построить модель».
Нажмите Ctrl + B.
Пример выбора целевого файла системы для модели Simulink и создания кода C для встраиваемых систем см. в разделе Создание кода с помощью встроенного кодера ® (Embedded Coder).
Код SIMD создается с использованием технологии Intel ® AVX2. Технология Intel AVX2 SIMD значительно повышает производительность кода, генерируемого поддерживаемыми алгоритмами на платформах Intel, в большинстве случаев удовлетворяя или превышая производительность моделирования и простого кода C.
Рассмотрим модель Simulink, которая моделирует цифровую систему связи. Модель содержит корневой косинусный фильтр на стороне передатчика и приемника, пару блоков FIR интерполяции и FIR децимации для увеличения и уменьшения частоты дискретизации сигнала, соответственно, и аддитивный канал связи белого гауссова шума (AWGN) для передачи сигнала. Корневые косинусные фильтры с обеих сторон выполняют согласованную фильтрацию. Комбинированный отклик двух корневых косинусных фильтров образует приподнятый косинусный фильтр, который помогает минимизировать межсимвольные помехи (ISI). Благодаря согласованной фильтрации сигнал, принятый на выходе, имеет высокое отношение сигнал/шум (SNR) и низкую вероятность ошибки. Для подтверждения просмотрите выходные данные на следующей диаграмме созвездия.
Чтобы открыть модель, введите ex_qam_matchedfilter в командной строке MATLAB ®.

На вкладке Модель (Modeling) модели щелкните Параметры модели (Model Settings). В открывшемся окне параметров конфигурации в разделе Создание кода (Code Generation) на панели Интерфейс (Interface) задайте для параметра Библиотеки замены кода (Code replacement libraries) значение None. Создайте модель, и этот параметр создаст исполняемый файл кода С в текущем каталоге MATLAB. Измерьте время, необходимое для запуска исполняемого файла.
tic;
system('ex_qam_matchedfilter');
tplain = toctplain = 42.64
Повторите процесс, установив для библиотеки замены кода значение Intel AVX (Windows) или Intel AVX (Linux), в зависимости от используемой платформы. Создайте модель и измерьте время, необходимое для запуска созданного исполняемого файла.
tic;
system('ex_qam_matchedfilter');
tAVX2 = toctAVX2 = 14.67
Генерируемый код SIMD составляет около 3 раз по сравнению с обычным кодом C на компьютере с ОС Windows ® 10.