DSP原理与应用-文档资料

上传人:日度 文档编号:143701395 上传时间:2020-09-01 格式:PPT 页数:178 大小:761KB
返回 下载 相关 举报
DSP原理与应用-文档资料_第1页
第1页 / 共178页
DSP原理与应用-文档资料_第2页
第2页 / 共178页
DSP原理与应用-文档资料_第3页
第3页 / 共178页
DSP原理与应用-文档资料_第4页
第4页 / 共178页
DSP原理与应用-文档资料_第5页
第5页 / 共178页
点击查看更多>>
资源描述

《DSP原理与应用-文档资料》由会员分享,可在线阅读,更多相关《DSP原理与应用-文档资料(178页珍藏版)》请在金锄头文库上搜索。

1、1,DSP原理与应用,第一章 概述 第二章 DSP运算基础 第三章 DSP的CPU结构及存储器配置 第四章 寻址方式及指令系统 第五章 系统功能模块及片内外设 第六章 DSP设计开发平台 第七章 FFT的Matlab仿真,2,第一章 概述,1、DSP数字信号处理系统 低通滤波:将连续信号x(t)中的一些次要成分滤出。 平滑滤波:滤出多余的高频分量,对时间域模拟信号起平滑作用。,低通滤波,ADC,DSP,平滑滤波,DAC,x(t),y(t),3,2、DSP的发展和分类 发展: 1978年,AMI第一片DSP器件 1979年,Intel的Intel 2920是第一块脱离了通用型微处理器结构的DSP

2、芯片。 1980年,NEC的 PD7720是第一个具有硬件乘法器的商用DSP芯片。 1982年,Hitachi推出浮点DSP。 1982年,TI推出第一代DSP芯片TMS32010及其系列产品。 1986年,Motorola推出MC56001定点DSP芯片;1990年推出与IEEE浮点格式兼容的浮点DSP芯片。,4,分类 按DSP芯片处理的数据格式:定点、浮点 按DSP芯片的用途: 通用型:TI公司的系列DSP 专用型:数字滤波、FFT等 主要生产厂家 TI:43.5% Agere(Lucent):16.1% Motorola:12.0% ADI:8.2%,5,3、DSP的性能及特点 哈佛结构

3、 、普通微处理器的冯诺伊曼结构:,内部地址总线,内部数据总线,共享的 程序和 数据存 储器,CPU 控制,ALU,6,、DSP的哈佛结构:,地址 发生 单元,数据地址总线,程序地址总线,程序 存储 器,数据 存储 器,DSP 控制,ALU,数据总线,程序总线,7,指令流水线 、非流水线操作,8,、流水线操作:,9,硬件乘法器 在数字信号处理的算法中(如FFT),需要做大 量的乘法和加法。显然,乘法速度越快,数据处理能 力就越强。而在一般的微处理器中,根本就没有乘法 指令,即使有乘法指令的处理器,其乘法指令的执行 时间也较长。DSP器件一般都有一个硬件乘法器,而且 一次乘累加最少可在一个时钟周期

4、内完成。 特殊DSP指令 DSP芯片采用了特殊的寻址方式和指令。例如 TMS320系列的位反转寻址方式及其他一些特殊的指令。 采用这些适合于数字信号处理的寻址方式和指令,能 进一步减小数字信号处理的时间。,10,4、DSP的应用 数字信号处理,如滤波、FFT、卷积等; 通信,如调制解调、纠错编码、传真、可视电话等; 语音处理,如语音编码、语音合成、识别、语音存储等; 图形/图像处理,如模式识别、图像压缩与传输、动画、机器人视觉等; 仪器仪表,如数据采集、函数/波形产生等; 军事,如保密通信、全球定位、雷达与声纳信号处理、导航与制导等; 医疗,如核磁共振、自动治疗仪等。,11,第二章 DSP运算

5、基础,1、数的定标 TMS320C/F240的字长为16。 数的定标:是设定小数点在不同位置,来表示不同大小和不同精度的小数。 Q表示法: 将16位二进制数由最低有效位(LSB)到最高有效 位(MSB)的位置依次排列为015,则Qi表示小数点 在数据第i位之后。 例如: Q0:表示小数点在数据第0位之后,即为一个整数。 Q15:表示小数点在数据第15位之后。,12, Q表示法及其十进制数值范围:,13,例如: 对Q15而言,其能表示的最小负值为: 1000 0000 0000 0000(补) 1111 1111 1111 1111(反) 1,0000 0000 0000 0000(原) = -

6、1 其能表示的最大正值为: 0111 1111 1111 1111 = 2-1 +2-2 +2-3 +2-4 +2-5 +2-6 +2-7 +2-8 +2-9+2-10 +2-11 +2-12 +2-13 +2-14 +2-15 = 1- 2-15 = 0.9999 6948 2421 875 对Q0同样如此.,14,2、IEEE 754浮点数表示法 例如: 1 0 1 0 0 1 0 0 1 20.6 = 24(20 +2-1 + 2-2 + 2-3 + 2-4 + 2-5 + 2-6 + 2-7 + + 2-23 ) 其指数 = 4 + 127 = 131 小数 = 01001001 S

7、= 0,15,3、定点数与浮点数的转换关系 转换公式: 浮点数(x)转换为定点数(xd): xd = int x 2Q 定点数(xd)转换为浮点数(x):x = float xd 2-Q 举例:浮点数x = 0.4,定标Q=15,则对应的定点数为: xd = int x 2Q= int 0.4 215=13107 反之,一个Q15表示的定点数13107对应的浮点数为: x = float xd 2-Q = float 13107 2-15 = 0.3999939 Q数值的确定: 设系统中变量表示的数据最大绝对值为|max|,而且|max|小于或等于32767,由下式: 2n-1 |max| 2

8、n 可得:Q=15-n 举例:某变量取值范围为-7到15,则变量的|max| =15,n=4,则Q=15-4=11。,16,4、定点数的算术运算 加减法: 注意: 、必须保证两个操作数的定标值一样。 、若两个数据的Q值不同,在保证数据准确性的前提下调整Q值使数据精度最高,即尽量将Q值小的数调整为与另一个数的Q值一样大。 、注意对溢出的判断和处理。 举例: x = 0.4,y = 0.2,计算x + y 根据分析,采用Q15表示两个数据可以得到最高精度的运算, x 、 y的Q15定点表示分别为: xd = 13107, yd = 6553。 xd + yd = 13107+6553 = 1966

9、0 结果转化为浮点数为:19960 2-15 = 0.5999756 0.6,17,定点数的乘法 分三种情况: 、小数乘小数(数用Q15表示) Q15Q15=Q30,32位的乘积结果有两个符号位,利用移位操作得到乘积结果的Q31表示。 举例:0.50.5 = 0.25 操作数用Q15表示为: 0.5 215 =16384=0100 0000 0000 0000B 0.100 0000 0000 0000 0.100 0000 0000 0000 = 00.01 0000 0000 0000 0000 0000 0000 0000 将结果左移一位得到乘积结果的Q31表示为: 0.01 0000

10、0000 0000 0000 0000 0000 0000 0 = 20000000H 表示的浮点数即为:0.25,18,、整数乘整数(数用Q0表示) Q0Q0=Q0 举例:135 = 65 操作数用Q0表示为: 13 = 0000 0000 0000 1101B 5 = 0000 0000 0000 0101B 0000 0000 0000 1101 0000 0000 0000 0101 = 0000 0000 0000 0000 0000 0000 0100 0001 = 00000041H 表示的浮点数即为:65,19,、混合表示法 在对精度和数据范围要求都比较高的情况下,两个 数可以

11、采用介于Q15与Q0之间的不同的Q表示法。 举例: 设参与运算的两个数x和y的数值范围分别不超过 1和 4,两个数的Q值分别为Q15和Q13,为了保证数据 范围,应该采用Q13。例如: x = 0.4 y = 3.2 ,计算x + y 因为 xd = 3276, yd = 26214,则 xd + yd = 3276 + 26214 = 29490 转换为浮点数为:29490 2-13 3.59985,20,定点数的除法 注意:DSP没有专门的除法指令,利用条件减法指令编写 子程序实现。 、十进制的除法 在计算之前要保证分子不能大于分母的十倍,否则必须进行如 下的处理:将分母乘上10(100或

12、1000)后再按下面的计算过 程进行除法运算,得到结果后再把该结果乘以10 (100或1000) 即可得到最终的正确结果。 计算过程(子程序): i = 0 STEP1:重复的用分子减去分母(若分子小于分母,则余数即为 分子;否则,余数=分子-分母),直到结果为小于分母的数或0。得 到执行的减法次数 = Ni 及余数。 STEP2: i = i +1,余数10作为分子,返回STEP1。 STEP3:结果 = N0 100 + Ni 10-i,i = 1,2,3,,21,举例1:求40/3 = ? step1:310 = 30; step2:40-30=10 30,70-30=4030,4030

13、=1030,70-30=4030,4030=1030, 次数=3,余数=10; step6:根据要求的精度结束计算 step7:结果=1 100 +3 10-1 + 310-2 +3 10-3 + =1.3333 step8:最终结果= 1.333310=13.333 ,22,举例2:求3/40= ? step1:3 40;300 - 40=260,执行第1次减 法;260 - 40=220,执行第2次减法; 220 - 40=180,执行第3次 减法;180 - 40=140,执行第4次减法;140 - 40=100,执行第5 次减法;100 - 40=60,执行第6次减法;60 - 40=

14、20,执行第7 次减法;次数=7,余数=20; step4: 2010=200,200 40; 200 - 40=160,执行第1次 减法;160 - 40=120,执行第2次减法;120 - 40=80,执行第3 次减法; 80 - 40=40,执行第4次减法; 40 - 40=0,执行第5次 减法;次数=5,余数=0; step5:结果=0 100 +0 10-1 + 710-2 +5 10-3 = 0.075,23,、二进制的除法 注意:在计算之前要保证分子小于分母的2倍。 计算 过程同十进制的除法,下面仅举例。 计算40 / 3 = ? step1:分母左移3位(即乘以8),得分母=2

15、4; step2:00101000 ( =40) - 00011000 ( =24) =00010000 ( =16) 次数=1,余数=16 24; step3: 00100000 ( =32) (余数16左移一位) - 00011000 ( =24) =00001000 ( =8) 次数=1,余数=8 24; step4: 余数=16 (余数8左移一位) 24 次数=0; step5: 00100000 ( =32) (余数16左移一位) - 00011000 ( =24) =00001000 ( =8) 次数=1,余数=8 24;,24,step6: 余数=16 (余数8左移一位) 24 次数=0; step7: 00100000 ( =32) (余数16左移一位) - 00011000 ( =24) =00001000 ( =8) 次数=1,余数=8 24; step8: 余数=16 (余数8左移一位) 24 次数=0; step9: 00100000 ( =32) (余数16左移一位) - 00011000 ( =24) =00001000 ( =8) 次数=1,余数=8 24; step10 :结

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 电子/通信 > 数据通信与网络

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号