Simulink® Coder™ генерирует автономный C и Код С++ из моделей Simulink для развертывания в большом разнообразии приложений. Рабочий процесс, описанный в этой теме, использует функции DSP System Toolbox™, но тот же рабочий процесс запрашивает Communications Toolbox™. Для списка функций Communications Toolbox, поддерживавших Simulink Coder, смотрите Блоки, Поддержанные для генерации кода C.
Этот пример генерирует код С от ex_codegen_dsp
модель и сборки исполняемый файл от сгенерированного кода. Можно запустить исполняемый файл в среде MATLAB®. Кроме того, можно группировать и переместить код к другой среде разработки, которая не имеет MATLAB и продуктов Simulink установленными.
ex_codegen_dsp
модель реализует простой адаптивный фильтр, чтобы удалить шум из сигнала, одновременно идентифицируя фильтр, который характеризует шумовое содержимое частоты. Чтобы открыть эту модель, введите следующую команду в командную строку MATLAB:
open_system('ex_codegen_dsp')
Можно альтернативно создать модель с помощью шаблона DSP System. Для получения дополнительной информации смотрите, Конфигурируют окружение Simulink для Моделей Обработки сигналов (DSP System Toolbox).
Подготовьте модель к генерации кода путем определения настроек генерации кода в диалоговом окне Configuration Parameters. Выберите соответствующий решатель и цель генерации кода, и проверяйте настройку модели на КПД выполнения. Для получения дополнительной информации о каждом из этих шагов смотрите, Генерируют код С для Модели (Simulink Coder).
Симулируйте модель. Time Scope показывает вход и отфильтровал характеристики сигнала.
Array Plot показывает последние 32 веса фильтра, к которым фильтр LMS эффективно адаптировался и отфильтровал шум от сигнала.
К этим коэффициентам можно также получить доступ с помощью следующей команды:
filter_wts(:,:,1201)
Прежде чем вы сгенерируете код из модели, необходимо сначала гарантировать, что у вас есть разрешение записи в вашей текущей папке.
Чтобы сгенерировать код, необходимо внести следующие изменения:
Во вкладке Modeling панели инструментов модели нажмите Model Settings. Диалоговое окно Configuration Parameters открывается. Перейдите к вкладке Code Generation, выберите параметр Generate code only и нажмите Apply.
В галерее Apps нажмите Simulink Coder. Вкладка C Code появляется. Кликните по значку Generate Code ().
После того, как модель закончила генерировать код, Code Generation Report появляется, позволяя вам смотреть сгенерированный код. Обратите внимание на то, что процесс сборки создает новую подпапку под названием ex_codegen_dsp_grt_rtw
в вашем текущем MATLAB рабочая папка. Эта подпапка содержит все файлы, созданные процессом генерации кода, включая тех, которые содержат сгенерированный исходный код C. Для получения дополнительной информации о просмотре сгенерированного кода смотрите, Генерируют код С для Модели (Simulink Coder).
Чтобы создать исполняемый файл, необходимо настроить поддерживаемый компилятор C. Для списка компиляторов, поддержанных в текущем релизе, см. Поддерживаемые и Совместимые Компиляторы.
Чтобы настроить ваш компилятор, запустите следующую команду в командной строке MATLAB:
mex –setup
После того, как ваш компилятор является настройкой, можно создать и запустить скомпилированный код. ex_codegen_dsp модель в настоящее время сконфигурирована, чтобы сгенерировать код только. Чтобы создать сгенерированный код, необходимо сначала внести следующие изменения:
Во вкладке Modeling панели инструментов модели нажмите Model Settings. Диалоговое окно Configuration Parameters открывается. Перейдите к вкладке Code Generation, очистите параметр Generate code only и нажмите Apply.
Во вкладке C Code панели инструментов модели кликните по значку Build ().
Генератор кода создает исполняемый файл и генерирует Code Generation Report. Генератор кода помещает исполняемый файл в рабочую папку. На Windows исполняемым файлом является ex_codegen_dsp.exe
. На Linux исполняемым файлом является ex_codegen_dsp
.
Чтобы запустить сгенерированный код, введите следующую команду в командную строку MATLAB:
!ex_codegen_dsp
Выполнение сгенерированного кода создает MAT-файл, который содержит те же переменные как сгенерированные путем симуляции модели. Переменные в MAT-файле называют с префиксом rt_
. После того, как вы запустите сгенерированный код, можно загрузить переменные из MAT-файла путем ввода следующей команды в посдказке MATLAB:
load ex_codegen_dsp.mat
Можно теперь сравнить переменные из сгенерированного кода с переменными из симуляции модели. Чтобы получить доступ к последнему набору коэффициентов от сгенерированного кода, введите следующее в посдказку MATLAB:
rt_filter_wts(:,:,1201)
Обратите внимание на то, что коэффициенты в filter_wts(:,:,1201)
и rt_filter_wts(:,:,1201)
соответствие.
Для получения дополнительной информации о создании и выполнении исполняемого файла, смотрите, Генерируют код С для Модели (Simulink Coder).
Если вы генерируете код из своей модели Simulink, можно переместить код к другой среде разработки с помощью утилиты упаковывать-и-идти. Используйте эту утилиту, когда среда разработки не будет иметь продукты Simulink и MATLAB.
Утилита упаковывать-и-идти использует инструменты для настройки процесса сборки после генерации кода и packNGo
функционируйте, чтобы найти и группировать файлы для создания исполняемого изображения. Файлы группированы в сжатом файле, что можно переместить и распаковать использование стандартной утилиты zip.
Можно группировать код или использованием пользовательского интерфейса или при помощи интерфейса командной строки. Интерфейс командной строки обеспечивает больше управления деталями упаковки кода. Для получения дополнительной информации о каждом из этих методов смотрите, Перемещают Код к Другой Среде разработки (Simulink Coder).
Для примера о том, как группировать код С и исполняемый файл, сгенерированный из этого примера, смотрите, Перемещают Код, Сгенерированный от Модели Simulink до Другой Среды разработки (DSP System Toolbox).