数字信号处理与DSP实现技术
上QQ阅读APP看书,第一时间看更新

1.1 数字信号与处理

1.1.1 信号、系统

1.信号

信号是传递信息的载体,是信息的物理表现形式。信号可以表现为多种形式,如电信号、磁信号、声信号、光信号、机械信号、热信号等。

信号在数学上可表示为一个或多个自变量的函数,或表示成一个或几个独立变量的函数,如fx)、ft)、xt)、fxy)等,其中括号内变量为自变量。

信号可以从不同角度进行分类。

(1)按照自变量的个数,信号可以分为一维信号、二维信号、多维信号。

信号的自变量可以是时间、频率、空间位置或其他物理量。若信号是一个变量的函数,则该信号为一维信号,例如,语音可以看成是时间的一维信号;如果信号是两个变量的函数,则称为二维信号,例如图像可以看成是平面空间坐标位置的二维信号;视频则可以看成是空间位置以及时间的多维信号(信号的自变量大于两个)等。本书只讨论一维信号。

(2)按照信号是否具有重复性,可以分为周期信号和非周期信号。

若信号满足ft)=ft+kT),k为整数;或xn)=xn+N),N 为满足等式的最小正整数,kn为任意整数,则信号ft)和xn)都是周期信号,其中T 为信号ft)的周期,N 为信号xn)的周期。否则是非周期信号。

(3)按照信号取值是否确定不变性,可以分为确定信号与随机信号。

若信号在任意时刻的取值是精确确定不变的,则称该信号为确定信号;若信号在任意时刻的取值是不能精确确定而是随机变化的,则该信号称为随机信号。

(4)按照信号的能量有限性,可以分为能量信号和功率信号。

若信号能量有限,则称信号为能量信号;若信号功率有限,则称信号为功率信号。

(5)按照信号自变量和幅度的连续或离散性,可以分为模拟信号、离散时间信号和数字信号。

在连续时间范围内有定义且幅值也连续的信号称为连续时间信号,连续时间信号也称为模拟信号。如果用数学函数来表示信号,则模拟信号是自变量和幅度都可以连续取值的信号。如果用函数xt)来表示一维模拟信号,其中t为自变量,则模拟信号xt)的自变量t可以在其定义域内连续取值,且函数xt)可以在其值域范围内连续取值,如图 1-1所示。若t为时间,则xt)为连续时间函数,即模拟信号。

图 1-1 模拟信号

图 1-1 中的自变量t可以取整数-1、-2、-3、…;也可以取整数 0、1、2、3 等;还可以取整数之间的任意小数,如取 1.1、1.2、1.12、1.123 等,也就是说t可以取其定义域内的任意值,即可以连续取值。同样,函数值 xt)可以取 2、2.3、2.4、2.31、2.311 等值,这些值都是函数的值域范围内的值,即函数xt)可以连续取值域范围内的任意值而不仅仅限于取离散的整数值。

若模拟信号xt)的自变量t取有限分离点值,如对t进行等间隔取值,例如取t=…、-2ΔT、-ΔT、0、ΔT、2ΔT、3ΔT、…(其中ΔT 为取样间隔),而舍去这些取值之间t的取值,称为将时间变量离散化。若取值间隔相同,则称为均匀取样,否则称为非均匀取样。由时间离散化的函数取值…、x(-2ΔT)、x(-ΔT)、x(0)、x(ΔT)、x(2ΔT)、x(3ΔT)、…组成一个新的信号,称为离散时间信号,可以表示为:…、x(-2)、x(-1)、x(0)、x(1)、x(2)、x(3)、…。离散时间信号也称为序列。图 1-2(a)为模拟信号,图 1-2(b)为序列。序列的自变量是取离散整数(表示离散取样序号)。

通过将模拟信号的时间离散而得到的信号其幅度还是可以取连续的值。若将模拟信号的幅度离散,即幅度取离散的值,而时间取连续的值,则得到的信号(函数)称为量化信号。图 1-2(c)为量化信号,其中函数的时间t可以连续取值,而幅度xt)只能取间隔的值,在两个相邻间隔值之间的取值是无意义的。

若时间和幅度都离散,即信号的时间取离散的值,幅度也取离散的值,则称为数字信号。数字信号如图 1-2(d)和图 1-3 所示。数字信号的自变量是离散取值,而函数也是离散的取值。

根据信号的自变量(时间)和幅度是否连续进行分类的四种信号对比见表 1-1。

图 1-2 四种信号对比

图 1-3 数字信号

表 1-1 根据信号自变量(时间)和幅度是否连续的信号分类

因为计算机的CPU是由数字电路组成的,所以计算机可以非常方便地对数字信号进行处理运算。图 1-3 所示为数字信号,其时间、幅度都是离散的。由于模拟信号幅度可以通过模拟/数字转换器(ADC)转换为数字信号,因而研究数字信号时主要考虑时间离散的离散时间信号和数字信号。离散时间信号常称为序列。

2.系统

系统定义为处理(或变换)信号的物理设备,是将信号进行加工、变换、运算等处理,以达到人们要求的各种设备。按照所处理信号是否连续,系统可以分为模拟系统和数字系统。模拟系统输入的是模拟信号,输出的也是模拟信号,例如晶体管放大电路就是一个模拟系统。数字系统是对输入的数字信号进行处理,输出数字信号的系统,例如,计算机数字图像处理。

根据处理前后的信号是否满足比例、叠加性,系统还可以分为线性系统、非线性系统。根据处理前后的信号是否满足移位特性,系统可以分为时(移)不变、时(移)变系统。根据处理后信号是否与历史处理信号相关,系统可以分为因果系统和非因果系统。

1.1.2 数字信号处理

数字信号的处理是由数字信号处理系统完成的。凡是对数字信号进行处理的物理装置都可以看成是数字信号处理系统。

狭义的数字信号处理系统指输入的是数字信号,经过处理后输出的也是数字信号的系统。例如,数字滤波器。本书所涉及的数字信号处理指狭义的数字信号处理系统的处理。广义的数字信号处理系统不但包括狭义的数字信号处理系统,还可能包含模拟低通滤波器、A/D变换器(模拟/数字变换器)、D/A 变换器(数字/模拟变换器)等。图 1-4 所示为广义的数字信号处理系统的组成框图。

图 1-4 广义数字信号处理系统组成

对图 1-4 中的说明如下:

(1)模拟低通滤波器是模拟系统,通过对输入的模拟信号进行处理,输出模拟信号;

(2)取样是对连续时间信号的时间离散化;

(3)保持是将取出的时间离散信号维持一段时间不变;

(4)A/D变换器是将离散信号的幅度变为数字信号;

(5)D/A变换器是将数字信号变为时间连续的阶梯信号的系统,阶梯信号再通过低通模拟滤波器就得到幅度平滑的模拟信号。

图 1-5 所示的是经过数字信号处理系统而发生变化的一个信号波形的例子。其中图1-5(a)为输入的模拟信号;图 1-5(b)为经过输入的模拟低通滤波器后得到的模拟信号;图 1-5(c)为A/D变换后的数字信号;图 1-5(d)为数字信号处理后得到的数字信号;图 1-5(e)为通过D/A变换和模拟低通滤波器后得到的模拟信号。

图 1-5 经过广义数字信号处理系统的信号

1.1.3 数字信号处理的实现方法

数字信号处理是通过数字信号处理系统来实现的,实现方法有以下几种。

1.通用软件方法实现系统

在计算机上使用通用软件实现数字信号处理。例如,使用MATLAB 软件进行数字信号处理,采用Photoshop进行数字图像处理等。这种方法处理速度慢,一般用于处理算法模拟。

2.专用加速处理机方法

借助于软件开发工具和开发语言,例如C、Java设计数字信号处理软件。例如开发设计一个可执行软件,用于计算机断层扫描的处理。这类系统专用性较强。

3.软硬件结合的嵌入式处理方法

(1)采用数字信号处理器结合嵌入式软件进行数字信号的处理。例如,采用TMS320C55XX进行数字语音信号处理的系统,采用 TMS320DM642 处理数字图像、数字视频的系统。这类方法应用广泛。

(2)采用单片机的方法。这类方法只能进行一些不太复杂的数字信号处理算法,例如数字控制。

4.硬件方法

采用数字集成电路实现数字信号的处理。例如,用数字集成电路(Integrated Circuit-IC)实现语音编解码,用现场可编程器件(FPGA)实现数字调制、数字视频压缩等。此类方法专用性较强。