在 Simulink 中生成在线参数估计代码
您可以使用 Simulink® Coder™ 和 Simulink PLC Coder™ 等产品,为 Recursive Least Squares Estimator 及其他在线估计模块生成 C/C++ 代码和结构化文本。Model Type Converter 模块(可与 Recursive Polynomial Model Estimator 模块配合使用)也支持代码生成。使用生成的代码,将在线模型估计部署到嵌入式目标设备上。例如,您可以根据测得的输入-输出数据估计时变被控对象的系数,并将这些系数输入到自适应控制器中。在通过仿真验证了在线估计结果后,您可以为 Simulink 模型生成代码,并将该代码部署到目标设备上。
要生成用于在线估计的代码,请按照以下工作流操作:
开发一个 Simulink 模型,用于仿真在线模型估计。例如,创建一个模型,该模型能够仿真输入/输出数据,对这些数据进行在线估计,并使用估计得到的参数值。
在仿真中验证了在线估计性能后,为在线估计模块创建一个子系统。如果对输入进行预处理或对参数估计值进行后处理,请将相关模块包含在子系统中。
将子系统转换为引用模型。您将为该被引用的模型生成代码,因此请确保该模型仅使用支持代码生成的模块。有关支持代码生成的模块列表,请参阅支持代码生成的模块 (Simulink Coder)。
该原始模型现在包含了一个模型引用,因此被称为顶层模型。
在顶层模型中,将模型的源和汇模块替换为相应的硬件模块。例如,将仿真的输入/输出模块替换为相应的硬件源模块。您为该模型生成代码,其中包含在线估计功能。因此,请确保它仅使用支持代码生成的模块。
为顶层模型生成代码。
另请参阅
Recursive Least Squares Estimator | Recursive Polynomial Model Estimator | Model Type Converter | Kalman Filter
主题
- Generate Code for Model Reference Hierarchy (Simulink Coder)
- 支持代码生成的模块 (Simulink Coder)