DSP除法原理

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

设累加器为8位,且除法运算为10除以3,除的过程就是除数逐步移位并与被除数比较的过程,在每一步进行减法运算,如果能减则将位插入商中.1,除数的最低有效位对齐被除数的最高有效位.00001010-00011000111100102.由于减支结果为负,放弃减法结果,将被除数左移一位,再减.00010100-00011000111111003.结果仍为负,放弃减法结果,被除数左移一位,再减.00101000-00011000000100004,结果为正,将减法结果左移一位后加1,作最后一次减.00100001-00011000000010015.结果为正,将结果左移一位加1得最后结果.高4位代表余数4位表示商.00010011即商为0011=3,余数为0001=1以上除法的计算机实现过程,在DSP中,我们有专用的用于除法的SUBC指令,当然我们也可以用乘以除数的倒数来计算,在40位的DSP中,有SUBC的理解方法同上,一看就可以明白的,希望这一文章对大家有所帮助的C54xDSP定点除法当|被除数||除数|时,将|被除数|存放在累加器的高16位,然后用SUBC完成15次移位相减,相减之后在累加器A的低16位中存放商的绝对值根据运算前被除数和除数的符号是否相同来决定是否要改变所得结果的符号当|被除数|≥|除数|时,将|被除数|存放在累加器的低16位,然后用SUBC完成16次移位相减,相减之后在累加器A的低16位中存放商的绝对值根据运算前被除数和除数的符号是否相同来决定是否要改变所得结果的符号从实现的过程分析,当|被除数||除数|时,移位相减开始时|被除数|和|除数|的小数点位置正好相差一位第一次相减后在累加器A的O位最低位存进的数值正是商的最高位,该位为商的小数点后第一位在15次移位相减之后,累加器A低16位所得的结果为Q值为15的小数当|被除数|≥|除数|时,在第l6次相减时,|被除数|位于A的高16位(30~15位)上,小数点位在A的15位后,和|除数|的小数点位正好对齐,则此次相减后在A的0位加上的值正好是商的最低有效整数位,相当于十进制数中的个位所以在16次移位相减之后,累加器A低16位所得的结果为Q值为0的整数以此分析,当商的精确值不是整数,或者超出Q值15所表示的范围时,此算法所得结果就达不到16位数据所能表达的精确度

1 / 2
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功