数字信号处理技术(英语:Digital Signal Processing,DSP)是指利用
计算机、微处理器或专用处理设备,以数字形式对信号进行采集、变换、滤波、估值、增强、压缩、识别等处理的理论与方法。
数字信号处理技术的发展可归纳为两个阶段:第一阶段是以1965年Colley与Tukey提出
快速傅里叶变换算法为标志的,这时DSP技术主要用于
图像处理、快速数据传输、
生物医学系统等;第二阶段时现代数字信号处理阶段,其特点是随着数字信号处理的飞速发展,新理论、新算法不断涌现。20世纪80年代初,第一片单片可编程DSP芯片诞生,使理论研究结果广泛应用到低成本的实际系统中,并且推动了新的理论和应用领域的发展。
数字信号处理是以众多学科为理论基础的,它所涉及的范围极其广泛。例如,微积分、概率统计、
随机过程、
数值分析等都是数字信号处理的基本工具,它与
网络理论、信号与系统、
控制理论、通信理论、故障诊断等也密切相关。如
人工智慧、
模式识别、神经网络等热门研究,都与数字信号处理密不可分。数字信号处理以许多经典的理论体系为理论基础,同时又成为一系列新兴学科的理论基础。
发展历程
1805年高斯给出的
快速傅里叶变换(FFT)基本原理为快速
离散时间信号计算提供了基本思想。1958年,Ragazzini等人发表了有关数字信号处理的第一本近代著作《Sampled Data Control System》,但受限于当时的工艺水平,只能对一些低频的控制或地震信号的数字处理问题做一些实践性的尝试。20世纪60年代中期,较为定型的数字
信号处理理论产生,但绝大部分信号处理还属于连续时间信号处理。
1965年,Cooley和Turkey发表FFT算法,这使数字信号处理从理论概念到应用实现发生了重大转折。FFT的出现使得数字信号处理的计算量缩小了几个数量级,从而使数字信号处理技术得到广泛应用。
随着数字信号处理的飞速发展,一些新的算法出现,如利用
数论变换进行
卷积运算的方法、WFTA算法、沃尔什变换(WT)及其快速算法(小波变换)等。20世纪70年代开始,许多科学工作者对数字信号处理中的有限字长效应进行了研究,解释了数字信号处理中出现的许多现象,使数字信号处理的基本理论进入了成熟阶段。1975年,A.V.Oppenheim与TW.Schafer发表了数字信号处理理论的代表作《Digital Signal Processing》。
从数字处理技术的实现上看,大规模
集成电路技术是推动数字信号处理发展的重要因素。由于大规模集成电路的出现,数字信号处理不仅可以在
计算机上实现,还出现了专用DSP芯片及相应的电路芯片,DSP产品已经发展成为一个庞大的家族,数字信号处理的速度有了更大的提高。
技术细节
DSP系统
系统构成
数字信号的处理是由数字信号处理系统完成的。凡是对数字信号进行处理的物理装置都可以看成是数字信号处理系统。
狭义的数字信号处理系统指输入的是数字信号,经过处理后输出的也是数字信号的系统,如
数字滤波器。广义的数字信号处理系统包括狭义的数字信号处理系统,还可能包含模拟低通滤波器、A/D变换器 (模拟/数字变换器)、D/A 变换器(数字/模拟变换器)等。
上图为DSP系统的典型模型,并不是所有的DSP系统都必须具有模型中的所有部件,如语音识别系统在输出端并不是连续的波形,而是识别结果;有些输入信号本身就是
数字信号,不必进行模数变换。
工作流程
DSP系统的输入信号可以有各种各样的形式,例如麦克风输出的语音信号,由电话线来的已调数据信号,编码后在数字链路上传输或存储在
计算机里的图像信号等。输入信号首先进行带限滤波和
抽样,然后进行 A/D(Analog to Digital) 变换将信号变换成数字比特流。DSP芯片的输入是由A/D变换后得到的以抽样形式表示的数字信号,DSP芯片对输入的数字信号进行某种形式的处理,如进行一系列的乘、累加操作(MAC)等。数字处理是DSP的关键。最后,经过处理后的数字样值经D/A(Digital to Analog)变换转换为模拟样值,再进行内插和平滑滤波就可得到连续的模拟
波形。
DSP芯片
DSP芯片,即数字信号处理芯片,也称
DSP芯片(digital signal processor,DSP),是一种特别适合于进行数字信号处理运算的处理器,其主要应用是实时快速地实现各种数字信号处理算法。
DSP芯片的内部采用程序和数据分开的
哈佛结构,具有专门的硬件乘法器,采用流水线操作,提供特殊的DSP指令,可以用来快速地实现各种数字信号处理算法。DSP芯片一般具有如下的主要特点:在一个指令周期内可以完成一次乘法和一次加法;程序和数据空间分开,可以同时访问数据空间和程序空间;片内具有快速RAM,通常可通过独立的数据
总线同时访问两块芯片;具有低开销或零开销循环及跳转的硬件支持;具有快速的中断处理和硬件I/O支持;具有在单周期内操作的多个硬件地址产生器;可以并行执行多个操作;支持流水线操作,取指令、译码和执行等操作可以流水执行。
DSP算法
傅里叶变换是常用于数字
信号处理的重要算法,是一种将信号从
时域到
频域的变换形式,是
声学、语音、电信和信号处理等领域中的一种重要分析工具。
离散傅里叶变换(DFT)是连续傅里叶变换在离散系统中的表现形式,其功能是将一段
数字信号转换成其各个频率的
正弦信号分量。但DFT的计算量很大,因此在很长一段时间内其应用受到很大的限制。
快速傅里叶变换(FFT)是离散傅里叶变换的一种高效运算方法。FFT使DFT的运算大大简化,运算时间一般可以缩短1~2个数量级,FFT的出现提高了DFT的运算速度,从而使 DFT 得到广泛的应用。
DSP芯片的出现使FFT的实现方法变得更为方便。由于多数DSP芯片都能在一个指令周期内完成一次乘法和一次加法,而且提供专门的FFT指令,使得FFT算法在 DSP 芯片上实现的速度更快。
DSP的实现
大部分DSP系统需要执行密集运算操作,这些操作可以在微处理器、微控制器、
DSP芯片或定制
集成电路等数字硬件上实现。或通过所给应用,基于性能、成本和功耗的要求来选择恰当的硬件。
专用集成电路(ASIC) 器件通常面向要求进行密集计算的特定任务而进行设计。ASIC器件的体系结构为需要的操作进行了专门优化,因此能够非常快地执行要求的功能。但它们缺乏灵活性,适用于实现已经定义好的和流行的DSP算法的可大规模生产的产品或者要求高速只能采用ASIC实现的应用。可共用DSP功能的核心模块的出现使ASIC设计得到简化,但原型ASIC器件仍存在成本较高、设计周期较长、缺少标准开发工具支持和可重编程的灵活性等缺点。
FPGA(FPGA)可作为胶连逻辑、
总线桥和外设用于DSP系统,以降低系统成本和提高系统集成度最近。FPGA也可与
DSP芯片结合起来工作,以便集成预处理或后处理功能。FPGA器件是硬件可重构的,因此可通过优化硬件结构来实现更高性能和更低产品成本的算法。此外,也可通过让器件中的一部分实现高性能复杂DSP功能,其余部分实现系统逻辑或接口功能,来实现低成本和高系统集成度。
通用处理器和微控制器(µP/µC)的体系结构通常分为两类:哈佛(Harvard)结构和冯·诺依曼(Von Neumann)结构。
哈佛结构针对程序和数据具有分开的存储空间,两个存储区可以同时被访问;冯·诺依曼结构将程序和数据都存储在相同的存储器中。通用µP/µC变得越来越快,有能力处理一些DSP应用。许多电子产品,例如汽车控制器,采用微控制器进行引擎、刹车和悬挂控制。若µP/µC产品需要新的DSP功能,应尽量在软件上进行实现,而不是修改硬件。
DSP芯片从本质上讲是一个微处理器,包含了为DSP应用特别设计的体系结构和指令集。相较于ASIC和FPGA解决方案,数字信号处理器在易于开发和现场可重编程来升级产品特性或修复错误等方面具有很多优势。它们通常比ASIC和FPGA等定制硬件更具成本效率,特别是针对小规模应用。相较于通用µP/µC,数字信号处理器在很多DSP应用中具有更快的速度、更好的能量效率或功耗,以及更低的成本。数字信号处理器可应用于电动机、
运动控制、汽车系统、家用设备、消费电子、医疗和保健设备、通信和广播设备。这些可编程的
DSP芯片采用集成元件开发工具进行支持,包括C编译器、汇编器优化器、链接器、调试器
仿真器和仿真器。
应用
通信
数字信号处理在移动通信、数字无线电、
adsl、IP电话、软件无线电、卫星通信等方向都有大量应用。从第二代通信开始就是基于
数字技术的
数字通信。通信中采用
数字信号进行信源编码、
信道编码、
多路复用、数据压缩。在因特网中传输的是数字信号,信号在传输交换中可以经过压缩、编码等数字处理,也可以以数字方式进行存储。
消费电子产品
数字信号处理在数字语音、汽车
多媒体、MP3/MP4/MP5、数字扫面仪、
数字电视机顶盒、医院监视系统、生物
指纹系统等领域都有大量应用。
数码相机、
数字电视、数字
计算机都是数字信号的处理系统。数码相机将外界的模拟图像变换成数字图像,根据一定的数字压缩算法处理,获得占用存储空间较小的数字文档;数字电视则是将模拟视频转换为数字视频后进行数字压缩编码,再经过数字广播发送出去,接收方获得数字电视信号后再进行逆变换;计算机中的文档、表格、图片、歌曲、视频等多媒体都是经过数字处理的结果,可以存储、传输、编辑、转化等,并可以通过输出设备进行输出。此外,数字语音中的语音分析、合成、识别、增强、编码,数字图像中图像的增强、恢复、去噪、压缩,都需要用到数字信号处理。
工业
工业中的
数控机床、
数控加工中心、3D打印、数码排版印刷数字
雕刻机、
机器视觉、
频谱分析仪、函数发生器、地震信号分析二维码扫描、物联网通信、RFID等都与数字信号处理密切相关。
其他
雷达中采用
数字技术对目标进行探测、定位、成像。
声呐处理导航、
卫星侦察等也都用到数字信号处理技术。
特点
信号处理可分为数字信号处理和模拟信号处理,与模拟信号处理相比,数字信号处理有许多明显的优越性。其在处理方式上有如下特点。
可程控:当模拟系统的功能和性能发生改变时,必须重新进行系统设计,至少需要改变系统中的某些器件或参数,然后再重新装配和调试。对于以DSP处理器为核心的
数字电路而言,则可以只设计和实现一个硬件平台,然后用各种软件来执行各种各样的数字信号处理任务。改变系统的功能与性能时,只需要改变相应的软件或软件中的参数,而不需要改变硬件平台本身。这就使以可编程DSP处理器为核心的数字信号处理系统具有极大的灵活性。
稳定性好:
模拟集成电路中的
电阻、
电容、
电感和
运算放大器等器件的特性会随着环境的改变而改变,也会随着时间的改变而改变。与此相比,数字系统的更为稳定,即受时间和环境的影响要小得多。
可重复性好:
数字电路本身具有很好的可重复性。两台字长相同的
计算机,在任何不同的时间,计算同一个
数学模型,得到的结果一定是一样的。但由于生产工艺可能造成模拟系统与标准性能间存在误差,并且时间环境会导致模拟系统性能发生变化,用同样的信号送入两个配置相同的模拟系统,输出的结果是存在差异的。因此,数字系统的稳定性和可重复性与模拟系统相比,具有明显的优势。
抗干扰性能好:信号在处理和传输过程中会受到噪声的干扰。
数字信号抗干扰的性能优于
模拟信号。数字信号在受到噪声干扰时,只要能够正确地识别0和1,并将其再生,就可以完全消除噪声的影响。迅速发展的各种数字纠错编解码技术,能够在极为复杂的噪声环境中,甚至信号完全被噪声所淹没的情况下,正确地识别和恢复原有的信号。
实现自适应算法:从信号与系统的角度讲,自适应就是使系统的特性随输入信号的改变而改变,从而在某种准则下,得到最优的输出。就模拟系统而言,只有改变系统的设计和元器件的参数,才能改变系统的特性,因而很难实现实时自适应。对于特定的自适应算法,以DSP处理器为核心的
数字电路能根据确定的准则,实时地改变系统的参数,从而实现实时自适应;对于不同的自适应算法,只需要更换适当的软件即可。
数据压缩效果好:随着对信号质量的要求越来越高,信号传输的
带宽和存储的代价也越来越高。
模拟信号的信息量也可以进行压缩,但信号的质量会受到比较大的影响。而数字信号处理中压缩算法不断改进,已经可以在对原信号质量影响很小的前提下,取得很高的压缩比。
相关概念
信号
信号是传递信息的载体,是信息的物理表现形式。信号可以表现为多种形式,如电信号、磁信号、声信号、光信号、机械信号、热信号等。信号在数学上可表示为一个或多个自变量的函数,或表示成一个或几个独立变量的函数。
分类
一维信号、二维信号和多维信号:信号的自变量可以是时间、频率、空间位置或其他
物理量。若信号是一个变量的函数,则该信号为一维信号,例如,语音可以看成是时间的一维信号;如果信号是两个变量的函数,则称为二维信号,例如图像可以看成是平面空间坐标位置的二维信号;视频则可以看成是空间位置以及时间的多维信号 (信号的自变量大于两个)等。
模拟信号、
离散时间信号和
数字信号:若t是定义在时间轴上的连续变量,那么函数x(t)表示的信号为连续时间信号,又称模拟信号。若t仅在时间轴的离散点上取值,那么x(t)为离散时间信号。通过将模拟信号的时间离散而得到的信号其幅度还是可以取连续的值。若将模拟信号的幅度离散,即幅度取离散的值,而时间取连续的值,则得到量化信号。若时间和幅度都离散,即信号的时间取离散的值,幅度也取离散的值,则称为数字信号。数字信号的自变量是离散取值,函数也是离散的取值。
周期信号和非周期信号:对信号x(n),若有x(n)=x(n+kN)、x(n)=x(n-kN),k和N均为正整数,则称x(n)为周期信号,周 期为N;否 则x(n)为非周期信号。一个非周期信号也可视为周期信号,这时其周期N趋于无穷。
确定性信号和随机信号:信号x(n)在任意n时刻的值若能被精确地确定(或是被预测),那么x(n)是一个确定性的信号;随机信号则是指在时刻n的取值是随机的,不能给以精确预测的信号。随机信号又可分为平稳随机信号与非平稳随机信号,平稳随机信号又可分为各态遍历信号与非各态遍历信号。
能量信号和功率信号:若信号能量有限,则称信号为能量信号;若信号功率有限,则称信号为功率信号。
噪声
在
信号处理中,噪声—般被认为是有害的,即它“污染”了信号。噪声的存在促使一系列的信号处理算法产生,并形成了内容丰富的信号处理的理论。
在信号处理中,为了模拟所研究的客观对象,常常需要人为地产生不同类型的噪声, 最常用的一种噪声模型是所谓的“
白噪声”,白噪声的名称来源于白色光的性质,意即在白噪声中含有所有频率的成分。
滤波器
滤波器是指能够使输入信号中某些频率分量充分地衰减,同时保留那些需要的频率分量的一类系统,它在信号传输与
信号处理中有着重要作用。根据处理信号的不同可将滤波器分为模拟滤波器和
数字滤波器两种。模拟滤波器和数字滤波器的概念相同,只是信号的形式和实现滤波的方法不同。
模拟滤波器要用硬件电路来实现,即用由模拟元件(比如
电阻、
电容、
电感)组成的电路来完成滤波功能。数字滤波是谱分析、通信信号处理等应用中的基本处理算法,它能够满足
滤波器对幅度和
相位的严格要求,解决了模拟滤波器所无法克服的电压漂移、温度漂移和噪声等问题,同时又有很高的可编程性和灵活性。因此数字滤波器在各种领域有广泛的应用,例如数字音响、音乐和语言合成、噪声消除、数据压缩、频率合成、
谐波消除、相关检测等。
数字滤波是DSP最基本的应用领域,一个DSP芯片执行数字滤波算法的能力反映了这种芯片的功能强弱,用DSP实现
数字滤波器可以十分方便的改变滤波器特性。数字滤波器有两种类型:有限
冲激响应滤波器(FIR)和无限冲激响应滤波器(IIR)。
预滤波器
预滤波器也称为
抗混叠滤波器,是一个模拟滤波器。它有两个作用:确保采样信号的
带宽限制在预期的频率范围内;限制破坏期望信号的加性噪声
频谱及其他干扰。通常,加性噪声是宽频带的,超过了期望信号的带宽。通过预滤波,可以降低落在期望信号频带范围内的加性噪声功率,并抑制带外噪声。
在确定了预
滤波器的需求并选择了预期的采样率后,就可进行设计用于
离散时间信号的数字信号处理。
模数转换
将
模拟信号转换为
数字信号的过程称为“模数转换”,通常由A/D转换器完成。A/D转换的目的是将模拟信号转换为可以由数字硬件处理的数字形式。模拟信号由一个适合的电子传感器进行拾取,传感器将压力、温度或声音转换为电子信号。
任何A/D转换器都要实现三个基本的功能:采样、量化和编码。采样是指将模拟信号在时间上
离散化,使之变成采样信号,对模拟信号的采样是通过采样保持(S/H)电路实现的;量化是指将采样信号的幅度离散化,使之变成
数字信号;编码则是将数字信号最终表示成为
数字电路所能接收的形式。三个功能的实现方式决定了A/D转换器的形式和性能。
数模转换
数模转换通常由具有采样保持(S/H)功能的模数(D/A)转换器紧接着一个低通(平滑)滤波来实现。D/A转换器将数字信号转换成
模拟信号,其任务是完成样本之间的
插值。D/A转换器以对应于
二进制字的电信号作为输入,产生与二进制字的值成比例的输出电压或电流。