概述
首先引用一篇简洁清晰介绍重复控制环路和离散表达式的文章,
https://blog.csdn.net/liuzhijun301/article/details/80445590
这篇文章写得比较好,唯一的不足是用代码实现离散表达式时,使用了for循环,这种实现方式对仿真模型运行来说,问题不大,但对嵌入式系统来说就不可接受了,为了节省中断任务的时间开销,应避免使用for循环,而用中断本身的循环来代替。
这里给出另一种具体实现方式:
//N是重复信号一个周期对应的拍数,也是数组长度,Kr是幅值补偿系数,k是相位补偿拍数,Q是稳定补偿系数。
if(PWMEnable==1)
{
if(N<=i)
{
i=0;
}
if(N-k-1>=i)
{
y = Q*y[i] + Kr*e[k+i];
}
if((N-k<=i)&&(N-1>=i))
{
y = Q*y[i] + Kr*e[i-N+k];
}
y[i]=y;
e[i]=e;
i++;
}
else
{
i=0;
y[N]={0};
e[N]={0};
}
最后
以上就是称心朋友为你收集整理的重复控制的DSP程序实现的全部内容,希望文章能够帮你解决重复控制的DSP程序实现所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复