工作报告之dsp课程学习报告.docx
《工作报告之dsp课程学习报告.docx》由会员分享,可在线阅读,更多相关《工作报告之dsp课程学习报告.docx(11页珍藏版)》请在冰豆网上搜索。
工作报告之dsp课程学习报告
dsp课程学习报告
【篇一:
dsp课程总结】
浅谈dsp及其应用
数字信号处理(digitalsignalprocessing,简称dsp)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。
二十世纪六十年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。
在过去的二十多年时间里,数字信号处理已经在通信等领域得到极为广泛的应用。
数字信号处理是围绕着数字信号处理的理论、实现和应用等几个方面发展起来的。
数字信号处理在理论上的发展推动了数字信号处理应用的发展。
反过来,数字信号处理的应用又促进了数字信号处理理论的提高。
而数字信号处理的实现则是理论和应用之间的桥梁。
近来新兴的一些学科,如人工智能、模式识别、神经网络等,都与数字信号处理密不可分。
可以说,数字信号处理是把许多经典的理论体系作为自己的理论基础,同时又使自己成为一系列新兴学科的理论基础。
在学习信号处理与dsp应用课程的基础上,结合所学知识和课后查找资料,主要整理了dsp芯片的基本结构和特点、dsp系统的应用,并进行dsp芯片与单片机、arm比较方面的内容。
一、dsp芯片的基本结构和特点
为了快速地实现数字信号处理运算,dsp芯片一般都采用特殊的软硬件结构。
以tms320系列为例,其基本结构包括:
(1)哈佛结构;
(2)流水线操作;(3)专用的硬件乘法器;(4)特殊的dsp指令;(5)快速的指令周期。
这些特点使得tms320系列dsp芯片可以实现快速的dsp运算,并使大部分运算(例如乘法)能够在一个指令周期内完成。
由于tms320系列dsp芯片是软件可编程器件,因此具有通用微处理器具有的方便灵活的特点。
(一)采用哈佛结构
该结构采用单存储空间,即程序指令和数据共用一个存储空间,使用单一的地址和数据总线,取指令和取操作数都是通过一条总线分时进行。
当进行高速运算时,不但不能同时进行取指令和取操作数,而且还会造成数据传输通道的瓶颈现象,其工作速度较慢。
其结构图如图1所示
2.哈佛(harvard)结构
(1)使用两个独立的存储器模块,分别存储指令和数据,每个存储模块都不允许指令
和数据并存。
(2)使用独立的两条总线,分别作为cpu与每个存储器之间的专用通信路径,而这两
条总线之间毫无关联。
微处理器的哈佛结构如图2所示。
图2哈佛(harvard)结构
3.改进型的哈佛结构
改进型的哈佛结构是采用双存储空间和数条总线,即一条程序总线和多条数据总线。
其特点如下:
(1)使用两个独立的存储器模块,分别存储指令和数据,每个存储模块都不允许指令和数据并存,以便实现并行处理。
(2)具有一条独立的地址总线和一条独立的数据总线,利用公用地址总线访问两个存储模块(程序存储模块和数据存储模块),公用数据总线则被用来完成程序存储模块或数据存储模块与cpu之间的数据传输。
(3)两条总线由程序存储器和数据存储器分时共用。
(二)流水线技术
dsp处理器流水线技术是将各指令的各个步骤重叠起来执行,而不是一条指令执行完成
之后,才开始执行下一条指令。
每条指令可通过片内多功能单元完成取指、译码、取操作数和执行等多个步骤,实现多条指令的并行执行,从而在不提高系统时钟频率的条件下减少每条指令的执行时间。
其过程如图3所示
图3四级流水线操作
(三)配有专用的硬件乘法-累加器
dsp内部一般包括多个处理单元,如算术逻辑运算单元(alu)、辅助寄存器运算单元
(arau)、累加器(acc)及硬件乘法器(mul)等。
它们可以在一个指令周期内同时进行运算。
为了适应数字信号处理的需要,当前的dsp芯片都配有专用的硬件乘法-累加器,可在一个周期内完成一次乘法和一次累加操作,从而可实现数据的乘法-累加操作。
(四)具有特殊的dsp指令
为了满足数字信号处理的需要,在dsp的指令系统中,设计了一些完成特殊功能的指令。
如:
tms320c54x中的firs指令等,专门用于完成系数对称的fir滤波器算法。
(五)快速的指令周期
由于采用哈佛结构、流水线操作、专用的硬件乘法器、特殊的指令以及集成电路的优化设计,使指令周期可在20ns以下。
如:
tms320c54x的运算速度为100mips,即100百万条/秒。
(六)硬件配置强
新一代的dsp芯片具有较强的接口功能,除了具有串行口、定时器、主机接口(hpi)、
dma控制器、软件可编程等待状态发生器等片内外设外,还配有中断处理器、pll、片内存储器、测试接口等单元电路,可以方便地构成一个嵌入式自封闭控制的处理系统。
(七)支持多处理器结构
为了满足多处理器系统的设计,许多dsp芯片都采用支持多处理器的结构。
如:
tms320c40提供了6个用于处理器间高速通信的32位专用通信接口,使处理器之间可直接对通,应用灵活、使用方便。
(八)省电管理和低功耗
dsp功耗一般为0.5~4w,若采用低功耗技术可使功耗降到0.25w,可用电池供电,适用于便携式数字终端设备。
二、dsp系统的应用
自从dsp芯片诞生以来,dsp芯片得到了飞速的发展。
dsp芯片高速发展,一方面得益
于集成电路的发展,另一方面也得益于巨大的市场。
在短短的十多年时间,dsp芯片已经在信号处理、通信、雷达等许多领域得到广泛的应用。
目前,dsp芯片的价格也越来越低,性能价格比日益提高,具有巨大的应用潜力。
dsp芯片的应用主要有:
(1)信号处理,如:
数字滤波、自适应滤波、快速傅里叶变换、相关运算、频谱分析、卷积等。
(2)通信,如:
调制解调器、自适应均衡、数据加密、数据压缩、回波抵消、多路复用、传真、扩频通信、纠错编码、波形产生等。
(3)语音,如:
语音编码、语音合成、语音识别、语音增强、说话人辨认、说话人确认、语音邮件、语音储存等。
(4)图像、图形,如:
二维和三维图形处理、图像压缩与传输、图像增强、动画、机器人视觉等。
(5)军事,如:
保密通信、雷达处理、声纳处理、导航等。
(6)仪器仪表,如:
频谱分析、函数发生、锁相环、地震处理等。
(7)自动控制,如:
引擎控制、深空、自动驾驶、机器人控制、磁盘控制。
(8)医疗,如:
助听、超声设备、诊断工具、病人监护等。
(9)家用电器,如:
高保真音响、音乐合成、音调控制、玩具与游戏、数字电话/电视等。
三、dsp芯片与单片机的比较
dsp的内部也集成了cpu,但是其中加入了乘法器、桶形移位寄存器等,此外还有存储器(包括daram、saram和rom)、dma、定时器、串口、pwm和hpi等,其外围接口能力也在不断提高。
而且dsp都采用内部多总线结构,使数据的存储和指令的执行更加快捷。
最重要的一点是,dsp具有快速的指令周期,tms320系列已经从第一代的200ns降低到现在的5ns(1600mips)以下,其如此高的运算速度使其可以满足许多实时处理的需要。
对于mcu和dsp的结构和性能上差异,具体归纳如下表一所示。
(一)存储器结构及分配的比对
mcs一5l系列单片机和c54xdsp有着既相似又有别的程序存储器和数据存储器结构形式。
具体如下:
(二)片内外设比对
dsp定时器的16位计数器的触发脉冲由预分频计数器提供,预分频计数器由cpu工作时钟决定。
单片机计数脉冲来源可以是机器周期(此时作定时器用),也可以是外部输入信号(此时作计数器用),由工作方式寄存器编程决定。
另外dsp还带有软件可编程等待状态发生器、可编程分区转换逻辑电路;这都是dsp为了适应外部存储器和外设接口的速度而设置的。
(三)典型指令的比对
dsp采用修正的哈佛结构,使处理器的性能大大提高,其独立的程序和数据总线,提供了高度的并行操作,可同时访问程序存储器和数据存储器,还町以在数据总线和程序总线之间相互传送数据。
这样dsp的指令功能就要丰富强大得多,如:
rpt、rptb、mac、mas、mvdd、mvdm、mvdp等,因此采用最佳算法并利用它的指令来实现我们的目标是学好dsp的关键。
dsp有着特殊的内部结构、强大的信息处理能力及较高的运行速度。
(四)程序读写过程的比对
各种集成开发环境,对于程序的编辑和调试提供了快捷便利的方法。
mcs一51系列单片机在开发环境下,经过汇编和链接后生成可执行文件“.hex”,在ram区进行调试;最后将调试通过的程序固化到eeprom。
dsp程序在开发环境下,经过汇编及链接先生成可执行的输出文件”.out”,再转换为“.hex”型,然后下载到eeprom或者是烧到flash中。
且目前大多数的dsp在片内rom固化了引导加载程序(bootloader),加电复位时,dsp启动这一程序,将程序搬到片内程序ram,再在ram中运行程序,以提高运行速度。
【篇二:
dsp原理及应用的学习体会】
这个学期通过《对dsp芯片的原理与开发应用》课程的学习,对dsp芯片的概念、基本结构、开发工具、常用芯片的运用有了一定的了解和认识,下面分别谈谈自己的体会。
一,dsp芯片的概念
数字信号处理(digitalsignalprocessing)是利用计算机或专用处理设备,以数字形式对信号进行采集、变换、增强、滤波、估值、压缩、识别等处理,以得到符合人们需要的信号形式。
20世纪60年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。
在通信、等诸多领域得到极为广泛的应用。
dsp(digitalsignalprocess)芯片,即数字信号处理器,是一种特别适合于进行数字信号处理运算的微处理器,其应用主要是实时快速的实现各种数字信号处理算法。
该芯片一般具有以下主要特点:
(1)在一个指令周期内可完成一次乘法和一次加法;
(2)程序与数据空间分开,可以同时访问指令和数据;
(3)片内具有快速ram,通常可通过独立的数据总线在两块中同时访问;
(4)具有低开销或无开销循环及跳转的硬件支持;
(5)快速的中断处理和硬件支持;
(6)具有在单周期内操作的多个硬件地址产生器;
(7)可以并行执行多个操作;
(8)支持流水线操作,使取值、译码和执行等操作可以同时进行。
世界上第一个单片dsp芯片应当是1978年ami公司发布的s2811,1979年美国intel
公司发布的商用可编程器件2920是dsp芯片的一个主要里程碑。
这两种芯片内部都没有现代dsp芯片所必须有的单周期乘法器。
1980年,日本nec公司推出的upd7720是第一个具有乘法器的商用dsp芯片。
当前,美国德州公司(ti),motorola公司,模拟器件公司(ad),nec公司,att公司是dsp芯片主要生产商。
选择合适的dsp芯片,是设计dsp应用系统的一个非常重要的环节。
一般来说,要综合考虑如下因素:
(1),dsp芯片的运算速度;
(2),dsp芯片的价格;
(3),dsp芯片的硬件资源;4),dsp芯片的运算精度;(5),dsp芯片的开发工具;(6),dsp芯片的功耗等等。
二,dsp芯片的基本结构。
ti公司的tms320系列芯片的基本结构包括:
(1)哈佛结构。
哈佛结构是一种并行体系结构,主要特点是将程序和数
据存储在
不同的存储空间中,独立编址,独立访问。
由于设立了程序总线和数据总线两条总线,从而使数据的吞吐量提高了一倍。
为了进一步提高芯片性能,tms320系列芯片允许数据存放在程序存储器中,并被算术运算指令直接使用;还把指令存储在高速缓冲器(cache)中,减少从存储器中读取指令需要的时间。
(2)流水线。
dsp芯片广泛采用流水线以减少指令执行时间,从而增强
了处理器
的处理能力。
以三级流水线为例,取指,译码和执行操作可以独立的处理,在第
n个指令取指时,前一个(n-1)个正在译码,而第n-2个指令则正在执行。
(3)专用的硬件乘法器。
tms320系列芯片中,有专门的硬件乘法器,乘
法可以在
一个周期内完成。
(4)特殊的dsp指令。
比如ltd这条指令在一个指令周期内可以完成lt、
dmov
和apac三条指令。
(5)快速的指令周期。
dsp芯片的指令周期可以在200ns以下。
tms320
系列芯片的指令周期已经降到了20ns以下。
可以满足很多dsp应
用的要求。
(三)开发工具。
可编程dsp芯片的开发需要一整套完整的软硬件开发工具。
通常开发工具可以分为代码
生成工具和代码调试工具两类。
代码生成工具是将用c或汇编语言编写的dsp程序编译汇编并链接成成可执行的dsp程序。
代码调试程序是将dsp程序及系统进行调试,使之能达到设计目标。
就软件开发而言,用dsp芯片的汇编语言编写程序是一件比较繁杂的事情。
因为不同公司不同类型的芯片的汇编语言都不尽相同。
基于以上原因,各个公司都相继推出了高级语言(如c语言)编译器,使得dsp芯片的软件可以通过高级语言编写而成。
ti的优化c编译器能够产生可与手工编写的汇编语言相比的汇编语言程序,提供了简单的c执行时环境的程序接口,使得关键的dsp算法可用汇编语言实现建立了一定规模的工具库来方便使用。
在c编译器中还提供了一个所谓的外壳程序(shell),可以使c程序的编译、汇编和链接三个过程一次完成。
(四)关于tms320c54x定点dsp芯片的设计使用。
tms320c54x定点dsp芯片具有很高的性价比,体积小,功耗低,功能强,已在通信等许多领域得到广泛的应用。
该系列芯片大部分采用低电压供电方式,可以降低功耗,其电源分为两种,内核电源(cvdd)电源和i/o电源(dvdd)。
与3.3v的供电相比,2.5v的内核电源可以降低44%的功耗;而i/o电源3.3v可以直接与外部低压器件接口,无需额外的电平转换电路。
但是,由于现在很多外围芯片的工作电压都是5v,如eprom、sram、模数转换芯片等,因此就要特别注意不同ic之间电平的转换。
例如5v的ttl和3.3v的ttl器件之间只要耐压允许,电平可以通用;而5v的cmos被3.3v的ttl驱动时,要加双电压(一边是3.3v供电,一边是5v供电)的驱动器。
tms320c54x系列芯片有丰富的内部快速存储器,也可以扩展外部存储器。
一般需要扩展eprom/prom,扩展时也要注意电平转换的问题。
采用flash存储器存储程序和固定数据是一种比较好的选择。
进行软件设计时,要注意以下一些问题:
(1)流水线冲突。
tms320c54x采用了深度为6级的流水线操作,因
此流水线
冲突不可避免。
一般在冲突发生时,由dsp自动插入延迟解决问题。
但有些情
况下dsp无法自动解决问题,需要程序员通过调整程序语句的次序或在程序中插入一定数量的nop来解决。
如果在调试程序中不能得到正确的结果,而又找不到程序错误时,就应该想到是否发生了流水线冲突,解决方法是在合适的位置插入一至几个nop指令。
(2)编译模式选择。
在st1状态寄存器中,有1位编译器模式控制位
cpl。
用
于指示在相对直接寻址中采用哪种指针。
为0是使用页指针dp,为1时采用堆栈指针sp。
注意模式切换时可能引起流水线冲突。
(3)指令对存储器的要求。
有些指令是对存储器是有特殊要求的,使
用时要注意。
此外,在软件编程时还有一些技巧。
比如要充分利用片内存储器,节省程序运行时从片
外存储器读入程序或数据的时间;利用程序寻址空间,可以方便的寻址和执行更大规模的程序;利用两个内部累加器,可以有效的提高编程效率;利用alu的分裂操作模式和cssu单元可以加快运算速度;利用自动溢出保护功能和利用条件存储指令等等。
tms320c54x系列芯片一般都在片内设置有boot程序,主要作用是在开机时将用户程序从外部装入到程序存储器。
用户需要使用boot时,需要将dsp设置为微计算机工作方式。
除此之外,通过学习我还了解了如何用matlab进行dsp设计模拟,其他一些dsp芯片的大致结构和性能,以及具体的dsp应用开发方面的知识。
在教员的悉心教导下,经过我的认真学习,对dsp应用方面的知识有了一个整体的了解,虽然还没有利用dsp芯片做过实际的东西,但我通过对该课的学习,为以后可能的设计应用打下了一定基础。
对于数字信号处理课程最初的料想是在学长和以前的任课老师那里听来的,据说这门课是跟随着信号系统的步伐,而且难度比较的大。
而至于滤波器就更加简单,只是根据频域的图像告诉我们,可以通过相乘得到这样的一部分我们所需要的频段。
对于连续型号我们可以很简单的从图像中看出来,那么数字信号呢?
我们知道现实中模拟信号的传输是很麻烦的,而我们现在广泛采取的就是数字信号,那么同样的问题数字信号也是怎么解决的吗?
答案是显然的。
那么既然不一样,我们可以做出数/模——模/数之间的转换是不是就可以了?
转换之后,会不会添加或者减少了一些东西呢?
数字滤波器到底是怎么做出来的呢?
实际的滤波器肯定不可能就是一个门函数,那么物理可实现的滤波器又是怎么样设计出来的呢?
还有关于调制解调严格的相干条件,如果频率有出路该怎么办,如果是倍频或是半频又该怎么办呢?
因为牵涉到离散的问题,原来很清晰的连续函数不再完全适用,那么我们应该怎么在信号系统后承接好数字信号处理这门课呢?
应该说这些问题是我在信号系统之后一直想的,也是在学习数字信号处理之前应该思考的。
让我释然的是李老师在第一节课时对这门课程作解释时的一句话,我到现在
仍然记忆犹新。
她说:
很多学生看到这么多公式就感到害怕,但实际上我们不是要求大家单纯的去算这些式子。
我们不是数学课,我们的要求其实是希望大家能够理解这些式子背后的物理含义。
很多式子从数学推理上学很难,但是用物理的方法很简单的一看就明白了。
而我们这门课大家就要学会从物理模型的角度去思考,很多问题就很容易就理解了。
从物理模型的角度去理解记忆这些公式,这是我对老师话的总结。
在后续的课程中我也是这么做的。
但是我对这门课的心得还要再加上两句话:
(1)拓展从信号系统中学到的知识,比较它与这门课的异同。
(2)从物理模型的角度去理解记忆这些公式,或者是从自己的角度去理解,不要拘泥于老师和课本上的条条框框
(3)重视matlab仿真实验,从图像中去加深理解。
对于这三句话我会在下面作解释。
首先,对于信号系统与数字信号处理的关系,只要是学过这两门课程的人都看的出来。
我前面说过,在学习的开始就有人有意无意的提醒我这两门课程的关系。
有先入为主的概念,几乎每个人在学习数字信号系统的时候都会有意无意的去比较这两门课程。
显然这是温故而知新,对这门课程是有帮助的。
但是这种被动的比较,帮助很小,我们应该学会主动的去罗列他们的不同之处。
比如说第三章z变换、z变换收敛域、z反变换、z变换的性质,虽然是离散的,在表示方式上与连续的有所不同,但是变换的实质是差不多的,所以很多性质往往可以与傅里叶变换性质一起记忆,甚至许多性质公式完全可以从傅里叶变换的性质中互推得到。
又比如采样中,采样定理的原理是一样的,但是如连续时间信号的离散时间处理,或者离散时间信号的连续时间处理,将会导致一些不同,这归根结底在于离散信号与连续信号不同之处。
这些异同之处加以理解,甚至反过来,回头再看以前的课本,你会发现很多地方又加深了理解,以前的有些疑问也释然了。
或许有人认为以前的课程已经结束了,过去的问题懂不懂无所谓。
实际上,很多以前的东西是现在学习的基础,基础扎实了,在以后有可能就因为这个道理,触类旁通反而解决了后续的问题。
如此看来,不单单是信号系统,我们甚至可以与其他一些并行的课程一起理解,比如自动控制原理中的零极点图,和最小相位系统是一致的理论;通信原理中也有调制解调和编码的东西甚至滤波器的设计,虽然主要是考虑信噪比的计算,但是基本原理是一样的。
尽管这种比较可能对做题上没有什么很大的影响,但是了解整个过程,了解整个系统是怎么运作的就对整个系统由了深刻的理解。
这样在物理模型层面上,就更明白这是为什么了。
这就为老师所说的,从物理模型的角度去理解记忆这些公式打下了基础。
有很多章节,他的基础都是前几章的公式,或是正对后面章节实现的定义。
刚开始看的时候,觉得没有道理,而且很简单的问题偏偏要用数学表达式去表示,很显然的推论,用数学语言描述之后就看不太明白了。
那么既然如此,我们也没必要一定要把那些数学表示方法背下来,完全可以通过其物理的现象去理解它。
本来,你用什么语言去写,也不过是描述他罢了,没有必要舍本逐末,只要理解就好。
比如全通系统,最小相位系统,线性相位系统,你可以用幅度和相角把每个都表示出来,也完全可以把图像记住了,那么一
切也都记住了。
甚至如李老师上课说的,通过平面几何的方法,你可以得到和数学推理一样的结论,因为两者完全是一一对应的关系。
你完全可以按照自己的理解来,只要言之有理,自圆其说就可以了。
如果你没有办法想出自己的方法,那么通过图像来理解是一种不错的选择。
整门课程随时随地都充斥着各种图像,比起枯燥的数字,图像更具体的表达了它们的物理本质,也方便记忆。
【篇三:
dsp课程设计报告】
中国民航大学电子信息工程学院
《dsp设计及应用》课程设计报告
题目:
专业班级:
小组成员:
指导教师:
二〇一四年六月六日
目录
一、设计目的…………………………………………………………1二、设计要求…………………………………………………………1三、设计原理及方案…………………………………………………1四、软件流程…………………………………………………………4五、调试分析…………………………………………………………5六、设计总结…………………………………………………………5七、参考文献…………………………………………………………5
一、设计目的
巩固所学的数字信号处理知识,了解fir带通滤波器的设计步骤和方法;
2.熟悉matlab平台gui的制作;了解数字信号处理在实际中的使用方法和重要性;
3.学习资料的收集与整理,学习制作课题报告和撰写课程设计报告;4.学会对知识的扩展和自学能力,培养团队精神。
二、设计要求
1.研究fir带通滤波器,分析多种窗函数的系统性能及用途;加入信号源并进行加噪,用窗函数fir带通滤波器进行滤波;观察程序运行结果,分析判断程序、频谱的正确性。
2.利用课余时间在图书馆查找相关书籍或上网查阅课题相关资料,深入理解课题含义及设计要求,并扩展功能,将收集的资料进行整理。
3.按照开题报告的进度一步一步的完成课题,在中期报告时指导教师审查后再进行修改和完善,在规定的时间内完成课题设计;
4.结束后,及时提交设计报告(含ppt,程序清单,功能演示视频),要求格式规范、内容完整、结论正确。
三、设计原理及方案
1、基本原理
数字滤波器在数字信号处理的各种应用中发挥着十分重要的作用。
它是通过对采样数据信号进行数学运算处理来达到滤波的目的。
数字滤波器从实现的网络结构或者从单位脉冲响应可分为无限脉冲响应(iir)滤波器和有限脉冲响应(fir)滤波器。
fir滤波器的设计方法和iir滤波器的设计方法有很大的不同,fir滤波器设计任务是选择有限长度的h(n),使传输函数h(ejw)满足技术要求,fir数字滤波器设计的方法有三种,第一种是窗函数法,第二种是频率采样法,第三种是切比雪夫等波逼近法。
本次课题设计用的是窗函数法。
窗函数法的基本思想是要选取某一种合适的理想频率选择性滤波器,这种滤波器