脉冲宽度调变

脉冲宽度调制（Pulse-width modulation，缩写：PWM），简称脉宽调制，是用脉波来输出模拟信号的一种技术，一般转换后脉波的周期固定，但脉波的工作周期会依模拟信号的大小而改变。

在模拟电路中，模拟信号的值可以连续变化，在时间和值的幅度上几乎没有限制，基本上可取任何实数值，输入与输出也呈线性变化。因此在模拟电路中，电压和电流可直接用于控制对象，例如家用电器设备中的音量开关控制、采用卤素灯泡灯具的亮度控制等。

但模拟电路有诸多的问题：例如控制信号容易随时间漂移，难以调节；功耗大；易受噪声和环境干扰等。生成模拟信号对于数字电路而言往往需要额外的数字-模拟转换器。

与模拟电路不同，数字电路是在预先确定的范围内取值，在任何时刻，其输出只可能为ON和OFF两种状态，所以电压或电流会通/断方式的重复脉冲序列加载到模拟负载。PWM技术是一种对模拟信号电平的数字编码方法，通过使用高分辨率计数器（调制频率）调制方波的占空比，从而实现对一个模拟信号的电平进行编码。其最大的优点是从处理器到被控对象之间的所有信号都是数字形式的，无需再进行数模转换过程；而且对噪声的抗干扰能力也大大增强（噪声只有在强到足以将逻辑值改变时，才可能对数字信号产生实质的影响），这也是PWM在通讯等信号传输行业得到大量应用的主要原因。

模拟信号能否使用PWM进行编码调制，仅依赖带宽，这即意味着只要有足够的带宽，任何模拟信号值均可以采用PWM技术进行调制编码。

在信号接收端，需将信号解调还原为模拟信号。

目前在很多微型控制器(MCU)内部都包含有PWM控制器模块。

## 历史

在过去，当只有部分能量需求(以缝纫机马达为例)，一个变阻器(被放在缝纫机的脚踏板上)串接在一个马达上将会调整流入马达中的电流，同时会因为电阻发热而消耗一些能量。这其实是一个可以接受(因为总能量够低)但没有效率的方式。然而，变阻器只是一个控制能量的方法之一(可参考自耦变压器做为参考)，因此需要实现一个可以达到较低成本又有效率的调整方法。这个机制同时可以被运用来当作电扇马达、泵马达、机器伺服等，同时必须足够精细与台灯系统互动，因此，脉冲宽度调变应运而生，作为这个复杂问题的一个解决方案。

一种早期的脉冲宽度调变方式是辛克莱X10，一个在1960年代的10瓦音乐放大器之套件版本。差不多时期脉冲宽度调变亦开始被应用在交流电马达控制之上。

而在最近一个世纪中，有些变速的电子马达已经有很好的效率，但他们相较于等速马达来说较为复杂，而且有些时候需要较为大型的外部仪器辅助，像是可变电阻及如沃德里奥纳多驱动器一样的旋转器。

## 原理

<image>

脉冲宽度调变使用一个脉冲宽度会被调变的方波，使得波型的平均值会有所变化。如果我们考虑一个周期为 $T$ 的脉冲波 $f(t)$，低值 $y_\text{min}$，高值为 $y_\text{max}$，跟一个工作循环D(duty cycle)，(参照右图)，此波的平均值为：

$$\bar{y} = \frac{1}{T}\int^T_0f(t)\,dt.$$

当 $f(t)$ 是一个脉冲波，它的值在 $0 < t < D \cdot T$ 是 $y_\text{max}$，而在 $D \cdot T < t < T$ 是 $y_\text{min}$，上式的描述可以变为：

$$\begin{align} <pre> \bar{y} &= \frac{1}{T} \left(\int_0^{DT} y_\text{max}\,dt + \int_{DT}^T y_\text{min}\,dt\right)\\ &= \frac{1}{T} \left(D \cdot T \cdot y_\text{max} + T\left(1 - D\right) y_\text{min}\right)\\ &= D\cdot y_\text{max} + \left(1 - D\right) y_\text{min}. </pre> \end{align}$$

以上表示可以在很多状况下被简化，当 $y_\text{min} = 0$ 及 $\bar{y} = D \cdot y_\text{max}$。从这是可以看出，波型的平均值非常明显地直接与工作循环之值D有关。

<image>

最简单可以产生一个脉冲宽度调变讯号的方式是交集性方法(intersective method)，这个方法只需要使用锯齿波或三角波(可以简单地使用震荡器来产生)，以及一个比较器。当参考的讯号值(图二的红色波)比锯齿波(图二的蓝色波)来的大，则脉冲调变后的结果会在高状态，反之，则在低状态。

### 微分调变

以微分调变作为控制脉冲宽度调变的方法，输出讯号将会被积分，同时结果也会被拿来与参考讯号增减一个偏移量(作为比较的边界)比较。当每一次的积分结果到达边界时，脉冲调变讯号便会转变状态如图三。

<image>

### 积分-微分调变

以积分-微分调变作为控制脉冲宽度调变的方法，参考讯号与输出讯号会相减得到误差讯号。同时此误差会被积分，若积分超过边界，输出结果便会转换状态(参考图四)。

<image>

### 空间向量调变

空间向量调变是一种针对多相位交流讯号，控制脉冲宽度调变的算法，先将参考讯号正常的取样，接着对于每一次的样本讯号，会有一些在参考向量相邻的非零交换向量以及一至多个的零交换向量作为取样之代表，目的是合成出参考向量。

### 直接转矩控制

直接转矩控制是一种控制交流马达的方式。这个和微分调变方式非常类似(参考上面)，马达的力矩以及磁力线可以被估计，当讯号要偏离磁滞带时，借由打开装置的半导体开关，可以使其被控制在磁滞带之中。

### 时间比例

很多数位电路都可以产生出脉冲宽度调变讯号(比方说很多微型控制器可以有很多脉冲宽度调变)，正常来说，这些数位电路都会使用一个每隔一段固定时间便会增加1的计数器(直接或不直接连接到电路的时间皆可)并且在脉冲宽度调变讯号的最后会被重置。当这个计数器比参考值来得多的时候，调变讯号的输出便会转换状态。这个技术被称为时间比例，特别是时间比例控制。

这个会定时增加的计数器是一个离散版本的相交性方法的锯齿波。相交性方法的类比比较器将会变成一个在现今的计数值以及数位参考值之间简单的积分比较。这个工作循环只会在每一次离散的步骤间有所变动，会是一个计数器精细度的函数。然而，一个高精细度的计数器将可以提供令人满意的表现。

### 类型

有三种类型的脉冲宽度调变是可能的：

- 脉冲波的中心将会被固定在时间窗格的中心，同时脉冲波的两边可以移动，使得波的宽度被延伸或压缩。
- 脉冲波领先的边将会被固定在时间窗格领先的边上，并且针对脉冲波的落后边进行调变。
- 直接固定脉冲波的落后边，再针对脉冲波的领先边进行调变。

### 光谱

上述这三种类型的调变所产生的光谱是相似的，而且每一种都会包含一个直流的元素，一个基底边带在每一个谐波中，会包含调变过后的信号以及相位调变的载波。这些谐波的振幅大小会被限制在一个 $\sin x / x$ (sinc函数)的包层中并延伸至无限大，这个无限大的带宽将会由非线性的脉冲宽度调变所造成。结果，一个数位的脉冲宽度调变将会遭受到失真扭曲的影响，并严重地减少其在现代通信系统上的可应用性。借由限制脉冲宽度调变的带宽，失真效应将可以被减少与避免。

反过来说，积分调变是一个可以制造出连续光谱，且不需要连续的谐波之随机过程。

### 脉冲宽度调变的取样定理

脉冲宽度调变的转换过程是非线性的，且我们一般假设其在低频滤波的还原上是不完美的。根据脉冲宽度调变的取样定理，我们可以发现，脉冲宽度调变的转换可以是完美的。这个定理叙述当 "对于任何有基频频带限制的讯号，若其大小在正负0.637间，可以被单位大小的脉冲宽调变所产生的讯号所代表，波的脉冲数会等于奈奎斯特(Nyquist)取样的数量，且峰值的限制与波是两阶还是三阶互相独立"。取样定理告诉我们：一个有频带限制的讯号，如果我们的取样频率大于传递波频率的两倍，则讯号传递后可以被完整地重建。

## 应用

### 伺服

脉冲宽度调变可以用于控制伺服机构。

### 电信

在电信使用上，脉冲宽度调变是一种讯号调变的形式，其脉冲波的宽度对应到另一个特定资料会在传送端被编码，并于接收端解码。

不同长度的脉冲波(要传递的讯息本身)将会每隔固定的时间后被传递(载波的频率)

```
          _      _      _      _      _      _      _      _     
         | |    | |    | |    | |    | |    | |    | |    | |    
Clock    | |    | |    | |    | |    | |    | |    | |    | |    
       __| |____| |____| |____| |____| |____| |____| |____| |____

                 _      __     ____          ____   _
PWM signal      | |    |  |   |    |        |    | | |
                | |    |  |   |    |        |    | | |
       _________| |____|  |___|    |________|    |_| |___________

Data       0     1       2      4      0      4     1      0
```

时间讯号不一定要被包含脉冲宽度调变的传递上，事实上资料的领先端可以被当成一个计时器使用，如果有一个小的偏移量被加在资料值之上，去避免资料值有一个长度为零的脉冲波。

```
                _      __     ___    _____   _      _____   __     _   
               | |    |  |   |   |  |     | | |    |     | |  |   | | 
PWM signal     | |    |  |   |   |  |     | | |    |     | |  |   | |  
             __| |____|  |___|   |__|     |_| |____|     |_|  |___| |_____

Data            0       1      2       4     0        4      1     0
```

### 能量的传递

脉冲宽度调变可以被用来控制对于一个载子能量传递的多寡，而不会产生由阻抗所造成的线性能量传递损失。此方法所需要付出的代价是，载子所流失的能量并非一个常数且是不连续的(如降压式转换器)，载子上传递的能量也不是连续的。然而，由于载子可能是具有高频电感性的，这时就必须要外加一个被动的电子滤波器，让这些脉冲波变为平滑且能复原平均的类比波型，能量流入载子才会是连续的。而从供应端流出的能量则不是连续的，因此大部分情况下需要额外的能量储存空间。(比方说在一个电路下，一个电容会吸收储存于供应端电感的能量。)

### 亮度调节

使用PWM的方式来调节光线亮度是非常简单有效的方法。但是频率若低于1250Hz、会明显增加健康及加速视力衰退风险；频率若高于3250Hz、则不会增加健康及加速视力衰退风险；若振幅较小（不是开和关交替，而是亮和较暗交替），频率可以降低而不伤眼（详见IEEE 1789标准）；当频率高于25KHz则可以让可能产生的开关噪音高于人耳范围，一般摄影系统也不会照出闪烁画面。

目前多数AMOLED萤幕是采用低频PWM调光，有明显的健康及加速视力衰退风险。

### D类扩大机

音响扩大机也可以使用PWM的方式来放大讯号，是一种省电但音质受到质疑的扩大机。

## 外部链接

- Tutorial video on PWM including example motor speed control and LED dimming circuits
- An Introduction to Delta Sigma Converters
- Pulse Width Modulation in PID control loop - free simulator
- Pulse Width Modulation in Desktop monitors - monitor flicker