DSP及其系统实现(精)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

DSP及其系统实现

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

DSP的开发工具

数字信号处理器(DSP)作为一种可编程专用芯片,是数字信号处理理论实用化过程的重要技术工具,在语音处理、图像处理等技术领域得到了广泛的应用。但对于算法设计人员来讲,利用汇编语言或C 语言进行DSP 功能开发,具有周期长、效率低的缺点,不利于算法验证和产品的快速开发。

由Ti公司提供专业的开发工具CCS,自带DSP/BIOS操作系统,能够直接编写适合DSP开发工程及文件,满足DSP程序设计要求。

由MathWorks 公司和TI 公司联合开发的DSPMATLAB Link for CCS Development Tools(简称CCSLink)是MATLAB6.5 版本(Release13)中增加的一个全新的工具箱,它提供了MATLAB、CCS 和DSP 目标板的接口,利用此工具可以像操作MATLAB变量一样来操作DSP 器件的存储器和寄存器,使开发人员在MATLAB 环境下完成对DSP 的操作,从而极大地提高DSP 应用系统的开发进程。

MATLAB 具有强大的分析、计算和可视化功能,利用MATLAB 提供的数十个专业工具箱,可以方便、灵活地实现对自动控制、信号处理、通信系统等的算法分析和仿真,是算法设计人员和工程技术人员必不可少的软件工具。

DSP系统的设计过程

DSP系统的设计还没有非常好的正规设计方法。

在设计DSP系统之前,首先必须根据应用系统的目标确定系统的性能指标、信号处理的要求,通常可用数据流程图、数学运算序列、正式的符号或自然语言来描述。第二步是根据系统的要求进行高级语言的模拟。一般来说,为了实现系统的最终目标,需要对输入的信号进行适当的处理,而处理方法的不同会导致不同的系统性能,要得到最佳的系统性能,就必须在这一步确定最佳的处理方法,即数字信号处理的算法(Algo rithm),因此这一步也称算法模拟阶段。例如,语音压缩编码算法就是要在确定的压缩比条件下,获得最佳的合成语音。算法模拟所用的输入数据是实际信号经采集而获得的,通常以计算机文件的形式存储为数据文件。如语音压缩编码算法模拟时所用的语音信号就是实际采集而获得并存储为计算机文件形式的语音数据文件。有些算法模拟时所用的输入数据并不一定要是实际采集的信号数据,只要能够验证算法的可行性,输入假设的数据也是可以的。

在完成第二步之后,接下来就可以设计实时DSP系统,实时DSP系统的设计包括硬件设计和软件设计两个方面。硬件设计首先要根据系统运算量的大小、对运算精度的要求、系统成本限制以及体积、功耗等要求选择合适的DSP芯片。然后设计DSP芯片的外围电路及其他电路。软件设计和编程主要根据系统要求和所选的DSP芯片编写相应的DSP汇编程

序,若系统运算量不大且有高级语言编译器支持,也可用高级语言(如C语言)编程。由于现有的高级语言编译器的效率还比不上手工编写汇编语言的效率,因此在实际应用系统中常常采用高级语言和汇编语言的混合编程方法,即在算法运算量大的地方,用手工编写的方法编写汇编语言,而运算量不大的地方则采用高级语言。采用这种方法,既可缩短软件开发的周期,提高程序的可读性和可移植性,又能满足系统实时运算的要求。DSP硬件和软件设计完成后,就需要进行硬件和软件的调试。软件的调试一般借助于DSP开发工具,如软件模拟器、DSP开发系统或仿真器等。调试DSP算法时一般采用比较实时结果与模拟结果的方法,如果实时程序和模拟程序的输入相同,则两者的输出应该一致。应用系统的其他软件可以根据实际情况进行调试。硬件调试一般采用硬件仿真器进行调试,如果没有相应的硬件仿真器,且硬件系统不是十分复杂,也可以借助于一般的工具进行调试。

系统的软件和硬件分别调试完成后,就可以将软件脱离开发系统而直接在应用系统上运行。当然,DSP系统的开发,特别是软件开发是一个需要反复进行的过程,虽然通过算法模拟基本上可以知道实时系统的性能,但实际上模拟环境不可能做到与实时系统环境完全一致,而且将模拟算法移植到实时系统时必须考虑算法是否能够实时运行的问题。如果算法运算量太大不能在硬件上实时运行,则必须重新修改或简化算法。[3]

编辑本段DSP算法及芯片分类

DSP运算的基本类型是乘法和累加(MAC运算,对于卷积、相关、滤波和FFT基本上都是这一类运算。这样的运算可以用通用机来完成,但受到其成本和结构的限制不可能有很高的实时处理能力。

DSP运算的特点是寻址操作。数据寻址范围大,结构复杂但很有规律。例如FFT运算,它的蝶形运算相关节点从相邻两点直至跨越N/2间隔的地址范围,每次变更都很有规律,级间按一定规律排列,虽然要运算log2N遍,但每级的地址都可以预测,也就是寻址操作很有规律而且可以预测。这就不同于一般的通用机,在通用机中对数据库的操作,具有很大的随机性,这种随机寻址方式不是信号处理器的强项。

无论是专用的DSP芯片或通用DSP芯片在结构考虑上都能适应DSP运算的这些特点。而专用芯片在结构上考虑的更加专业化,更为合理,因而有更高的运算速度。

DSP芯片按用途或构成分类可以分为下列几种类型:

为不同算法而专门设计的专用芯片:例如用于做卷积/相关并具有横向滤波器结构,INMOS公司的A100、A110;HARRIS公司的HPS43168;PLESSYGEC公司的PDSP16256等。用于做FFT,Austek公司的A41102,PLESSYGEC公司的PDSP16150等。这些都是为做FIR、IIR、FFT运算而设计的,因而运算速度高,但是具有有限的可编程能力,灵活性差。

为某种目的应用专门设计系统,即ASIC系统。它只涉及一种或一种以上自然类型数据的处理,例如音频、视频、语音的压缩和解压,调制/解调器等。其内部都是由基本DSP运算单元构建,包括FIR、IIR、FFT、DCT,以及卷积码的编/解码器及RS编/解码器等。其特点是计算复杂而且密集,数据量、运算量都很大。

积木式结构:它是由乘法器、存储器、控制电路等单元逻辑电路搭接而成,这种结构方式也称为硬连线逻辑电路。它是一种早期实现方法,具有成本低、速度高等特点,由于是硬连接因而没有可编程能力。目前主要用于接收机的前端某些高频操作中。

相关文档
最新文档