第四节:噪声整形原理

好,咱们接着聊。上一节讲了过采样能提高信噪比,但有个问题——你想想看,单纯靠提高采样率来换精度,效率其实挺低的。比如你想把SNR提高6dB,采样率就得翻一倍,这代价有点大。

那有没有更聪明的办法?有。这就是我今天要讲的——噪声整形

什么是噪声整形?

说白了,噪声整形就是把量化噪声的能量从低频段推到高频段去。低频是我们关心的信号频带,高频嘛,后面用数字滤波器一滤就没了。

我打个比方你就明白了。想象你在一个房间里开会,有人在你耳边一直嗡嗡嗡。你受不了,就把他推到墙角去。虽然他还是吵,但离你远了,影响就小了。噪声整形干的就是这个事——把量化噪声从信号频带里「推走」。

我个人习惯把噪声整形比作「噪声的搬家工程」。搬走之后,信号频带内的噪声功率大幅降低,等效分辨率自然就上去了。

核心思想:过采样 + 噪声整形 = 用采样率换分辨率,但效率远高于单纯过采样。

一阶ΔΣ调制器结构

要实现噪声整形,最经典的电路就是一阶ΔΣ调制器。它的结构其实不复杂,我画给你看:

输入 x[n] → [累加器] → [量化器] → 输出 y[n]
                ↑                    |
                └──── [1个时钟延迟] ←┘

嗯,这里要注意,这个结构里有个反馈环路。量化器的输出经过一个时钟周期的延迟,再反馈回输入端与输入信号做差。这个差值就是量化误差,被累加器不断累积。

我刚开始学这个结构时,总觉得它跟负反馈放大器有点像。确实,ΔΣ调制器本质上就是一个负反馈系统,只不过它处理的是离散时间信号。

具体来说,一阶ΔΣ调制器包含三个关键部分:

  • 差分器:计算输入信号与反馈信号的差值
  • 累加器:对差值进行积分(离散时间域就是累加)
  • 量化器:通常就是1位比较器,输出±1或0/1

你可能会问:为什么量化器只用1位?这不精度很低吗?

没错,单看量化器本身,1位量化器的量化误差确实很大。但别忘了,我们有反馈环路和后面的数字滤波器。这个系统的妙处就在于——用低精度的量化器,配合高采样率和反馈,最终得到高精度的结果。

实战经验:我在做音频ADC项目时,用的就是一阶ΔΣ调制器加1位量化器。刚开始团队里有人质疑:1位量化器能行吗?结果测试出来,等效分辨率做到了16位以上。这就是噪声整形的威力。

噪声传递函数(NTF)推导

好,接下来是硬核部分。咱们来推导一下噪声传递函数。别怕,其实不复杂。

先定义几个变量:

  • x[n]:输入信号
  • y[n]:输出信号
  • e[n]:量化误差(量化器引入的噪声)

从结构图可以看出,累加器的输出等于输入差值加上前一时刻的累加值。用数学表达就是:

w[n] = w[n-1] + (x[n] - y[n-1])

其中w[n]是累加器的输出。量化器把w[n]量化成y[n]:

y[n] = w[n] + e[n]

把这两个式子联立起来:

y[n] = w[n-1] + (x[n] - y[n-1]) + e[n]

而w[n-1] = y[n-1] - e[n-1],代入上式:

y[n] = (y[n-1] - e[n-1]) + x[n] - y[n-1] + e[n]
     = x[n] + e[n] - e[n-1]

看到了吗?输出信号y[n]等于输入信号x[n]加上一个差分形式的量化噪声e[n] - e[n-1]。

现在转到z域。时域的差分对应z域的(1 - z⁻¹):

Y(z) = X(z) + (1 - z⁻¹)E(z)

所以:

  • 信号传递函数 STF = Y(z)/X(z) = 1(信号无损通过)
  • 噪声传递函数 NTF = Y(z)/E(z) = 1 - z⁻¹

关键结论:NTF = 1 - z⁻¹ 是一个高通滤波器。它在直流处(f=0)增益为0,随着频率升高增益逐渐增大。这意味着量化噪声在低频被抑制,在高频被放大——这就是噪声整形的数学本质。

为什么会这样?你想想看,1 - z⁻¹的幅频响应是|2sin(πf/fs)|。在低频段,sin值很小,NTF的增益接近0。随着频率升高,增益逐渐增大到2。

我当年推导到这里时,有种豁然开朗的感觉。原来噪声整形就是用一个高通滤波器去处理量化噪声,把噪声能量推到高频去。

避坑指南:我曾经在项目里犯过一个错误——以为NTF的零点越多越好。其实不然。高阶调制器虽然噪声整形效果更好,但稳定性问题也更突出。一阶调制器是绝对稳定的,但二阶以上就需要小心设计了。新手建议从一阶开始练手。

噪声整形带来的性能提升

有了噪声整形,过采样的效率就大大提高了。咱们来算笔账:

过采样率(OSR) 单纯过采样 SNR提升 一阶ΔΣ SNR提升
4 6 dB 15 dB
8 9 dB 21 dB
16 12 dB 27 dB
32 15 dB 33 dB
64 18 dB 39 dB

看到差距了吧?OSR=64时,单纯过采样只能提升18dB,而一阶ΔΣ能提升39dB。换算成有效位数,相当于多了3.5位。

我个人的经验是,在实际项目中,一阶ΔΣ调制器配合OSR=64到128,就能轻松实现16位以上的有效分辨率。这对于大多数音频和低频测量应用来说,已经足够了。

小技巧:如果你需要更高的分辨率,可以考虑二阶或三阶ΔΣ调制器。但要注意,阶数每增加一阶,稳定性设计就复杂一个数量级。我建议先吃透一阶,再往高阶走。

好了,这一节的内容就到这。噪声整形的核心就两点:一是理解它的物理含义——把噪声推到高频去;二是掌握NTF的推导——1 - z⁻¹这个高通滤波器。下一节我会讲如何用代码实现一阶ΔΣ调制器,到时候咱们手把手写代码。