您好,欢迎访问三七文档
1、什么是DSP?简述DSPs的特点?简述DSPs与MCU、FPGA、ARM的区别?学习DSP开发需要哪些知识?学习DSP开发需要构建什么开发环境?(15分)答:数字信号处理(DigitalSignalProcessing,DSP)技术是指理论上的技术,而数字信号处理器(DigitalSignalProcessor)是针对数字信号处理的需求而设计的一种可编程的单片机,也称为DSP芯片。因此DSP既可以代表数字信号处理技术,也可以代表数字信号处理器,两者是不可分割的,前者要通过后者变成实际产品。两者结合起来就成为解决实际问题和实现方案的手段——数字信号处理解决方案,它也是现代电子技术、计算机技术和信号处理技术相结合的产物;同时具有精确、灵活、可靠性好、体积小、易于大规模集成等优点。随着信息处理器技术的飞速发展,数字信号处理器在电子系统信息、通信、无线电、自动控制、仪器仪表、家电等高科技领域获得了越来越广泛的应用。DSP是一种特别适合于进行数字信号处理运算的微处理器。但它不同于一般的微处理器,它已是微电子学专家、信号处理专家和计算机专家共同合作的结晶。DSP具有极其高速的数字处理能力和很大的运算量。因此,它能满足高效实时信号处理的要求。这种新器件具有如下一些特点:(1)采用改进的哈佛(Harvard)结构,高度并行运算且大大提高运算速度传统的处理器采用程序和数据共享一个存储结构(即Von—Neumann结构),而使处理器的速度受总线速度的限制。DSP采用改进的哈佛结构,即将数据总线和程序总线分离开来,从而可以集合其他的并行处理单元,实现在同一指令周期内同时将操作数据从程序存储器和数据存储器中取出并送到运算单元。改进型哈佛结构的存储器与数据存储器位于两个独立的空间,但可以相互传递数据。数据存储器可以通过来自程序存储的固定参数初始化。在一个周期内可以同时准备好指令与操作数。这种高度并行运算,内部操作采用时间上重叠的流水线结构,大大提高了运算速度。另外,片外扩展总线也增加了DSP的通用性和灵活性。(2)能实现单指令乘加运算和变址运算DSP内部专门设置了乘法累加结构,在硬件上实现了乘法与累加器的并行工作,能在一个指令周期内完成乘法并将乘积求和运算,以满足数字滤波、卷积运算以及超越函数、幂级数展开等相乘后求和的运算需求,并且片内专门设置了专用变址器,便于实现变址运算。(3)采用流水操作每条指令的运行过程都可划分为取指、译码、取数、执行等若干步骤,由片内多个单元分别完成,支持任务的并行处理。(4)设有多种功能很强的外围器件和接口,大大提高了系统的速度和性能现今的DSP在其结构上一般配备了可编程定时高速串行接口、多处理器连接接口等。因此用它来处理数字信号特别是线性变换(快速傅里叶变换、希尔伯特变换、余弦变换等)、数字滤波(有限冲激响应滤波和无限冲激响应滤波等)、卷积运算等,其速度大大提高。同时芯片内还设置了专门的硬件数据指针的逆序寻址功能。因频谱分析的理论基础是快速傅里叶变换(FFT),从而大大加快了频谱分析处理过程。(5)DSP支持重复运算,且增加了硬件循环控制当完成循环初始化后,实际运行中循环不再消耗指令周期,大大提高了数字信号处理的运算速度。(6)超长指令字(VLIW)结构,使设计简单化其特点是在单个周期内,将含有多项运算操作的指令划分为多个操作,这些操作的发出与执行都采用并行方式,以提高每次执行的操作总数。(7)DSP成本及销售价格逐年降低一般DSP并非是为某种功能设计的芯片,其应用范围广,出片量多,因而可以降低其成本。随着DSP设计质量的提高,给用户提供了很大的好处,用户量增多,销售价格就会进一步降低。DSPs与MCU、FPGA、ARM的区别:DSP主要用做运算,如语音,图像等信号的运算处理,但基本不用做控制。MCU,FPGA,ARM主要用做控制,MCU低价低功耗,但门限很少,结构简单,不能实现复杂控制。ARM控制能力较强,但运算能力相对较弱,因此现在很多手持设备是用ARM+DSP来实现的,就是所谓的“双核心”。FPGA可做复杂的逻辑控制,功能很强大。学习DSP开发需要学习数字信号处理、复变函数与拉斯变换、信号与系统、数字电子、MATLAB、C语言等基础知识,同时也要学习构建CCS开发环境。CCS(CodeComposerStudio)是美国德州TI公司推出的DSP系统的一种开发软件,它提供了环境配置、源文件编译、程序调试、跟踪、分析等工具,可以帮助用户在一个软件环境下完成编辑、编译、连接、调试和数据分析等工作,和其他DSP软件相比,利用CCS软件能够加快软件开发进程,提高工作效率。CodeComposerStudio包含一整套用于开发和调试嵌入式应用的工具。它包含适用于每个TI器件系列的编译器、源码编辑器、项目构建环境、调试器、描述器、仿真器以及多种其它功能。CCSIDE提供了单个用户界面,可帮助您完成应用开发流程的每个步骤。借助于精密的高效工具,用户能够利用熟悉的工具和界面快速上手并将功能添加至他们的应用。2、经典的数字信号处理的算法主要包括哪些内容?试分别简述之?(15分)答:经典的数字信号处理的算法主要包括FFT算法、DET算法和CORDIC算法。FFT算法是一种DFT的高效算法,称为快速傅立叶变换(fastFouriertransform)。FFT算法可分为按时间抽取算法和按频率抽取算法;DFT,离散傅立叶变换,是一种针对离散信号进行的变换,适合计算机数据处理的要求,将一个长度为N的离散信号,分解为N/2+1个余弦波和N/2+1个正弦波。CORDIC(CoordinateRotationDigitalComputer)算法即坐标旋转数字计算方法,是J.D.Volder1于1959年首次提出,主要用于三角函数、双曲线、指数、对数的计算。该算法通过基本的加和移位运算代替乘法运算,使得矢量的旋转和定向的计算不再需要三角函数、乘法、开方、反三角、指数等函数。3、简述TI公司的DSPs的产品系列及其应用范围?(15分)答:目前,TI公司在市场上主要有三大系列DSP产品:(1)TMS320C2000系列,面向数字控制、运动控制领域,主要包括:TMS320C24xx/TMS320F24xx、TMS320C28xx/TMS320F28xx等。(2)TMS320C5000系列,面向低功耗、手持设备、无线终端应用领域,主要包括:TMS320C54x、TMS320C54xx、TMS320C55xx等。(3)TMS320C6000系列,面向高性能、多功能、复杂应用领域,例如图像处理,主要包括:TMS320C62xx、TMS320C64xx、TMS320C67xx等。此外,还有面向低端应用、价格可以和MCU竞争、功能稍微减弱的Piccolo平台的产品,主要有TMS320F2803x/2x。面向高端视频处理的达芬奇平台,例如DM642/DM6437/DM6467DENG,有面向移动终端的双核处理器OMAP平台,例如OMAP3530。4、结合MATLAB、DSP技术谈谈基于DSPs的FFT的开发过程?(15分)答:MATLAB中已经提供了FFT的算法,FFT可以采用直接调用的方式:FFT正变换:X=FFT(x);X=FFT(x,N);反变换x=IFFT(X);x=IFFT(X,N);实际DSP应用中,FFT采用的是按时间抽选的基2—FFT算法。下图所示为8点DIT的FFT运算流图:程序实现流程图如下所示:开始送入x(n)£¬MN£½2M倒序L£½1,M£Ê£½0,B£1P£½2M£LJk£½J,N£1,2LpNpNWBkXkXBkXWBkXkXkX)()()()()()(输出结束B2L£15、结合自己的专业设计一种基于DSPs的数字信号处理系统。要求包括硬件设计与软件设计,设计中的某个算法要求利用MATLAB进行仿真或者利用DSP的实验箱进行实现(40分)IIR低通滤波器的MATLAB仿真①IIR低通滤波器设计给定抽样频率Fs=250KHz,要求在频率小于20KHz的通带内,幅度特性下降小于3dB:在频率大于70KHz的阻带内,衰减大于30dB。利用FDATool(FilterDesign&AnalysisTool)进行低通滤波器设计,命名为filt1,设计界面如图1所示图1低通滤波器filt1设计界面在一个采样频率是250KHz的数字系统中,一频率为10KHz,幅度为5和一频率为80KHz,幅度为2.5的正弦信号混合成一个信号,命名为signalyg。混合信号生成程序使用gesig()函数生成混合信号:[u1,t0]=gensig('sin',1/10000,10,1/250000);[u2,t0]=gensig('sin',1/80000,10,1/250000);signalyg=5*u1+2.5*u2;在SPTool窗口下,用File→Import命令调入信号signalyg,采样频率设置为250KHz,命名为signal1,混合信号及其频谱如图2、3所示。图2混合正弦信号图3混合正弦信号频谱(1)观察滤波效果滤波后的信号命名为signal2其波形及频谱如图4、5所示。图4滤波后的信号图5滤波后信号频谱IIR数字滤波器在TMS320VC5416DSP上的实现①低通IIR数字滤波器的参数如下:采样频率为250KHz,通带内最大允许衰减3dB,阻带内最小衰减大于30dB,通带上限频率为20KHz,阻带下限截止频率为70Hz。采用Butterworth模型设计时阶数为3阶。②系统初始化程序设计在DSP进行数字滤波运算前必须进行一些初始化程序。在本系统中初始化程序主要包括:DSP芯片的初始化、矢量表初始和两个串行端口的初始化。③数字滤波器程序设计流程程序流程图如图1所示。采用间接寻址指向数据存储单元,主要指令为加法、乘法和循环实现,这些都可以通过MAC等指令直接实现。需注意的是要对乘法运算结果进行溢出保护。另外,因为主程序框架采用C结构,所以要注意不同环境下寻址方式的区别,当从C环境进入直接寻址时,要先确定DP值,以免带来不确定的计算结果。数据采集时要先通过DSP的DMA功能将输入数据保存在外部SRAM中,采样结束后再将要滤波的数据通过DMA载入内部RAM中,从而提高处理速度。考虑到IIR数字滤波器的运算特点,某一时刻的输入数据参加一次运算后不再参与下次运算,只有各级滤波器输出结果需要参与多次运算,因此滤波结果和输入数据可以共用同一存储地址,从而节省存储空间。除此之处,还要注意以下问题:(1)IIR数字滤波器是针对采样率固定的系统设计的,更改系统或系统采样率改变时应重新设计。(2)用到的数据存储单元,程序开始时应对这些单元进行初始化。如果要进行连续滤波,应保存上一次滤波的结果。(3)IIR数字滤波器的滤波结果会引起相位的延迟,故对相位严格要求的场合,需加全通网络进行较正,或选用FIR滤波器实现滤波功能。在CCS软件环境下编写实现IIR滤波器的程序命名为“xp-IIR-AD.c”和链接命令文件“xp-IIR-AD.cmd”。开始输入低通滤波器各频率参数构造滤波器频域特性波形调用低通滤波器设计子程序完成滤波器a和b参数设计调用滤波器滤波子程序对输入信号循环执行滤波结束图6程序设计流程图④硬件设计图7为IIR滤波器实现的电路方框图,其核心部分为TI公司生产的DSP芯片TMS320C5416,E2PROM和RAM是其外围电路。DSP送给A/D抽样时钟,对输入的模拟信号抽样,将模拟信号转换成数字信号,然后由CPLD提供时序,读取每次的抽样信号,送到DSP中进行实时处理,最后仍由按照CPLD提供的时序将运算结果送到D/A中,由D/A转换成模拟信号。CPLDDSPTMS320C5416A/DE2PROMD/AROM图7IIR滤波器实现的电路方框图采用两路正弦波信号的混叠信号作为输入信号;低频正弦波信号:幅度5V,频率20KHz;高频正弦波信号:幅度2.5V,频率70KHz。在CCS2.0环境下,加载“Exp-IIR-AD.out”,
本文标题:DSP课程作业
链接地址:https://www.777doc.com/doc-2910579 .html