高保真度立体声设备和汽车中的主动悬挂系统(active suspension systems in cars)。
数字信号处理(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在声纳方面已经与雷达方面有许多相同的领域都有革命性的发展:脉冲波的产生、脉冲波压缩和过滤侦测到的讯号。有个声纳比雷达简单的观点:因为包含了较低的频率。另一个观点是,声纳比雷达更难,因为环境较不一致也较不稳定。声纳系统通常使用昂贵的阵列来传送和接收元素,