DSP第二章数值运算
- 格式:ppt
- 大小:576.50 KB
- 文档页数:69
实验一:基本算数运算1 、实验目的和要求加、减、乘、除是数字信号处理中最基本的算术运算。
本实验学习使用定点DSP 实现16 位定点加、减、乘、除运算的基本方法和编程技巧。
本实验的演示文件为exer1.out。
2 、实验原理1) 定点DSP 中的数据表示方法在DSP 中一个16 进制的数可以表示不同的十进制数,或者是整数,或者是小数(如果表示小数,必定小于1),但仅仅是在做整数乘除或小数乘除时,系统对它们的处理才是有所区别的,而在加减运算时,系统都当成整数来处理。
2) 实现16 位定点加法在本实验中,我们使用下列代码来说明加法运算:ld temp1,a ;将变量temp1 装入寄存器Aadd temp2,a ;将变量temp2 与寄存器A 相加,结果放入A 中stl a,add_result ;将结果(低16 位)存入变量add_result 中。
注意,这里完成计算temp3=temp1+temp2,我们没有特意考虑temp1 和temp2 是整数还是小数,在加法和下面的减法中整数运算和定点的小数运算都是一样的。
3) 实现16 位定点减法在本实验中,我们使用下列代码来说明减法运算:stm #temp1,ar3 ;将变量temp1 的地址装入ar3 寄存器stm #temp3,ar2 ;将变量temp3 的地址装入ar2 寄存器sub *ar2+, *ar3,b ;将变量temp3 左移16 位同时变量temp1 也左移16 位,然后;相减,结果放入寄存器B(高16 位)中,同时ar2 加1。
sth b,sub_result ;将相减的结果(高16 位)存入变量sub_result。
4) 实现16 位定点整数乘法在本实验中,我们使用下列代码来说明整数乘法运算:rsbx FRCT ;清FRCT 标志,准备整数乘ld temp1,T ;将变量temp1 装入T 寄存器mpy temp2,a ;完成temp2*temp1,结果放入A 寄存器(32 位)例如,当temp1=1234H(十进制的4660),temp2=9876H(十进制的-26506),乘法的结果在A 寄存器中为0F8A343F8H(十进制的-123517960)。