导航:首页 > 源码编译 > DSP处理器算法概论

DSP处理器算法概论

发布时间:2022-06-15 10:41:00

㈠ 什么是dsp技术

20世纪60年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。在过去的二十多年时间里,数字信号处理已经在通信等领域得到极为广泛的应用。数字信号处理是利用计算机或专用处理设备,以数字形式对信号进行采集、变换、滤波、估值、增强、压缩、识别等处理,以得到符合人们需要的信号形式。数字信号处理是围绕着数字信号处理的理论、实现和应用等几个方面发展起来的。数字信号处理在理论上的发展推动了数字信号处理应用的发展。反过来,数字信号处理的应用又促进了数字信号处理理论的提高。而数字信号处理的实现则是理论和应用之间的桥梁。数字信号处理是以众多学科为理论基础的,它所涉及的范围极其广泛。例如,在数学领域,微积分、概率统计、随机过程、数值分析等都是数字信号处理的基本工具,与网络理论、信号与系统、控制论、通信理论、故障诊断等也密切相关。近来新兴的一些学科,如人工智能、模式识别、神经网络等,都与数字信号处理密不可分。可以说,数字信号处理是把许多经典的理论体系作为自己的理论基础,同时又使自己成为一系列新兴学科的理论基础。世界上第一个单片DSP芯片应当是1978年AMI公司发布的S2811,1979年美国Intel公司发布的商用可编程器件2920是DSP芯片的一个主要里程碑。这两种芯片内部都没有现代DSP芯片所必须有的单周期乘法器。1980年,日本NEC公司推出的μPD7720是第一个具有乘法器的商用DSP芯片。在这之后,最成功的DSP芯片当数美国德州仪器公司(TexasInstruments,简称TI)的一系列产品。TI公司在1982年成功推出其第一代DSP芯片TMS32010及其系列产品TMS32011、TMS320C10/C14/C15/C16/C17等,之后相继推出了第二代DSP芯片TMS32020、TMS320C25/C26/C28,第三代DSP芯片TMS320C30/C31/C32,第四代DSP芯片TMS320C40/C44,第五代DSP芯片TMS320C5X/C54X,第二代DSP芯片的改进型TMS320C2XX,集多片DSP芯片于一体的高性能DSP芯片TMS320C8X以及目前速度最快的第六代DSP芯片TMS320C62X/C67X等。TI将常用的DSP芯片归纳为三大系列,即:TMS320C2000系列(包括TMS320C2X/C2XX)、TMS320C5000系列(包括TMS320C5X/C54X/C55X)、TMS320C6000系列(TMS320C62X/C67X)。如今,TI公司的一系列DSP产品已经成为当今世界上最有影响的DSP芯片。TI公司也成为世界上最大的DSP芯片供应商,其DSP市场份额占全世界份额近50%。DSP处理器与通用处理器的比较考虑一个数字信号处理的实例,比如有限冲击响应滤波器(FIR)。用数学语言来说,FIR滤波器是做一系列的点积。取一个输入量和一个序数向量,在系数和输入样本的滑动窗口间作乘法,然后将所有的乘积加起来,形成一个输出样本。 类似的运算在数字信号处理过程中大量地重复发生,使得为此设计的器件必须提供专门的支持,促成了了DSP器件与通用处理器(GPP)的分流:1、对密集的乘法运算的支持GPP不是设计来做密集乘法任务的,即使是一些现代的GPP,也要求多个指令周期来做一次乘法。而DSP处理器使用专门的硬件来实现单周期乘法。DSP处理器还增加了累加器寄存器来处理多个乘积的和。累加器寄存器通常比其他寄存器宽,增加称为结果bits的额外bits来避免溢出。同时,为了充分体现专门的乘法-累加硬件的好处,几乎所有的DSP的指令集都包含有显式的MAC指令。2、存储器结构传统上,GPP使用冯.诺依曼存储器结构。这种结构中,只有一个存储器空间通过一组总线(一个地址总线和一个数据总线)连接到处理器核。通常,做一次乘法会发生4次存储器访问,用掉至少四个指令周期。大多数DSP采用了哈佛结构,将存储器空间划分成两个,分别存储程序和数据。它们有两组总线连接到处理器核,允许同时对它们进行访问。这种安排将处理器存贮器的带宽加倍,更重要的是同时为处理器核提供数据与指令。在这种布局下,DSP得以实现单周期的MAC指令。还有一个问题,即现在典型的高性能GPP实际上已包含两个片内高速缓存,一个是数据,一个是指令,它们直接连接到处理器核,以加快运行时的访问速度。从物理上说,这种片内的双存储器和总线的结构几乎与哈佛结构的一样了。然而从逻辑上说,两者还是有重要的区别。GPP使用控制逻辑来决定哪些数据和指令字存储在片内的高速缓存里,其程序员并不加以指定(也可能根本不知道)。与此相反,DSP使用多个片内存储器和多组总线来保证每个指令周期内存储器的多次访问。在使用DSP时,程序员要明确地控制哪些数据和指令要存储在片内存储器中。程序员在写程序时,必须保证处理器能够有效地使用其双总线。此外,DSP处理器几乎都不具备数据高速缓存。这是因为DSP的典型数据是数据流。也就是说,DSP处理器对每个数据样本做计算后,就丢弃了,几乎不再重复使用。3、零开销循环如果了解到DSP算法的一个共同的特点,即大多数的处理时间是花在执行较小的循环上,也就容易理解,为什么大多数的DSP都有专门的硬件,用于零开销循环。所谓零开销循环是指处理器在执行循环时,不用花时间去检查循环计数器的值、条件转移到循环的顶部、将循环计数器减1。与此相反,GPP的循环使用软件来实现。某些高性能的GPP使用转移预报硬件,几乎达到与硬件支持的零开销循环同样的效果。4、定点计算大多数DSP使用定点计算,而不是使用浮点。虽然DSP的应用必须十分注意数字的精确,用浮点来做应该容易的多,但是对DSP来说,廉价也是非常重要的。定点机器比起相应的浮点机器来要便宜(而且更快)。为了不使用浮点机器而又保证数字的准确,DSP处理器在指令集和硬件方面都支持饱和计算、舍入和移位。5、专门的寻址方式DSP处理器往往都支持专门的寻址模式,它们对通常的信号处理操作和算法是很有用的。例如,模块(循环)寻址(对实现数字滤波器延时线很有用)、位倒序寻址(对FFT很有用)。这些非常专门的寻址模式在GPP中是不常使用的,只有用软件来实现。 6、执行时间的预测大多数的DSP应用(如蜂窝电话和调制解调器)都是严格的实时应用,所有的处理必须在指定的时间内完成。这就要求程序员准确地确定每个样本需要多少处理时间,或者,至少要知道,在最坏的情况下,需要多少时间。如果打算用低成本的GPP去完成实时信号处理的任务,执行时间的预测大概不会成为什么问题,应为低成本GPP具有相对直接的结构,比较容易预测执行时间。然而,大多数实时DSP应用所要求的处理能力是低成本GPP所不能提供的。这时候,DSP对高性能GPP的优势在于,即便是使用了高速缓存的DSP,哪些指令会放进去也是由程序员(而不是处理器)来决定的,因此很容易判断指令是从高速缓存还是从存储器中读取。DSP一般不使用动态特性,如转移预测和推理执行等。因此,由一段给定的代码来预测所要求的执行时间是完全直截了当的。从而使程序员得以确定芯片的性能限制。7、定点DSP指令集定点DSP指令集是按两个目标来设计的:·使处理器能够在每个指令周期内完成多个操作,从而提高每个指令周期的计算效率。·将存贮DSP程序的存储器空间减到最小(由于存储器对整个系统的成本影响甚大,该问题在对成本敏感的DSP应用中尤为重要)。为了实现这些目标,DSP处理器的指令集通常都允许程序员在一个指令内说明若干个并行的操作。例如,在一条指令包含了MAC操作,即同时的一个或两个数据移动。在典型的例子里,一条指令就包含了计算FIR滤波器的一节所需要的所有操作。这种高效率付出的代价是,其指令集既不直观,也不容易使用(与GPP的指令集相比)。GPP的程序通常并不在意处理器的指令集是否容易使用,因为他们一般使用象C或C++等高级语言。而对于DSP的程序员来说,不幸的是主要的DSP应用程序都是用汇编语言写的(至少部分是汇编语言优化的)。这里有两个理由:首先,大多数广泛使用的高级语言,例如C,并不适合于描述典型的DSP算法。其次,DSP结构的复杂性,如多存储器空间、多总线、不规则的指令集、高度专门化的硬件等,使得难于为其编写高效率的编译器。即便用编译器将C源代码编译成为DSP的汇编代码,优化的任务仍然很重。典型的DSP应用都具有大量计算的要求,并有严格的开销限制,使得程序的优化必不可少(至少是对程序的最关键部分)。因此,考虑选用DSP的一个关键因素是,是否存在足够的能够较好地适应DSP处理器指令集的程序员。8、开发工具的要求因为DSP应用要求高度优化的代码,大多数DSP厂商都提供一些开发工具,以帮助程序员完成其优化工作。例如,大多数厂商都提供处理器的仿真工具,以准确地仿真每个指令周期内处理器的活动。无论对于确保实时操作还是代码的优化,这些都是很有用的工具。GPP厂商通常并不提供这样的工具,主要是因为GPP程序员通常并不需要详细到这一层的信息。

㈡ DSP技术讲的是什么

数字信号处理(Digital Signal Processing,简称DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。20世纪60年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。数字信号处理是一种通过使用数学技巧执行转换或提取信息,来处理现实信号的方法,这些信号由数字序列表示。在过去的二十多年时间里,数字信号处理已经在通信等领域得到极为广泛的应用。德州仪器、Freescale等半导体厂商在这一领域拥有很强的实力。

DSP(digital signal processor)是一种独特的微处理器,是以数字信号来处理大量信息的器件。其工作原理是接收模拟信号,转换为0或1的数字信号。再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,是数字化电子世界中日益重要的电脑芯片。它的强大数据处理能力和高运行速度,是最值得称道的两大特色。
DSP微处理器(芯片)一般具有如下主要特点:
(1)在一个指令周期内可完成一次乘法和一次加法;
(2)程序和数据空间分开,可以同时访问指令和数据;
(3)片内具有快速RAM,通常可通过独立的数据总线在两块中同时访问;
(4)具有低开销或无开销循环及跳转的硬件支持;
(5)快速的中断处理和硬件I/O支持;
(6)具有在单周期内操作的多个硬件地址产生器;
(7)可以并行执行多个操作;
(8)支持流水线操作,使取指、译码和执行等操作可以重叠执行。

㈢ 什么是DSP处理什么是播放增益

dspDSP(digital singnal processor)是一种独特的微处理器,是以数字信号来处理大量信息的器件。其工作原理是接收模拟信号,转换为0或1的数字信号,再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,源源超过通用微处理器,是数字化电子世界中日益重要的电脑芯片。它的强大数据处理能力和高运行速度,是最值得称道的两大特色。
DSP芯片,也称数字信号处理器,是一种特别适合于进行数字信号处理运算的微处理器器,其主要应用是实时快速地实现各种数字信号处理算法。根据数字信号处理的要求,DSP芯片一般具有如下主要特点:
(1)在一个指令周期内可完成一次乘法和一次加法;
(2)程序和数据空间分开,可以同时访问指令和数据;
(3)片内具有快速RAM,通常可通过独立的数据总线在两块中同时访问;
(4)具有低开销或无开销循环及跳转的硬件支持;
(5)快速的中断处理和硬件I/O支持;
(6)具有在单周期内操作的多个硬件地址产生器;
(7)可以并行执行多个操作;
(8)支持流水线操作,使取指、译码和执行等操作可以重叠执行。
当然,与通用微处理器相比,DSP芯片的其他通用功能相对较弱些。

它可以将播放内容保存到音轨里面。当两个音频文件或者专辑的默认音量不同的时候,我们就不用再手工调整音量了。我们可以通过播放增益将音频文件的音量统一起来。播放增益有一个好处就是,增益信息并没有改变音频文件本身。它与编码中的将每一条音轨标准化并不是一回事。就像ID3标签,增益信息能够被移除或者改变。另外,增益信息能够解决许多音频文件所存在的削波失真问题。

㈣ dsp的算法指的是计算机算法吗

通常意义来说,DSP是指Digital Signal Processing,还可以指Digital Signal Processor。

前者是数字信号处理的意思,后者是用于数字信号处理的数字信号处理器。《算法导论》一书还是有必要看一看的,因为无论你将来要从事软件还是硬件的研发,这门课程都会起到良好的基础作用。当然,这门课是“软”的。此书没有直接的东西,但是会渗透出一种软件设计的逻辑思想,一些常用的算法的理论。

要是将来想从事DSP的相关工作,可以再看一门《数字信号处理》的书,两者虽然不是直接耦合,就如你自己所说,多储备一些总是好的。

还有,进一步的深入研究可以研究FPGA,这是数字信号处理的利器。要是用专用处理器的话,可以看德州仪器的相应资料,它是DSP器件领域的老大。

祝学业顺利。

㈤ dsp原理及应用

DSP原理与特点

数字信号处理是将信号以数字方式表示并处理的理论和技术。数字信号处理与模拟信号处理是信号处理的子集。DPS原理就是利用计算机或专用处理设备,以数字形式对信号进行采集、变换、滤波、估值、增强、压缩、识别等处理,以得到符合人们需要的信号形式。

数字信号处理的目的是对真实世界的连续模拟信号进行测量或滤波。因此在进行数字信号处理之前需要将信号从模拟域转换到数字域,这通常通过模数转换器实现。而数字信号处理的输出经常也要变换到模拟域,这是通过数模转换器实现的。

数字信号处理的算法需要利用计算机或专用处理设备如数字信号处理器(DSP)和专用集成电路(ASIC)等。数字信号处理技术及设备具有灵活、精确、抗干扰强、设备尺寸小、造价低、速度快等突出优点,这些都是模拟信号处理技术与设备所无法比拟的。

数字信号处理的实现方法很多,比如 在通用计算机上用软件(如Fortran、C语言)实现;在通用计算机系统中加上专用的加速处理机实现;用通用的单片机实现,这种方法可用于一些不太复杂的数字信号处理,如数字控制等;

用通用的可编程DSP芯片实现。与单片机相比,DSP芯片具有更加适合于数字信号处理的软件和硬件资源,可用于复杂的数字信号处理算法;

用专用的DSP芯片实现,在一些特殊的场合,要求的信号处理速度极高,用通用DSP芯片很难实现,例如专用于FFT、数字滤波、卷积等算法的DSP芯片,这种芯片将相应的信号处理算法在芯片内部用硬件实现,无需软件编程。

DSP普遍采用数据总线和程序总线分离的哈佛结构,允许取指令和执行指令进行全部重叠进行;可直接在程序和数据空间之间进行信息传送,减少访问冲突,从而获得高速运算能力。

而且大多采用流水技术,即每条指令都由片内多个功能单元分别完成取指、译码、取数、执行等步骤,从而在不提高时钟频率的条件下减少了每条指令的执行时间。DSP通常有三级以上的流水线。

在每个时钟周期执行多个操作。针对滤波、相关、矩阵运算等需要大量乘法累加运算的特点,DSP大都配有独立的乘法器和加法器,使得在同一周期内可以完成相乘、累加两个运算。有的DSP可以同时进行乘、加、减运算,大大加快了FFT的蝶形运算速度。

DSP系统的应用领域

(1)通用数字信号处理:数字滤波、卷积、相关、FFT、自适应滤波、波形发生等。

(2)通信领域:高速调制解调器、编/译码器、传真、程控交换机、卫星通信、IP电话等。

(3)语音处理:语音识别、合成、矢量编码、语音信箱等。

㈥ 什么是DSP处理器

数字信号处理器,主要对数字信号进行高速运算。汽车音响处理器应该是解码用的吧

㈦ DSP技术的特点

考虑一个数字信号处理的实例,比如有限冲击响应滤波器(FIR)。用数学语言来说,FIR滤波器是做一系列的点积。取一个输入量和一个序数向量,在系数和输入样本的滑动窗口间作乘法,然后将所有的乘积加起来,形成一个输出样本。
类似的运算在数字信号处理过程中大量地重复发生,使得为此设计的器件必须提供专门的支持,促成了了DSP器件与通用处理器(GPP)的分流: GPP不是设计来做密集乘法任务的,即使是一些现代的GPP,也要求多个指令周期来做一次乘法。而DSP处理器使用专门的硬件来实现单周期乘法。DSP处理器还增加了累加器寄存器来处理多个乘积的和。累加器寄存器通常比其他寄存器宽,增加称为结果bits的额外bits来避免溢出。
同时,为了充分体现专门的乘法-累加硬件的好处,几乎所有的DSP的指令集都包含有显式的MAC指令。 传统上,GPP使用冯.诺依曼存储器结构。这种结构中,只有一个存储器空间通过一组总线(一个地址总线和一个数据总线)连接到处理器核。通常,做一次乘法会发生4次存储器访问,用掉至少四个指令周期。
大多数DSP采用了哈佛结构,将存储器空间划分成两个,分别存储程序和数据。它们有两组总线连接到处理器核,允许同时对它们进行访问。这种安排将处理器存贮器的带宽加倍,更重要的是同时为处理器核提供数据与指令。在这种布局下,DSP得以实现单周期的MAC指令。
还有一个问题,即现在典型的高性能GPP实际上已包含两个片内高速缓存,一个是数据,一个是指令,它们直接连接到处理器核,以加快运行时的访问速度。从物理上说,这种片内的双存储器和总线的结构几乎与哈佛结构的一样了。然而从逻辑上说,两者还是有重要的区别。
GPP使用控制逻辑来决定哪些数据和指令字存储在片内的高速缓存里,其程序员并不加以指定(也可能根本不知道)。与此相反,DSP使用多个片内存储器和多组总线来保证每个指令周期内存储器的多次访问。在使用DSP时,程序员要明确地控制哪些数据和指令要存储在片内存储器中。程序员在写程序时,必须保证处理器能够有效地使用其双总线。
此外,DSP处理器几乎都不具备数据高速缓存。这是因为DSP的典型数据是数据流。也就是说,DSP处理器对每个数据样本做计算后,就丢弃了,几乎不再重复使用。 如果了解到DSP算法的一个共同的特点,即大多数的处理时间是花在执行较小的循环上,也就容易理解,为什么大多数的DSP都有专门的硬件,用于零开销循环。所谓零开销循环是指处理器在执行循环时,不用花时间去检查循环计数器的值、条件转移到循环的顶部、将循环计数器减1。
与此相反,GPP的循环使用软件来实现。某些高性能的GPP使用转移预报硬件,几乎达到与硬件支持的零开销循环同样的效果。 大多数的DSP应用(如蜂窝电话和调制解调器)都是严格的实时应用,所有的处理必须在指定的时间内完成。这就要求程序员准确地确定每个样本需要多少处理时间,或者,至少要知道,在最坏的情况下,需要多少时间。
如果打算用低成本的GPP去完成实时信号处理的任务,执行时间的预测大概不会成为什么问题,应为低成本GPP具有相对直接的结构,比较容易预测执行时间。然而,大多数实时DSP应用所要求的处理能力是低成本GPP所不能提供的。
这时候,DSP对高性能GPP的优势在于,即便是使用了高速缓存的DSP,哪些指令会放进去也是由程序员(而不是处理器)来决定的,因此很容易判断指令是从高速缓存还是从存储器中读取。DSP一般不使用动态特性,如转移预测和推理执行等。因此,由一段给定的代码来预测所要求的执行时间是完全直截了当的。从而使程序员得以确定芯片的性能限制。 定点DSP指令集是按两个目标来设计的:
·使处理器能够在每个指令周期内完成多个操作,从而提高每个指令周期的计算效率。
·将存贮DSP程序的存储器空间减到最小(由于存储器对整个系统的成本影响甚大,该问题在对成本敏感的DSP应用中尤为重要)。
为了实现这些目标,DSP处理器的指令集通常都允许程序员在一个指令内说明若干个并行的操作。例如,在一条指令包含了MAC操作,即同时的一个或两个数据移动。在典型的例子里,一条指令就包含了计算FIR滤波器的一节所需要的所有操作。这种高效率付出的代价是,其指令集既不直观,也不容易使用(与GPP的指令集相比)。
GPP的程序通常并不在意处理器的指令集是否容易使用,因为他们一般使用象C或C++等高级语言。而对于DSP的程序员来说,不幸的是主要的DSP应用程序都是用汇编语言写的(至少部分是汇编语言优化的)。这里有两个理由:首先,大多数广泛使用的高级语言,例如C,并不适合于描述典型的DSP算法。其次,DSP结构的复杂性,如多存储器空间、多总线、不规则的指令集、高度专门化的硬件等,使得难于为其编写高效率的编译器。
即便用编译器将C源代码编译成为DSP的汇编代码,优化的任务仍然很重。典型的DSP应用都具有大量计算的要求,并有严格的开销限制,使得程序的优化必不可少(至少是对程序的最关键部分)。因此,考虑选用DSP的一个关键因素是,是否存在足够的能够较好地适应DSP处理器指令集的程序员。 因为DSP应用要求高度优化的代码,大多数DSP厂商都提供一些开发工具,以帮助程序员完成其优化工作。例如,大多数厂商都提供处理器的仿真工具,以准确地仿真每个指令周期内处理器的活动。无论对于确保实时操作还是代码的优化,这些都是很有用的工具。
GPP厂商通常并不提供这样的工具,主要是因为GPP程序员通常并不需要详细到这一层的信息。GPP缺乏精确到指令周期的仿真工具,是DSP应用开发者所面临的的大问题:由于几乎不可能预测高性能GPP对于给定任务所需要的周期数,从而无法说明如何去改善代码的性能。

㈧ 2,dsp算法的实现方法有哪些

dsp:英文原名叫digital signal processing,简称DSP。数字信号处理就是用数值计算的方式对信号进行加工的理论和技术。另外DSP也是digital signal processor的简称,即数字信号处理器
数字信号处理的目的是对真实世界的连续模拟信号进行测量或滤波。因此在进行数字信号处理之前需要将信号从模拟域转换到数字域,这通常通过模数转换器实现。而数字信号处理的输出经常也要变换到模拟域,这是通过数模转换器实现的。即将事物的运动变化转变为一串数字,并用计算的方法从中提取有用的信息,以满足我们实际应用的需求。

㈨ 什么是DSP技术

数字信号处理(Digital Signal
Processing——DSP)强调的是通过专用集成电路芯片,利用数字信号处理理论,在芯片上运行目标程序,实现对信号的某种处理.

数位讯号处理(Digital Signal Processing)是二十一世纪形成科学和工程最具威力的技术之一。在各领域内广泛的范围中已经发生革命性的改变:通讯、医疗影像、雷达和声纳、高保真度(fidelity)音乐重制,和原油探勘,只有这些有被命名。每一个领域的DSP技术都已发展到一定的深度,有它们自个儿的算法、数学和特定的技巧。结合广度与深度使得任何人都不能精通所有已被发展的DSP技术。DSP教育包含二项工作:学习一般可套用于整体的概念,以及对你感兴趣的特定领域学习专业的技巧。本章借由描述DSP已在数个不同领域中造成的戏剧般效应来开启我们进入数位讯号处理(Digital Signal Processing)世界的旅程。革命已经开始了。

DSP的起源(The Roots of DSP)

数位讯号处理不同于其它电脑科学中的领域是由于它使用的资料型别的唯一性:讯号(signals)。在大多情况下,这些讯号起源于现实世界中知觉的(sensory)资料:地震的摆动(seismic vibrations)、视觉影像、声波等……。在讯号已经被转换为数位型式后,DSP是数学、算法和用来处理这些讯号的技术。这包含广泛、多变化的目标,例如:强化视觉影像,辨识和产生对话(语音),为了储存和传送的资料压缩,等……。假设我们加一个“对比到数位的转换器”给电脑,并用它来撷取一部份真实世界的资料。DSP回答了问题:下一步是什么?

DSP的起源是在1960和1970年代,当数位电脑首度变成可用时。电脑在这个时代是很昂贵的,而DSP受限于只有一些关键性的应用。先锋们主要努力于四个关键领域:冒着国际的安全性危险的雷达和声纳,可以赚大把钞票的原油探勘,资料有不可取代性的太空探索和可以救命的医学影像。1980和1990时个人电脑的革命使得DSP新的应用突然遽增。动机并非是由于军事和政府的需求,DSP突然被商业市场驱动了。任何认为他们可以在快速扩大的领域中赚钱的人全都突然变成是DSP的厂商。DSP在这样的产品中变成众所皆知的了:行动电话,CD(compact disc players),和电子语音邮件。图1-1列举了这些应用中的一部份。

此技术革命由上而下发生。在1980早期,DSP在电子电机领域中是在研究所课程中教授的课程。十年后,DSP已经变成大学标准课程的一部份。今日,DSP变成在许多领域中被科学家和工程师需要的基本技巧。以此类推,DSP可以被和之前技术革命中的“电子学(electronics)”相比。虽然仍是电子电机领域,几乎每个科学家和工程师都有些基础电路设计的背景。没有的话,他们可能会迷失在技术的世界中。DSP也有相同的未来。

图1-1
DSP已经在科学与工程的许多领域中发动革命。一些多样化的应用列于此。

近来的历史更是超令人好奇的;它对你学习和使用DSP的能力上有极大的影响。假设你遇到了一个DSP问题,并且转向教科书或其它出版品以寻求答案。你通常找到的是一页又一页的方程式,难解的(obscure)数学符号和不熟悉的术语。这真是场恶梦!即使对那些在此领域中有经验的人而言,许多DSP文献仍令人困惑(baffling)。这并不是在文献上有错,它只是预期要给非常特定的读者群。目前发展中之科技的研究者需要这种复杂(详细)的数学以了解工作的理论的意涵(theoretical implications)。

本书基本的假设是大部份实用的DSP技术可以在没有传统复杂的数学和理论的藩篱下被学习和使用。《科学家和工程师的数位讯号处理指引手册》(《The Scientist and Engineer’s Guide to Digital Signal Processing》)是为了那些想要使用DSP作为工具、而非新的职业的人写的。
本章剩余的部份列举了一些DSP已经产生革命性变革的领域。当你看过每个应用,注意到DSP是非常介于各学科间的(interdisciplinary),依赖于许多相邻领域中的技术性工作。如图1-2所建议的,介于DSP和其它技术学科间的边界并不明显也没有完善的定义,而是模糊和重叠的。如果你想要专攻DSP,你也需要去研读一些相关的领域。

图1-2
数位讯号处理在很多科学、工程和数学领域上有模糊和重叠的边界。

电信(Telecommunications)

电信是关于从一个位置传送资讯给另一个。这包含许多资讯的型式:电话交谈、电视讯号、电脑档案和其它类型的资料。要传送资讯,你需要一个介于二个位置间的通道(channel)。这可能是一对导线(wire pair),无线电广播讯号,光纤,等……。电信公司接收传送他们的客户的资讯的付费款项,然而他们必须付费来建立和维护通道(channel)。财务上的帐本盈亏结算线(bottom line)很简单:他们可以经由单一通道来传递愈多的资讯,他们可以赚愈多的钱。DSP已经在许多领域中的电信产业发动革命:声调(tone)讯号的产生及侦测,频带(frequency band)平移,为了移除电力线的嗡嗡声(power line hum)的滤波动作(filtering),等等……。从电话网路中有三个特殊的例子在此会被讨论:多路传输(multiplexing)、压缩和回声控制(echo control)。

多路传输(Multiplexing)

世界上大约有十亿的电话。按下几个键,交换网路允许在任何地方的任何人只要几秒钟就可以被连结起来。此项无限大(immensity)的任务让人犹豫。直到1960时,介于二支电话间的连结需要经由机械的交换器和扩大器(amplifiers)来传送类比声音讯号。一个连结需要一对导线。比较起来,DSP将音讯转换成序列数位资料串流。因为位元可以被轻易地编结(interwinded)并且稍后被分开,许多电话谈话可以被在单一通道(channel)上传送。例如,电话的标准已知为T-carier system,它可以同时传送24个声音讯号。每个声音讯号使用8 bit companded(对数压缩,logarithmic compressed)类比对数位的转换来每秒抽样8000次。每个声音讯号中的结果被表成64,000 bits/sec,且所有的24个channel都包含在1.544 megabits/sec内。使用传统的22 gauge铜制电话线,讯号可被传送约6000英呎,典型的互相连接的距离。数位传输在财务上的优点很多。电线和类比交换器很贵,数位逻辑闸(digital logic gates)很便宜。

压缩(Compression)

当声音讯号以8000 samples/sec被数位化,大部份的数位资讯会是多余的(rendant)。也就是说,由任何一个样本承载的资讯会被邻近的样本大量地复制。数以打计的DSP算法已经被发展来转换数位化的声音讯号成需要较少bits/sec的资料串流。这些被称作资料压缩(data compression)算法。相对应的解压缩(uncompression)算法则被用来回复讯号到它原本的型式。这些算法在进行压缩的数目和结果的声音品质上变化。一般而言,可将资料速率从64 kilobits/sec减少到32 kilobits/sec,而不损失声音的品质。当压缩成资料速率8 kilobits/sec时,声音会明显地被影响,不过仍然对长距离电话网路很有用。最长的可达到的压缩约是2 kilobits/sec,导致高度扭曲的声音,不过可用于一些应用,例如军队和海底通讯。

回声控制(Echo control)

回声在长距离电话连结中是一个严重的问题。当你对电话说话时,一个代表你的声音的讯号传导(travel)到连接的接收器上,其中部份的讯号会回传,即为回声(echo)。如果连结在数百英哩之内,用来接收回声所花费的时间仅有几毫秒(milliseconds)。人耳习惯于听这些小的时间延迟的回声,而连结似乎相当正常。当距离变得较长,回声变得越来越显着且恼人(irritating)。对于州际间的通讯,延迟可以是数百微秒,而且特别令人不愉快(objectionable)。数位讯号处理借由量测传回的讯号并产生适当的反讯号(antisignal)以消除烦扰的回声,来着手处理此类的问题。同样的技术让喇叭扩音器使用者可以同时听和说而没有抗争的(fighting)音讯回馈(长而尖的声音, squealing)。它也可借由数位产生的反噪音(anitnoise)来抵消它,以减少环境噪音。

音讯处理(Audio Processing)

人类的二大主要感官是视觉和听觉。相对应地,许多DSP与影像及音讯处理相关。人们听音乐和语言(语音)。DSP已经在这二大领域上有革命性的变化。

音乐(Music)

从音乐家的麦克风到爱玩高级音响的人的扬声器的路径是相当长的。数位资料表示法很重要,因为它会防止“一般和类比式储存和处理相关”的降级。这对任何比较过卡带和CD的音乐品质的人来讲会很熟悉。在一般的情境(scenario)中音乐片段在录音室(sound studio)中被录起来在数个频道或音轨(track)上。在某些情况下,这甚至包含各别录制单独的乐器和歌手。这麼做是为了给予声音工程师在制作最后的成品时较大的弹性。组合各别的音轨到最后的成品的复杂过程被称作mix down。DSP可以在mix down时,提供数种重要的功能,包括了:滤声(filtering),讯号加和减,讯号编辑,等……。

译注:把 X 声道的 audio 混成 Y 声道,其中 X 是大于 Y 的数字,例如说你的 DVD 上面是 5.1 声道,但是你只有耳机,耳机只有双声道,所以就需要 mix down 成 2 channel,感谢Jedi提供解释。

最有趣的DSP在音乐准备上的应用之一是人工余韵(artificial reverberation)。如果各别的频道被简单地加在一起,结果的片段听起来渺茫无力(frail and diluted),很像是音乐家在户外演奏。这是因为听者被音乐的回音或余韵的内容大大地影响了,而通常在录音室内这些都被最小化了。DSP允许人造回声和余韵在mix down时被加总以模拟各种理想的聆听环境。有数百微秒延迟的回声给予人像教堂般地点的印象。增加10-20微秒延迟的回声让人感觉在更适当大小的聆听空间。

语音的产生(Speech generation)

语音的产生和辨识被用来作为人与机器间的沟通。并不是用你的手和眼,而是用你的嘴和耳。当你的手和眼应该做些别的事,例如:开车,开刀,或(不幸地)用武器对敌人开火时,这非常方便。对于电脑所产生的语音,会使用二个方法:数位录音和声道模拟(vocal tract simulation)。在数位录音中,人声被数位化并储存,通常在一种压缩表格(compressed form)里。在录放时,储存的资料被解压缩并且被转回到类比讯号。整整一小时录下来的语音只需要大约3 megabytes来储存,甚至在小电脑系统里也能。这是今日使用的、最常见的数位语音产生的方法。

声道模拟(vocal tract simulation)更复杂,借由人类建立语音的方法来试着模仿身体的(physical)机制。人类声道模拟是由室内(chamber)的尺寸和形状决定的具共鸣频率(resonant frequency)的声腔(acoustic cavity)。在比较上,摩擦音源于在狭窄的压缩下嘈杂的空气杂讯,就好像牙齿和嘴唇。声道模拟借由产生模仿这二种刺激(excitation)的数位讯号来运作。共鸣室(resonate chamber)的特性是经由具相似共振的数位滤波器来传送刺激讯号来模拟。此方法被用于非常早期的DSP成功故事的其中一个,Speak & Spell是卖得很好的、给儿童的电子辅助学习器。

语音辨识(Speech recognition)

自动地人类语音辨识比产生语音更加地困难。语音辨识是人脑做的好,但数位电脑做的很差的经典范例。数位电脑可以储存并且记得非常大量的资料,以极快的速度执行数学计算,并且做重覆的工作而不会厌烦或没有效率。不幸地,当面对未加工的感知资料(raw sensory data)时,今日的电脑执行地非常差。教导电脑每月寄给你帐单很容易。教导同一台电脑去了解你的声音是件大工程。

数位讯号处理一般在二个步骤中处理语音辨识问题:在特色配对(feature matching)之后做特色撷取(feature extraction)。

进入的音讯讯号中的每个字要先被隔离,然后分析以辨识刺激和共振频率的类型。然后这些参数与之前说话的字的范例做比较以辨识出最接近的配对。常常,这些系统受限于只有几百字,只能接受字与字间有可分辨的中断的语音;且每个说话者需被个别再训练。虽然这对许多商业应用是适当的,当与人类的听力比较时,这些限制是简陋的(humbling)。在此领域有很多工作要被完成,成功的商业性产品的那些人会有巨大的金钱上的奖赏。

回声位置(Echo Location)

获得关于远端物件资讯的常见方法是弹出一个离开它的波(bounce a wave off of it)。例如,雷达借由传送无线电波的脉冲波,并且对每个从飞机回声检查接收到的讯号来运作。在声纳上,声波经由水传送以侦测潜水艇和其它水面下的物体。地球物理学家已经借由设定长期爆破并听取从岩石的深埋层(deeply buried layers of rock)的回声来针测地球。虽然这些应用有共同的思路(thread),它们每个都有自个儿特定的问题和需求。数位讯号处理已经在三个领域中都已产生了革命性的变化。

雷达(Radar)

雷达(Radar)是 RAdio Detection And Ranging的首字缩写。在最简单的雷达系统里,无线电传送器产生一个好几微秒长的无线电频率能量脉冲。此脉冲被餵进高度的指向天线(directional antenna),在那里导致无线电波传播(propagate)并以光速离开。在此波路径上的飞机会反射回来一小部份的能量到位于传送站附近的接收天线。到物体的距离由介于被传送的脉冲和接收的回声间花费的时间来计算。物体的方向更容易发现,当回声被接收时,你知道你在哪里指到指向天线(directional antenna)。

雷达系统的运作范围由二个参数决定:初始脉冲内有多少能量,及无线电接收器的噪音水准。不幸地,要在脉冲波里增加能量通常需要更长的脉冲波。接着,较长的脉冲波减少正确性和消耗时间测度的精度。这导致了二个重要参数间的冲突:侦测远距离物体的能力,和正确地决定物体的距离的能力。

DSP在三个领域有革命性的雷达,它们全都与基本问题相关。第一个,DSP可以在脉冲波被接收后压缩它,提供较佳距离测定而不需减小其作业范围。第二个,DSP可以过滤掉所接收的讯号来减少杂讯。这增加了范围,而不用将距离测定降级。第三,DSP能够快速选取并产生不同脉冲波形和长度。除了其它的(问题)外,这让脉冲波对特定的侦测问题被最佳化。现在是令人印象深刻的部份:这里面很多是由和所使用的无线电频率差不多的抽样率(sampling rate),约是数百megahertz!当它涉及雷达这方面时,DSP与高速硬体设计高度相关就和它与算法的关系一样。

声纳(Sonar)

声纳是SOund NAvigation and Ranging的首字缩写。它被分成二大类,主动式(active)和被动式(passive)。在主动式声纳中,介于2 kHz 和40 kHz 间的声音脉冲波被传送到水里,而结果的回声被侦测和分析。使用主动式声纳包含:侦测和定位水面下的物体、航海、通讯和映射(mapping)到海底(sea floor)。一般最大操作范围是10到100公里。与其相比,被动式声纳只聆听海面下的声音,包含:自然的乱流(turbulence)、海洋生物和从潜艇和表面船舰发出的机械声。因为被动式声纳没有消除能量,它对于转换作业而言很理想。你想要侦测其它人(the other guy),而不要他侦测你。被动式声纳最重要的应用是军事监视(surveillance)系统,它侦测并追踪潜水艇。被动式声纳一般使用比主动式声纳较低的频率,因为它们经由水以较少的吸收作用被传播(propagate)。侦测范围可达到数千公里。

DSP在声纳方面已经与雷达方面有许多相同的领域都有革命性的发展:脉冲波的产生、脉冲波压缩和过滤侦测到的讯号。有个声纳比雷达简单的观点:因为包含了较低的频率。另一个观点是,声纳比雷达更难,因为环境较不一致也较不稳定。声纳系统通常使用昂贵的阵列来传送和接收元素,而不是只有单一个频道。借由适当地控制和混合这许多元素的讯号,声纳系统可以指引被消除的脉冲波到想要的位置并且决定回音被接收的方向。要处理这许多的频道,声纳系统需要与雷达同样大规模的DSP运算能力。

反射地震学(Reflection seismology )

大约是1920年代早期,地球物理学家发现地球外壳的结构可以用声音来探测。探勘者可以引爆并从在表面下超过十公里的边界层(boundary layer)纪录回声。这些回声震动图(seismograms)由肉眼解读来对应到次表面(subsurface)的结构。反射地震法(reflection seismic method)很快地变成主要确定石油和矿藏位置的方法,且直到今日仍是。

在理想的情况下,传送到地面的声音脉冲波从每个脉冲波经过的边界层产生一个回声。不幸地,情况通常不会这麼简单。每一个传回到地表的回声必须经过所有其它上面(它源自的)边界层。这会导致回声在层与层之间跳跃,产生回声的回声在表面被侦测到。这些次要的回声可以使被侦测的讯号非常地复杂和难以解读。自从1960年代,数位讯号处理已经被广泛地运用来从反射震动图(reflection seismograms)中的次要回声隔离主要的回声。早期的地球物理学家如何在没有DSP的情况下处理?答案很简单:他们看简单的地方,在那里多重反射被最小化。DSP允许原油在困难的位置被发现,例如在海的下方。

影像处理(Image Processing)

影像是具有特性的讯号。首先,它们是空间(距离)上参数的测度,虽然大部份讯号是时间参数的测度。第二,它们包含很多资讯。例如,可能需要超过10 megabytes来储存二分之一的电视录影。这比一个相似长度的声音讯号大了超过1000倍。第三,最终品质的判断通当会受限于人类的评估,而非客观存在的评断标准。这些特性已经使得影像处理变成DSP内不同的子群组。

医疗的(Medical)

在1895年,Wilhelm Conrad R?ntgen发现了X光可穿透相当数量的实际物体。医学借由可以看到活生生的人体内而有了革命性的进步。医疗用X光系统只在几年内便散布全球。尽管它明显的成功,直到DSP及相关技术在1970年出现之前,医疗用X光影像一直受限于四个问题。笫一,人体内重叠的结构可以藏在另一个之后。例如,在肋骨后方的部份心藏可能无法被看见第二,并不总是能区分相似的组织(tissue)。例如,可能可以从软组织分开骨头,不过不能从肝藏分辨肿瘤。第三,X光影像显示解剖结构(anatomy),身体的结构,而不是生理学,身体的运作。活人的X光影像看起来就像是死人的X光影像!第四,曝露在X光下会引起癌症,需要谨慎地(sparingly)且只能在有适当的理由时才能使用它。

重叠结构的问题在1971年引入第一台计算式断层摄影法(computed tomography)扫描器被解决了(正式地名称是computed axial tomography或CAT 扫描器)。计算式断层摄影法(CT)是一经典的数位讯号处理的例子。从许多方向的X光会穿透病人被检查时的身体各部份(section)。并非简单地以侦测到的X光形成影像,而是讯号被转成数位资料并储存在电脑中。然后此资讯被用于计算要显示为身体各切片(slice)的影像。这些影像比传统的技术显示更多的细节,允许值得注目地更好的检测和治疗。CT的影响几乎和原本引入X光影像本身一样大。在几年之内,世界上的每家大医院都已经使用CT扫描器了。在1979年时, CT原理的贡献者中其中的二位,Godfrey N. Hounsfield 和 Allan M. Cormack,共享了诺贝尔医学奖(Nobel Prize in Medicine)。那是好DSP!

最后的三个X光问题已经借由使用不是X光的穿透性能源(penetrating energy)被解决了,例如无线电和声波。DSP在所有这些技术中扮演一个关键的角色。例如,核磁共振影像(Magnetic Resonance Imaging,MRI)使用磁场连结无线电波来探测人体的内部。适当地调整磁场强度和频率让在身体区域范围内的原子核可以介于量子能源状态间共振。此共振导致次要的无线电波放射,由放在靠近身体的天线侦测。这个侦测到的讯号的强度和其它特性提供了关于共振局部区域的资讯。磁场的调整让被经此身体扫描的共振区域对应到内部的结构。此资讯通常被表示成影像,就像是计算式断层摄影般。除了提供介于不同类型软组织间杰出的辨识外,MRI可以提供关于生理学(physiology)的资讯,例如经由动脉的血液流。MRI完全依赖数位讯号处理技术,没有它们无法被实作。

外太空(Space)

有时候,你只是必须把一张烂相片弄到最好。这情况屡次都是因为影像从无人管理的卫星和太空探索火箭拍的。没有人会送一个修理工到火星只是去扭转像机的旋钮!DSP可以用数种方法来增进在非常不适宜的情况下所拍的影像的品质,它们是:亮度和对比调整,边界侦测,杂讯减少,焦点调整,动作模糊减少,等……。有空间扭曲的影像,例如拍摄球面星球的平面影像所遇到的,可以被变形(warped)成一种正确的表示法。许多各别的影像可以被结合成单一的资料库,让资讯以唯一的方式被显示。例如,一个电视影像序列模拟飞机在不同星球的表面飞行。

商业化的影像产品(Commercial Imaging Procts)

对于在大量出售给大众的系统而言,在影像内大量的资讯内容是个问题。商业化的系统必须要便宜,且这不是大量记忆体和高度资料传输速率配合的结果。一个对此定理的解答是影像压缩(image compression)。就好像声音讯号,影像包含极大数目的多余资讯,且可经由减少“需要用来表示的bits数目”的算法来回传。电视和其它动作片尤其适合压缩,因为大部份的影像从一个frame到另一个frame仍旧是一样的。商业化的影像处理软体利用此技术,包含了:视讯电话、显示移动中图片的电脑程式和数位电视。

㈩ 什么是DSP

DSP芯片,也称数字信号处理器,是一种特别适合于进行数字信号处理运算的微处理器具,其主机应用是实时快速地实现各种数字信号处理算法。根据数字信号处理的要求,DSP芯片一般具有如下主要特点:

(1)在一个指令周期内可完成一次乘法和一次加法;
(2)程序和数据空间分开,可以同时访问指令和数据;
(3)片内具有快速RAM,通常可通过独立的数据总线在两块中同时访问;
(4)具有低开销或无开销循环及跳转的硬件支持;
(5)快速的中断处理和硬件I/O支持;
(6)具有在单周期内操作的多个硬件地址产生器;
(7)可以并行执行多个操作;
(8)支持流水线操作,使取指、译码和执行等操作可以重叠执行。

当然,与通用微处理器相比,DSP芯片的其他通用功能相对较弱些

阅读全文

与DSP处理器算法概论相关的资料

热点内容
java字符处理函数 浏览:274
指纹用于应用加密什么意思 浏览:998
怎么取消苹果手机的appid密码 浏览:997
门禁系统录制卡怎么加密 浏览:753
ssm看源码哪本书好 浏览:933
linux查看网卡的命令 浏览:497
basic语言算法 浏览:13
怎么快捷删除无用文件夹 浏览:475
你家离学校源码用英语回答 浏览:504
电脑如何用服务器地址 浏览:652
php转化为二进制 浏览:738
程序员到国企感受 浏览:863
js二分搜索算法 浏览:658
文件夹的定义与原意 浏览:202
phpredis任务队列 浏览:463
文件夹的颜色代表什么 浏览:895
单片机模拟通信 浏览:931
pandas在哪里编译 浏览:918
安卓机怎么调清晰度 浏览:346
开始菜单文件夹英语 浏览:887