采用PWM生成正弦波信号的简单方法
创作时间:
作者:
@小白创作中心
采用PWM生成正弦波信号的简单方法
引用
CSDN
1.
https://blog.csdn.net/propor/article/details/139330247
PWM(脉宽调制)是一种常用的信号处理技术,广泛应用于各种电子设备中。本文将介绍如何使用PWM生成正弦波信号,这对于从事电子工程和嵌入式系统开发的工程师来说具有重要参考价值。
原理
采用PWM生成正弦波信号,本质上是用一个PWM周期对应的平均电压去等效生成正弦信号的电压。设输出的正弦波电压(单极性输出,有一个直流偏置电压)如下图。
公式推导如下:
其中,
- ( t_{on} ) 为PWM开启时间,
- ( T ) 为PWM周期,
- ( V_{cc} ) 为供电电压,
- ( f ) 为输出正弦信号频率
令 ( m = \frac{t_{on}}{T} ),m即调制度,
代入得:
进一步:
对 ( \theta ) 进行离散化,采样频率为 ( f_s ),一个周期采样点数 ( N ),采样序号 ( k ),则
至此,我们只要确定输出 ( V_{out} ) 的大小及采样点数 ( N ),就可以确定输出PWM开启时间 ( t_{on} )。
在使用MCU/DSP进行PWM输出时,通常调整的是CCR(比较捕获寄存器)和ARR(自动重载寄存器),因此,上述等式也可写成:
注意:要想输出平滑的正弦信号,还需要在PWM输出接口加低通滤波器(如简单的RC滤波器),截止频率比输出模拟信号频率 ( f ) 稍大即可。
实现
清楚原理,实现就比较简单了。
对于 ( V_{out} ),可将其离散化,做成表格,输出时按表格内容输出即可,MATLAB代码如下:
fm=100;
fs=1000;
N=fs/fm;
k=0:1:N;
y=sin(2*pi*k/N);
plot(y);
实现过程中只需要将表格中数据按采用频率 ( f_s ) 输出即可(可以用定时器实现),不要忘记在PWM输出端加低通滤波器以平滑输出。
总结,本文介绍了采用PWM生成正弦波信号的简单方法。
热门推荐
如何撰写科研论文的方法(method)部分?
《赤壁赋》翻译及艺术特色分析
他们何以感动中国?
CPU和GPU有什么区别?玩游戏时哪个更重要?
利用 AMR 技术提升 3PL 仓库运营水平
“芯片帝国”:英伟达的GPU如何助力AI革命
如何撰写高效的测试计划?——全面指南
不想升级到24H2,如何阻止安装微软Windows 11 24H2更新
废酸水怎么处理?废水重金属超标如何处罚?
组织革新团队在不同阶段应该如何调整?
青岛十大特产大揭秘!本地人都疯狂打call!
山东:品牌强农的“青岛策”
黑眼圈怎么消除?一篇解密黑眼圈原因与改善方法!
如何分析和应对市场情绪对股票投资的影响
信贷专员的职责与就业
大学专利申请流程是什么?要多少钱?
欧洲中世纪的猎巫运动起源于瑞士山谷
欧洲中世纪的黑暗篇章:猎巫运动及其对女性的残害
研发费合规化管理指南:八大措施确保费用使用合规高效
武汉十二大地标美食:从鱼丸到鸡汤,品味最地道的江城味道
不藏了!哪吒重生靠莲藕,湖北洪湖:我们包了!

汽车里的扭矩是什么?大小有什么区别?
在春季,多吃火龙果的三大好处
莲子心:传统中药的现代应用
肾功能不全肌酐高可以吃什么水果
GIS可视化软件:地理信息与遥感领域中的洞察之眼
物业如何提升服务质量?详细说明
主动脉瓣关闭不全怎么办?这些防治要点一定要牢记
铁蛋白正常值是多少
出口欧洲的跨境电商,需要具备哪些认证?