单相半桥两电平电压型逆变器的正弦脉宽调制(SPWM)——Matlab程序
(1)SPWM的自然采样法
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 现代电力电子与控制技术:SPWM自然采样法% Author:Juncheng Data:20222/04/13%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%clear all; % 参数初始化f = 50; % 调制波频率(正弦波)fc = 1050; % 载波频率(三角波)fs = 50*fc; % 采样频率ud = 100; % 参考电压值ratio = 0.9; % 调制比number = 1; % 计算(绘图)周期个数N = fs/f * number; % 采样点个数dt = 1/fs; % 采样间隔t = (0:N-1) * dt; % 时间序列xc = ud/2 * sawtooth(2 * pi * fc * t ,0.5); % 载波Am = ud/2 * ratio;x = Am * sin(2 * pi* f * t); % 调制波% 自然采样法SPWM = zeros(1,length(t)); % 初始化SPWM波序列for i = 1:length(t)if x(i) > xc(i)SPWM(i) = ud/2;elseSPWM(i) = -ud/2;endendxfft = abs(fft(SPWM,N)) * 2/N; % 对SPWM波进行傅里叶变换ff = (0:N-1)*fs/N; % 频率序列% 绘图figure('color',[1 1 1]); % 白色背景subplot(311)plot(t,xc); % 绘制载波hold onplot(t,x); % 绘制调制波hold onlegend('载波','调制波');xlabel('时间/s');ylabel('电压/V');title('自然采样法载波、调制波波形');axis([0 number/f -ud*1.2/2 ud*1.2/2]);subplot(312);plot(t,SPWM); % 绘制SPWM波legend('SPWM波');xlabel('时间/s');ylabel('电压/V');title('自然采样法SPWM波形');axis([0 number/f -ud*1.2/2 ud*1.2/2]);hold onsubplot(313);plot(ff(1:N/2),xfft(1:N/2));xlabel('频率/Hz');ylabel('振幅');title('自然规则采样法——频谱图');axis([0 5*fc 0 ud/2*1.2]); % 显示5倍载波频率范围内的谐波含量
结果:
(2)SPWM的对称规则采样法
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 现代电力电子与控制技术:SPWM对称规则采样法% Author:Juncheng Data:20222/04/13%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%clear all; % 参数初始化f = 50; % 调制波频率(正弦波)fc = 1050; % 载波频率(三角波)fs = 50*fc; % 采样频率ud = 100; % 参考电压值ratio = 0.9; % 调制比number = 1; % 计算(绘图)周期个数N = fs/f * number; % 采样点个数dt = 1/fs; % 采样间隔t = (0:N-1) * dt; % 时间序列xc = ud/2 * sawtooth(2 * pi * fc * (t+1/(2*fc)) ,0.5); % 载波,移向半个周期Am = ud/2 * ratio;x = Am * sin(2 * pi* f * t); % 调制波% 对称规则采样法dt = 1/fc; % 调制波采样间隔Nm = fc/f * number; % 调制波采样个数tm = (0:Nm-1) * dt; % 调制波时间序列xm = Am * sin(2 * pi* f * tm); % 调制波采样stepwave = zeros(1,length(t)); % 初始化阶梯波序列for i = 1:length(t)for j = 1:length(tm)-1if (t(i) >= tm(j)) && (t(i) <= tm(j+1))stepwave(i) = xm(j); % 生成阶梯波break;endendendSPWM = zeros(1,length(t)); % 初始化SPWM波序列for i = 1:length(t)if stepwave(i) > xc(i) SPWM(i) = ud/2;elseSPWM(i) = -ud/2;endendxfft = abs(fft(SPWM,N)) * 2/N; % 对SPWM波进行傅里叶变换ff = (0:N-1)*fs/N; % 频率序列% 绘图figure('color',[1 1 1]); % 白色背景subplot(311)plot(t,xc); % 绘制载波hold onplot(t,stepwave); % 绘制阶梯波hold onplot(tm,xm,'b:*'); % 绘制调制波hold onlegend('载波','阶梯波','调制波');xlabel('时间/s');ylabel('电压/V');title('对称规则采样法载波、调制波波形');axis([0 number/f -ud*1.2/2 ud*1.2/2]);subplot(312);plot(t,SPWM); % 绘制SPWM波legend('SPWM波');xlabel('时间/s');ylabel('电压/V');title('对称规则采样法SPWM波形');axis([0 number/f -ud*1.2/2 ud*1.2/2]);hold onsubplot(313); % 绘制频谱图plot(ff(1:N/2),xfft(1:N/2));title('对称规则采样法——频谱图');xlabel('频率/Hz');ylabel('振幅');axis([0 5*fc 0 ud/2*1.2]); % 显示5倍载波频率范围内的谐波含量
结果:
(3)SPWM的不对称规则采样法
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 现代电力电子与控制技术:SPWM不对称规则采样法% Author:Juncheng Data:20222/04/13%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%clear all; % 参数初始化f = 50; % 调制波频率(正弦波)fc = 1050; % 载波频率(三角波)fs = 50*fc; % 采样频率ud = 100; % 参考电压值ratio = 0.9; % 调制比number = 1; % 计算(绘图)周期个数N = fs/f * number; % 采样点个数dt = 1/fs; % 采样间隔t = (0:N-1) * dt; % 时间序列xc = ud/2 * sawtooth(2 * pi * fc * (t+1/(2*fc)) ,0.5); % 载波,移向半个周期Am = ud/2 * ratio;x = Am * sin(2 * pi* f * t); % 调制波% 不对称规则采样法dt = 1/(2 * fc); % 调制波采样间隔Nm = 2 * fc/f * number; % 调制波采样个数tm = (0:Nm-1) * dt; % 调制波时间序列xm = Am * sin(2 * pi* f * tm); % 调制波采样stepwave = zeros(1,length(t)); % 初始化阶梯波序列for i = 1:length(t)for j = 1:length(tm)-1if (t(i) >= tm(j)) && (t(i) <= tm(j+1))stepwave(i) = xm(j); % 生成阶梯波break;endendendSPWM = zeros(1,length(t)); % 初始化SPWM波序列for i = 1:length(t)if stepwave(i) > xc(i) SPWM(i) = ud/2;elseSPWM(i) = -ud/2;endendxfft = abs(fft(SPWM,N)) * 2/N; % 对SPWM波进行傅里叶变换ff = (0:N-1)*fs/N; % 频率序列% 绘图figure('color',[1 1 1]); % 白色背景subplot(311)plot(t,xc); % 绘制载波hold onplot(t,stepwave); % 绘制阶梯波hold onplot(tm,xm,'b:*'); % 绘制调制波hold onlegend('载波','阶梯波','调制波');xlabel('时间/s');ylabel('电压/V');title('不对称规则采样法载波、调制波波形');axis([0 number/f -ud*1.2/2 ud*1.2/2]);subplot(312);plot(t,SPWM); % 绘制SPWM波legend('SPWM波');xlabel('时间/s');ylabel('电压/V');title('不对称规则采样法SPWM波形');axis([0 number/f -ud*1.2/2 ud*1.2/2]);hold onsubplot(313); % 绘制频谱图plot(ff(1:N/2),xfft(1:N/2));title('不对称规则采样法——频谱图');xlabel('频率/Hz');ylabel('振幅');axis([0 5*fc 0 ud/2*1.2]); % 显示5倍载波频率范围内的谐波含量
结果:
单相半桥两电平电压型逆变器的正弦脉宽调制(SPWM)——Matlab程序相关推荐
- 单相半桥逆变器仿真技巧
1. 拓扑与控制 单相半桥逆变器拓扑如下: 电压环和电流环控制图如下: 调制方式如下: 2. 仿真步骤 单相半桥逆变器的仿真应该遵循以下步骤: (1)选择合适的滤波电感和滤波电容,一般是 ...
- 基于PI双闭环解耦控制的三相SVPWM电压型逆变器(3)--调制方法
在之前写的文章中,介绍了三相逆变器的控制方法和数学模型,如果忘记了可以回顾一下. 基于PI双闭环解耦控制的三相SVPWM电压型逆变器(1)--数学模型 基于PI双闭环解耦控制的三相SVPWM电压型逆变 ...
- 电压型逆变器和电流型逆变器的不同
电压型:当逆变器的逆变功率P的脉动波形由直流电流来体现时,称之为电压型逆变器,恒压源作为输入. 电流型:当逆变器的逆变功率P的脉动波形由直流电压来体现时,称之为电流型逆变器,恒流源作为输入. 各自特点 ...
- matlab中电压幅值不对,基于MATLAB的SPWM电压型逆变器的仿真与分析
龙源期刊网 http://www.doczj.com/doc/b1455622f6ec4afe04a1b0717fd5360cba1a8da1.html 基于MATLAB的SPWM电压型逆变器的仿真与 ...
- 基于PI双闭环解耦控制的三相SVPWM电压型逆变器(2)--控制器设计
在上一篇文章中,我们得到了三相逆变器的数学模型,接下来就是进行控制器的设计.其实对数学模型的设计目的就是研究控制器,控制器才是决定我们逆变结果的直接决定因素. 同时这一篇文章虽然是控制器的设计,但是对 ...
- 基于PI双闭环解耦控制的三相SVPWM电压型逆变器(4)--仿真验证
根据之前设计的控制器和主电路,在Simulink上面进行验证. 参考之前的博客 基于PI双闭环解耦控制的三相SVPWM电压型逆变器(1)--数学模型 基于PI双闭环解耦控制的三相SVPWM电压型逆变器 ...
- 高压发生器灯丝高频电源加热系统 有哪些电路拓扑?控制策略又是怎样的?有单相半桥电路,三相电路 控制策略有PI调控 人工智能调控...
高压发生器灯丝加热系统的电路拓扑有单相半桥电路和三相电路.控制策略有PI调节和人工智能调节.具体来说,PI调节是一种通过计算误差并以适当的比例和积分来调整控制量的控制方法.人工智能调节则是利用人工智能 ...
- matlab 多重比较,谈一谈两种常用的多重比较校正方法(附Matlab程序)
作者:kervin 微信号:kervin_zhao 在科学研究的统计分析中,我们往往会遇到多重比较校正问题.多重比较校正的方法很多,如Bonferroni.False Discovery Rate(F ...
- 三相三电平PWM电压型逆变器
D54
- 基于simulink的三相PWM电压型逆变器系统建模与仿真
目录 1.算法概述 2.仿真效果 3.MATLAB仿真源码 1.算法概述 PWM整流器技术是中等容量单位功率因数采用的主要技术,一般需要使用自关断器件.三相PWM整流器在几乎不增加任何硬件的基础上,即 ...
最新文章
- oracle rman备份时间,Oracle使用RMAN进行备份详述
- 计算机反面的考研专业,2018计算机考研:历年准考证打印常见七大问题
- 【PC工具】更新github下载加速器,github项目辅助下载工具,github高速下载
- CRM Set Type com_commercial的UI界面
- 魔幻艰难的2020上半年!
- 一条来自 GitHub 重磅消息!
- Java-toString
- 【转】Android-Input 按键字符映射文件输入设备配置文件
- NGUI_2.6.3_系列教程六(序列帧动画)
- 干什么事都要先定位,再聚焦
- sql server 用户'sa'登录失败(错误18456)(转载)
- 2. mysql 基本命令
- JAVA集合和guava集合使用和原理解析
- 离散数学(第二版) 第一章、第二章习题
- 怎么使用7zip进行分批压缩_7zip怎么使用 7zip使用方法教程
- 带拼音计算机语言翻译软件,拼音转换汉字翻译器
- 固态硬盘的计算机需要进行磁盘碎片整理吗,固态硬盘为什么不需要电脑磁盘碎片整理?...
- myecplice和ecplice远程调试
- 小米手机 开发app python_一篇文章教会你用Python多线程获取小米应用商店App
- 亚航app航班价格抓取
热门文章
- 标准化建站开拓者王征,教你搭建一个有用的品牌官网
- 告诉你怎么用Python进行企业营运分析!盈利这么多?
- C/C++KTV点歌系统
- iOS历史回顾(iOS1~iOS8)
- 解决docker network create --subnet报错的问题:Error response from daemon: Pool overlaps with other one on th
- 产品经理进修第六天 产品经理面试
- 移动运营商ipcc文件_教你如何在苹果官网提取IPCC文件
- 在我的订单中,点击去付款查看每个订单详情
- CPI、PPI、PMI
- 阿里研发三面,面试官一套组合拳让我当场懵逼