咨询服务热线:040-830903909
位置: 首页 > 万博·ManBetX > 餐厅
发布日期:2024-10-15 13:05:02阅读: 次
章节 各种集成化单片数字信号处理器(DSP)以其功能强劲、集成度低、应用于灵活性、性价比高等优点,在信号处理和系统控制中的主导性地位日益显著。许多信号处理和掌控必须运用乘法运算。
一般的数字信号处理器中没现成的乘法指令。十多年前问世的浮点DSP,由于其用硬件已完成浮点数的运算,在数据处理和运算能力上大大远超过定点DSP,处置乘法运算也比定点DSP更加非常简单。但是定点DSP每器件产品的价格更加较低,这对大规模的大众市场应用于而言是非常最重要的优势,也是定点器件至今仍是业界主流的主要原因。
所以,辩论定点DSP中乘法的构建仍朴实其意义。在定点DSP中虽然早已有人得出乘法的算法,但是由于其运算的简单和精度无法如愿以偿,导致一些具有乘法的好的算法在信号处理中无法获得应用于。 为了提升运算结果的精度,本文在有数乘法算法的基础上展开了一些改良,最大限度地确保了结果的精度。
最后在TI公司的TMS320C5416芯片里明确构建并检验了这一高精度乘法。 1经典算法 DSP中没现成的乘法指令,乘法是靠被除数与除数之间的移位相加来构建的。在C54X系列里利用除法指令SUBC和循环指令RPT构建2个16位数的DFT。
下面以C54X为例来明确构建经典的乘法: C54X获取的SuBC指令仅对无符号数展开操作者,所以在移位相加开始之前必需再行将被除数和除数所取绝对值,仅有考虑到2个正数的乘法。此时乘法运算有两种情况: 当|被除数|《|除数|时,将|被除数|存放在累加器的高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中任所取几组数据来解释。
本文来源:万博·ManBetX-www.ok1950.com