DSP的算法有多种。绝大多数的DSP处理器使用定点算法,数字表示为整数或-1.0到+1.0之间的小数形式。有些处理器采用浮点算法,数据表示成尾数加指数的形式:尾数×2指数。
浮点算法是一种较复杂的常规算法,利用浮点数据可以实现大的数据动态范围(这个动态范围可以用最大和最小数的比值来表示)。浮点DSP在应用中,设计工程师不用关心动态范围和精度一类的问题。浮点DSP比定点DSP更容易编程,但是成本和功耗高。
由于成本和功耗的原因,一般批量产品选用定点DSP。编程和算法设计人员通过分析或仿真来确定所需要的动态范围和精度。如果要求易于开发,而且动态范围很宽、精度很高,可以考虑采用浮点DSP。
也可以在采用定点DSP的条件下由软件实现浮点计算,但是这样的软件程序会占用大量处理器时间,因而很少使用。有效的办法是“块浮点”,利用该方法将具有相同指数,而尾数不同的一组数据作为数据块进行处理。“块浮点”处理通常用软件来实现。 所有浮点DSP的字宽为32位,而定点DSP的字宽一般为16位,也有24位和20位的DSP,如摩托罗拉的DSP563XX系列和Zoran公司的ZR3800X系列。由于字宽与DSP的外部尺寸、管脚数量以及需要的存储器的大小等有很大的关系,所以字宽的长短直接影响到器件的成本。字宽越宽则尺寸越大,管脚越多,存储器要求也越大,成本相应地增大。在满足设计要求的条件下,要尽量选用小字宽的DSP以减小成本。
在关于定点和浮点的选择时,可以权衡字宽和开发复杂度之间的关系。例如,通过将指令组合连用,一个16位字宽的DSP器件也可以实现32位字宽双精度算法(当然双精度算法比单精度算法慢得多)。如果单精度能满足绝大多数的计算要求,而仅少量代码需要双精度,这种方法也可行,但如果大多数的计算要求精度很高,则需要选用较大字宽的处理器。
请注意,绝大多数DSP器件的指令字和数据字的宽度一样,也有一些不一样,如ADI(模拟器件公司)的ADSP-21XX系列的数据字为16位而指令字为24位。 处理器是否符合设计要求,关键在于是否满足速度要求。测试处理器的速度有很多方法,最基本的是测量处理器的指令周期,即处理器执行最快指令所需要的时间。指令周期的倒数除以一百万,再乘以每个周期执行的指令数,结果即为处理器的最高速率,单位为每秒百万条指令MIPS。
但是指令执行时间并不能表明处理器的真正性能,不同的处理器在单个指令完成的任务量不一样,单纯地比较指令执行时间并不能公正地区别性能的差异。现在一些新的DSP采用超长指令字(VLIW)架构,在这种架构中,单个周期时间内可以实现多条指令,而每个指令所实现的任务比传统DSP少,因此相对VLIW和通用DSP器件而言,比较MIPS的大小时会产生误导作用。
即使在传统DSP之间比较MIPS大小也具有一定的片面性。例如,某些处理器允许在单个指令中同时对几位一起进行移位,而有些DSP的一个指令只能对单个数据位移位;有些DSP可以进行与正在执行的ALU指令无关的数据的并行处理(在执行指令的同时加载操作数),而另外有些DSP只能支持与正在执行的ALU指令有关的数据并行处理;有些新的DSP允许在单个指令内定义两个MAC。因此仅仅进行MIPS比较并不能准确得出处理器的性能。
解决上述问题的方法之一是采用一个基本的操作(而不是指令)作为标准来比较处理器的性能。常用到的是MAC操作,但是MAC操作时间不能提供比较DSP性能差异的足够信息,在绝大多数DSP中,MAC操作仅在单个指令周期内实现,其MAC时间等于指令周期时间,如上所述,某些DSP在单个MAC周期内处理的任务比其它DSP多。MAC时间并不能反映诸如循环操作等的性能,而这种操作在所有的应用中都会用到。
最通用的办法是定义一套标准例程,比较在不同DSP上的执行速度。这种例程可能是一个算法的“核心”功能,如FIR或IIR滤波器等,也可以是整个或部分应用程序(如语音编码器)。图1为使用BDTI公司的工具测试的几款DSP器件性能。
在比较DSP处理器的速度时要注意其所标榜的MOPS(百万次操作每秒)和MFLOPS(百万次浮点操作每秒)参数,因为不同的厂商对“操作”的理解不一样,指标的意义也不一样。例如,某些处理器能同时进行浮点乘法操作和浮点加法操作,因而标榜其产品的MFLOPS为MIPS的两倍。
其次,在比较处理器时钟速率时,DSP的输入时钟可能与其指令速率一样,也可能是指令速率的两倍到四倍,不同的处理器可能不一样。另外,许多DSP具有时钟倍频器或锁相环,可以使用外部低频时钟产生片上所需的高频时钟信号。 语音处理:语音编码、语音合成、语音识别、语音增强、语音邮件、语音储存等。
图像/图形:二维和三维图形处理、图像压缩与传输、图像识别、动画、机器人视觉、多媒体、电子地图、图像增强等。
军事;保密通信、雷达处理、声呐处理、导航、全球定位、跳频电台、搜索和反搜索等。
仪器仪表:频谱分析、函数发生、数据采集、地震处理等。
自动控制:控制、深空作业、自动驾驶、机器人控制、磁盘控制等。
医疗:助听、超声设备、诊断工具、病人监护、心电图等。
家用电器:数字音响、数字电视、可视电话、音乐合成、音调控制、玩具与游戏等。
生物医学信号处理举例:
CT:计算机X射线断层摄影装置。(其中发明头颅CT英国EMI公司的豪斯菲尔德获诺贝尔奖。)
CAT:计算机X射线空间重建装置。出现全身扫描,心脏活动立体图形,脑肿瘤异物,人体躯干图像重建。
心电图分析。 DSP的性能受其对存储器子系统的管理能力的影响。如前所述,MAC和其它一些信号处理功能是DSP器件信号处理的基本能力,快速MAC执行能力要求在每个指令周期从存储器读取一个指令字和两个数据字。有多种方法实现这种读取,包括多接口存储器(允许在每个指令周期内对存储器多次访问)、分离指令和数据存储器(“哈佛”结构及其派生类)以及指令缓存(允许从缓存读取指令而不是存储器,从而将存储器空闲出来用作数据读取)。图2和图3显示了哈佛存储器结构与很多微控制器采用的“冯·诺曼”结构的差别。
另外要注意所支持的存储器空间的大小。许多定点DSP的主要目标市场是嵌入式应用系统,在这种应用中存储器一般较小,所以这种DSP器件具有小到中等片上存储器(4K到64K字左右),备有窄的外部数据总线。另外,绝大多数定点DSP的地址总线小于或等于16位,因而可外接的存储器空间受到限制。
一些浮点DSP的片上存储器很小,甚至没有,但外部数据总线宽。例如TI公司的TMS320C30只有6K片上存储器,外部总线为24位,13位外部地址总线。而ADI的ADSP2-21060具有4Mb的片上存储器,可以多种方式划分为程序存储器和数据存储器。
选择DSP时,需要根据具体应用对存储空间大小以及对外部总线的要求来选择。 DSP处理器和诸如英特尔、奔腾或Power
PC的通用处理器(GPPs)有很大的区别,这些区别产生于DSPs的结构和指令是专门针对信号处理而设计和开发的,它具有以下特点。
·硬件乘法累加操作(MACs)
为了有效完成诸如信号滤波的乘法累加运算,处理器必需进行有效的乘法操作。GPPs起初并不是为繁重的乘法操作设计的,把DSPs同早期的GPPs区别开来的第一个重大技术改进就是添加了能够进行单周期乘法操作的专门硬件和明确的MAC指令。
·哈佛结构
传统的GPPs使用冯.诺曼存储结构,在这种结构中,有一个存储空间通过两条总线(一条地址总线和一条数据总线)连接到处理器内核,这种结构不能满足MAC必须在一个指令周期中对存储器进行四次访门的要求。DSPs一般使用哈佛结构,在哈佛结构中,有两个存储空间:程序存储空间和数据存储空间。处理器内核通过两套总线与这些存储空间相连,允许对存储器同时进行两访问,这种安排使处理器的带宽加倍。在哈佛结构中,有时通过增加第二个数据存储空间和总线来实现更大的存储带宽。现代高性能GPPs通常具有两个片上超高速缓冲存储器一个存放数据,一个存放指令。从理论的角度上讲,这种双重片上高速缓存与总线连接等同于哈佛结构,但是,GPPs使用控制逻辑来确定哪些数据和指令字驻留在片上高速缓存里,这个过程通常不为程序设计者所见,而在DSPs里,程序设计者能明确的控制哪些数据和指令被存储在片上的存储单元或缓存中。
·零消耗循环控制
DSP算法的共同特征:大部分处理时间花在执行包含在相对小循环内的少量指令上。因此,大部分DSP处理器具有零消耗循环控制的专门硬件。零消耗循环是指处理器不用花时间测试循环计数器的值就能执行一组指令的循环,硬件完成循环跳转和循环计数器的衰减。有些DSPs还通过一条指令的超高速缓存实现高速的单指令循环。
·特殊寻址模式
DSPs经常包含有专门的地址产生器,它能产生信号处理算法需要的特殊寻址,如循环寻址和位翻转寻址。循环寻址对应于流水FIR滤波算法,位翻转寻址对应于FFT算法。
·执行时间的可预测性
大多数DSP应用都具有硬性实时要求,在每种情况下所有处理工作都必须在指定时间内完成。这种实时限制要求程序设计者确定每个样本究竟需要多少时间或者在最坏情况下至少用去多少时间。DSPs执行程序的进程对程序员来说是透明的,因此很容易预测处理每项工作的执行时间。但是,对于高性能GPPs来说,由于大量超高速数据和程序缓存的使用,动态分配程序,因此执行时间的预测变得复杂和困难。
·具有丰富的外设
DSPs具有DMA、串口、Link口、定时器等外设。
数字信号处理器的知识简介
数字信号处理器(dsp,即digitalsignalprocessor)是进行数字信号处理的专用芯片,是伴随着微电子学、数字信号处理技术、计算机技术的发展而产生的新器件。数字信号处理器并非只局限于音视频层面,它广泛的应用于通信与信息系统、信号与信息处理、自动控制、雷达、军事、航空航天、医疗、家用电器等许多领域。以往是采用通用的微...
DSP是什么意思
DSP,即数字信号处理器,是一种专为处理信号而设计的处理器,类似于通用的CPU,但具有专用的功能。与常规CPU相比,DSP的一大特点在于其能够利用单指令实现乘法和加法,从而在执行FFT(快速傅里叶变换)和滤波器等信号处理任务时,展现出显著的速度优势。如果你要快速掌握DSP开发,这通常涉及两个主要方面:...
DSP原理与应用内容简介
DSP,即数字信号处理器,是一种专门用于数字信号处理的微处理器。随着科技发展,其应用范围日益广泛。本书全面阐述了DSP的基础原理、软硬件设计方法和基本应用。开篇深入探讨了DSP芯片的基础知识,特别是TMS320LF240x芯片的原理。接下来,详细讲解了TMS320LF240x芯片的指令系统、文件结构、片内外设模块及硬件...
DSP基础知识及系列芯片目录
在深入分析信号处理技术时,文章详细介绍了信号处理的概念、目的、类型以及涉及的相关术语,进而探讨了信号处理系统的结构和术语。对于数字信号处理的发展历程,文章以两种概念和三个发展阶段为线索,特别强调了DSP芯片的发展概况。进入第二章,文章围绕数字信号处理的理论与算法进行展开。从基本理论与算法出发,...
银河飞腾处理器背景知识
数字信号处理器,简称DSP芯片,是一种专为处理数字信号而设计的嵌入式微处理器。它在众多领域中发挥着关键作用,如移动通信、卫星导航、高清电视、网络摄像、可视电话、数码相机、图像识别、指纹识别技术、网络控制以及数字硬盘等。一直以来,由于我国在高性能DSP芯片的自主研发上存在短板,这些技术密集型市场...
数字信号处理知识点整理-4
数字滤波器是选择性通过输入信号中某些频率分量的离散LTI系统。理想滤波器在通带的幅度响应恒定,阻带为零。然而,理想滤波器在物理上不可实现,实际滤波器在通带和阻带间有过渡带,允许频率响应波动。理想低通数字滤波器的脉冲响应无限长,非因果,无法通过因果的离散LTI系统实现。高通、带通和带阻理想数字...
...以后的前景会怎么样 学的话需要哪些必备的知识和课程
DSP(Digital Signal Processor)数字信号处理器,属于电子专业范畴,说白了就是一款微处理器类似电脑的CPU。DSP门槛相对比较高,是电子专业比较深入的专业课。如果学会了就业前景肯定没问题。对于需要哪些基础知识,对于任何一款微处理器,无关乎两个部分:一个是硬件,一个是软件。硬件部分最好有过MCU或者...
dsp文件是什么意思
DSP文件是Digital Signal Processors的缩写,即数字信号处理器。它们是用于处理数字信号,例如音频和视频信号的处理器。DSP文件包含指示处理器执行指定任务的指令,通常使用专门的软件工具来创建和编辑这些文件。它们在广泛的应用领域中发挥着重要作用,包括通信、音频、军事、医疗等领域。由于DSP文件的高效能力,...
Soc基本常识
SoC的基本构成涵盖了多元化的组件:微处理器\/微控制器CPU内核模块作为核心大脑,数字信号处理器(DSP)处理复杂信号,嵌入式存储器确保数据的持久存储,接口模块负责与外部世界的通信,模拟前端模块集成ADC和DAC,电源管理和低功耗设计技术则确保其高效运行。无线SoC更增加了射频前端模块和可编程逻辑(FPGA或...
汽车数字信号处理器(DSP)推动汽车音响发展
半导体技术是将数字媒体引入汽车的核心。随着技术的成熟,制造商已经能够提高数字汽车音频设备的性能和可用性。车载收音机数字信号处理是将数字媒体渗透到车载收音机中的技术。数字信号处理器(DSP)通过在汽车娱乐系统的边带和中频信号中工作,使汽车收音机从单一的音频处理器发展成为复杂的高科技信息和娱乐中心。 为什么是数...