极值寻求控制年代pan>
实时计算控制器参数的目标函数最大化
- 库:年代trong>
金宝app仿真软件控制设计
描述
的<年代pan class="block">极值寻求控制年代pan>块曲调控制器参数最大化目标函数。极值寻找有用的控制器是模范自由自适应控制器适应未知系统动力学和未知从控制参数映射到一个目标函数。当寻求多个参数,<年代pan class="block">极值寻求控制年代pan>为每个参数块使用一个单独的调谐回路。
的<年代pan class="block">极值寻求控制年代pan>块搜索最优控制参数的调节(扰动)与正弦信号和解调结果的参数摄动目标函数。
配置极值寻找算法,设置适当的迫使频率解调和调制信号,学习速度,初始条件和参数。当配置,确保系统动力学在最快的时间尺度,扰动强迫频率中时间尺度,和滤波器截止频率慢的时间尺度。
您可以实现连续时间和离散时间极值寻找控制器。控制器的时域变化影响的时域高通滤波器、低通滤波器,和集成商用于调优循环。生成hardware-deployable代码<年代pan class="block">极值寻求控制年代pan>块,用离散时间控制器。
有关更多信息,请参见极值寻求控制。
港口
输入
J
——目标函数
标量年代pan>
控制系统的目标函数扰动的系统响应的摄动参数<年代trong class="guilabel">θ年代trong>。计算参数更新,阻塞过滤器和解调<年代trong class="guilabel">J年代trong>。
输出
θ
——摄动参数
标量|向量年代pan>
应用这些摄动参数(θ)你的控制系统。块使用目标函数产生的扰动<年代trong class="guilabel">J年代trong>计算参数更新。
如果<年代trong class="guilabel">参数的数量年代trong>是1
,<年代trong class="guilabel">θ年代trong>输出一个标量信号。否则,<年代trong class="guilabel">θ年代trong>输出向量信号长度<年代trong class="guilabel">参数的数量年代trong>。
theta_hat
——估计参数
标量|向量年代pan>
使用这个输出端口获得估计参数值(<年代pan class="inlineequation"> )前摄动的调制信号。
如果<年代trong class="guilabel">参数的数量年代trong>是1
,<年代trong class="guilabel">theta_hat年代trong>输出一个标量信号。否则,<年代trong class="guilabel">theta_hat年代trong>输出向量信号长度<年代trong class="guilabel">参数的数量年代trong>。
依赖关系
要启用这个输出端口,选择<年代trong class="guilabel">输出估计参数年代trong>。
参数
时间域
——时域滤波和积分器
连续时间年代trong>(默认)|<年代trong class="guilabel">离散时间年代trong>
指定的时域高通滤波器、低通滤波器,和集成商。
连续时间年代trong>——使用连续时间过滤器和集成商。
离散时间年代trong>——使用离散时间过滤器和集成商。使用指定样品时间<年代trong class="guilabel">样品时间年代trong>参数,并指定使用的集成方法<年代trong class="guilabel">积分法年代trong>参数。
编程使用
块参数:年代trong>“timeDomainStatus” |
类型:年代trong>特征向量年代pan> |
价值观:年代trong>连续时间的 |离散时间的 |
默认值:年代trong>连续时间的 |
样品时间
——离散滤波器和积分器样品时间
0.1
(默认)|有限积极的标量年代pan>
指定的样品时间离散高通滤波器,低通滤波器和集成商。
当优化多个参数,优化循环使用相同的样本。
依赖关系
要启用该参数,设置<年代trong class="guilabel">时间域年代trong>财产<年代trong class="guilabel">离散时间年代trong>。
编程使用
块参数:年代trong>“SampleTime” |
类型:年代trong>特征向量年代pan> |
价值观:年代trong>有限积极标量年代pan> |
默认值:年代trong>“0.1” |
积分器的方法
——离散积分法
向前欧拉
(默认)|向后欧拉
|梯形
您可以选择以下之一为离散时间集成商集成方法。
向前欧拉
:向后欧拉
:梯形
:
在这里:
y积分器的输出
u是输入
n是当前样本的时间吗
T<年代ub>年代年代ub>样品时间
优化多个参数时,集成商在所有优化循环使用相同的集成方法。
依赖关系
要启用该参数,设置<年代trong class="guilabel">时间域年代trong>财产<年代trong class="guilabel">离散时间年代trong>。
编程使用
块参数:年代trong>“IntegratorMethods” |
类型:年代trong>特征向量年代pan> |
价值观:年代trong>“向前欧拉” |“向后欧拉” |“梯形” |
默认值:年代trong>“向前欧拉” |
参数的数量
——参数的数量
1
(默认)|正整数小于或等于5年代pan>
您可以同时调整五参数。块使用单独为每个参数调谐回路。
编程使用
块参数:年代trong>“paramCount” |
类型:年代trong>特征向量年代pan> |
价值观:年代trong>正整数小于5年代pan> |
默认值:年代trong>' 1 ' |
初始条件x0
——初始参数值
0
有限标量(默认)| |向量年代pan>
初始参数值,对应参数的初始条件更新集成商。
如果<年代trong class="guilabel">参数的数量年代trong>是1
,指定<年代trong class="guilabel">初始条件年代trong>作为一个有限的标量。
为多个参数指定不同的初始条件,指定<年代trong class="guilabel">初始条件年代trong>作为一个向量的长度等于有限值<年代trong class="guilabel">参数的数量年代trong>。否则,为所有参数指定相同的初始条件,指定<年代trong class="guilabel">初始条件年代trong>作为一个有限的标量。
编程使用
块参数:年代trong>“initialVal” |
类型:年代trong>特征向量年代pan> |
价值观:年代trong>有限的标量|向量年代pan> |
默认值:年代trong>' 0 ' |
迫使频率ω(rad / s)
——迫使频率
1
(默认)|积极有限标量|向量年代pan>
指定的频率调制和解调信号弧度每秒。对于一个给定的参数优化循环,指定一个迫使频率的频率低于重要的系统动力学和高于高通和低通滤波器截止频率。
当调优一个参数,指定<年代trong class="guilabel">迫使频率年代trong>作为一个积极的有限的标量。
当调优多个参数,指定<年代trong class="guilabel">迫使频率年代trong>作为一个向量的长度等于积极有限值<年代trong class="guilabel">参数的数量年代trong>。每个迫使频率必须是唯一的,它允许extremum-seeking算法的收敛性。
编程使用
块参数:年代trong>“ω” |
类型:年代trong>特征向量年代pan> |
价值观:年代trong>积极的有限的标量|向量年代pan> |
默认值:年代trong>' 1 ' |
学习速率k
——参数更新率
1
(默认)|积极有限标量|向量年代pan>
学习速率是控制速度的增益系数块更新参数。
当调优一个参数,指定<年代trong class="guilabel">学习速率年代trong>作为一个积极的有限的标量。
优化多个参数时,您可以指定一个不同的学习速率参数调优循环。为此,指定<年代trong class="guilabel">学习速率年代trong>作为一个向量的长度等于积极有限值<年代trong class="guilabel">参数的数量年代trong>。否则,为所有指定相同的学习速率调整循环,指定<年代trong class="guilabel">学习速率年代trong>作为一个积极的有限的标量。
编程使用
块参数:年代trong>“获得” |
类型:年代trong>特征向量年代pan> |
价值观:年代trong>积极的有限的标量|向量年代pan> |
默认值:年代trong>' 1 ' |
解调振幅一
——解调信号幅度
1
(默认)|积极有限标量|向量年代pan>
指定用于解调信号的振幅目标函数。对于大多数应用程序,指定<年代trong class="guilabel">解调振幅年代trong>≫<年代trong class="guilabel">调制振幅年代trong>。这些振幅的产物,随着学习速率,控制算法的收敛速度。
当调优一个参数,指定<年代trong class="guilabel">解调振幅年代trong>作为一个积极的有限的标量。
当优化多个参数,您可以为每个参数指定一个不同的解调振幅调谐回路。为此,指定<年代trong class="guilabel">解调振幅年代trong>作为一个向量的长度等于积极有限值<年代trong class="guilabel">参数的数量年代trong>。否则,指定相同的振幅调谐回路,指定<年代trong class="guilabel">解调振幅年代trong>作为一个积极的有限的标量。
编程使用
块参数:年代trong>“demodAmp” |
类型:年代trong>特征向量年代pan> |
默认值:年代trong>' 1 ' |
解调相位phi_1 (rad)
——解调信号相位
0
(默认)|积极有限标量|向量年代pan>
指定阶段ϕ1年代ub>的信号解调弧度的目标函数。
当调优一个参数,指定<年代trong class="guilabel">解调相位年代trong>作为一个积极的有限的标量。
当优化多个参数,您可以为每个参数指定一个不同的解调相位调谐回路。为此,指定<年代trong class="guilabel">解调相位年代trong>作为一个向量的长度等于积极有限值<年代trong class="guilabel">参数的数量年代trong>。否则,指定相同的相位调谐回路,指定<年代trong class="guilabel">解调相位年代trong>作为一个积极的有限的标量。
解调和调制阶段必须满足的条件<年代pan class="inlineequation">cos (ϕ1年代ub>- - - - - -ϕ2年代ub>)> 0年代pan>。
编程使用
块参数:年代trong>“demodPhase” |
类型:年代trong>特征向量年代pan> |
价值观:年代trong>积极的有限的标量|向量年代pan> |
默认值:年代trong>' 0 ' |
调制振幅b
——调制信号幅度
0.1
(默认)|积极有限标量|向量年代pan>
扰动信号的幅值添加到估计参数。对于大多数应用程序,指定<年代trong class="guilabel">调制振幅年代trong>≪<年代trong class="guilabel">解调振幅年代trong>。这些振幅的产物,随着学习速率,控制算法的收敛速度。
当调优一个参数,指定<年代trong class="guilabel">调制振幅年代trong>作为一个积极的有限的标量。
当优化多个参数,您可以为每个参数指定一个不同的调制振幅调谐回路。为此,指定<年代trong class="guilabel">调制振幅年代trong>作为一个向量的长度等于积极有限值<年代trong class="guilabel">参数的数量年代trong>。否则,指定相同的振幅调谐回路,指定<年代trong class="guilabel">调制振幅年代trong>作为一个积极的有限的标量。
编程使用
块参数:年代trong>“modAmp” |
类型:年代trong>特征向量年代pan> |
价值观:年代trong>积极的有限的标量|向量年代pan> |
默认值:年代trong>“0.1” |
调制相位phi_2 (rad)
——调制信号相位
0
(默认)|积极有限标量|向量年代pan>
阶段ϕ2年代ub>扰动信号的估计参数,指定的弧度。你必须选择解调相位ϕ1年代ub>和调制阶段ϕ2年代ub>这样<年代pan class="inlineequation">cos (ϕ1年代ub>- - - - - -ϕ2年代ub>)> 0年代pan>。
当调优一个参数,指定<年代trong class="guilabel">调制阶段年代trong>作为一个积极的有限的标量。
优化多个参数时,您可以指定一个不同的调制为每个参数调优阶段循环。为此,指定<年代trong class="guilabel">调制阶段年代trong>作为一个向量的长度等于积极有限值<年代trong class="guilabel">参数的数量年代trong>。否则,指定相同的相位调谐回路,指定<年代trong class="guilabel">调制阶段年代trong>作为一个积极的有限的标量。
编程使用
块参数:年代trong>“modPhase” |
类型:年代trong>特征向量年代pan> |
价值观:年代trong>积极的有限的标量|向量年代pan> |
默认值:年代trong>' 0 ' |
使高通滤波器
-使目标函数信号的高通滤波
从
(默认)|在
选择这个参数来启用一个高通滤波器,从目标函数中删除任何信号偏差信号解调前阶段。指定滤波器截止频率,使用<年代trong class="guilabel">高通滤波器的频率年代trong>参数。
编程使用
块参数:年代trong>“highPassEnable” |
类型:年代trong>特征向量年代pan> |
价值观:年代trong>“关闭” |“上” |
默认值:年代trong>“关闭” |
高通滤波器频率omega_h (rad / s)
——高通滤波器截止频率
1
(默认)|积极有限标量|向量年代pan>
截止频率ω<年代ub>h年代ub>中指定高通滤波的目标函数信号,弧度每秒。对于一个给定的参数优化循环,指定一个截止频率等<年代pan class="inlineequation">ω<年代ub>h年代ub><ω/ (2π)年代pan>,在那里ω是相应的频率。
当调优一个参数,指定<年代trong class="guilabel">高通滤波器的频率年代trong>作为一个积极的有限的标量。
当优化多个参数,您可以为每个参数指定一个不同的频率调谐回路。为此,指定<年代trong class="guilabel">高通滤波器的频率年代trong>作为一个向量的长度等于积极有限值<年代trong class="guilabel">参数的数量年代trong>。否则,指定相同的频率调谐回路,指定<年代trong class="guilabel">高通滤波器的频率年代trong>作为一个积极的有限的标量。
依赖关系
要启用该参数,选择<年代trong class="guilabel">使高通滤波器年代trong>参数。
编程使用
块参数:年代trong>“highPassCutoff” |
类型:年代trong>特征向量年代pan> |
价值观:年代trong>积极的有限的标量|向量年代pan> |
默认值:年代trong>' 1 ' |
使滤波器
——使低通滤波解调信号
从
(默认)|在
选择这个参数来启用一个低通滤波器去除高频组件参数更新前的解调信号阶段。指定滤波器截止频率,使用<年代trong class="guilabel">通滤波器频率年代trong>参数。
依赖关系
要启用该参数,选择<年代trong class="guilabel">使滤波器年代trong>参数。
编程使用
块参数:年代trong>“lowPassEnable” |
类型:年代trong>特征向量年代pan> |
价值观:年代trong>“关闭” |“上” |
默认值:年代trong>“关闭” |
通滤波器频率omega_l (rad / s)
低通滤波器截止频率ω<年代ub>l年代ub>
1
(默认)|积极有限标量|向量年代pan>
截止频率ω<年代ub>l年代ub>低通滤波解调信号,指定的弧度每秒。对于一个给定的参数优化循环,指定一个截止频率等<年代pan class="inlineequation">ω<年代ub>l年代ub>>ω/ (2π)年代pan>,在那里ω是相应的频率。
当调优一个参数,指定<年代trong class="guilabel">通滤波器频率年代trong>作为一个积极的有限的标量。
当优化多个参数,您可以为每个参数指定一个不同的频率调谐回路。为此,指定<年代trong class="guilabel">通滤波器频率年代trong>作为一个向量的长度等于积极有限值<年代trong class="guilabel">参数的数量年代trong>。否则,指定相同的频率调谐回路,指定<年代trong class="guilabel">通滤波器频率年代trong>作为一个积极的有限的标量。
依赖关系
要启用该参数,选择<年代trong class="guilabel">使滤波器年代trong>参数。
编程使用
块参数:年代trong>“lowPassCutoff” |
类型:年代trong>特征向量年代pan> |
价值观:年代trong>积极的有限的标量|向量年代pan> |
默认值:年代trong>' 1 ' |
输出估计参数
——添加估计参数输出端口
从
(默认)|在
选择要添加这个参数<年代trong class="guilabel">theta_hat年代trong>输出端口。
编程使用
块参数:年代trong>estimatedVarOn |
类型:年代trong>特征向量年代pan> |
价值观:年代trong>“关闭” |“上” |
默认值:年代trong>“关闭” |
模型的例子
<年代ection class="example_short_list">扩展功能
C / c++代码生成
使用仿真软件生成C和c++代码®编码器™。金宝app年代pan>
的<年代pan class="block">极值寻求控制年代pan>块只支持双精金宝app度的代码生成的信号。
在快速加速器模式下运行时,<年代pan class="block">极值寻求控制年代pan>不支持数据块记录。金宝app
生成hardware-deployable代码<年代pan class="block">极值寻求控制年代pan>块,用离散时间控制器。为此,设置<年代trong class="guilabel">时间域年代trong>参数<年代trong class="guilabel">离散时间年代trong>。
版本历史
介绍了R2021a年代trong>
另请参阅
主题
MATLAB命令
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。金宝app
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。