matlab的素描代码Arduino的自适应Hopf频率振荡器演示
Arduino的adaptiveFreqOsc项目是一个自学习算法的迷人示例。
Ijspeert
[1]提出了一个Hopf频率振荡器,并为其添加了一个额外的状态变量,以迫使振荡器跟随任何周期性的输入信号。
换句话说,这种类型的振荡器可以调整其参数以学习周期性输入信号的频率。
这里展示的Arduino草图是此类振荡器的实际实现示例。
首先,将来自Ijspeert的模型离散化,使其可以在Arduino上运行。
离散化的含义是,振荡器将不再与任何周期性输入信号同步。
必须考虑采样频率。
电流输出和振荡器输入之间的频率差越大,振荡器收敛到所需输入频率所需的时间就越长。
首先,尝试仅在输出和输入之间只有十分之一赫兹的差异的情况下学习振荡器,并使用Eps(ilon),gamma和mu的参数值来进行学习。
收敛后,带走输入信号,最后施加的输入频率将在系统中保持编码状态。
包含的Matlab脚本文件adaptive_Hopf.m用于Arduino的C代码的开发。
该脚本可用于在Arduino中实现振荡器之前调整振荡器参数。
无花果图1
2022-09-13 15:31:07
142KB
系统开源
1