APP下载

基于定点DSP的自然对数运算快速算法

2019-12-23冯艳清李德生熊爱金

电脑知识与技术 2019年31期

冯艳清 李德生 熊爱金

摘要:针对定点DSP在进行取自然对数运算时运算速度慢,无法满足日益增长的高速数字信号处理需求这一问题提出一种快速算法。该算法在分析浮点数据存储格式的基础上推导出该快速算法,并用c语言在TMS320C6455平台上进行了仿真实现,仿真验证了该算法可以极大提高取自然对数运算速度。

关键词:定点DSP;自然对数;快速算法

中图分类号:TP312 文献标识码:A

文章编号:1009-3044(2019)31-0294-02

1背景

DSP芯片采用特殊设计的哈佛结构,用来实现各种数字信号处理算法。按照DSP芯片工作的数据格式来分类,DSP芯片可分为定点DSP和浮点DSP。TI公司的TMS320C54X,TMS320C55X、TMS320C67Ix等系列的DSP芯片属于定点DSP芯片,由于这类DSP芯片运行功耗低,在现代的电子系统设计中还在广泛采用。在数字信号处理运算过程中,取自然对数时一种常用的运算,但定点DSP由于没有浮点乘法器,所以在进行该运算时运算速度较慢,无法满足对运行时间要求严格的场合。本文分析了浮点数据的存储格式,运用对数基本运算规则,提出一种快速取对数的算法并用C语言进行了仿真实现。

2算法原理

计算机使用二进制数系处理浮点数据,在一个典型的32位处理系统中,单精度浮点数据被分成3个字段,如图1所示。

3算法实现

3.1实现平台概述

算法在TMS320C6455上進行了实现与仿真运行。TMS320C6455是rrI公司的一款高性能单核定点DSP,主频高达1.25GHz,0.8ns的指令周期.每周期执行8条32位指令,最大峰值速度达到8000MIPS。与64X DSP架构相比,代码尺寸平均缩短了20%至30%,周期效率提高了20%、新指令包括复杂的32位宽乘法以及同步加减法指令,提高了快速傅里叶变换以及离散余弦变换的性能。同时提供了高速接口SRIO和千兆以太网控制器(MAC)。

3.2 C语言实现算法

3.3算法验证

在TMS320C6455软件仿真平台下进行了两种算法的仿真运行并进行对比,算法1使用C语言标准数学库进行运算,算法2使用本算法进行运算。通过仿真软件时钟测量功能可知:算法1运行需要5274个时钟,算法2运行需要394个时钟,算法2运行时间压缩到算法1的92%,极大地提高了计算速度。仿真结果如图2所示。

4结束语

本算法利用浮点数据在内存地址空间中的存储格式及对数运算的性质,将取对数运算转换为一个浮点乘法及查询表操作,以空间换时间,极大地节省了取常用对数的运算速度。本算法在基于定点DSP的数字信号处理过程中得到了广泛应用,可方便地移植到其他对运行速度要求严格的定点DSP、单片机等32位处理平台上。