matlab SPWM产生,采用MATLAB对SPWM进行辅助设计

本文引用地址:http://www.eepw.com.cn/article/179556.htm

1概述

传统的SPWM采用频率数倍于正弦波的三角波调制正弦波,可得到近似于正弦波的输出。三角波的频率越高,即载波比越高,谐波的频率就越高,输出端滤波器就更容易去除谐波。在输出频率固定的场合,如正弦波逆变电源,其输出频率固定在50Hz左右,这种场合采用软件设计可降低系统的成本,一般将数据存入存储器,通过CPU的定时器中断调用可完成SPWM控制。在变频场合,如三相交流异步电机的驱动,由于需要输出三相变频的SPWM信号,一般采用8254可编程定时器,以减少CPU的工作量。

SPWM设计采用传统方法得到的正弦波较理想,由于三角波是超越方程,正弦信号用单片机产生也较困难,因此,传统方法较难实现。现在有许多新方法产生,这些方法实现简单但对生成的正弦波影响不大,如对称规则采样法,双缘调制法等。

MATLAB是一个高级的数学分析与运算软件,具有强大的计算功能。SPWM控制通过MATLAB进行分析和设计,可取得事半功倍的效果。

以下的分析若无特殊说明,均基于双极型调制,基频为50Hz的SPWM控制。

2SPWM数据的计算

采用MATLAB可方便地得到正弦波与三角波的交点。在判断交点时,可通过交点的数学定义来判断。所谓交点,就是在交点附近时刻两函数之差值的绝对值趋于0,而在交点附近的极小区域,离交点越远,差值的绝对值逐渐增大。以下子程序为计算交点的MATLAB程序。x为基波数据,y为载波数据,m为交点时刻数据。

fori=2:n

if(abs(x(i)-y(i))=abs(x(i+1)-y(i+1)))&(abs(x(i)-y(i))=abs(x(i-1)-y(i-1)))

m(j)=i;

j=j+1

end;

end;

3各种SPWM算法的分析

(1)传统的SPWM法

将50Hz的正弦波与10kHz的三角波相交,将采样的数据存为n。

计算功率频谱程序

l=fft(n,1024);

p=l.*conj(1)/1024;

f=l:1024;

plot(f,p,`b');

由以上程序可得输出频谱图,如图1所示。

图1中横轴为数字频率,数字n对应的频率f=50n

将三角波频率提高4倍,输出频谱图如图2所示。

可见,随着三角波频率的提高,输出的电压中谐波频率也随之提高。

179556_1_0.jpg

图1m=0.94,f=2.5kHz对应的输出频谱

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值