![Intel FPGA数字信号处理系统设计权威指南:从HDL、Simulink到HLS的实现(基础篇)](https://wfqqreader-1252317822.image.myqcloud.com/cover/321/47379321/b_47379321.jpg)
1.6.4 数模转换器(DAC)及信号重建
本节将介绍数模转换器(DAC)的原理以及信号的重建方法。
1.数模转换器(DAC)的原理
DAC是一种能够按照其特定的输入/输出特性,将二进制数据转换成所对应模拟电压的半导体器件。一个8位DAC转换的原理如图1.30所示。
![](https://epubservercos.yuewen.com/D9FA5C/26763839309463806/epubprivate/OEBPS/Images/41936_39_2.jpg?sign=1739658449-zRUWrq2qomAlfPM8tbTJvF7XhVPxJORf-0-5c33f06e2915ff7f364ce132d98e7fed)
图1.30 8位DAC转换的原理
通常DAC的类型主要包括:
(1)乘法DAC,即精确调整的电阻器通过求和放大器产生输出电压。
(2)Σ-ΔDAC,单比特过采样数据。
2.模拟信号的重建
在对信号数字化处理之后,正确地使用DAC就能够得到重构后的模拟信号,如图1.31所示。DAC输出的信号带有一些小的台阶,这是由零阶保持特性引起的一种现象,可以通过一个重构滤波器或者一阶保持电路来消除它。
![](https://epubservercos.yuewen.com/D9FA5C/26763839309463806/epubprivate/OEBPS/Images/41936_40_1.jpg?sign=1739658449-39mhrhmvCVAioMacuzAl2WGUEbleCOCM-0-f47edb8fa57129dca33d45e70f05449e)
图1.31 使用DAC重构信号
本质上,零阶保持电路是一个电容单元。在一个采样周期内,输入电压几乎为常数。因此,这是一个简单的低成本电路。
1)一阶保持电路
可以在DAC中使用一阶保持电路,将介于两个离散采样值之间的电压近似为一条直线。很明显,一阶保持电路使得重构的模拟信号更为精确。然而,实现执行插值目标的电路并不是必需的。
实际上,一阶保持电路的电压重构产生了一个信号。在均方误差的意义下,这个信号与原始信号很接近。然而,设计一个能够在任意两个输入电压之间产生一个线性增加电压的电路并不是一件简单的事情。因此,设计者更倾向于零阶保持电路。零阶保持电路的问题可以使用重构和一个sinx/x补偿滤波器加以修正。
2)模拟重构滤波器
模拟重构滤波器在DAC的输出信号中去除了基带信号中的高频分量,这个高频分量是以离散量化电平间的步长形式存在的,如图1.32所示。在时域上,真正的矩形滤波器的脉冲响应实际上是一个sinc函数,用下式表示:
![](https://epubservercos.yuewen.com/D9FA5C/26763839309463806/epubprivate/OEBPS/Images/41936_40_2.jpg?sign=1739658449-yFlAxhfDDLMzsthVSmYGZQK2u5mqZA7p-0-5e62127532f7eadcfd134eb2c8af6443)
![](https://epubservercos.yuewen.com/D9FA5C/26763839309463806/epubprivate/OEBPS/Images/41936_40_3.jpg?sign=1739658449-rkQWlHg4oiL9wWkVhCcDuR38PqAtYiEV-0-463985333595f9990cd80a15221842b2)
图1.32 模拟重构滤波器
sinc函数的时域和频域特性开始于t=-∞、结束于t=+∞,因此存在sinc插值的过程,如图1.33所示。
![](https://epubservercos.yuewen.com/D9FA5C/26763839309463806/epubprivate/OEBPS/Images/41936_41_1.jpg?sign=1739658449-1r4uNhzYDLs1Jy7ZQ3IInBUKQ1X1Bkdz-0-e9c839d56bb91649282740962f8a9eed)
图1.33 sinc函数时域特性和频域特性
3)零阶保持滤波器
可以将零阶保持操作认为是一个简单的重构频率滤波操作,如图1.34所示。零阶保持器(Zero-Order Hold,ZOH)的频谱特性如图1.35所示。
![](https://epubservercos.yuewen.com/D9FA5C/26763839309463806/epubprivate/OEBPS/Images/41936_41_2.jpg?sign=1739658449-eorLcFhXEXIKfgVeiHfSasQcaKKwsd2r-0-fb74c60d62988f85904e25b8b1556d95)
图1.34 零阶保持操作
![](https://epubservercos.yuewen.com/D9FA5C/26763839309463806/epubprivate/OEBPS/Images/41936_41_3.jpg?sign=1739658449-M11jvLSlMwzXv6sv3A8bKIxm54RYgdgI-0-872104b335a272a10ca81f0ce60d98ba)
图1.35 零阶保持器的频谱特性
步长重构导致了在fS/2处的衰减。零阶保持器的时域表示如图1.36所示。ZOH电路的频率响应可以通过图1.36中的冲激响应来计算。通过傅里叶变换就可以得到频率响应,该响应特性表示为
![](https://epubservercos.yuewen.com/D9FA5C/26763839309463806/epubprivate/OEBPS/Images/41936_41_4.jpg?sign=1739658449-FRFURLj3mBXKHYlXYzphP9MXVUvLXbph-0-03ce29f21c3cc58868cad64e3b02b365)
图1.36 零阶保持器的时域表示
![](https://epubservercos.yuewen.com/D9FA5C/26763839309463806/epubprivate/OEBPS/Images/41936_41_5.jpg?sign=1739658449-gGL02izSrcbK9TWPdfXPkEDAxGUBg6K6-0-5e89c7fdbaba74d8946537235f58bda6)
因此,对于理想的重构滤波器而言,应该通过下面的因子对fS/2频率处的sinx/x衰减进行补偿:
2/π=0.637=20lg0.637=-3.92dB
所以,理想的重构(同样需要理想的线性相位)的幅频响应为在fS/2频率处得到了1/0.637=1.569增益补偿的滤波器;而高于此值的所有频率分量都将被衰减。实际上,这种模拟滤波器是无法实现的,只能尽可能地接近理想的矩形滤波器。
为了补偿衰减,可以在DAC之前引入一个数字滤波器,用于放大信号,它具有相反的衰减特性。在现代DSP系统中,通常使用过采样以降低模拟实现的难度。