1、第2章 数字信号处理的基本知识 2.1 模拟模拟/数字转换和数字数字转换和数字/模拟转换模拟转换2.2 离散傅立叶变换离散傅立叶变换(DFT)与快速傅立叶变换与快速傅立叶变换(FFT)2.3 滤波器滤波器2.4 本章小结本章小结2.1 模拟模拟/数字转换和数字数字转换和数字/模拟转换模拟转换 2.1.1 模拟模拟/数字转换数字转换在进行模拟/数字转换时,因为输入的模拟信号在时间上是连续的而输出的数字信号是离散的,所以转换只能在一系列选定的瞬间对输入的模拟信号采样,然后再把这些采样值量化为数字量输出。1.采样定理采样定理为了能正确无误地用采样信号表示模拟信号,采样信号必须有足够高的频率。我们列举
2、一个简单的例子,如图2.1.1所示。图2.1.1 对输入信号的模拟采样 为了保证能将原来的被采样信号恢复,必须满足:fs2fi(max)(2.1.1)公式(2.1.1)中,fs为采样频率,fi(max)为输入模拟信号的最高频率分量的频率,这就是采样定理。每次采样的时间间隔称之为采样周期ts(=1/fs)。在满足采样定理的条件下,可以用低通滤波器将采样信号还原为模拟信号。这个低通滤波器的电压传输系数在低于fi(max)的范围内应保持不变,而在fs-fi(max)以前,应迅速下降为零,如图2.1.2所示。图2.1.2 还原采样信号所用滤波器的频率特性因此,A/D转换器工作时的采样频率必须满足fs2
3、fi(max)。采样频率提高以后,转换的时间也相应地缩短了,这就要求转换电路必须具备更快的工作速度。因此,不能无限制地提高采样频率,通常取fs=(35)fi(max)来满足要求。一般说来,采样频率还要取决于采样对象的参数,例如对于控制系统,采样频率一般取在10 Hz,对于生物信息的采样在100 Hz左右,对音频信息的采样,一般在1000 Hz左右,而对于数字信号前端信息的采样,一般在1 MHz左右。通过ADC可以将模拟信号转换为相应的数字信号,如图2.1.3所示。图2.1.3 通过ADC将模拟信号转换为数字信号 2.量化和编码量化和编码数字信号不仅在时间上是离散的,而且数值大小的变换也是不连续
4、的,这就是说,任何一个数字量的大小只能是规定的最小数量单位的整数倍。在进行A/D转换时,必须把采样电压表示为这个最小单位的整数倍。这个转换过程叫做量化,所取的最小数量单位叫做量化单位,用表示。显然,数字信号最低有效位(LSB)的1所代表的数量大小就等于。把量化的结果用数码(可以是二进制,也可以是其他进制)表示出来,称为编码。这些数码就是A/D转换的结果。由于模拟电压是连续的,电压值不一定能被整除,因此量化过程便不可避免地出现误差。这种误差称为量化误差。以二进制为例,将模拟电压信号划分为不同的量化等级时,通常有两种方法,如图2.1.4所示。图2.1.4 划分量化电平的两种方法 图示两种量化电平的
5、方法是以01 V的模拟电压信号转换成3位二进制代码为例,图2.1.4(a)所示为取=1/8 V,并规定所有数值在01/8 V之间的模拟电压都当作0V对待,用二进制“000”表示;数值在1/82/8 V之间的模拟电压都当作1对待,用二进制数“001”表示,依此类推。由此可以看出,这种量化方法可能带来的最大量化误差为,也就是1/8 V。图(b)是对图(a)的改进,即取量化电平=2/15 V,并将输出数码“000”对应的模拟电压范围规定为01/15 V,即01/2,这样可以将量化误差减小到1/2,即1/15 V。2.1.2 数字数字/模拟转换模拟转换在数字信号处理中,数模转换的过程是一个将数字信号恢
6、复为原有模拟信号的过程。完全恢复为原有的模拟信号是不可能的,在工程上,常用的是零阶保持器、一阶保持器和高阶保持器。这里我们只讨论零阶保持器及一阶保持器的效果。所谓的零阶保持,就是在两个采样值之间令输出保持上一个采样值,这种方法除了在采样率远高于信号中最高频率的情况下效果不错之外,通常带来很大的误差,如图2.1.5所示。图2.1.5 数字信号通过DAC转换恢复为模拟信号 一阶保持器是一个基于相邻两个采样值的线性外推规律恢复离散信号的保持器。利用这种方法的信号恢复结果如图2.1.6所示。图2.1.6 使用零阶保持器及一阶保持器恢复模拟信号的效果对比 2.2 离散傅立叶变换离散傅立叶变换(DFT)与
7、快速傅立叶变换与快速傅立叶变换(FFT)2.2.1 离散傅立叶变换离散傅立叶变换(Discrete Fourier Transform,DFT)首先,了解一下离散傅立叶级数。对于周期信号来说,所有的时域特征信息都在一个周期内反映出来了,因此,响应的频域特征信息也可以通过一个周期的信号进行分析。根据傅立叶理论,一个周期为的离散信号可以展开为个复正弦信号的叠加形式,即离散傅立叶级数如下:101)(NkkcNnxknN2je(2.2.1)其中是傅立叶系数,其计算公式如下:kc 210NjknNkncx n eknN2je(2.2.2)可以证明公式(2.2.1)和公式(2.2.2)都满足周期为的特性,
8、即,所以,傅立叶系数也具有周期性特征。公式(2.2.1)说明一个周期为的离散信号可以用个复正弦函数的线性加权表示,而加权系数就是傅立叶系数。从频域来看,公式(2.2.1)说明周期信号共有如下个频率成分:()()x nx nNkk NccNkk2k=0N-1(2.2.3)每个频率成分的能量大小由加权系数,即傅立叶系数kc表示,因此傅立叶系数kc,k=0N-1 完全描述了周期信号的频谱。离散傅立叶变换是一种可以实际应用的频谱分析方法,也是目前实际应用中进行频谱分析的主要方法。设()x n是长度为N点的有限长信号,即信号仅仅分布在0N-1区间,其余时间均为 0,那么,该信号的离散傅立叶变换定义如下:
9、公式(2.2.4)与离散傅立叶级数的公式(2.2.2)的比较,我们可以看出,离散傅立叶变换值()X k与傅立叶系数kc具有相同的含义,即都反映了信号的频谱。或者说,离散傅立叶变换值()X k,k=0N-1,是有限长信号()x n,n=0N-1的离散频谱。可以从另一个方向来分析离散傅立叶变换式公式(2.2.4)的含义。因为()x n,n=0 N-1,是一个有限长信号,所以它的离散时间傅立叶变换 DFT 为)(ejX是以 2 为周期的连续频谱,也是()x n在单位圆上的Z 变换。如果对该连续频谱以等间隔方式采样(频域采样),则频率间隔为=2/N,在 02 内共有如下 N 个频率采样点:nNnnxX
10、j10je )()(e(2.2.5)(2.2.6)图2.2.1 由8个频域采样点形成离散频谱X(k),k=07 将公式(2.2.6)离散频率点带入公式(2.2.5)得到信号的离散频谱:(2.2.7)见上式左边以简约形式X(k)表示,则上式成为DFT变换式公式(2.2.4)。因此,离散傅立叶变换的含义是求有限长信号的离散频谱,严格地说,是在02一个周期内的离散值。)(ejX离散傅立叶的反变换(Inverse Discrete Fourier Transform,IDFT)公式如下:(2.2.8)上式包含两层意思,一是可以根据N个离散傅立叶变换所表示的离散傅立叶频谱值X(k)恢复原始信号x(n);
11、二是长度为N的有限长信号可以用N个频率分量的正弦信号的叠加来构成,这也就反映了信号的频谱一定是N个离散值。它说明任何一个段式分布的信号(有限长)都可以通过正弦信号来合成。在实际应用中,大部分情况下是运用DFT正变换分析信号的频谱特征的,需要IDFT反变换进行信号恢复和重构的场合主要是通信和数据压缩领域。kNkrNNrkrNNrrknNRRknNrknNNnrxrxrxrxnxkX2j22j12/022j12/0)12(2j12/0)2(2j12/02j10ee )12(e )2(e )12(e )2(e )()(2.2.9)定义(2.2.10)则公式(2.2.9)可以转化为:),()()()(
12、)(102/12/012/12/00kXWkXWWrxWrxkXkNkNkrNBrkrNNr(2.2.11)其中,()X k是()x n的 N 点 DFT,其 k 的取值范围是 0N-1,与0()Xk和1()X k的取值范围不同,当 N/2kN 时,应该利用0()Xk和1()Xk的周期性特征计算()X k,即00()(/2)XkXkN,11()(/2)X kX kN。图2.2.2 8点DFT分解成两个4点DFT 显然,公式(2.2.11)中的/2N点离散傅立叶变换0()Xk和1()X k可以进一步分解成 4 个4/N点 DFT,并且只要 N 满足 2 的幂这一条件,这种分解就可以一直进行下去。
13、例如,对于图 2.2.2 的 8 点DFT,进一步的分解如图 2.2.3 和图 2.2.4 所示。图2.2.3 4点DFT分解成两个2点DFT 图2.2.4 2点DFT分解 图2.2.5 基于时选的8点FFT算法 图2.2.6 基于时选的FFT算法的改进形式 2基于频选的快速傅立叶变换 基于频选的 FFT 算法通过将 DFT 值)(kX分成偶序列,)2()(kXkXe,k=0N/2-1 和奇序列0()(21)XkXk,k=0N/2-1,并分别计算,从而进行运算量化的简化。设信号)(nx的长度为rN2,则)(kX的点数也是 N,其表达式如下:knN-NnnxkX2j10e )()(12/12/0
14、102)()()()(NNnknNNnknNNnknNjWnxWnxenxkX(2.2.12)令,则上式成为:12/02/12/0212/02)(2)()(NnknNkNNNmNmkNNnknNWNnxWnxWNmxWnxkX(2.2.13)将()X k分成偶序列)(kXe和奇序列0()Xk分别计算,则 12/0,2)(2)()2()(12/02/)12(12/0NkWNnxnxWNnxWnxkXkXNnknNnkNNnknNe(2.2.14)12/0,2)(2)()12()(12/02/12/0)12(2/0NkWWNnxnxWNnxWnxkXkXNnknNnNNnnkNNkNN(2.2.1
15、5)公式(2.2.14)和公式(2.2.15)表明,)(kX可以转化成两个2/N点的DFT 计算。设8N,则其按照公式(2.2.14)和公式(2.2.15)分解计算 DFT的流程如图 2.2.7 所示。图2.2.7 8点DFT分解成两个4点DFT 显然,公式(2.2.14)和公式(2.2.15)可以进一步推导,将 N/2 点偶数 DFT 和奇数 DFT 分解成 4 个 N/4 点 DFT,并且这种分解可以一直进行下去,直到全部分解为止。例如,图 2.2.7 中的 2 个 4 点DFT 可以进一步分解为 4 个 2 点 DFT,其分解的方式仍然是将 4点 DFT 分解为偶数和奇数序列分别计算,如
16、图 2.2.8 所示。最后,4 个 2 点 DFT 也被进一步细化,形成最终的基于频选的 8 点 FFT流程,如图 2.2.9 所示。图2.2.8 4点DFT的进一步分解 图2.2.9 基于频选的8点FFT算法 从图 2.2.9 可以看到,8 点 FFT 也是进行了 3 次 DFT 分解计算,每次需要复数乘法的次数是 4 次,因此总的复数乘法次数为12。对于长度为rN2的信号,DFT 分解将一直进行到 2 点DFT,共进行 r=lbN 级分解,每次需要 N/2 次复数乘法,因此,总的复数乘法次数为(N/2)lbN,与基于时选的 FFT 算法一致。也就是说,无论哪一种 FFT 算法,其运算效率是
17、一样的。实际上,基于频选的 FFT 算法流程图(如图 2.2.9 所示)和基于时选的 FFT算法流程图(如图 2.2.6 所示)是互为转置关系的,运算效率理所当然是一样的。2.3 滤滤 波波 器器 2.3.1 无限脉冲响应数字滤波器无限脉冲响应数字滤波器(IIR)1.直接直接型型IIR滤波器的系统函数为 NkkkMrrrzazbzXzzH101)()(Y)(2.3.1)对应的差分方程为 图2.3.1 N阶IIR系统直接型流图 NkkMrrknyarnxbny10)()()(2.3.2)2.直接直接型型直接型结构又称为典范型结构。前文讨论的直接型结构的系统函数可被看成是两个独立的系统函数的乘积,
18、结构上为两个子系统的级联。对于一个线性时不变系统,若交换其级联子系统的次序,系统函数是不变的,即总的输入/输出关系不变。对于图2.3.1,如果把零点和极点实现的次序对换一下,即先实现极点再实现零点,且把延时单元合并成一个公用的,则构成了图2.3.2所示的形式,称为直接型结构。图2.3.2 N阶IIR系统直接型流图这种结构,对于 N 阶差分方程只需 N 个延时单元(一般 NM),因而比直接型延时单元要少,这也是 N 阶滤波器所需的最少延时单元,因而又称为典范型结构。直接型和直接型都是直接型的实现方法,这两种结构的共同缺点就是系数ka、kb对滤波器的性能控制作用不明显。这是由它们与系统函数的零、极
19、点关系不明显造成的,因而调整困难。此外,直接型结构中极点对系数的变换过于灵敏,从而使系统频率响应对系数的变化过于灵敏,也就是对有限精度(有限字长)运算过于灵敏,容易出现不稳定或产生较大误差。3.级联型级联型如果将N阶IIR系统函数分解成二阶因式连乘积,则可得到级联结构:)()()()(21zHzHzHzHM(2.3.3)这样,整个系统将由M个二阶系统级联构成。具体地,将公式(2.3.1)的分子和分母都进行因式分解,得到:1212111111111110)1)(1()1()1)(1()1(1)(NkNkkkkMkMkkkkNkkkMkkkzdzdzczhzhzgAzazbzH(2.3.4)式中,
20、212MMM;212NNN。由于)(zH的系数都为实数,所以其零点和极点均为实数或共轭复数。若将公式(2.3.3)中,具有共轭复根的两个一阶因式合并,则各子系统可以表示为具有实系数的二阶系统的形式,即有:121211221111122111)1()1()1()1()(NkNkkkkMkMkkkkzzzczzzgAzH(2.3.5)为了简化表达形式,可以把上式分子分母中的一阶子系统看成 2k和 2k为零的二阶子系统的特例,那么)(zH可被看成是全部由实系数二阶子系统的级联形式构成的,即 331122112211)(11)(NkkNkkkkkzHAzzzzAzH(2.3.6)式中,N3表示 的最大
21、整数,且 2/)1(N2211221111)(zzzzzHkkkk(2.3.7)称为滤波器的二阶基本节。图2.3.3 二阶子系统的直接型实现 级联结构形式具有两个主要优点:首先是存储单元少,当用硬件实现时,一个二阶基本节可以分时使用,这种时分复用能够简化硬件结构;另外,二阶基本节的灵活搭配,不但可以使二阶基本节的次序按实际需要进行调换,还可以直接控制系统的零点和极点。因为每个二阶基本节是互相独立且各自代表了一对零点和极点,调整系数1k、2k和 1k、2k,就可以单独调整第 k 对零、极点的分布来控制滤波器的性能。4.并联型并联型IIR滤波器的并联机构形式是基于对H(z)的部分分式展开来实现的。
22、对公式(2.3.4)的H(z)用部分分式展开,有:NMkkkNkkkkkNkkkzczdzdzebzcazH011111121)1)(1()1(1)(2.3.8)式中,NNN212。若 MN,则公式(2.3.8)中不包含NMkkkzc0项;若MN,则该项变为常数0C。由于)(zH的分子、分母系数都是实数,则式中的ka,kb,kc,ke全部都是实数。通常 MN,如果把式中共轭极点项合并成具有实系数的二阶子系统,那么()H z的部分分式展开为:211221111011011)(NkkkkkNkkkzzzzcaCzH(2.3.9)图2.3.4 IIR系统的并联结构形式 5.转置型转置型如果将网络中所
23、有支路的方向加以反转,支路增益保持不变,并将输入x(n)和输出y(n)相互交换,则网络的系统函数不会改变。利用网络的转置定理,将以上讨论的几种结构进行转置,可以得到几种新的网络结构,例如,对图2.3.1的直接型结构转置得到如图2.3.5所示的结构,画成输入在左,输出在右的习惯形式,则如图2.3.6所示。图2.3.5 直接型的结构转置 图2.3.6 将图2.3.5画成输入在左,输出在右的习惯形式 2.3.2 有限脉冲响应数字滤波器有限脉冲响应数字滤波器(FIR)FIR是一种非递归系统,其冲激响应h(n)是有限长序列,其系统函数的一般形式为:10)()(NkkzkhzH(2.3.10)式中:h(k
24、)为因果序列;H(k)是的N-1次多项式,它的N-1个极点全部位于z=0处,所以一个FIR系统始终是稳定的。它的零点分布可以处于有限z平面内的任何位置,当全部零点都位于单位圆内部时,就成为最小相位系统。H(n)是有限时宽序列,因而还可以用DFT技术来实现滤波。FIR系统的最大特点就是能够做成严格的线性相位,这在图像处理等应用领域中非常重要。1直接型直接型式(2.3.10)对应的FIR系统的差分方程为:10()()()Nky nh n x nk由式(2.311)可以画出FIR系统的直接型结构形式,如图2.3.7所示。可以看出,公式(2.3.11)就是线性时不变系统的卷积和公式,所以直接型结构又称
25、为卷积型结构,有时还称为横截滤波器结构。将转置定理用于图2.3.7,可得到图2.3.8的转置直接结构形式。图2.3.7 FIR系统的直接型结构 图2.3.8 FIR系统的转置直接结构 2.级联型级联型 图2.3.9 FIR系统的级联型结构 2.3.3 IIR滤波器与滤波器与FIR滤波器的比较滤波器的比较下面对IIR和FIR两种滤波器进行比较,以便在实际应用中选用它们,如表2.3.1所示。表 2.3.1 IIR 滤波器与 FIR 滤波器的比较 IIR 滤波器 FIR 滤波器 h(n)无限长 h(n)有限长 极点可位于单位圆内任何位置 极点固定在原点 滤波器阶次低 滤波器阶次较 IIR 高很多 选
26、择性越高,相位非线性越严重 可以得到严格的线性相位 只能采用递归调用 一般采用非递归调用 不能用 FFT 可用 FFT 计算,速度较 IIR 高很多 可用模拟滤波器设计 设计借助于计算机 用于设计规格化的选频滤波器 可设计各种幅频特性和相位特性的滤波器 2.4 本本 章章 小小 结结本章对数字信号处理的一些基本知识做了简要回顾,主要包括A/D转换与D/A转换、DFT与FFT、IIR与FIR滤波器三方面的内容。事实上,数字信号处理本身已形成一套完整的理论体系,这些理论主要包括信号的采集、离散信号、系统分析、信号处理的算法、滤波技术、信号的估值、建模、信号处理的特殊算法、技术实现及应用等。在这里本章不做过多介绍,仅针对本书需要,抽取其中几个知识点进行简要介绍,有兴趣的读者可参考其他有关数字信号处理方面的书籍。