如何确定PWM数模低通滤波器中的RC时间常数?


17

我正在寻找最佳的RC时间常数及其在PWM中基于占空比和频率以及其他参数将数字信号转换为模拟信号的原因。PWM频率为10 kHz。


我正在寻找方程式来解决这个问题,并根据占空比,铁磁系数和其他参数确定Rc的数量。如果有人可以帮助我,我将不胜感激
azin

Answers:


25

最好的RC是无限的,那么您将获得一个完美的无纹波DC输出。问题在于,还需要永远响应占空比的变化。因此,这始终是一个权衡。

一阶RC滤波器的截止频率为

FC=1个2π[RC

滚降为6 dB /倍频程= 20 dB /十倍频程。该图显示了0.1 Hz(蓝色),1 Hz(紫色)和10 Hz(另一种颜色)截止频率的频率特性。

在此处输入图片说明

因此我们可以看到,对于0.1 Hz的滤波器,PWM信号的10 kHz基频被抑制100 dB,这还不错。这将产生非常低的纹波。但!

在此处输入图片说明

该图显示了三个截止频率的阶跃响应。占空比的变化是直流电平的一步,并且是10 kHz信号谐波的一些偏移。具有最佳10 kHz抑制的曲线响应最慢,x轴为秒。

在此处输入图片说明

该图显示了占空比为10 kHz的信号占50%时,RC时间为30 µs(截止频率为5 kHz)。虽然存在巨大的波动,但它会在2个周期(即200 µs)内响应0%占空比的变化。

在此处输入图片说明

这是一个300 µs RC时间(截止频率500 Hz)。仍然会有一些波动,但是从0%到50%的占空比变化大约需要10个周期或1 ms。

进一步将RC增加到毫秒将进一步减小纹波并增加反应时间。这完全取决于您能承受多少纹波,以及您希望滤波器对占空比变化做出反应的速度。

该网页计算得出,对于R = 16kΩ和C = 1 µF,我们有10 Hz的截止频率,在最大5 V时峰-峰纹波为8 mV时,建立时间为37 ms的90%。

编辑
您可以通过提高顺序来改进过滤器:

在此处输入图片说明

蓝色曲线是具有20 dB /十倍频降的简单RC滤波器。二阶滤波器(紫色)具有40 dB /十倍频降,因此对于相同的截止频率,在10 kHz时将具有120 dB的抑制,而不是60 dB。这些图非常理想,并且最好通过有源滤波器(例如Sallen-Key)获得。

在此处输入图片说明

方程式

一阶RC滤波器的峰峰值纹波电压与PWM频率和RC时间常数的关系:

V[R一世ppË=Ë-dFPw ^中号[RCË1个FPw ^中号[RC-ËdFPw ^中号[RC1个-ËdFPw ^中号[RC1个-Ë1个FPw ^中号[RCV+

E&OE。“ d”是占空比,0..1。当d = 0.5时,纹波最大。

对最终值的99%的阶跃响应为5 x RC。

Sallen-Key滤波器的截止频率:

FC=1个2π[R1个 [R2 C1个 C2

对于巴特沃斯滤波器(最大平坦度):R1 = R2,C1 = C2


嗨,tnx,您的答案。我正在寻找方程式来解决这个问题,并根据占空比,铁磁系数和其他参数确定Rc的数量。如果有人可以帮助我,我将不胜感激
azin

漂亮的图!您使用什么软件?
m.Alin

1
@ m.Alin-1、2和5:Mathematica,3和4:我曾经在Excel中制作过的一些旧东西。
stevenvh 2012年

tnx为您的答案很多。这非常有用
azin 2012年

1
@ m.Alin-看到我的评论2厘米:-)
stevenvh 2012年

8

正如史蒂文所说,这是在衰减PWM频率与响应时间之间的权衡。这就是为什么任何这样的决定都必须从对所产生的模拟信号的要求的规格开始的原因。它需要什么信噪比,或者至少可以容忍多少PWM频率的噪声?它必须多快才能稳定到本底噪声水平?或者相反,您关心的最高频率是多少?

请注意,使用特定的PWM输出可能无法满足一组特定的标准。假设您想要高质量的语音输出。我们将说高达8 kHz和60 dB的信噪比。任何具有20 kHz PWM的合理易处理的模拟滤波器都不会发生这种情况,当然也不会像单个R和C那样简单。

作为示例,让我们往后看,看看使用单个R,C滤波器支持上述语音示例必须具备的PWM特性。我们已经说过-3 dB的滚降频率为8 kHz,这就是我们将R和C设置为的频率。单个R,C滤波器的滚降频率为:

  F = 1 /(2πRC)

当R以欧姆为单位,C为法拉德时,则F为赫兹。很明显,在给定其他两个方程式的情况下,可以重新排列该方程式以求解R,C或F中的任何一个。我将1 /(2π)= .15915始终保存在计算器的寄存器中,因为这种计算在电子产品中经常出现。然后,我简单地将其除以R,C或F中的两个即可得到第三个。

我们有两个自由度,上面的方程式只确定了其中一个。另一个可以认为是您希望结果信号具有的阻抗。让我们以大约10kΩ的电阻射击,这就是我们要使R产生的结果,以查看C的结果:

  1 /(2π8kHz10kΩ)= 1.99 nF

这基本上是2 nF的标准电容器值,因此我们就去做。如果不是一个共同的值,我们会选择一个接近的值,然后返回并相应地调整R。与普通电容器相比,电阻的变化范围更小,公差也更高,因此您通常会找到一个接近的电容器值,然后再驱动精确的电阻值。

因此,我们确定R = 10kΩ,C = 2 nF。请注意,这来自8 kHz的最高频率要求。我们没有其他选择,因此建立时间和信噪比将是正确的。现在,我们要做的就是确定它是否足够好,或者反之,将需要什么样的PWM特性来支持输出信号规格。

由于该规范的信噪比为60 dB,这意味着噪声必须小于电压的千分之一,这意味着PWM频率必须衰减那么多。单个R,C滤波器与衰减频率之后的频率成反比地衰减。这是一个近似值,在接近滚降频率或更低的频率时会断裂,但是在大多数情况下,在超过滚滚频率八度或两个八度之后就足够了。换句话说,16 kHz会因误差而衰减2,32 kHz会因误差而衰减4,然后,您可以将感兴趣的频率除以滚降频率来获得衰减。我们希望将PWM频率衰减1000,这意味着它必须为8 MHz或更高。很高,但是对于某些处理器是可行的。例如,

现在让我们看一下PWM的分辨率。同样,这是由60 dB信噪比驱动的,我们知道这已经意味着1:1000。那将需要至少999的PWM分辨率(您总是获得比PWM分辨率高一倍的输出电平)。这意味着内部PWM限幅时钟需要运行8 MHz PWM输出频率的999倍,或者基本上是8 GHz。现成的可用部件不会出现这种情况。

但是,有一种方法可以克服这些限制,那就是不仅仅使用一个R,C滤波器。当我想要一个不错的模拟信号时,我通常会连续使用两个或三个。让我们看看使用三个连续的R,C滤波器如何改变事物。

我们最初说的是我们感兴趣的最高频率是8 kHz,这意味着我们可以忍受降低3 dB,除非我们另有说明。单个R,C滤波器在滚降频率处将衰减3 dB,因此我们将其正确地设置为8 kHz。我们不能在8 kHz处拥有三个滤波器,因为它们会在那里衰减9 dB。因此,我们将滤光片移出极数(在这种情况下,分离的R,C滤光片)。

因此,三个R,C滤波器(三个极点)的频率为24 kHz。这样做似乎使我们失去了基础,但是最大的优势在于,高于该频率的频率现在已被立方比率所衰减,而不仅仅是单极的比率所衰减。同样,我们希望将PWM频率衰减1000,即10 ^ 3,因此我们只需要比滤波器衰减频率高10倍,这意味着240 kHz足够高。与8 MHz相差很大。现在,内部PWM时钟或PWM限幅频率仅需要为240 MHz。那仍然很高,但可以实现。

希望这可以使您对问题有所了解。如果您提供具体规格,我们可以根据您的情况提供特定的值。


嗨,tnx,您的答案。我正在寻找方程式来解决这个问题,并根据占空比,铁磁系数和其他参数确定Rc的数量。如果有人可以帮助我,我将不胜感激
azin

@azin:占空比与它无关,但是PWM频率与占空比无关,正如我在答案中详细描述的那样。
奥林·拉斯洛普

2

通过使用级联RC阶段,可以提高单个RC的性能。在纯的多级RC无源滤波器中,人们无法获得与从有源滤波器获得的性能一样好的性能,但性能可能仍比单级更好。不幸的是,我不知道任何用于计算最佳RC值的特别好的方法。

要注意的另一件事是,虽然脉宽调制是占空比调制的最常见形式,但它并不是唯一的形式。一种简单的方法是生成一组信号,这在目标输出电压不会太频繁地变化并且输出更可能位于范围的中心而不是边缘的情况下非常有用。通过计算(当前计数器值“不是”先前的计数器值),并以相反的顺序将该信号与所需数据值的位进行“与”运算(以使数据值的MSB与当前计数器的“异或”运算) LSB和上一个)。将这种方法与例如六位占空比调制一起使用将意味着32/64占空比波将由PWM时钟频率的一半来表示,而不是频率为PWM时钟1/64的方波。33/64占空比主要由一半的PWM时钟频率表示,但会抛出一些额外的高脉冲。

是我正在谈论的演示。


嗨,tnx,您的答案。我正在寻找方程式来解决这个问题,并根据占空比,铁磁系数和其他参数确定Rc的数量。如果有人可以帮助我,我将不胜感激
azin

@supercat-您的答案似乎描述了一种技术,该技术具有我一直在考虑和寻找的总体属性(比基本PWM频率高得多的频率)。你知道那个技术的名字吗?
gbulmer

@gbulmer:我不知道这种方法的名称,但是可以在CD4089的设计中看到(有关数据表,请参见ti.com/lit/ds/symlink/cd4089b.pdf)。
超级猫

0

到目前为止,给出的所有出色答案都写得好且相关,但最好的答案通常需要一个更好的问题。

当您考虑“最佳RC量”时,任何设计都需要考虑哪些假设;

  1. 滤波器的阻抗相对于源极和负载的阻抗是多少?

    如果不是很关键,请在源和负载之间选择R。但是,假设CMOS驱动器的值是10〜100Ω,负载是100KΩ,但是您希望DC损耗的精度为0.3%,则选择R << R负载的0.3%,或者我称之为“阻抗比方法”考虑到负载因素,因此这里R <0.003 * 1e5 =300Ω。R的选择并不严格,但必须注意不要对滤波器进行负载,因此可以选择阻抗比,以快速计算直流损耗和交流抑制。

    • 如果您希望10KHz PWM噪声小于源的1%,那么对于RC LPF系列,选择Zc(f)的阻抗小于R的1%。
    • 如果您出于干扰原因希望在0.5 MHz以上的所有谐波上将纹波降到80dB以上,例如在AM无线电或FCC / CE EMC测试中,请再次查看电容的阻抗比(包括ESR相对于R),估计C的值,然后选择稍大一点的临时保证金 公差并考虑您需要多少利润。您知道一阶滤波器的斜率为20dB / decade,然后可以确定一阶滤波器是否足够。级联的RC滤波器必须考虑每个阶段的负载效应。LC滤波器的成本更高,可能需要有源滤波器。

假设您知道电容器阻抗比标准的阻抗是一个简单的解决方案。否则,要找到源和负载中间的阻抗,请考虑一种方法Rf =√(Rs * Rl),其中Rf是源的滤波器RC值,Rs和负载R1是中间范围的一种方法。

设计的好处在于,取决于您的标准,对于RC值通常会有多个“最佳”答案。:)


0

确定PWM数模低通滤波器中的最佳RC时间常数?

最佳答案取决于不同的问题。

?原始数据的频谱是什么?BW =??可接受多少PWM载波抑制?衰减= 40dB?60吗 10 ??

仅基于时间常数来设计过滤器忽略了理解数据保存的重要性。最好定义原始信号,以便可以设计一个简单的“最佳匹配滤波器”。我们需要注意原始信号的保留和载波信号(PWM f)的抑制。

您可以选择任何N阶LPF来使滤波器与原始信号匹配。简单的1片式开关电容滤波器或有源滤波器将获得最佳效果。LPF的类型取决于匹配原始信号的标准。

选择最佳=最大平坦频率。响应,MF组延迟或最陡的裙边或Nyquist滤波器达到1/2 PWM f。

然后是下一个最佳方法:

定义来自不完善的RC滤波器的电压中的抖动量。

如果要设计用于RF的PLL VCXO并使用PWM来控制环路,则您可能会关心PWM的杂散边带,因此 一旦获得答案,就需要考虑在PWM TH上加一个陷波LPF很容易。

可接受多少PWM载波抑制

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.