本节将介绍数字信号处理的关键问题,内容包括数字信号处理系统的结构、信号调理的方法、模数转换器(ADC)及量化效应、数模转换器(DAC)及信号重建,以及SFDR的定义及测量。
单输入单输出语音数字信号处理系统的结构如图1.7所示,包括放大器、抗混叠滤波器、模数转换器(ADC)、数字信号处理器、数模转换器(DAC)、重构滤波器。
在数字信号处理系统中,模拟器件仍然扮演了非常重要的角色。来自真实世界的输入和到真实世界的输出都是模拟的。在数字信号处理系统中,应尽量简化模拟的设计要求和技术规格,取而代之的是采用更为复杂的数字处理方法,如过采样技术。在许多系统中,使用比实际需要高得多的采样率,其目的是减少使用模拟器件带来的复杂度。
图1.7 单输入单输出语音数字信号处理系统的结构
数字信号处理系统可以分成3种类型,包括:
(1)实时输入/输出,如DSP通信链路;
(2)实时输入,如语音识别系统;
(3)实时输出,如CD音频重构系统。
模拟抗混叠滤波器在数字信号处理系统中非常重要,其目的是确保混叠失真不会被引入数字信号处理系统中。重构滤波器在数字信号处理系统中也非常重要,它用来确保重构的高频噪声不会出现在输出信号中。
在一个数字信号处理系统中,真实世界的信号被转换为一个模拟电压,然后用二进制数值表示。数字信号处理系统使用二进制数,通常用二进制补码表示。通过使用数字信号处理方法,很容易设计电子器件,使得两个离散值对应两个模拟电压值。通过使用数字信号处理算法,很容易实现二进制加法器、乘法器和存储器等,它们一起构成了执行高速算术运算的核心部件。DSPs、FPGA或ASIC都使用二进制规则执行运算操作,大多数的DSPs使用二进制补码运算,它允许用一种非常方便的方式来表示负数,并且不会增加算术运算操作的开销。
本节将介绍信号调理的方法,内容包括抽样定理、抗混叠滤波和信号放大。
在时域中,用时间函数 x ( t )表示一个信号,用频率函数 X (j ω )表示信号的频谱分布。 x ( t )与 X (j ω )为一个傅里叶变换对。香农等人于1948年提出了抽样定理,用于说明 x ( t )的抽样序列 x ( nT )与 x ( t )之间的关系。
抽样定理描述为:设 x ( t )是一频带宽度有限的信号,即当 |ω| > ω m 时, X (j ω )=0。当以大于2 ω m 的抽样率 ω S (等于2π/ T )对信号 x ( t )进行抽样时,得到的抽样序列 x ( nT )可以完全确定 x ( t ),其中 f S =2 ω m 的抽样频率也称为奈奎斯特频率。
抽样过程如图1.8所示,连续信号 f ( t )抽样前后的表示如图1.9所示,连续信号 f ( t )抽样前后的频谱分布如图1.10所示。
图1.8 抽样过程
图1.9 连续信号 f ( t )抽样前后的表示
图1.10 连续信号 f ( t )抽样前后的频谱分布
当抽样脉冲 p ( t )为理想抽样信号时,表示为
式中, T S 为采样的周期,且1 /T S = f S 为采样频率;角频率 ω S =2π/ T S 。
抽样信号 f S ( t )可以表示为
f S ( t )= f ( t )· δ T ( t )
根据卷积定理可知:
又因为周期信号 p ( t )的傅里叶变换可以表示为
又因为 F n 可以表示为
所以:
从图1.10可以看出:
(1)当采样频率 ω S ≥2 ω m ( ω m 为带限信号的最高频率,也就是说在该频率上有能量的分布)时,周期延拓的 F ( ω )的频谱不会互相重叠在一起。
(2)当采样频率 ω S <2 ω m 时,周期延拓的 F ( ω )的频谱就会互相重叠。这样,就会在后续还原信号时造成信号的失真,使得信号无法恢复。
所以,奈奎斯特定理是保证在对连续信号进行采样时不会发生“混叠”的最基本条件。在实际应用中,如果要恢复完整的信号,采样频率就应该为信号最高频率的10倍以上。
当在低于奈奎斯特频率下采样一个基带信号时,就会丢失信号的频谱信息,这就是通常所说的混叠现象。
如果一个信号存在大于 f S /2的频率分量,则将会发生混叠现象。混叠就意味着信号的失真,在没有抗混叠和重构滤波器的数字信号处理系统中,输入一个6kHz的正弦信号,而采样频率为10kHz,采样后的信号为一个4kHz的正弦信号。很明显,这是一个非线性的系统。
注 :测试系统线性特性最简单的方法就是输入一个单频正弦信号,如果输出不是同频的正弦信号,也就是可能包含其他的谐波分量,则该系统是非线性的。
用10kHz的采样率采样一个9kHz的语音信号,如图1.11所示。很明显,这是一个高于 f S /2=5kHz的信号,所以对9kHz的信号采样将发生频谱混叠。从图1.11中可以看出,当重构这个信号的时候,得到了一个1kHz的正弦波。
图1.11 信号混叠(1)
注 :信号的相位也发生变化,与输入9kHz频率的信号相比,相移180°。
根据 f S 和输入频率的知识,可以直接计算出大于 f S /2的输入信号混叠分量的频率。如果只观察经过采样又经过适当重构之后的输出信号,便无法确定哪个输入信号发生了混叠。
很显然,当对上面的系统使用10kHz的频率采样时,最好将输入信号的频率限制在5kHz以内。
但是,当解调一个信号时,可以利用混叠现象,如图1.12所示。当使用采样率为20000sps,直接数字下变频可以被用来对60~70kHz带宽的信号解调,即可以发生向下混叠,将其混叠到10kHz(ADC的前端必须能够在相当于信号带宽的时间间隔内对信号积分)。
图1.12 信号混叠(2)
如果带限信号,则输出信号将会在基带频率处混叠出相同的形状,如图1.13所示。
图1.13 信号在低频处混叠
频率混叠的具体分析如图1.14所示。在设计中,采样频率为 f S =1kHz。
图1.14 频谱混叠分析
如果遵守奈奎斯特定律,以1000Hz采样所合成的正弦信号和 ω ( t ),就可以把将要采样的信号表示为一个简单的(正弦波幅度)频谱。
当然,如果已经采样了信号 x ( t ),也就是说,以1000Hz 采样900Hz、750Hz和600Hz信号,则由于不满足奈奎斯特定律,因此这些正弦波将会分别混叠到100Hz、250Hz和400Hz频率上,也就是说,在这些频率点上存在着分量(能量分布)。
类似地,如果以1000Hz采样信号 y 0 ( t ),也就是说,在1100Hz、1250Hz和1400Hz的正弦波,则由于不满足奈奎斯特定律,所有这些正弦波将会分别混叠到100Hz、250Hz和400Hz频率上。
注意,频谱的混叠如图1.15所示。
图1.15 频谱图的混叠
为了避免在一般情况下出现频谱混叠,在将模拟量输入到模数转换器(ADC)之前,需要滤除所有频率高于 f S /2的分量,如图1.16所示。抗混叠滤波器是一个模拟的理想矩形滤波器,其截止频率为 f S /2Hz。
图1.16 抗混叠滤波器
思考与练习1-1 :很明显,矩形滤波器是无法物理实现的,请说明原因。
在实际中,应该将理想矩形滤波器转换为有足够滚降和衰减的非理想矩形滤波器,如图1.17所示。同时,还应该保证所设计的滤波器具有理想的线性相位。因此,抗混叠滤波器的设计并不是一件容易的事情。图1.17中,0dB对应的衰减为1, V out = V in ;-40dB对应的衰减为0.01, V out =0.01 V in 。
图1.17 抗混叠滤波器特性
在模拟信号被输入到ADC之前,需要放大器对模拟信号进行放大,以确保模拟信号能够使用ADC的满量程电压输入范围,这个过程也被称为信号调理,如图1.18所示。
图1.18 信号调理
对于上面的ADC,满量程输入电压的摆动范围为-2~+2V,所以需要将传感器的输出电压放大到-2~+2V的摆动范围,使得放大器的输出电压和ADC的输入电压范围相匹配。
如果一个模拟信号的幅值变化范围大于ADC的允许输入范围,那么ADC将会对该信号进行限制,如图1.19所示,即去掉信号中任何大于或小于ADC输入范围的电压。这样,就会造成信息的丢失(损失)。换句话说,当对输入信号进行放大时,如果放大后的信号摆幅大于放大器的供电电压,放大器将出现剪切效应。
图1.19 放大器剪切效应
注 :在设计模拟信号调理电路时,需要确保不会出现这种情况,至少在感兴趣的信号范围内不要发生这种情况。
ADC是一种根据其特定的输入/输出特性,将模拟电压信号转化成所对应二进制数的一种半导体物理器件。在数模混合系统中,ADC是实现模拟信号数字化处理最重要的单元之一,也是在数字信号处理单元上实现数字信号处理算法最重要的基础。通常,ADC的类型主要包括:
(1)Flash型ADC,即使用精确调整的电阻阶梯方法。
(2)逐次近似型ADC,即内部使用DAC和比较器来决定电压值。
(3)双斜率型ADC,即内部使用一个连接到参考电压的电容,由一个数字计数器来计算电容器的充电时间。
(4)Σ-Δ型ADC,即采用过采样单比特转换器方法。
实际的采样率取决于应用领域,如对于控制系统的采样率为几十赫兹;对于生物学应用的采样率为几百赫兹;对于音频应用的采样率为几千赫兹;对于数字无线电前端的采样率为几兆赫兹。
ADC最重要的一个指标就是采样率(Sample Per Second,SPS),即每秒所能转换的采样个数。
观察ADC器件的直线部分,经常称这种特性为线性,如图1.20所示。很明显,从图1.20中可知,由于出现离散台阶,因此该器件实际呈现非线性特性,并且器件本身限制了高于最大值或低于最小值电压的变化范围。然而,如果步长很小而台阶数目很大,则称该器件具有通常工作范围内的分段线性特性。
图1.20 ADC转换特性
注 :此处的台阶数与ADC的位数有关,该特性也决定了ADC的分辨率。
思考与练习1-2 :为什么说出现了台阶就说器件是非线性的?请根据线性系统理论知识解释原因。
ADC并不一定必须具有线性特性,如在无线通信中,经常使用定义好的标准非线性量化特性(A律或μ律)。很明显,语音信号具有较大的动态范围,“oh”和“b”型的声音有很大的幅值,然而柔和的声音“sh”只有很小的幅值。如果采用均匀的量化方案,则可以表示响度大的声音,但是安静一点的声音将会降落到LSB门限值之下,因此将被量化到零,并且造成信息丢失。通过非线性量化器,使得低电平输入的量化电平比高电平输入小得多。通常用一个非线性电路连接一个均匀量化器来实现A律量化器。目前,广泛使用两种方案,即欧洲使用A律,美国和日本使用μ律。
类似地,DAC也可能有非线性的特性。
ADC可能有或者也可能没有零输出电平。例如,一个ADC可以有一个中间水平(Mid-Tread)或中间升高(Mid-Rise)的特性。考虑一个3比特的中间水平和中间升高的ADC转换器,如图1.21所示。图1.21中,中间升高的ADC转换器没有零电平输出,然而中间水平的ADC则有零电平输出。但是,由于使用了二进制补码的表示方法,使得在零电平之上比在零点平之下有更多的电平梯度。
图1.21 3比特ADC 在零点不同特性
对于一个位数很少的ADC而言,中间水平和中间升高量化之间的区别是很明显的,特别是考虑量化噪声时。典型地,对于一个幅度非常小的正弦波而言,如其幅值是 q/ 10,则输入到中间升高ADC后,输出为000;相同的波形输入到中间水平的ADC时,将产生一个与输入正弦频率相同的方波,该方波的电平为000和111。因此,中间水平ADC寄存了某些输入信号,但是中间升高ADC并没有该特征。
在信号调理之后,ADC对调理后信号进行采样,产生与输入电压值相对应的二进制数。由于ADC离散电平的个数由有限的ADC位数决定,因此ADC只具有有限的精度,或者称为分辨率。这样,每个采样都会存在一个很小的误差。
量化台阶的大小为0.0625V,如图1.22所示。如果使用一个5比特的ADC,则最大/最小的输入电压近似为0.0625×16=1V。
实际上,可以用一个采样器和一个量化器等效ADC,如图1.23所示。
如果线性ADC最小的步长为 q V,则每个采样的误差最大为 q /2V。 q 表示为
式中, N 为ADC转换器的位数; V max 为最大与最小输入电压差值。
图1.22 ADC量化误差
图1.23 ADC的组成
通常使用dB表示 N 位ADC转换器的动态范围,即表示为
20lg2 N =20 N lg2=6.02 N
所以,8位ADC转换器的动态范围大约为48dB。
ADC的输出可以等效为采样信号 V ( n )加上量化误差 e ( n ),即每个采样的量化误差范围为± q/ 2,可以将量化器建模为一个线性可加性噪声源,如图1.24所示。
图1.24 ADC的等效描述
因此,量化器线性方程模型可以表示为
式中, e ( n )是一个与输入信号 V ( n )无关的白噪声源。
实际上,对一个量化器而言,是不可能用一组简单的数学方程式描述其输入和输出的。所以,量化噪声将会加上一个固有噪声电平。
注 :量化噪声并不总是随机的。当输入信号为周期性正弦波的时候,量化噪声也是周期信号。
量化噪声是周期性的,如图1.25所示。量化噪声的频谱如图1.26所示。
图1.25 量化噪声的周期性
图1.26 量化噪声的频谱
注 :上面的频谱图只是量化噪声的频谱图,所以不存在基频分量 f 0 。
对于每个初始的正弦周期而言,量化噪声是相同的,频域上受到了影响,在基频的谐波上获得一系列杂散。
假设ADC四舍五入到最接近的数字电平,那么任意一个采样值的最大可能误差是 q /2V。量化噪声的均匀分布如图1.27所示。很明显,假定误差在 -q/ 2~ q/ 2范围内服从均匀分布,则误差的概率密度函数是平坦的。实际上,量化误差与输入信号或多或少都有一些关联,特别是对低电平的周期信号。这个问题将在后面的章节中说明。
图1.27 量化噪声的均匀分布
考虑量化误差信号的噪声功率或方差(在1Hz的采样频率下使用1Ω的电阻),可表示为
量化误差 e ( f )的频率范围为0~ f S /2,即整个频带内都存在量化误差。
在数字信号处理领域,通常可以交替使用量化功率和量化误差的概念。严格地讲,量化误差是指量化的采样值和其真实值之间的差值。这里把这个概念扩展一下,量化误差信号是采样误差信号电压和时间的关系。当然,这个信号并不是真实存在的,它只是用于分析的目的。通常把量化误差称为量化噪声,或量化噪声信号。
噪声的概念通常局限为信号噪声,可以通过滤波器去除信号噪声。因此,更准确地说,量化噪声应该称为量化失真。
下面将给出量化噪声功率(时间平均-对比上述的统计平均)的定量计算方法。
在实际情况中,可以通过时间平均计算噪声信号功率。当取量化误差的 N 个采样( N →∞)时,平均功率表示为
因此,量化噪声将覆盖真实信号频谱中所感兴趣的频率分量成分。
对于 N 位的信号,在最小量化值到最大量化值的范围内共有2 N 个量化电平,可以通过下式计算量化噪声功率的均方值:
另一个有用的测量参数是信噪比(SNR)。对于要求输入电压在-1~+1V之间变化的ADC而言,如果输入信号为可能的最大值,即幅值为1V的正弦波,则平均输入信号功率表示为
E [sin 2 2π ft ]=1 / 2
因此,最大SNR可表示为
类似地,对一个理想的16位ADC而言,最大的信噪比为98.08dB。
在信号输入到ADC之前,在音频信号 x ( t )中添加一个功率为 q 2 / 12白噪声小幅干扰信号 d ( t ),这样就破坏了信号的相关性,如图1.28所示。
图1.28 加入混响信号
小幅干扰加倍了数字信号中噪声的功率。在实际中,很难产生白噪声小幅干扰源。因此,经常使用伪随机二进制序列来代替。
混响是数字音频中的一个常用方法,这种方法是在信号上叠加一个小幅噪声信号,其目的就是使量化后的信号与量化噪声之间不相关,从而提高音质。
将小幅干扰噪声叠加到信号上实际上减小了SNR,也就是说,在原信号中增加了更多的噪声,如图1.29所示。通过破坏不同信号分量与量化误差之间的相关性就可以改善重构后的音频信号。如果没有添加小幅干扰,那么将以谐波或音调失真的形式出现量化噪声。
16位ADC可表示的幅值个数为32767,而前面例子中的正弦波幅值只有2V。方波特征导致重构信号中出现了奇数谐波,这种谐波位于下面的频率点:
(1)1320(3×440)Hz。
(2)2200(5×440)Hz。
(3)400Hz的奇次分量。
当播放低分辨率的正弦波时,可以清楚地听到量化噪声导致的谐波或者音调失真,这对于人类的耳朵而言是不舒服的。当加入小幅干扰时,量化噪声的电平仍然非常高,然而量化噪声和信号之间的相关性被打破了,且背景噪声是一个白噪声。比起音调噪声,白噪声还是可以接受的。
图1.29 比较加入小幅干扰的信号效果
本节将介绍数模转换器(DAC)的原理以及信号的重建方法。
DAC是一种能够按照其特定的输入/输出特性,将二进制数据转换成所对应模拟电压的半导体器件。一个8位DAC转换的原理如图1.30所示。
图1.30 8位DAC转换的原理
通常DAC的类型主要包括:
(1)乘法DAC,即精确调整的电阻器通过求和放大器产生输出电压。
(2)Σ-ΔDAC,单比特过采样数据。
在对信号数字化处理之后,正确地使用DAC就能够得到重构后的模拟信号,如图1.31所示。DAC输出的信号带有一些小的台阶,这是由零阶保持特性引起的一种现象,可以通过一个重构滤波器或者一阶保持电路来消除它。
图1.31 使用DAC重构信号
本质上,零阶保持电路是一个电容单元。在一个采样周期内,输入电压几乎为常数。因此,这是一个简单的低成本电路。
可以在DAC中使用一阶保持电路,将介于两个离散采样值之间的电压近似为一条直线。很明显,一阶保持电路使得重构的模拟信号更为精确。然而,实现执行插值目标的电路并不是必需的。
实际上,一阶保持电路的电压重构产生了一个信号。在均方误差的意义下,这个信号与原始信号很接近。然而,设计一个能够在任意两个输入电压之间产生一个线性增加电压的电路并不是一件简单的事情。因此,设计者更倾向于零阶保持电路。零阶保持电路的问题可以使用重构和一个sin x/x 补偿滤波器加以修正。
模拟重构滤波器在DAC的输出信号中去除了基带信号中的高频分量,这个高频分量是以离散量化电平间的步长形式存在的,如图1.32所示。在时域上,真正的矩形滤波器的脉冲响应实际上是一个sinc函数,用下式表示:
图1.32 模拟重构滤波器
sinc函数的时域和频域特性开始于 t =-∞、结束于 t =+∞,因此存在sinc插值的过程,如图1.33所示。
图1.33 sinc函数时域特性和频域特性
可以将零阶保持操作认为是一个简单的重构频率滤波操作,如图1.34所示。零阶保持器(Zero-Order Hold,ZOH)的频谱特性如图1.35所示。
图1.34 零阶保持操作
图1.35 零阶保持器的频谱特性
步长重构导致了在 f S /2处的衰减。零阶保持器的时域表示如图1.36所示。ZOH电路的频率响应可以通过图1.36中的冲激响应来计算。通过傅里叶变换就可以得到频率响应,该响应特性表示为
图1.36 零阶保持器的时域表示
因此,对于理想的重构滤波器而言,应该通过下面的因子对 f S /2频率处的sin x/x 衰减进行补偿:
2/π=0.637=20lg0.637=-3.92dB
所以,理想的重构(同样需要理想的线性相位)的幅频响应为在 f S /2频率处得到了1/0.637=1.569增益补偿的滤波器;而高于此值的所有频率分量都将被衰减。实际上,这种模拟滤波器是无法实现的,只能尽可能地接近理想的矩形滤波器。
为了补偿衰减,可以在DAC之前引入一个数字滤波器,用于放大信号,它具有相反的衰减特性。在现代DSP系统中,通常使用过采样以降低模拟实现的难度。
无杂散动态范围(Spurious Free Dynamic Range,SFDR)用于对系统失真进行量化分析,它表示基本频率与杂波信号最大值的数量差。通常情况下,杂波产生于各谐波中,它用来表示器件输入和输出之间的非线性特性,偶次谐波中的杂波表示传递函数非对称失真。对于一个给定的输入信号而言,应该产生一个给定的对应输出。但是,由于系统非线性,实际输出并不等于预期值。当系统接收到大小相等、极性相反的信号时,得到的两个输出并不相等,这样的非线性就是非对称的。奇次谐波中的杂波表示系统传递函数的对称非线性,即给定的输入产生的输出失真对正负输入信号在数量上都是相等的。
在频域中,SFDR是衡量线性特性的有效方法。如果将单音正弦信号输入系统中,则SFDR用于确定在一定的频率范围内的信号与第二大频率成分的功率差,如图1.37所示。在大多数的通信应用中,输入的信号是多音信号,由幅度、相位和频率不同的多个信号组成。
图1.37 SFDR的图形表示
测量SFDR时将引起一些混淆,更好的方法是通过多音功率比(Multi-tone Power Ratio,MTPR)进行测量,MTPR定义为单音载波与失真的功率比。在多个频率处施加一定数量的、等幅但相位不同的信号,然后在某点测量该点的输出和该点失真的功率。
注 :有几个参数影响MTPR,如单音幅度、挑选的单音频率和单音数量。在不同的情况下,得出的MTPR也不同。