主要内容

生成C代码金宝app模型

金宝app®编码器™从Simulink模型生成独立的C和c++代码,用于在各种应用程序中部署。金宝app有关DSP系统工具箱的列表™ 支持的功能金宝app金宝app仿真软件编码器,请参阅C代码生成支持金宝app的块

此示例从ex_codegen_dsp对生成的代码进行建模并构建可执行文件。您可以在MATLAB中运行可执行文件®此外,您可以将代码打包并重新定位到另一个未安装MATLAB和Simulink产品的开发环境中。下载188bet金宝搏金宝app

打开模型

ex_codegen_dsp模型实现了一个简单的自适应滤波器,以去除信号中的噪声,同时识别出具有噪声频率内容特征的滤波器。要打开该模型,在MATLAB命令提示符中输入以下命令:

开放式系统(“ex_codegen_dsp”

模型图的快照。有两个输入块,正弦波块和随机源块。正弦波块的输出作为时间范围块的第一个输入。随机源块的输出馈送到归一化LMS滤波器块的输入信号端口。同样的输出也使用低通滤波器块进行低通滤波。该低通滤波输出馈送至LMS滤波器块的所需信号端口。噪声低通滤波信号被添加到正弦波的输出,并被馈送到时间范围块的第二个输入端口。归一化LMS块的输出从带噪正弦波信号中减去,并馈送时间范围块的第三个输入。归一化LMS块的误差信号馈送时间范围块的第四输入。LMS过滤器块计算的权重馈送到阵列绘图块,并作为“过滤器”参数存储到工作区。

您也可以使用DSP系统模板。有关详细信息,请参阅为信号处理模型配置Simul金宝appink环境

为代码生成配置模型

属性中指定代码生成设置,为代码生成准备模型配置参数对话框。选择适当的求解器和代码生成目标,并检查模型配置的执行效率。有关每个步骤的详细信息,请参见为模型生成C代码(金宝app仿真软件编码器)

模拟模型

模拟模型。这个时间范围显示输入信号和滤波信号的特性。

时间范围块的输出。第一个信号是原始的正弦信号。第二种信号是带有低频噪声的正弦信号。第三个信号是输入信号的近似。第四个信号是归一化LMS滤波器块产生的误差信号。

阵列图显示了LMS滤波器有效适应并滤除信号噪声的最后32个滤波器权重。

y轴标记为过滤器权重,范围从-0.2到0.6,x轴标记为权重数量,范围从0到32。

还可以使用以下命令访问这些系数:

filter_wts (:,:, 1201)

从模型生成代码

从模型生成代码之前,必须首先确保您在当前文件夹中具有写入权限。

要生成代码,您必须进行以下更改:

  1. 建模在“模型”工具条的选项卡上,单击模型设置这个配置参数对话框打开。导航到代码生成选项卡中,选择只生成代码参数,然后单击应用

  2. 在应用程序库中,单击金宝app仿真软件编码器这个C代码选项卡出现了。单击生成代码图标().

模型完成生成代码后代码生成报告出现,允许您检查生成的代码。请注意,构建过程创建了一个名为ex_codegen_dsp_grt_rtw在当前的MATLAB工作文件夹中。此子文件夹包含代码生成过程创建的所有文件,包括包含生成的C源代码的文件。有关查看生成的代码的更多信息,请参阅为模型生成C代码(金宝app仿真软件编码器)

生成并运行生成的代码

建立C/ c++编译器

要构建可执行文件,必须设置受支持的C编译器。金宝app有关当前版本支持的编译器列表,请参见金宝app金宝app支持的和兼容的编译器

要设置编译器,请在MATLAB命令提示符中运行以下命令:

墨西哥设置

构建生成的代码

安装编译器之后,就可以构建并运行编译后的代码了。的ex_codegen_dsp模型当前配置为仅生成代码。若要生成生成的代码,必须首先进行以下更改:

  1. 建模在“模型”工具条的选项卡上,单击模型设置这个配置参数对话框打开。导航到代码生成选项卡上,清晰的只生成代码参数,然后单击应用

  2. C代码选项卡的模型工具条,单击建筑图标().

代码生成器构建可执行文件并生成代码生成报告这个code generator places the executable in the working folder. On Windows, the executable isex_codegen_dsp.exe. 在Linux上,可执行文件是ex_codegen_dsp

运行生成的代码

要运行生成的代码,请在MATLAB命令提示符中输入以下命令:

ex_codegen_dsp !

运行生成的代码将创建一个mat文件,该文件包含与模拟模型生成的变量相同的变量。mat文件中的变量以前缀命名rt_.运行生成的代码后,您可以通过在MATLAB提示符下输入以下命令,从mat -文件加载变量:

负载ex_codegen_dsp.mat

现在您可以将生成的代码中的变量与模型模拟中的变量进行比较。要从生成的代码中访问最后一组系数,在MATLAB提示符中输入以下内容:

rt_过滤器_wts(:,:,1201)

请注意,中的系数filter_wts (:,:, 1201)rt_过滤器_wts(:,:,1201)匹配。

有关构建和运行可执行文件的详细信息,请参见为模型生成C代码(金宝app仿真软件编码器)

将代码重新定位到另一个开发环境

一旦您从您的Simulink模型生成了代码,您就可以使用打包即用实金宝app用程序将代码重新定位到另一个开发环境中。当开发环境没有MATLAB和Simulink产品时,使用此工具。下载188bet金宝搏金宝app

打包实用程序使用这些工具在代码生成和packNGo(金宝app仿真软件编码器)函数用于查找和打包用于构建可执行映像的文件。这些文件打包在压缩文件中,您可以使用标准zip实用程序重新定位和解压缩。

您可以使用用户界面或命令行界面打包代码。命令行界面提供了对代码打包细节的更多控制。有关每种方法的详细信息,请参阅将代码重新定位到另一个开发环境(金宝app仿真软件编码器)

有关如何打包该示例生成的C代码和可执行文件的示例,请参见将从Simulink模型生成的代码重新放置到另一个开发环境中金宝app

相关话题

外部网站