采用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生成正弦波信号的简单方法。
热门推荐
清明节前后几天可以上坟?
为什么初一上坟?——传统习俗的多维解读
痛风患者需忌口的蔬菜水果
教育部最新公示的新大学有哪些?附2025年新增本科高校名单
国庆出游,边家带你盘点热门旅行地特色风味美食
贫血的危害及规范化诊断治疗|2024上海市医学会血液学专科分会科普宣教
孕早期可以吃海带吗?孕期吃海带,这些好处你不可不知
孕妇海带吃多了有什么坏处
消费心理学:我们为什么总是买这些东西?
偏瘫后膝关节功能障碍康复指南
卖二手车需要什么
扑克牌游戏记牌技巧全攻略:从基础到进阶的完整指南
广东农科院作物所开展牛大力和粉葛优良品系繁育与示范栽培
花旗转账教学:美国花旗银行 Citibank 如何汇款?
银行卡的转账到账时间可以加快吗?
揭秘袁绍麾下智囊团:三国时期最杰出的谋士是谁?
吃东西咀嚼多少下再咽下才健康?
河豚的毒性分布与安全食用指南
夜交藤加合欢皮可以治疗顽固性失眠吗
湖南省考考情分析兼备考指导—数资篇
人工智能简历如何写范文
滨海新区开展"滨城有礼 文明有你"文明素质提升行动
甲状腺病人饮食指南:含碘食物摄入全攻略
开门就排队!邯郸最火的美食,你尝过哪些?
驾驶机动车的几种判刑标准
差点献给拿破仑的作品丨贝多芬:《第三交响曲“英雄”》
人工智能、机器学习、深度学习和神经网络
暖风熏得游人醉,直把杭州作汴州。全诗意思及赏析
迪拜五大自贸区全面解析:税率、税种及注册条件深度对比
尿酸高能吃鱿鱼吗?医生给出专业建议