将 PWM 转换为模拟信号

电器工程 模拟 脉宽调制
2022-01-11 05:09:18

我正在尝试将 PWM 信号转换为模拟信号的最佳方法。可以使用 RC 滤波器,但这需要非常高的 PWM 频率才能忠实再现信号。就我而言,我正在处理模拟信号的音频频率 - 高达 20 kHz。那么,还有哪些其他选择?

4个回答

简单的答案是你不能。有几件事对你不利:

  1. 将是为了获得良好的音频质量,您需要在 PWM 生成中非常精确。这是相当困难的,因为您的主时钟频率(用于生成 PWM 的逻辑的频率)必须在 100 MHz 左右才能获得相当于 11 位 DAC 的频率。如果没有它,有很多方法可以生成很好的 PWM,但是您将从模拟信号开始,因此不会有这个问题。

  2. 如前所述,您需要对滤波器进行超陡峭的衰减。只是为了匹配您的 11 位 DAC 等效值,您需要 60 dB/倍频程之类的东西——即使对于专业人士来说也是不合理的。做这种滤波器有很多困难,这就是为什么每个人都去 Delta-Sigma DAC 的音频,这需要大约 6 db/octave 滤波器。

  3. 如果您的滤波器不是 60 分贝/倍频程,那么您需要 PWM 频率超高。如果你有 60 分贝/倍频程,那么你可以有一个 40KHz 的 PWM 频率。在 54 分贝/倍频程时,也许 80 KHz 会起作用。48 分贝/倍频程 = 160 KHz。等等。很快你就会进入高 MHz 范围——然后你的主时钟频率必须进入 GHz。

然而,一切并没有丢失。你真的需要过滤掉高频的东西吗?在许多应用(不是全部)中,您既可以不对其进行滤波,也可以使用 1-5 MHz 的简单 RC 滤波器。虽然仍然会有高频的东西,但扬声器或你的耳朵会把它全部过滤掉。但是音频仍然听起来很糟糕。AM Radio 的一天质量很差。就是那样子。

更新:我上面#3 的数字有些错误。但在我开始之前,让我解释一下我从哪里得到所有数字。

  1. 假设您正在使用数字逻辑(FPGA、微控制器等)生成 PWM。然后假设您的音频采样率以及您的 PWM 频率为 48 KHz。你想要 8 位分辨率。这意味着您的主时钟频率应为 12.288 MHz。我是这样计算的:Master_Clk_Freq = Sample_Rate * 2^n_bits。再次为 11 位分辨率执行此操作是 98.304 MHz。

  2. 理想 DAC 的理论最佳噪声水平约为 -6dB/Bit。因此,24 位 DAC 的噪声不超过 -144 db。(注意:我在这里的术语有点松散,将 SNR、THD+N 和动态范围放在一起。)当然,没有真正的 24 位 DAC 可以做到这一点,但我们在这里谈论的是理论。这意味着 11 位 DAC 的噪声水平约为 -66 db,因此制作比这更好的滤波器几乎没有意义。相比之下,AM Radio 的信噪比约为 60-ish dB。

  3. 好的,这就是我把数字搞砸的地方。假设 PWM 速率 = 48 KHz,滤波器 Cutoff = 24 KHz(使数学变得简单)。使用 -60dB/Oct 滤波器,我们将是 -63dB @ 48KHz。如果我们的滤波器更改为 -54dB/Oct,那么我们将是 -57dB @ 48 KHz 和 -62.4dB @ 50.4KHz。这意味着通过将我们的滤波器从 -60db/oct 更改为 -54db/oct,我们必须将 PWM 速率从 48 KHz 更改为 50.4KHz 以实现相同的滤波器阻塞性能。不是我之前提到的 PWM 频率的两倍。同样,如果滤波器更改为 -18dB/Oct(这是一个易于管理的设计),那么 PWM 频率必须为 104 KHz 才能在 PWM 频率处仍然具有 -63dB 滤波器衰减。我通过制作一个小电子表格并玩弄数字来计算这一点。

RC 低通滤波器将是自然的解决方案,但您也可以使用微控制器来测量占空比并使用该值来控制 DAC。要测量占空比,您需要一个具有输入捕捉功能的定时器。您的计时器时钟越高,您的测量就越准确。如果微控制器没有片上 DAC,您可以使用外部 DAC。

我正在集成 PWM 斜坡上升,用采样和保持电路捕获电压,然后重置斜坡。这似乎得到了相对忠实的信号表示,但它仍然存在一些问题,例如峰值上的 PWM 噪声,而且它有点非线性。但是,它确实工作得很好,它允许我使用 100kHz PWM 信号。

在此处输入图像描述

在这里模拟一下

尚未提及的一个问题是了解 PWM 信号是如何产生的,特别是前沿、中心或后沿是否以统一的速率出现,以及 PWM 信号是否代表均匀间隔的样本,或者 PWM 信号是否代表以均匀间隔采集的样本,或者它们是否代表输入信号在上升沿、下降沿或两者时的值。知道 PWM 是如何生成的,应该可以很好地恢复原始信号(以及可以从以 PWM 速率采样的信号中恢复)。试图重构通过不同于预期的方式采样的信号容易导致相位失真。