网站公告列表

  没有公告

加入收藏
设为首页
联系站长
您现在的位置: TI德州中文网 >> 技术文库 >> C2000文章 >> C24X >> 正文
  [组图]基于定点DSP的浮点开平方算法的实现           ★★★ 【字体:
基于定点DSP的浮点开平方算法的实现
作者:毛晓波 贾…    文章来源:微计算机信息    点击数:    更新时间:2006-12-1    

 作者:毛晓波 贾更新 来源:微计算机信息

摘  要:本文提出了基于TMS320C2XX定点DSP的浮点开平方算法,给出了实现方法及程序清单。实践证明该方法具有精度高、运算速度快、程序简单等特点。
关键词:DSP,算法,定点,浮点

1  前言
    以美国TI公司的TMS320C2XX为代表的定点DSP芯片,具有丰富的片内资源,同时兼顾了DSP芯片的高速度和MCU便于控制的特点,在实时控制、电子测量、数据采集及便携式仪器仪表等领域获得了广泛应用。与浮点DSP芯片相比,定点DSP芯片的价格便宜、功耗低,但数据表示范围小,运算精度低,无法满足宽程、高精度计算的要求,TI公司虽提供了浮点运算程序库,但对于开平方等函数运算是用C语言编写的,与用汇编程序编写的控制主程序接口麻烦。本文提出一种用汇编指令编写的开平方算法,实践证明具有精度高、运算速度快、程序简单等特点。

2  浮点格式
    采用TMS320C2XX指令编写浮点程序可采用IEEE单精度(4字节)浮点格式,但实践证明,此格式中尾数为大于等于1小于2的混合小数,在执行乘除法时不太方便,特别是不容易实现快速除法。为此,可将IEEE格式略作调整,如图1所示。

          图1  IEEE标准浮点数的变形

    最高位为数的符号位,后面23位为尾数,加上隐含的最高位1(要求浮点数为规格化数),构成一个定点原码小数,即:尾数为小于1大于等于0.5的小数。低8位为阶码,与IEEE标准相同,采用移码方式,即:实际的阶码等于它的数值减去7FH。例如:图1格式中阶码的编码为7FH,则实际阶码为0;编码为86H,则实际阶码为7;编码为79H,则实际阶码为-6等等。阶码最小值为0,对浮点数0可用全0表示,方便处理。另外,采用移码后,阶码之间的比较采用无符号数大小比较即可。

3  算法描述

针对DSP指令的特点,对开平方采用牛顿迭代算法。
设Y= ,则:
Yn+1=(Yn+X/Yn)/2
令Y的初值为Y0=X,e为允许误差,通常可做到e<2×10-7,则程序框图如图2所示。


图2  程序流程图

4  程序清单
;入口:01H,00H双字存放待开平方的浮点数X,格式见图1。
;出口:01H,00H为X的平方根Y(仍为图1格式的浮点数)。
;进位标志C=1,表示结果正确;C=0,表示X为负数,结果出错。
;fadd、fdiv为浮点加法和浮点除法子程序(程序清单略),01H,00H为被加数(被除
;数),03H,02H为加数(除数);01H,00H为和(商)。
;设DSP芯片单周期指令执行时间为33ns,则执行本程序约需7μs。

fsqr: clrc sxm
  lacl 00h   ;10h,11h=x  sacl 10h
  lacl 01h
  sacl 11h
  bit 01h,0
  bcnd fsq1,ntc
  clrc c
  ret
fsq1: lacl 00h
  and #00ffh
  bcnd fsq2,neq
  setc c
  ret
fsq2: lacl 00h   ;yk=yk+1
  sacl 12h
  lacl 01h
  sacl 13h                   
  lacl 10h   ;00h,01h=x
  sacl 00h
  lacl 11h
  sacl 01h
  lacl 12h   ;yk
  sacl 02h
  lacl 13h
  sacl 03h
  call fdiv   ;x/yk
  lacl 12h   
  sacl 02h
  lacl 13h
  sacl 03h
  call fadd   ;yk+1=x/yk+yk
  lacl 00h   ;yk+1/2
  sub #1
  sacl 00h
  and #00ffh   ;(yk+1)-e
  sacl 04h
  lacl 12h
  and #00ffh   ;yk-e
  sub 04h    ;(yk-e)-(yk+1-e)
  bcnd fsq2,neq
  lacc 13h,16
  or 12h
  sub 00h    ;yk-yk+1
  sub 01h,16
  bcnd fsq3,c
  neg
fsq3: sub #3ffh
  bcnd fsq2,c 
  setc c
  ret  


参考文献
TMS320C2XX User’s Guide.Texas Instruments,1999

欢迎点击进入:"61IC中国电子在线"官方网站     文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    基于DSP控制的三电平变频器的
    基于DSP+μC/OS-Ⅱ的励磁系
    基于TMS320F2812的视频图像采
    一种长序列小波变换快速算法
    基于DSP的图像旋转算法数据调
    基于DSP的高动态GPS接收机关
    DSP软件向桌面和嵌入式系统挑
    基于DSP的液晶模块的显示原理
    DSP和FPGA在汽车电子中的广泛
    DSP与慢速设备接口的实现
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    站长:TC 湘ICP备06016957号