模拟集成电路设计系列博客——5.2.2 二阶开关电容滤波器

发布时间 2024-01-05 19:39:33作者: sasasatori

5.2.2 二阶开关电容滤波器

类似于一阶的情况,二阶开关电容滤波器结构可以通过参考连续时间滤波器结构来实现。然而,和一阶滤波器一样,一旦确定滤波器结构,其精确的频率响应需要通过离散时间分析求得。使用精确的传输函数,或者是几个精确的近似,可以确定设计环节时所需要的电容比例。

一个二阶连续时间滤波器结构可以通过重写通用二阶滤波器传输函数\(H_a(s)\)得到:

\[H_a(s)=\frac{V_{out}(s)}{V_{in}(s)}=\frac{k_2s^2+k_1s+k_0}{s^2+(\omega_0/Q)s+\omega_0^2} \tag{5.2.20} \]

此处,\(\omega_0\)\(Q\)是无阻尼震荡频率和品质因子,\(k_0\)\(k_1\)\(k_2\)是用来设置二阶滤波器零点的因子(分子项的根)。上面的公式可以变形为:

\[V_{out}(s)=[-k_2-\frac{k_1}{s}]V_{in}(s)-\frac{\omega_0}{Qs}V_{out}(s)-\frac{k_0}{s^2}V_{in}(s)-\frac{\omega_0^2}{s^2}V_{out}(s) \tag{5.2.21} \]

\((5.2.21)\)可以整理成两个基于积分器的方程的形式,即:

\[V_{c_1}(s)=-\frac{1}{s}[\frac{k_0}{\omega_0}V_{in}(s)+\omega_0V_{out}(s)] \tag{5.2.22} \]

以及:

\[V_{out}(s)=-\frac{1}{s}[(k_1+k_2s)V_{in}(s)+\frac{\omega_0}{Q}V_{out}(s)-\omega_0V_{c1}(s)] \tag{5.2.23} \]

对应的信号流图如下图所示:

image

假定可以使用负电阻,那么这个信号流图对应的有源RC滤波器实现如下图所示[Brackett,1978]:

image

注意为了集成电容的方便,\(C_A\)\(C_B\)为设置为单位值。这个电路的开关电容版本的实现如下图所示[Martin,1979]:

image

此处,所有正电阻采用无延迟开关电容级实现,负电阻通过有延迟开关电容级实现。其中存在一些冗余的开关,因为还没有使用开关共享技术。输入电容\(K_1C_1\)是主要的实现低通滤波器的信号通路,\(K_2C_2\)是实现带通滤波器的信号通路,\(K_3C_2\)是实现高通滤波器的主要信号通路。

在继续讨论之前,值得一提的事情是,尽管这个单端开关电容电路是一个自然的结果,使用全差分电路可以得到不同的结果,但其中一些的性能可能并不佳。比如,在这个电路的全差分版本中,所有的正电阻还是使用无延迟开关电容来实现,此外负电阻也可以使用无延迟开关电容,只需要差分输入线交叉即可。这样的电路有着围绕两个积分器的无延迟环路,并且会有过长的建立时间行为。另一个例子是,所有的电阻都替换成有延迟的开关电容,正电阻通过交叉差分输入线来实现。在这个例子中,建立时间行为不会受到影响,因为围绕两个积分器的环路有两个延迟,但是对于有着高\(Q\)的滤波器,因子敏感性会更差。总而言之,两个积分器环路只有一个单独的延迟围绕环路非常重要,这样安排被称作使用无损离散时间积分器(LDI)[Bruton,1975]。

上图的开关电容的信号流图如下图所示:

image

通过信号流图可以写出传输函数为:

\[H(z)=\frac{V_o(z)}{V_i(z)}=-\frac{(K_2+K_3)z^2+(K_1K_5-K_2-2K_3)z+K_3}{(1+K_6)z^2+(K_4K_5-K_6-2)z+1} \tag{5.2.24} \]

这个公式可以用于分析开关电容电路,也可以用于设计想要的传输函数。假定在设计数字滤波器时得到了如下所示的传输函数:

\[H(z)=-\frac{a_2z^2+a_1z+a_0}{b_2z^2+b_1z+1} \tag{5.2.25} \]

我们对比\((5.2.24)\)\((5.2.25)\),我们可以得到如下的设计方程:

\[K_3=a_0 \tag{5.2.26} \]

\[K_2=a_2-a_0 \tag{5.2.27} \]

\[K_1K_5=a_0+a_1+a_2\tag{5.2.28} \]

\[K_6=b_2-1 \tag{5.2.29} \]

\[K_4K_5=b_1+b_2+1 \tag{5.2.30} \]

在选择\(K_1\)\(K_4\)\(K_5\)时有一定的灵活性。这个灵活性是因为在设计整体的传输函数\(H(z)\)时,对于内部节点的信号幅度\(V_1(z)\)是没有限制的。因此,一个选择合适的电容值的方法是令\(K_5=1\),然后确定其他元件的初始值,匝道\(V_1(z)\)\(V_o(z)\)出线的信号幅度,然后使用信号幅度信息,进行动态范围缩放来找到使得两个节点上有着相似信号摆幅的元件值。换而言之,两个离散时间积分器的时间常数可以通过下式来保持相等:

\[K_4=K_5=\sqrt{b_1+b_2+1} \tag{5.2.31} \]

这样选择一半会实现一个接近最有动态范围缩放的电路。

如果想要实现传输函数尽可能匹配连续时间传输函数的二阶开关电容滤波器,那么可以将\((5.2.24)\)重写为:

\[H(z)=\frac{V_o(z)}{V_i(z)}=-\frac{K_1K_5+K_2(z^{1/2}-z^{-1/2})z^{1/2}+K_3(z^{1/2}-z^{-1/2})^2}{K_4K_5+K_6(z^{1/2}-z^{-1/2})z^{1/2}+(z^{1/2}-z^{-1/2})^2} \tag{5.2.32} \]

又根据:

\[z^{1/2}=cos(\frac{\omega T}{2})+jsin(\frac{\omega T}{2}) \tag{5.2.33} \]

以及:

\[z^{-1/2}=cos(\frac{\omega T}{2})-jsin(\frac{\omega T}{2}) \tag{5.2.34} \]

将这两个方程代入到\((5.2.32)\)中有:

\[H(e^{j\omega T})=\frac{V_o(e^{j\omega T})}{V_i(e^{j\omega T})}=-\frac{K_1K_5+jK_2sin(\omega T)+(4K_3+2K_2)sin^2(\omega T/2)}{K_4K_5+jK_6sin(\omega T)+(4+2K_6)sin^2(\omega T/2)} \tag{5.2.35} \]

对于\(\omega T<<1\),我们进一步有:

\[H(e^{j\omega T})=\frac{V_o(e^{j\omega T})}{V_i(e^{j\omega T})}\approx\frac{V_o(e^{j\omega T})}{V_i(e^{j\omega T})}=-\frac{K_1K_5+jK_2\omega T+(K_3+K_2/2)(\omega T)^2}{K_4K_5+jK_6sin\omega T+(1+K_6/2)(\omega T)^2} \tag{5.2.36} \]

\((5.2.36)\)中的因子可以与连续时间传输函数中的因子匹配。为了更精确的两个传输函数的近似匹配,可以通过在谐振频率的\((5.2.35)\)与想要的连续时间传输函数,匹配分子分母中的实部与虚部来选择电容比例,如[Martin,1980]所示。

最后,估计最大到最小的电容比例可以通过使用开关电容的电阻近似来实现。比较本节中的二阶连续时间滤波器和二阶离散时间滤波器,并使用开关电容的电阻近似,我们可以发现如下的近似对于反馈电容比例\(K_4\)\(K_5\)\(K_6\)有效(这些电容比例决定了极点位置):

\[K_4\approx K_5\approx \omega_0T \tag{5.2.37} \]

\[K_6 \approx \frac{\omega_0 T}{Q} \tag{5.2.38} \]

然而,采样率\(1/T\)一般远大于近似的无阻尼震荡频率\(\omega_0\),即:

\[\omega_0T<<1 \tag{5.2.39} \]

因此,在本节介绍的二阶开关电容滤波器中最大的电容(确定极点位置)是\(C_1\)\(C_2\)。此外,如果\(Q<1\),那么最小的电容是\(K_4C_1\)\(K_5C_2\),电容分布为\(1/(\omega_0 T)\),如果\(Q>1\),那么最小的电容是\(K_6C_2\),电容分布为\(Q/(\omega_0T)\)

我们前面讨论了低\(Q\)值电路的情况,如果\(Q>>1\),那么一个直接的影响是\(Q/\omega_0\)的阻尼电阻会很大。一个获得电容分布没有那么大的高\(Q\)值开关电容电路的方法是消除连续时间滤波器中的阻尼电阻。为了实现这个目的可以将\((5.2.21)\)重写为:

\[V_{out}(s)=-\frac{1}{s}[k_2sV_{in}(s)-\omega_0V_{c1}(s)] \tag{5.2.40} \]

以及:

\[V_{c1}(s)=-\frac{1}{s}[(\frac{k_0}{\omega_0}+\frac{k_1s}{\omega_0})V_{in}(s)+\omega_0V_{out}(s)+\frac{s}{Q}V_{out}(s)] \tag{5.2.41} \]

这两个方程形成的信号流图如下图所示:

image

注意这里的阻尼通道\(s/Q\)因子,它流经第一个积分器级,并且可以被一个电容实现,如下图所示:

image

再次,将电阻替换为开关电容,最终得到的高\(Q\)值二阶开关电容滤波器电路如下图所示[Martin,1980]:

image

输入电容\(K_1C_1\)是实现低通滤波器的主要信号通路,\(K_2C_2\)是实现带通滤波器的主要信号通路,\(K_3C_2\)是实现高通滤波器的主要信号通路。此外也可能实现其他类型的功能,例如一个从输入到第二个积分器的非延迟开关电容也可以用来实现反相带通功能。如果这个开关电容的输入开关的相位交换,那么一个就能实现一个正相带通函数,但会有额外的周期延迟。

这个电路的传输函数为:

\[H(z)=\frac{V_o(z)}{V_i(z)}=-\frac{K_3z^2+(K_1K_5+K_2K_5-2K_3)z+(K_3-K_2K_5)}{z^2+(K_4K_5+K_5K_6-2)z+(1-K_5K_6)} \tag{5.2.42} \]

匹配\((5.2.42)\)和离散时间传输方程:

\[H(z)=-\frac{a_2z^2+a_1z+a_0}{z^2+b_1z+b_0} \tag{5.2.43} \]

可以得到如下的方程:

\[K_1K_5=a_0+a_1+a_2 \tag{5.2.44} \]

\[K_2K_5=a_2-a_0 \tag{5.2.45} \]

\[K_3=a_2 \tag{5.2.46} \]

\[K_4K_5=1+b_0+b_1 \tag{5.2.47} \]

\[K_5K_6=1-b_0 \tag{5.2.48} \]

对于低\(Q\)的二阶滤波器,我们看到这里在决定因子时有一定的自由度,因为方程比因子数量少一个。一个合理的初始选择是取:

\[K_4=K_5=\sqrt{1+b_0+b_1} \tag{5.2.49} \]

之后可以确定所有的比例。着给出了一个好的动态范围,但是缺少了必要的优化。在设计完这个二阶滤波器后,可以对其分析并调整两个放大器输出的最大信号幅度。

例题:

如下的传输函数描述了一个峰值增益为5,频率接近\(f_s/10\)\(Q\)大概为10的带通滤波器:

\[H(z)=-\frac{0.288(z-1)}{z^2-1.572z+0.9429} \tag{5.2.50} \]

找出最大到最小的电容比例,假定该传输函数通过高\(Q\)二阶滤波器电路实现。将结果与使用低\(Q\)电路实现的进行比较。在两个情况中都令\(C_1=C_2=1\)

解答:

代入高\(Q\)电路的设计方程\((5.2.44)\)\((5.2.48)\),并假定\(K_4=K_5\)可以得到如下的电容值:

\[K_4=K_5=0.6090 \tag{5.2.51} \]

\[K_1=0 \tag{5.2.52} \]

\[K_2=0.4729 \tag{5.2.53} \]

\[K_3=0 \tag{5.2.54} \]

\[K_6=0.0938 \tag{5.2.55} \]

考虑到\(C_1=C_2=1\),在高\(Q\)电路中,最小的电容为\(K_6C_1\),最后的电容分布为11。

对于低\(Q\)电路来说,我们首先将\((5.2.50)\)重写为:

\[H(z)=-\frac{0.3054(z-1)z}{1.0606z^2-1.667z+1} \tag{5.2.56} \]

这样可以更好的应用设计方程,此外引入了一个额外的零点\(z=0\)来避免负电容,这个额外的零点不会影响幅频响应。

我们令\(K_4=K_5\)可以得到如下结果:

\[K_4=K_5=0.6274 \tag{5.2.51} \]

\[K_1=0 \tag{5.2.52} \]

\[K_2=0.3054 \tag{5.2.53} \]

\[K_3=0 \tag{5.2.54} \]

\[K_6=0.0606 \tag{5.2.55} \]

因此这个电路的最小电容由\(K_6\)决定,通过其计算出的电容分布为17。比高\(Q\)电路的电容分布大出了6(大约50%),需要注意的是低\(Q\)值电路的电容分布会进一步恶化,如果\(Q\)值继续增大,或者采样频率相对于通带边缘进一步增加。

除了上面介绍的两种二阶滤波器外,还有很多其他的实现。例如,一个可以实现任何\(z\)变换的通用结构由[Laker,1994]提出。但是,作者发现对于大部分的滤波器应用,使用上面介绍的两种方案(带有开关共享)就已经接近最优。相位均衡器除外,因为其经常需要近似负电阻。如果要实现高阶开关电容滤波器,可以堆叠多个二阶或者一阶滤波器来实现。感兴趣的读者可以参考[Gregorian,1986]来了解更多高阶开关电容滤波器的细节。