用正弦表怎么生成SPWM?

2019-07-15 15:36发布

小弟最近想做spwm  原理懂得 等面积原则那个 在网上搜了正弦表生成器 不知道怎么转换成 开关时间啊(怎么利用那个写程序)?望大侠指点下  谢谢
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
19条回答
1006050515
2019-07-16 01:51
童鞋,你问对人了。
正弦表的生成有两种办法
1.利用matlab:程序如下:
fs=195;               %设定采样频率
N=195;                %采样点数为195
n=0:N-1;
t=n/fs;
f1=1;                %这个f1可以不要
x=round(1875*(1+(0.8*sin(2*pi*f1*t))));    %生成正弦信号,并取整
plot(t,x)
x就是比较寄存器的值,总共195个,下溢中断赋值就行了
2.方法二是在dsp中产生正弦表,计算占空比,计算比较寄存器的值
核心程序如下:
while (n<=195)  
  {
   
    q=n*2*PI;      
    q/=195;
    j=sin(q);     
    l=1875*(1+M*j);//M为调制比     //计算占空比表达式
   
   if(l>=375&l<=3375)
     sin_table[n]=l;  
    else
        {
        if(l>3375)
         sin_table[n]=3375;
        else
         sin_table[n]=375;
        }  
   n=n+1;
  }

具体吧!这些程序都是我编的,我就是这么做的。两种都可以。

一周热门 更多>