数字信号处理(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被数位化,大部份的数位资讯会是多余的(redundant)。也就是说,由任何一个样本承载的资讯会被邻近的样本大量地复制。数以打计的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 Products)
对於在大量出售给大众的系统而言,在影像内大量的资讯内容是个问题。商业化的系统必须要便宜,且这不是大量记忆体和高度资料传输速率配合的结果。一个对此定理的解答是影像压缩(image compression)。就好像声音讯号,影像包含极大数目的多余资讯,且可经由减少「需要用来表示的bits数目」的演算法来回传。电视和其它动作片尤其适合压缩,因为大部份的影像从一个frame到另一个frame仍旧是一样的。商业化的影像处理软体利用此技术,包含了:视讯电话、显示移动中图片的电脑程式和数位电视。
一、什么是DSP技术
数字信号处理(Digital Signal Processing,简称DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。20世纪60年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。在过去的二十多年时间里,数字信号处理已经在通信等领域得到极为广泛DSP技术图解的应用。数字信号处理是利用计算机或专用处理设备,以数字形式对信号进行采集、变换、滤波、估值、增强、压缩、识别等处理,以得到符合人们需要的信号形式。
二、实现方法
DSP的实现方法一般有以下几种:
(1) 在通用的计算机(如PC机)上用软件(如Fortran、C语言)实现;
(2) 在通用计算机系统中加上专用的加速处理机实现;
(3) 用通用的单片机(如MCS-51、96系列等)实现,这种方法可用于一些不太复杂的数字信号处理,如数字控制等;
(4) 用通用的可编程DSP实现。与单片机相比,DSP芯片具有更加适合于数字信号处理的软件和硬件资源,可用于 复杂的数字信号处理算法;
(5) 用专用的DSP芯片实现。在一些特殊的场合,要求的信号处理速度极高,用通用DSP芯片很难实现,例如专用于FFT、数字滤波、卷积、相关等算法的DSP芯片,这种芯片将相应的信号处理算法在芯片内部用硬件实现,无需进行编程。
在上述几种方法中,第1种方法的缺点是速度较慢,一般可用于DSP算法的模拟;第2种和第5种方法专用性强,应用受到很大的限制,第2种方法也不便于系统的独立运行;第3种方法只适用于实现简单的DSP算法;只有第4种方法才使数字信号处理的应用打开了新的局面。
术语“DSP”是数字信号处理的英文缩写。数字信号处理是电子设计领域的术语,在这样的领域中,用离散(在时间和幅值两个方面)的采样数据集来表示和处理信号和系统,在出版的书和杂志中有大量的这方面的研究和数学算法。最初,大多数数字信号处理是在主机和其它通用数字计算机上离线完成的。这就是所谓的数字数据的“后处理”。随着在最近的二十多来年集成电路的复杂性和集成度的飞速增加,开发出专用处理芯片器,它能实时或“在线”进行数字信号处理。这些芯片被称为数字信号处理器(DSPs),并在半导体工业中成为最大的增长市场。从1988年至今,DSP的市场每年增长40%。这就意味着将引入更高性能的DSPs(及与DSP有关的产品),并以较低的价格销售。结果有双重意义:第1,随着时间的推移,更多的信号处理可在更快和更复杂的处理器内完成。第2,便宜的DSPs进入更多产品,这些产品如,手持电话、无磁带电话录答机、寻呼机(pager)、高保真度立体声设备和汽车中的主动悬挂系统(active suspension systems in cars)。