• 大小: 2KB
    文件类型: .m
    金币: 2
    下载: 1 次
    发布日期: 2021-05-09
  • 语言: Matlab
  • 标签: pwm  

资源简介

采用matlab-s函数编写pwm程序 ,实现脉冲信号的输出,根据参数可任意调节占空比的大小,对matlab-s函数进行应用,可实现变周期控制,完成期望效果,若是结合PID控制,可达到脉冲燃烧效果。

资源截图

代码片段和文件信息

function[sysx0strts]=pwm(txuflagT)
switch flag
    case 0
        [sysx0strts]=mdlInitializeSizes(T);
    case 3
        sys=mdlOutputs(txuT);
    case 4
        sys=mdlGetTimeOfNextVarHit(txuT);
    case {129}
        sys=[];
    otherwise
        error([‘Unhandled flag =‘num2str(flag)]);
end
function[sysx0strts]=mdlInitializeSizes(T)
sizes=simsizes
sizes.NumContStates =0;
sizes.NumDiscStates =0;
sizes.NumOutputs =1;
sizes.NumInputs =1;
sizes.DirFeedthrough =1;
sizes.NumSampleTimes =1;%at least one sample time is needed
sys=simsizes(sizes);
x0 =[];
str =[];
ts =[-2 0];
function sys=mdlOutputs(txuT)
if t-fix(t/T)*T==0
    sys=sign(u);
else
    sys=0;
end
function sys=mdlGetTimeOfNextVarHit(txuT)
if (u/1000<=0.05) 
       {
           if mod(tT)==0&abs(u)>0)
                  H=0;%disp(‘b‘);
            
           else
    

评论

共有 条评论