定点DSP中高精度除法的实现方法

发布者:神秘行者最新更新时间:2009-10-22 来源: 单片机与嵌入式系统应用关键字:DSP  高精度除法  C54X 手机看文章 扫描二维码
随时随地手机看文章

  引 言

  各种集成化单片数字信号处理器(DSP)以其功能强、集成度高、应用灵活、性价比高等优点,在信号处理和系统控制中的主导性地位日益明显。许多信号处理和控制需要运用除法运算。一般的数字信号处理器中没有现成的除法指令。十多年前诞生的浮点DSP,由于其用硬件完成浮点数的运算,在数据处理和运算能力上大大超出定点DSP,处理除法运算也比定点DSP更为简单。但是定点DSP每器件产品的价格更低,这对大规模的大众市场应用而言是相当重要的优势,也是定点器件至今仍是业界主流的主要原因。所以,讨论定点DSP中除法的实现仍不失其意义。在定点DSP中虽然已经有人给出除法的算法,但是由于其运算的复杂和精度难以如愿,致使一些带有除法的好的算法在信号处理中难以得到应用。

  为了提高运算结果的精度,本文在已有除法算法的基础上进行了一些改进,最大限度地保证了结果的精度。最后在TI公司的TMS320C5416芯片里具体实现并验证了这一高精度除法。

  1 经典算法

  DSP中没有现成的除法指令,除法是靠被除数与除数之间的移位相减来实现的。在C54X系列里利用减法指令SUBC和循环指令RPT实现2个16位数的相除。下面以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中任取几组数据来说明。

任取几组数据来说明

  2 高精度算法

  由于经典算法在结果上存在精度不高的问题,所以应考虑精度尽可能高的除法算法。

  和经典算法一致,本算法也采用移位相减实现除法。但不同的是,在进行移位相减之前算法对除数与被除数进行了一些处理,并且在移位相减时不再分两种情况。下面具体介绍算法的流程。

  首先给出被除数y和除数x。由于定点DSP中所有的数据都以整数的形式存在,所以在这里就把y和x看成是整数,不考虑它们本身的Q值。在图1所示的流程图中,A和B是C5416的2个累加器。算法第一步是将x和y相乘,结果存放在B中,以便在最后从B中提取商的符号(商的符号与B的符号相同)。第二步分别对x和y取绝对值以进行无符号数相除。第三步,分别判断x和y在最高有效位之前共有多少个O,分别记为n和m,即在x和y的分别有(16一n)和(16一m)个有效位。然后将x和y分别左移(n一1)位和(m一2)位,即x=x·2n-1,y=y·2m-2。第四步,将前面所得x和y再进行移位相减,把y存放在A的高位,即AH=y,利用SUBC指令进行1 5次移位相减。在所得的结果当中,A的低位即为商的绝对值,B的符号即为商的符号,两者结合得到quot值。由于在移位相减之前分别对除数和被除数有一个左移放大的操作,所以在结果中就必须考虑商的Q值。

算法流程

  假设给定的除数和被除数是x0和y0,则进行移位相减的两数分别为x=x0·2n-1,y=y0·2m-2。根据计算的过程可以得到商的Q值为(14+m-n),所以最后的结果应该包括quot值和Q值(14+m—n)两部分。即商=quot·2-Q。

  3 实验结果及讨论

  前一节中详细介绍了高精度算法的具体流程,可以发现其与经典算法相比,不同之处在于进行移位相减之前把除数和被除数进行了不同位数的左移,保证进行移位相减的除数的数据位最高位是l,即14位为1,而被除数的第13位为1。正是这个左移使结果的精度得到了提高。

  在所引用的经典算法中,当1被除数l

  利用高精度算法在TMS320C5416中计算上面的4组数据,所得结果如表2所列。

利用高精度算法在TMS320C5416中计算上面的4组数据

  上面的实验说明,该算法使计算结果的精度有了很大的提高。取表中第三组数据进行详细分析,y=479、x=240,利用经典算法结果为整数1。利用改进后的算法,得到的结果有两部分:quot值=3FDDH,Q值=13。由这两部分可以算得精确的商值1.995 727 539 062 5,而479/240=1.995 83,计算结果与实际值之间的误差为O.000105 794 270 83。当Q值=13时,定点数据表示形式允许的误差为2-13=O.000 122 070 312 5,可见计算结果误差在允许的误差范围之内,也就是说计算结果满足所推导出的精度的范围。对比前后两种算法,可以发现这里的计算结果精度由原来的1提高到了2-13。

  通过分析可知,该算法使计算结果在精度上有了非常大的提高,但是在效率上则有所降低。如表3所列:

算法所需时钟周期

  表3中的时钟周期指的是DSP的机器时钟周期。由表3可以发现高精度算法对于不同的数据所需的周期数是不一样的,而且算法中计算被除数和除数的高位无效位数占用了大部分的周期数。

  经典算法在效率上比高精度算法高,主要是因为在高精度算法中高位无效位数的计算效率过低。用C5416计算|被除数|和|除数|的高位无效位数,效率低是由于在C5416中没有现成的指令来探测数据中哪一位为最高有效位。表3给出的时钟周期数是在笔者的程序中所得到的结果,由于时间匆忙和优化方面能力的局限性,所以并不能保证在程序优化方面做得很好,所以在C5416中对该部分程序再进行更好的优化以减少执行的时间是很可能的。

  在TI公司C6000系列的定点DSP中,有专门的指令LMBD来快速得到累加器中从符号位开始无效0位的个数,只需几个周期就能完成C5416里高位无效位数的计算,所以在C6000中完成整个算法的效率与经典算法相比肯定能够提高。并且在C6000系列中对不同的数据进行计算所需的时钟周期数是一样的,因此在C6O0O系列定点DSP中该算法有着更好的实用性。

  结 语

  本文介绍了高精度除法在定点DSP中的实现,通过与经典除法算法的对比,显示了其高精度的优点。定点TMS320C5416实验表明该算法使商的精度得到了很大的提高,但是在计算的效率上有待进一步提高。

关键字:DSP  高精度除法  C54X 引用地址:定点DSP中高精度除法的实现方法

上一篇:云计算:愈开放 愈下沉
下一篇:让“您”居于FPGA的用户专用设计环境中

推荐阅读最新更新时间:2024-05-02 20:54

基于TMS320F206 DSP的图像采集卡设计
  数字信号处理器DSP是数字信号处理理论与超大规模集成电路VLSI技术融合的结晶。目前DSP技术正广泛地应用于通信、语音、图像、航天航空、仪器仪表等领域,在推动当代信息处理数字化方面正发挥着越来越大的作用。   在利用电话线传输视频图像这一低比特率多媒体通信领域中,如果选用图像处理的专用芯片,如SAA7110、8×8 3104VCP以及LSI公司的专用芯片等,或者选用具有高速运算性能的高档DSP进行图像处理,都会使产品价格大幅度标升。本文介绍的采用TI公司的低档DSP芯片TMS320F206和视频A/D芯片TLC5510的图像采集卡,则为低比特率多媒体通信提供了一个廉价的解决方案。    1 TLC5510芯片和TMS320
[嵌入式]
基于DSP的智能视频监控图像处理电路模块设计
  系统是采用TI TMS320C6211芯片处理通过摄像头拍摄并经过A/D转换后的图像。DSP对图像进行压缩后,由DSP的HPI口通过TI的PCI2040芯片上传到上位机主板上,与上位机的PCI总线进行通信。系统设计中关键是视频处理卡的设计,由于市场上能够买到的视频卡一般功能都有限,不能满足本项目的需求,故自行设计一块视频卡。   本监控系统采用一片TI的TPS3307-33D作为电源检测IC。该器件定义在其供电1.1V时其/Reset即可输出有效的信号。如图4所示,在本系统中,该电路可以完成对5V、3.3V和1.8V三种供电电压的监测,并可以对系统的三种器件(C6211、EPLD和 AT89C2051)同时进行上电复位和手工复
[嵌入式]
基于<font color='red'>DSP</font>的智能视频监控图像处理电路模块设计
浅谈DSP系统中的电磁兼容问题
   1 引言   自从20世纪80年代初期第一片数字信号处理器芯片(DSP)问世以来,DSP就以数字器件特有的稳定性、可重复性、可大规模集成、特别是可编程性和易于实现自适应处理等特点,给数字信号处理的发展带来了巨大机遇,应用领域广阔。但由于DSP是一个相当复杂、种类繁多并有许多分系统的数、模混合系统,所以来自外部的电磁辐射以及内部元器件之间、分系统之间和各传输通道间的窜扰对DSP及其数据信息所产生的干扰,己严重地威胁着其工作的稳定性、可靠性和安全性 。据统计,干扰引起的DSP事故占其总事故的90%左右。同时DSP又不可避免地向外辐射电磁波,对环境中的人体、设备产生干扰、妨碍或损伤。并且随着DSP运算速度的提高,能够实时处理的
[嵌入式]
智能机器人语音识别技术
0 引言     语音控制的基础就是语音识别技术,可以是特定人或者非特定人的。非特定人的应用更为广泛,对于用户而言不用训练,因此也更加方便。语音识别可以分为孤立词识别,连接词识别,以及大词汇量的连续词识别。对于智能机器人这类嵌入式应用而言,语音可以提供直接可靠的交互方式,语音识别技术的应用价值也就不言而喻。 1 语音识别概述     语音识别技术最早可以追溯到20世纪50年代,是试图使机器能“听懂”人类语音的技术。按照目前主流的研究方法,连续语音识别和孤立词语音识别采用的声学模型一般不同。孤立词语音识别一般采用DTW动态时间规整算法。连续语音识别一般采用HMM模型或者HMM与人工神经网络ANN相结合。     语音的能量来源于正常呼
[嵌入式]
音频信号采集与AGC算法的DSP实现
   引言   电台等由于其自办频道的广告、新闻、广播剧、歌曲和转播节目等音频信号电平大小不一,导致节目播出时,音频信号忽大忽小,严重影响用户的收听效果。在转播时,由于传输距离等原因,在信号的输出端也存在信号大小不一的现象。过去,对大音频信号采用限幅方式,即对大信号进行限幅输出,小信号不予处理。这样,仍然存在音频信号过小时,用户自行调节音量,也会影响用户的收听效果。随着电子技术,计算机技术和通信技术的迅猛发展,数字信号处理技术已广泛地深入到人们生活等各个领域。其中语音处理是数字信号处理最活跃的研究方向之一,在IP电话和多媒体通信中得到广泛应用。语音处理可采用通用数字信号处理器DSP和现场可编程门阵列(FPGA) 实现,其中DSP
[安防电子]
多制式语音编码及其DSP实现
摘要:介绍了一种多制式语音编解码器,在单片TMS320VC5409上完成4路语音的全双工通信,并实现G.729a、CVSD、ADPCM算法之间的编码转换,给出了算法的软硬件实现、算法的运算量及所占用的硬件资源。 关键词:多制式语音编解码 TMS320VC5409 G.729a CVSD ADPCM 在各种通信设备中,实时的语音压缩通常在DSP上实现。单一编码算法,由于码率和算法固定,系统的灵活性较差。越来越多的通信服务要求能实现多种、多路编码算法,提供一定范围内的编码速率和编码算法的多种选择,例如软件无线电、IP电话、多媒体终端等。 G.729a是ITU制定的一种高质量的中速率语音编码标准,编码速率为8kbps,目前已在许
[嵌入式]
基于闪存TMS320VC5409DSP并行引导装载方法
  TMS320VC5409是TI公司推出的新一代的高性能、低价位、低功耗数字信号处理器(DSP)。与现在流行的TMS320C5409相比,性能提高了60%,功耗效率提高了50%。它的应用对象大多是要求能脱机运行的内嵌式系统,如机顶盒(STB)、个人数字助理(PDA)和数字无线通信等。闪烁存储器(FLASH MEMORY)是可以在线电擦写、掉电后信息不丢失的存储器。FLASH与EPROM相比,具有更高的性能价格比,而且体积小、功耗低、擦写速度快、使用比较方便。因此,采用FLASH存储程序和固定数据是一种比较好的选择。AMD公司的Am29LV400B FLASH可以直接与DSP相接。    1 Am29LV400B的主要特点及编程
[嵌入式]
DSP56362的双引导装载方法研究与实现
摘要:简要介绍了MOTOROLA公司的24位定点数字信号处理器DSP56362的并行引导过程和特点。并结合实际,提出了一种双引导模式,给出了具体的实现方法。通过这种双引导模式,巧妙地达到了系统的要求。另外,介绍了采用DSP软件编程来实现FLASH擦除和读写方法。 关键词:DSP56362;Bootstrap;双引导模式;命令字序列 1 引言 在脱机运行的DSP系统中,用户代码往往都需要在上电后自动装载运行。目前,大多数的DSP内部都有固化的引导装载(Bootload)程序,它能在系统加电时,自动将一段存储在外部非易失性存储器中的程序代码移植到内部的高速存储器单元中去执行。采用这种方式,既可利用外部的存储单元来扩展DSP本身
[嵌入式]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved