第一章数字信号处理概述Ø1.1数字信号处理概述Ø1.2数字信号处理器概述Ø1.3DSP芯片运算基础第一章数字信号处理概述2张永祥TMS320C54系列DSP原理与应用一、数字信号处理系统的组成1.1数字信号处理概述1、将输入的信号通过一个A/D(Analog to Digital)转换器,它对连续信号进行带限滤波、采样保持和编码,将连续信号转换为数字信号2、DSP芯片对转换后的数字信号进行各种算法处理;3、处理后的数字信号根据需要再经D/A(Digital to Analog)转换器,对数字信号进行解码、低通滤波,就可得到所需的模拟信号3张永祥TMS320C54系列DSP原理与应用二、数字信号处理的实现Ø在通用的计算机上用软件实现Ø在通用的计算机系统中加上专用的加速卡来实现Ø用单片机(如Aduc812,AT89C51等)来实现Ø用通用的可编程DSP芯片来实现Ø用特殊用途的DSP芯片来实现Ø用可编程阵列器件FPGA实现1.1数字信号处理概述4张永祥TMS320C54系列DSP原理与应用Ø第1种方法的缺点是硬件设备体积较大、运算速度较慢,在一些对系统空间要求较为严格的场合无法安装,以及在一些要求实时性较高的场合很难实现,常用于数据算法的模拟和仿真。
Ø第2种方法虽然运算速度有所提升,但设备体积大依然是一较大问题Ø第3种方法由于不适合复杂的数字信号处理系统,应用场合受到限制Ø第5种方法专用性较强,应用场合也同样受到限制Ø第6种方法也是目前数字信号处理实现的一种主要方法,在消费类和汽车电子领域占有主要的市场份额; 但它也主要是作为协处理器Ø只有第4种方法才为数字信号处理的应用打开了新的局面1.1数字信号处理概述5张永祥TMS320C54系列DSP原理与应用三、数字信号处理的特点Ø精度高Ø灵活性高Ø可靠性强Ø便于集成化Ø数字信号处理系统也有其局限性,例如,数字系统的速度还不算高,在海量数据处理时,常常要求几百、几千个数字处理器并行工作,使得成本增加; A/D转换器由于转换速度不够高,对当前的一些高频率的信号仍然无法处理; 价格较贵,在处理简单任务时,性价比低1.1数字信号处理概述6张永祥TMS320C54系列DSP原理与应用Ø数字信号处理器(DSP)是进行数字信号处理的专用芯片,DSP可以快速地实现对信号的采集、变换、滤波、估值、增强、压缩、识别等处理,以得到符合人们需要的信号形式,给信号处理的应用打开了新的局面1.2数字信号处理器概述7张永祥TMS320C54系列DSP原理与应用一、DSP芯片的分类Ø按照DSP工作的数据格式定点DSP芯片和浮点DSP芯片。
Ø按照DSP工作的工作时钟和指令类型一致性DSP芯片和静态DSP芯片Ø按照DSP工作的用途通用型DSP芯片和专用型DSP芯片1.2数字信号处理器概述8张永祥TMS320C54系列DSP原理与应用二、DSP芯片的特点Ø改进的哈佛结构 与传统的总线结构——冯·诺依曼结构相比,哈佛总线结构的主要特点是程序和数据分别具有独立的存储空间,有着各自独立的程序总线和数据总线Ø支持流水线操作1.2数字信号处理器概述9张永祥TMS320C54系列DSP原理与应用Ø采用专用的硬件乘法器Ø特殊的DSP指令Ø快速的指令周期Ø专用的数据地址发生器1.2数字信号处理器概述10张永祥TMS320C54系列DSP原理与应用三、DSP芯片的发展Ø1978年世界上诞生了首枚DSP芯片——AMI公司的S2811,1979年美国Intel公司生产了商用可编程器件2920,这两种DSP芯片都不具备单周期硬件乘法器,故其结构与性能都与现代DSP芯片相差很大Ø1980年,日本NEC公司推出的uPD7720是第一个具有硬件乘法器的DSP处理器,1981年美国贝尔实验室推出的DPSI与uPD7720都是16位字长,具有片内乘法器和存储器。
1.2数字信号处理器概述11张永祥TMS320C54系列DSP原理与应用Ø第一代美国TI公司1982年推出TMS32010系列,这种DSP器件采用微米工艺、NMOS技术制作,虽然功耗和尺寸较大,但运算速度却比MPU快几十倍,尤其在语音合成和编解码器中得到了广泛应用Ø第二代DSP芯片TMS320C20,TMS320C25/C26/C28系列等Ø第三代DSP芯片有TMS320C30/C31/C32/C33系列等Ø第4代DSP芯片有TMS320C40/C44系列Ø第5代 DSP 芯片有TMS320C5x/C54x/C55x、多处理器DSP芯片TMS320C80/C82Ø第6代DSP芯片TMS320C62x/C67x系列等1.2数字信号处理器概述12张永祥TMS320C54系列DSP原理与应用目前TI公司常用的DSP芯片可以被归纳为三大系列,即: ØTMS320C2000系列(包括TMS320C2x/C2xx)ØTMS320C5000系列(包括TMS320C5x/C54x/C55x)ØTMS320C6000系列(TMS320C62x/C67x)1.2数字信号处理器概述13张永祥TMS320C54系列DSP原理与应用四、DSP芯片的应用Ø通用的数字信号处理: FFT、FIR滤波、IIR滤波、卷积、相关、谱分析、模式匹配等。
Ø语音识别与处理: 语音压缩、语音合成、语音增强、语音邮件、语音存储,数字音频,网络音频等Ø图形/图像处理: 如二维和三维图形处理、图像压缩与传输、图像增强、动画、机器人视觉等Ø通信: 如数字调制/解调、自适应均衡、数据加密、数据压缩、回波抵消、多路复用、、扩频通信、纠错编码、软件无线电等Ø自动控制: 声控、磁盘/光盘伺服控制、马达控制、机器人控制等Ø军事: 保密通信、导弹制导、电子对抗、雷达处理等Ø仪器仪表: 数据采集、函数发生、地质勘探等Ø医学工程: 助听器、超声设备、病人监护等Ø家用电器: 数字、数字电视、高保真音响、电子玩具等Ø汽车领域: 车身系统、防盗系统、传动系统、汽车网络信息系统等1.2数字信号处理器概述14张永祥TMS320C54系列DSP原理与应用一、数的定标1.定标表示法Ø有符号数,就是把16位二进制数的最高位来表示数的符号,正数用0表示,负数用1表示,其余位15位表示数据; 同时对有符号数的表示采用补码的方式Ø例如: 无符号数: [103]原= [0000 0000 0110 0111]原 =[0000 0000 0110 0111]补 有符号数: [-103]原= [1 0111]原 [-103]补= [1 1001]补1.3DSP芯片运算基础15张永祥TMS320C54系列DSP原理与应用Ø在编程时必须由程序员人为地指定一个数的小数点处于哪一位,这就是数的定标。
Ø通过人为地将小数点规定在16位中的不同位置,就可以表示不同大小和不同精度的数了对于整数,通常是将小数点固定(隐含)在数值部分最低位的后面,用来表示整数; 对于小数,则通常是将小数点固定(隐含)在数值部分的最高位的后面,表示的是纯小数Ø数的定标有两种表示方法: Qn表示法和Sm.n表示法其中,m表示数的2补码的整数部分,n表示数的2补码的小数部分,1位符号位,数的总字长为m+n+1位表示数的整数范围为-2m~2m-1,小数的最小分辨率为2-n1.3DSP芯片运算基础16张永祥TMS320C54系列DSP原理与应用Ø在实际应用中,通常采用Qn表示法表1.1列出了16位定点DSP芯片用Qn表示法和Sm.n所能表示的十进制数值范围Ø从表1.1可以看出,若程序员设定的小数点位置不同,对于同样一个16位数,它所表示的数也就不同例如: Ø例:十六进制数1000H=4096, 用Q0表示十六进制数1000H=0.125, 用Q15表示十六进制数1000H=1,用Q12表示1.3DSP芯片运算基础17张永祥TMS320C54系列DSP原理与应用Ø不同的Q所表示的数不仅范围不同,而且精度也不相同。
Q越大,数值范围越小,但精度越高; 相反,Q越小,数值范围越大,但精度就越低Ø对定点数而言,数值范围与精度是一对矛盾,一个变量要想能够表示比较大的数值范围,必须以牺牲精度为代价; 而想提高精度,则数的表示范围就相应地减小在实际的定点算法中,为了达到最佳的性能,必须充分考虑到这一点1.3DSP芯片运算基础18张永祥TMS320C54系列DSP原理与应用2.Q值的确定Ø在使用定点DSP时,如何选择合适的Q值是一个关键性问题 就DSP运算的处理过程来说,实际参与运算的都是变量,假设一个变量的绝对值的最大值为|max|(|max|≤32767)若存在一个整数m,使它满足2m-1<|max|<2m,则有2-Q=2-15×2m=2-(15-m),Q=15-m 例如,某变量的值在-1至+1之间,即|max|<1,因此m=0,Q=15-m=15 确定了变量的|max|就可以确定其Q值1.3DSP芯片运算基础19张永祥TMS320C54系列DSP原理与应用Ø一般来说,确定变量的|max|有两种方法:一种是理论分析法,另一种是统计分析法 理论分析法指的是根据已有的数学理论(如定义、公理、定理、公式、法则等)来推导出变量的动态范围。
当有些变量的动态范围从数学上无法确定时,一般采用统计分析的方法来确定其动态范围 统计分析法,就是指用数理统计方法分析事物的数量来揭示出所分析变量的动态范围1.3DSP芯片运算基础20张永祥TMS320C54系列DSP原理与应用二、数的运算Ø数的运算包括定点数的加法/减法运算和乘法、除法运算Ø定点数又可分为无符号数和有符号数Ø无符号数是明确为正数的数,带符号数可能为正数,也可能为负数一般负数以补码形式表示,最高位为符号位1.3DSP芯片运算基础21张永祥TMS320C54系列DSP原理与应用1.两个定点数的加/减法Ø将浮点的加法/减法转化为定点加法/减法时必须保证两个操作数的格式一致如果两个数的Q值不同,可将Q值大的数右移调整为与另一个数的Q值一样,但必须在保证数据精度不变的前提下同时要注意有符号和无符号数加/减运算的溢出问题Ø【例1.1】设x=3.125,y=0.25,求x+y解: x=3.125,若x的Q值为Q12,则[x]Q12=3.125×212=12800=3200H; y=0.25, 若y的Q值为Q15,则[y]Q15=0.25×215=8192=2000H。
1.3DSP芯片运算基础22张永祥TMS320C54系列DSP原理与应用说明:由于Q12
Ø许多情况下,运算过程中为了既满足数值的动态范围,又保证一定的精度,就必须采用Q0与Q15之间的表示法,即混合表示例如,数值1.0145显然用Q15格式无法表示,而若用Q0格式表示,则最接近的数是1,精度无法保证因此,数1.0145最佳的表示法是Q14格式1.3DSP芯片运算基础25张永祥TMS320C54系列DSP原理与应用3.两个定点数的除法Ø在通用DSP芯片中,一般不提供单周期的除法指令,为此必须采用除法子程序来实现二进制除法是乘法的逆运算乘法包括一系列的移位和加法,而除法可分解为一系列的减法和移位1.3DSP芯片运算基础26张永祥TMS320C54系列DSP原理与应用Ø例:设累加器为8位,除法运算为91除以41) 被除数减除数0 1 0 1 1 0 1 1-0 1 0 0 0 0 0 1 1 0 1 1(2) 够减,将结果左移一位后加1再减0 0 1 1 0 1 1 1- 0 1 0 01 1 1 1 0 1 1 1(3) 不够减,放弃减法结果,被除数左移一位再减0 1 1 0 1 1 1 0- 0 1 0 0 0 0 1 0 1 1 1 0(4) 够减,将结果左移一位后加1再减0 1 0 1 1 1 0 1- 0 1 0 00 0 0 1 1 1 0 11.3DSP芯片运算基础27张永祥TMS320C54系列DSP原理与应用(5) 够减,将结果左移一位后加1再减0 0 1 1 1 0 1 1- 0 1 0 0 1 1 1 1 1 0 1 1(6) 不够减,放弃减法结果,被除数左移一位,得最后结果0 1 1 1 0 1 1 0即商为10110B=22,余数为011B=3。
ØTMS320C54x利用带条件减法SUBC实现除法运算,除数不动,被除数、商左移TMS320没有专门的除法指令,但使用条件减法指令SUBC加上重复指令RPT就可以完成有效灵活的除法功能使用SUBC的唯一限制是两个操作数必须为正程序员必须事先了解其可能的运算数的特性,如其商是否可以用小数表示及商的精度是否可被计算出来等这里每一种考虑都会影响到如何使用SUBC指令的问题1.3DSP芯片运算基础28张永祥TMS320C54系列DSP原理与应用。