随着数字信号处理技术的日益推进, IT领域的科技成果越来越普遍的应用于视音频领域并大大的推动了视音频科技的进步,其中DSP(Digital Signal Processor即数字信号处理器)在音频领域内的应用就是一个很好的例子。
传统的模拟视音频产品如今逐渐退出,采用数字化技术极其相应产品已呈不可抵挡的趋势。数字化的视音频产品必将涉及将类比信号转换成数字信号后加以传输的问题。而在这种转换的过程中需要做大量的数学运算,因此必须选择运算快速的微处理器才能完成实时(real-time)的数位信号处理。而市面上的微处理有成百上千种,各有其特色及对应的应用场合,DSP以其特有的优势更加适合于完成上述任务。以下就从微处理器的硬件基本架构,来说明DSP与传统微处理器间的差异及其本身的优势。
DSP的优势
要了解DSP的优势,就必须明白DSP与传统微处理器在硬件基本架构上的不同。
Von Neumann与Harvard基本架构
所有的微处理器都是由几个基本的模块所组成:运算器以完成数学运算、存储器和解码器以完成类比信号与数位信号间的转换。在程序中,在每一周期必须告知微处理器要做些什么。因此微处理器必须从储存程序的存储体取得控制指令与一些数据而加以运算。但是对于所有的微处理器并不是使用相同的方法,一般来说可分成Von Neumann与Harvard二种基本架构,同时又有取其二者优点而衍生出多种的混合改良架构,在增加存储器与周边装置后,就成为能作为数字信号处理应用的微处理控制器。
Von Neumann结构成为电脑发展上的标准已超过40年,基本结构是非常简洁,程序与数据二者能够存储在同一存储映射空间(memory-mapped space),这种结构的形成是基于大多数一般用途的程序要求,如x86系列。而其缺点是仅有一条总线来共享数据和程序地址,因此同一时间仅有一数据存储单元或是程序存储单元能被进行存取操作。
能在读取执行程序的同时访问数据存储空间是有效加快数据处理的重要方法,Harvard结构具有分离程序和数据的存储空间,两根总线分别处理不同的地址单元,以确保数据和程序能同时并行的存取,以增加处理速度。这种分离的总线架构可将程序执行分成寻址、解码、读取、执行四个工作阶段,每一指令必须4个指令周期才能完成,并且同一时间可以有4个指令进入微处理器内处理,当在第4个指令周期后,每一指令周期就有一个指令执行,此时程式是以最高的效率的执行。但需要指出的是,当执行选择指令如跳跃或比较指令时,由于必须等到指令执行产生的结果后,才知道要跳跃的位置与下一个指令,在此之前所输入的指令会变的无效,而必须重新输入新的指令,因此会产生所谓的选择延时或选择等待等现象,使得程式执行效率大幅降低至与Von Neumann结构差不多,所以一般当程序需要大量的比较或跳跃语句的场合,如人机交互的介面(这是绝大多数PC机用户的主要操作方式)等,Harvard架构并不会比Von Neumann结构有更好的性能。
毫无疑问,程序执行速度的增加的同时硬件的成本也相应的增加,分离的数据存储空间和程序存储空间就需要两个不同的数据寻址和与程序寻址的硬件接口。因此能发现在价格与性能间取得折衷的方法,才算是一个较佳的解决方案, 于是产生了Modified Harvard架构,这种架构仅有一个外部总线(以减少接口数),同时有程序与数据两个内部总线,可以减少成本并维持顾客对运算速度的要求。
由此可见,在个人电脑这样需要大量的选择跳跃语句进行人机交互的处理器还是选择Von Neumann架构(即传统的CPU 如x86、Pentium等)更加的合理,而在数字视音频领域进行数字信号的传输处理,并不需要大量的选择语句时, Harvard架构及Modified Harvard架构就显得更加的适合。
DSP的Modified Harvard架构
DSP是属于Modified Harvard架构,即它具有两条内部总线,一个是数据总线,一个是程序总线;而传统的微处理器内部只有一条总线供数据传输与程序执行使用; 从上面我们已经看到Modified Harvard架构在大量数学运算方面有着强大的优势,在DSP内部具有硬件乘法器,大量的寄存器,目前最快的可在一个指令周期内完成32bit乘32bit的指令,而传统的微处理器运算系以微代码来执行,遇到乘法运算指令时就得消耗掉好几个指令周期,加上传统的微处理器中的寄存器较少,不得不经常从外部储存器传输数据来进行运算,而DSP指令具备重新执行功能,因此在数学运算速度超越一般传统的微处理器。
例如当执行循环控制语句时,传统的CPU会以某一暂存器当初始循环数index,然后以比较跳跃的方式来达到循环控制的目的,此时程序会重复做比较运算直至index为0;而DSP内建硬体repeat count指令来直接对硬件决定下一个循环指令的执行次数,如此可大量减少程式的执行时间。
又如在做数字信号处理时最常出现乘加的运算(如ax+y),DSP针对此项需求而特别设计了一个硬件的MAC unit,使得在一个指令周期内即可完成乘加的运算,若再配合repeat指令,便可以将乘加运算的速度大大提高。同时因为DSP有分离的程序与数据的总线,所以一条指令能同时定址访问程序和数据的存储单元,完成两个变量的运算。必须注意a为一维常量放在程序存储单元,而X为一维变量放在数据存储单元;若系数a会随程序运算而变动时,DSP内建一小块Dual-Access RAM (DARAM)的存储区域,可由程序将此区域设定为程序存储区域或数据存储区域,利用此存储区域可完成可变系数的计算。
归纳起来DSP具备有以下的特点:(1)内建乘法累加器;(2)指令管线化;(3)多总线与存储空间;(4)循环寻址与位重新寻址;(5)零负荷循环运算;(6)晶片内含存储体与存储体介面。
DSP在音频领域的应用
由于不存在线形放大电路非理想传输函数所造成的失真缺点,运算速度又比传统微处理器快,DSP已普遍应用于视音频领域的合成、辨识与编码;由于对硬盘存储容量的要求日益提高,使得对VCM(VOICE COIL MOTOR)的定位精度的要求也越来越严谨,DSP IC已成为高容量硬盘机的核心元件;DSP还广泛应用在DAT、DLT等磁带机上,用以控制转速与磁头读写位置;应用于全球定位系统(GPS)的接收机之相关器(CORRELATOR)上,提供计算卫星所发射的射频信号至接收器距离的功能。图象处理的离散余弦变换(DCT)应用;电视信号的抗多经干扰(Ghost Cancellation) 。至于对模糊失真控制(Fuzzy Control)的大量浮点运算,能达到即时要求,更是得心应手。
下面将着重介绍一下DSP在音频信号上的各种应用
在音频讯号处理方面的应用,包括如下重点:
- 主动噪声控制(Active Noise Cancellation)
- 语音讯号处理(Speech Signal Processing)
- 音乐讯号处理(Audio Processing)
主动噪声控制
传统的被动式隔音方法,单纯以隔音材料阻隔噪声,对中、低频噪音源产生的噪声几乎无阻隔能力,因此必须以厚重的隔音材料方能产生效果。主动噪声控制是以电子闭回路控制的方法,产生和原始噪声反相的声音,以抵消原噪声(如图-1)。其优点在于它对于抑制低频噪声极为有效。其应用上的限制在于它无法控制中高频段的噪声(1.5K赫兹以上)
在通讯的各个环节,都可能产生恼人的噪声,其综合的影响,便是降低通讯效率、成功率。主动噪声控制技术能在很多层面提高信噪比,且和传统简单的滤波器相比,它能动态地适应各种状况,过去滤波器所无法处理的不确定噪声也可相当程度地克服。
语音讯号处理
虽然目前许多资料已由数位编码后,经原有的语音通讯通道收发。但语音仍然稳占所有通讯含量的第一位。对语音讯号的处理的需求,近年来呈现指数增长。语音技术可分为如下四项:语音增强(Speech Enhancement),语音辨识(Speech Recognition) ,语音编解码(Speech Coding/Decoding),回声抑制(Echo Suppression)。语音增强
在语音信号的获取手段上,各种拾音器(麦克风)皆有其不同的频响、方向性、稳定性、拾取机制,多个不同特性的麦克风组合阵列更可满足使用者在各种频段对讯号的多种不同要求(如图-2),在满足噪声控制的任务下所取得的对电声系统的有效把握,使我们能满足各种用户系统对信号拾取的要求。
图-2
在信号处理上,针对应用场合、背景噪声特性、语音清晰度对可允许的语音失真的相对要求等 ,我们可制定不同的方案,以满足任务需求。例如,语音识别软体对语音信号的要求,就有别于人耳对语音信号的要求,因此,在完成通讯时,和在完成语音识别任务时,需使用不同的程序。针对不同任务研发机构若不能对语音特性具备全面的了解与把握,是无法在这上面取得真正优化的结果。
此外,DSP技术在高速执行单通道信号的检波,多通道信号的对比,其速度可以做到让使用者无法感到时间有延迟,在感觉上完全是实时工作的效果。
语音辨识
语音识别系统的核心,应具有硬件要求少,自含时间矫正,和能量矫正的特点。目前已实际应用的为小辞汇量(200字)系统的独立语音识别,中辞汇量(1800字)的核心亦完成。在自动语音识别的发展方向上,将集中於发展语音控制技术,而非语音输入技术。重点在于首次识别的准确率,而非混合语意的辅助识别。
语音编、解码
由于在DSP具有语音处理上的强大功能,因此才有可能在语音编码的设计、使用上,偏重使用压缩比较高的“编码激励线性预测”(CELP)型算法。目前使用的开放标准为ITU的G.723.1,这种算法广泛使用于IP的编解码上,具有6.3Kbps和5.3Kbps两种传输率,语音品质高,抗噪声能力和计算负荷适中。可提供用户使用於各种平台上。同时,专属的2.4Kbps的语音编码算法也在开发中,预计该算法将在语音品质、抗噪声能力、语音压缩比、计算负荷、计算延时上取得更好的平衡。因以硬体性能不断的提升,会适配较大的计算量的编码方式,根据信息论的原理,若在不降低确定的信号指标的条件下,如果采用高的压缩比方式则必然相对的应用大运算量的编解码方式,以在高压缩比的情况下取得较好的音频性能。
回声抑制
在长距离通讯及活动通讯中,经常会被回声所困扰。无论是线性回声,或是音响回声,当延时超过0.5秒 ,都会在接收端清晰的收到。针对这两种现象,各有适用的回声抑制算法。基于DSP的算法稳定、简洁,不但抑制响应速度快,而且对Double Talk、Near-End-Speech及静音状态,皆能保持降噪性能。同时因为线性回声时间延迟可在1毫秒到900毫秒的大范围内变动,同样有基于DSP专属的算法来克服这种变异性对系统带来的额外负荷(在传统的回声抑制系统中,300毫秒的延时意味者系统性能价格比的急剧劣化)。而这些算法的源代码亦能应用在各种通讯平台上,解决长程通讯各环节所产生的问题。
音乐讯号处理
自从数字化的音乐规范开始流行后,因数字信号处理所附带的弹性因素,已在影音讯号的储存 、传送、播放上,产生了许多开放规范和专属规范。对使用者而言,它们带来的效果,除了更耐久更廉价的储存媒介、更多元化的接收管道外,也包括更绚丽的视听效果。但在终端获得和原始影音信号源相当的影音效果,到目前为止都仍然是昂贵且不见得有效的。为了实现所谓的“环场音效”,目前已有诸如Dolby Surround、Dolby ProLogic、AC-3 、THX等各式开放规范,也有商品化的解码晶片。但整个环节中最弱的一环,是在由扬声系统到人耳的这一段。这一段的传递函数因不同的听音者,不同的听音环境而随机的改变,甚至差异极大。原始录音工程师的心血,在这一段经常被糟蹋无遗。而且和传统音响系统相同,这个性能最不容易把握的环节,往往也是投资昂贵的一个环节。
针对这一环节,DSP提出的解决方案。是独立于上述开放规范之外,来建立一个近似环场音效系统,在信号后期处理阶段,则以更人性化的双声道,来模拟上述规范所要求的四加一或五加一声道的要求,并
且以DSP动态的 补偿声场的变异,基本上可以做到使用一个低成本基于DSP技术的系统去替代昂贵的非DSP的高档系统,完整还原原始录音效果。(如图-3)
总结
DSP以其强大的运算能力及优良的性能价格比已经成为越来越多的数字化视音频设备的核心构件,随着科技的进步,DSP技术的日益完善,相信DSP的未来就是数字化音频领域的未来。