CN101055564A - 实现数字信号处理器非线性函数快速定点运算的方法 - Google Patents

实现数字信号处理器非线性函数快速定点运算的方法 Download PDF

Info

Publication number
CN101055564A
CN101055564A CN 200710041400 CN200710041400A CN101055564A CN 101055564 A CN101055564 A CN 101055564A CN 200710041400 CN200710041400 CN 200710041400 CN 200710041400 A CN200710041400 A CN 200710041400A CN 101055564 A CN101055564 A CN 101055564A
Authority
CN
China
Prior art keywords
fixed
point
signal processor
digital signal
nonlinear function
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN 200710041400
Other languages
English (en)
Inventor
谭建国
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Central Academy of SVA Group Co Ltd
Original Assignee
Central Academy of SVA Group Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Central Academy of SVA Group Co Ltd filed Critical Central Academy of SVA Group Co Ltd
Priority to CN 200710041400 priority Critical patent/CN101055564A/zh
Publication of CN101055564A publication Critical patent/CN101055564A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

本发明公开了一种实现数字信号处理器非线性函数快速定点运算的方法,用于在数字信号处理器对数字音视频信号进行编码时,对包含于数字音视频信号中的非线性函数进行定点运算,其首先将非线性函数根据泰勒公式展开,根据运算精度保留前n项,得到近似麦克劳林多项式;然后将上一步所得多项式表示成秦九韶多项式快速算法形式;最后将秦九韶多项式各项利用DSP定点实现方法进行定标,定标后参与运算即得。本发明省却了非线性函数运算前后对操作数的定点、浮点间的转换,大大提高了运算效率;而且跟查表法不同,本发明不需占用很大内存,节省了硬件成本。

Description

实现数字信号处理器非线性函数快速定点运算的方法
技术领域
本发明属于数字信号处理器(DSP,Digital Signal Processor)芯片领域,尤其涉及一种在DSP编程中实现非线性函数的快速定点运算的方法。
背景技术
在音视频编解码算法实现中,DSP芯片作为运算处理手段已越来越被业界认可。在进行DSP编程的过程中,常常会涉及非线性函数的运算,比如余弦函数cos(),正弦函数sin()等等的运算。在通常的编程中,对这类函数的处理最常用到的方法有:1.调用DSP编译系统的库函数;2.查表法;3.混合法。
采用调用DSP编译库函数的方法非常方便,运算的精度也非常高。但是存在的一大缺点是库函数的输入是浮点数,库函数的输出也是浮点数,而事实上在具体的硬件设备应用时,由于功耗和成本的原因,通常设备只支持定点操作。因此在定点DSP运算中,不仅需要将前面输入的定点数转换成浮点数才能调用库函数进行运算,而且还需要将运算结果的浮点数输出转化为定点数输出。同时在库函数中,对操作数进行的是浮点运算,该方法运算量较大,很难在实时DSP中得到应用。
采用查表法来代替非线性函数的运算,需要的运算量较小,可以运用在实时DSP中,它一般通过适当降低运算精度来提高程序的运算速度。但是,采用这种方法必须根据自变量的范围和精度要求制作一张表格。如果输入的变化范围越大,精度要求越高,则所需的表格越大,导致所需要DSP的存储量也越大,这势必对DSP芯片的存储量性能提出很高的要求。
混合法是在查表的基础上采用计算的方法来提高当输入值处于表格两点之间的精度,但是该方法只适用于在变量的定义域内函数呈单调变化的情形。
发明内容
本发明的目的在于提供一种实现数字信号处理器非线性函数快速定点运算的方法,在DSP芯片中利用定点来计算得到非线性函数的值,所述方法不需要对操作数进行定点数向浮点数的转换,也不受查表法存储量需求的限制。
为了达到上述目的,本发明提供了一种实现数字信号处理器非线性函数快速定点运算的方法,用于在数字信号处理器对数字音视频信号进行编码时,对包含于数字音视频信号中的非线性函数进行定点运算,所述的方法包括以下步骤:a.将所述的非线性函数根据泰勒公式展开,根据运算精度保留前n项,得到近似麦克劳林多项式;b.将步骤a所得多项式表示成秦九韶多项式快速算法形式;c.对步骤b所得多项式进行定点运算。
进一步地,所述的非线性函数在自变量=0的领域内n+1阶可导。
进一步地,当自变量在-π到π之间时,所述非线性函数的麦克劳林多项式余项当n趋向于无穷大时极限为零。
进一步地,步骤c中,利用DSP定点实现方法为所述的秦九韶多项式各项进行定标后,再将定标后的各项代入所述的秦九韶多项式进行定点运算。
本发明的非线性函数的快速定点实现方法,相对于调用DSP编译库函数方法,所采用的计算复杂度较小;相对于查表法,本发明不需要制作表格,占用的存储空间较小;它避开了DSP编译库函数方法的计算复杂度和查表法占用存储空间的缺点,运算速度高,能满足实时DSP运算需求。
具体实施方式
本发明的非线性函数的快速定点实现方法用于在数字信号处理器对数字音视频信号进行编码时,对包含于数字音视频信号中的非线性函数进行定点运算,其通过以下具体步骤实现:
1)首先判断要计算的非线性函数f(x)在x=0处是否(n+1)阶可导,n=1,2,...;若是,则继续执行步骤2);否则结束。
2)判断当x在-π到π之间时(如果x不在这个范围内,利用函数的周期性,将x限定在-π到π之间),
Figure A20071004140000041
是否为零,如果为零,进行步骤3),否则结束;
3)将非线性函数f(x)展开成麦克劳林公式,并根据运算精度保留前n项:
f ( x ) ≈ f ( 0 ) + f ′ ( 0 ) x + f ′ ′ ( 0 ) 2 ! x 2 + · · · + f ( n ) ( 0 ) n ! x n - - - ( 1 ) (1)
4)将公式(1)转化为秦九韶多项式:
f ( x ) ≈ f ( 0 ) + x ( f ′ ( 0 ) + 1 2 x ( f ′ ′ ( 0 ) + · · · + 1 n + 1 x ( f ( n - 1 ) ( 0 ) + f ( n ) ( 0 ) n x ) ) ) - - - ( 2 ) (2)
5)给公式(2)中的量f(x),f(0),f′(0),f″(0),...,f(n-1)(0),f(n)(0),x,...,
Figure A20071004140000054
Figure A20071004140000055
定标;
6)将公式(2)中的已知量f(0),f′(0),f″(0),...,f(n-1)(0),f(n)(0),x,
Figure A20071004140000056
...,
Figure A20071004140000057
转换成定点后的形式F(0),F′(0),F″(0),...,F(n-1)(0),F(n)(0),X,
Figure A20071004140000059
...,
Figure A200710041400000511
7)采用舍入法或者截尾法对公式(2)进行定点运算:
F ( X ) = INT ( F ( 0 ) + INT ( X · INT ( F ′ ( 0 ) + INT ( 1 2 ) F · INT ( X · INT ( F ′ ′ ( 0 ) + · · · +
INT ( ( 1 n - 1 ) F · INT ( X · INT ( F ( n - 1 ) ( 0 ) + INT ( ( 1 n ) F · INT ( F ( N ) ( 0 ) · X ) ) ) ) ) ) ) ) ) ) ) - - - ( 3 ) (3)
公式(3)中,F(X)是f(x)的定点值,INT()表示定点运算。
下面以AVS或AAC(Advanced Audio Coding)音频标准中涉及的MDCT(Modified Discrete Cosine Transform)模块中余弦函数cos(x)的定点运算为例,对本发明的实现数字信号处理器非线性函数快速定点运算的方法作进一步的详细描述。
首先,可以判断cos(x)在x=0处(n+1)阶可导,其中,n=1,2,3,...;
接着,可以判断当x在-π到π之间时, lim n - > ∞ cos ( n ) ( 0 ) n ! = 0 成立;
随后,将cos(x)根据麦克劳林展开式,展开成公式(1)的形式,得到:
cos ( x ) = cos ( 0 ) + cos ′ ( 0 ) x + cos ′ ′ ( 0 ) 2 ! x 2 + · · · + cos ( n ) ( 0 ) 2 ! x 2 + · · · + cos ( n ) ( 0 ) n ! x n + · · ·
= 1 - x 2 2 ! + x 4 4 ! + · · · + ( - 1 ) n x 2 n ( 2 n ) ! + · · · (4)
函数cos(x)麦克劳林展开式的余项rn(x): r n ( x ) = co s ( n + 1 ) ( c ) ( 2 n ) ! x 2 n ≤ x 2 n ( 2 n ) ! , 其中,c位于0到x之间    (5)
利用公式(5)和运算精度要求,确定出公式(4)中n的值,即得到可接受的近似cos(x)的值,在这里我们取公式(4)扩展函数等号右边前面的6项来近似cos(x),如公式(6)所示,其运算结果的平均精度约为0.00025。
cos ( x ) ≈ 1 - x 2 2 ! + x 4 4 ! - x 6 6 ! + x 8 8 ! - x 10 10 ! - - - ( 6 ) (6)
然后,将公式(6)采用秦九韶多项式快速算法的表示方式如公式(7)所示:
cos ( x ) = 1 - x 2 2 ( 1 - x 2 12 ( 1 - x 2 30 ( 1 - x 2 56 ( 1 - x 2 90 ) ) ) ) - - - ( 7 ) (7)
由于浮点x的值位于-π到π之间,采用DSP的定点实现原理,给浮点x定标的精度是小数点后面13位二进制精度,可以用Q13来表示;同理,x2定标的精度用Q11表示,cos(x)的定标精度用Q15表示。公式(7)中系数
Figure A20071004140000064
Figure A20071004140000065
都采用Q15的定标精度,转化成定点后的值为16384,2731,1092,585和364。
为描述的需要,可以定义一个表示定点X和定点Y相乘的运算函数Mul(X,Y,N),其中参数N表示向右平移的位数,函数如下所示:
WORD16 Mul(WORD16 X,WORD16 Y,WORD16N)
{
  WORD16 Val;  //注:WORD n表示n位有符号整数数据类型
  WORD32 temp;
  temp=WORD(32)X*(WORD32)Y;
  If(temp>0)
     Vla=(WORD16)((temp+(WORD32)(1<<(N-1)))>>N);
  Else
     Val=-(WORD16)((-temp+(WORD32)(1<<(N-1)))>>N);
  Return Val;
}
根据以上函数,设x用定点值X表示,x2用定点值Mx表示,根据x的范围,给x定标为Q13,x2定标为Q11,则Mx=Mul(X,X,15);
Figure A20071004140000071
的定点值用F90表示,定标为Q15,则F90=Mul(Mx,364,11);
Figure A20071004140000072
的定点值用F56表示,定标为Q15,则F56=Mul(Mx,585,11);
Figure A20071004140000073
的定点值用F30表示,定标为Q15,则F30=Mul(Mx,1092,11);
Figure A20071004140000074
的定点值用F12表示,定标为Q15,则F12=Mul(Mx,2731,11);
Figure A20071004140000075
的定点值用F2表示,定标为Q12;则F2=Mul(Mx,16384,14)。
将以上定义的定点值结合公式(7)即可实现公式(3)的定点运算,其中COSX表示非线性函数cos(x)采用本发明所获得的定点值,其精度是Q15,表示如下:
  COSX=32767-Mul(F2,32767-Mul(F12,32767-
        Mul(F30,32767-Mul(F56,32767-F90,15),15),15),12)
                                                                (8)
采用本发明相对于采用调用DSP编译库函数的方法在定点DSP中实现,由于省却了操作数的定点、浮点间的相互转换,其实现更加便捷,效率至少提高4倍;同时相对于采用查表法,本发明中方法不需要制作表格,不需要占用DSP的更多内存,对于具体硬件设备芯片内存要求较低,大大节约了成本。

Claims (4)

1、一种实现数字信号处理器非线性函数快速定点运算的方法,用于在数字信号处理器对数字音视频信号进行编码时,对包含于数字音视频信号中的非线性函数进行定点运算,其特征在于,所述的方法包括以下步骤:
a.将所述的非线性函数根据泰勒公式展开,根据运算精度保留前n项,得到近似麦克劳林多项式;
b.将步骤a所得多项式表示成秦九韶多项式快速算法形式;
c.对步骤b所得多项式进行定点运算。
2、如权利要求1所述的实现数字信号处理器非线性函数快速定点运算的方法,其特征在于:所述非线性函数在自变量等于0的领域内n+1阶可导。
3、如权利要求1所述的实现数字信号处理器非线性函数快速定点运算的方法,其特征在于:当自变量在-π到π之间时,所述非线性函数的麦克劳林多项式余项当n趋向于无穷大时极限为零。
4、如权利要求1所述的实现数字信号处理器非线性函数快速定点运算的方法,其特征在于:步骤c中,利用DSP定点实现方法为所述的秦九韶多项式各项进行定标后,再将定标后的各项代入所述的秦九韶多项式进行定点运算。
CN 200710041400 2007-05-29 2007-05-29 实现数字信号处理器非线性函数快速定点运算的方法 Pending CN101055564A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200710041400 CN101055564A (zh) 2007-05-29 2007-05-29 实现数字信号处理器非线性函数快速定点运算的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200710041400 CN101055564A (zh) 2007-05-29 2007-05-29 实现数字信号处理器非线性函数快速定点运算的方法

Publications (1)

Publication Number Publication Date
CN101055564A true CN101055564A (zh) 2007-10-17

Family

ID=38795403

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200710041400 Pending CN101055564A (zh) 2007-05-29 2007-05-29 实现数字信号处理器非线性函数快速定点运算的方法

Country Status (1)

Country Link
CN (1) CN101055564A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102486866A (zh) * 2010-12-03 2012-06-06 江南大学 一种基于数字信号处理器的图像灰度均值算法
CN104778026A (zh) * 2015-04-28 2015-07-15 浪潮电子信息产业股份有限公司 一种带simd的高速数据格式转换部件及转换方法
CN107292334A (zh) * 2017-06-08 2017-10-24 北京深瞐科技有限公司 图像识别方法及装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102486866A (zh) * 2010-12-03 2012-06-06 江南大学 一种基于数字信号处理器的图像灰度均值算法
CN102486866B (zh) * 2010-12-03 2014-04-16 江南大学 一种基于数字信号处理器的图像灰度均值算法
CN104778026A (zh) * 2015-04-28 2015-07-15 浪潮电子信息产业股份有限公司 一种带simd的高速数据格式转换部件及转换方法
CN107292334A (zh) * 2017-06-08 2017-10-24 北京深瞐科技有限公司 图像识别方法及装置

Similar Documents

Publication Publication Date Title
TWI587640B (zh) 用於音訊/視訊樣本向量之錐型向量量化檢索/解檢索之方法及裝置
RU2016122865A (ru) Кодер для кодирования аудиосигнала, система передачи аудио и способ определения значений коррекции
JP2011507037A (ja) 5点dct−ii、dct−iv、およびdst−ivの計算のための高速アルゴリズム、ならびにアーキテクチャ
US7711761B2 (en) Method and system for digital signal processing, program product therefor
ES2874511T3 (es) Búsqueda de forma de cuantificador de vector en pirámide
CN101055564A (zh) 实现数字信号处理器非线性函数快速定点运算的方法
CN109144473B (zh) 一种基于冗余odds数的十进制3:2压缩器结构
CN1841938A (zh) 对音频信号进行编码的方法和设备
NO341726B1 (no) Fremgangsmåte for å skape en representasjon av et beregnet resultat, lineært avhengig av kvadratet av en verdi
CN114647399A (zh) 一种低能耗高精度近似并行定宽乘法累加装置
TWI524331B (zh) 低複雜度音調適應性之音訊信號量化技術
CN102812642A (zh) 编码方法、解码方法、装置、程序及记录介质
CN101266795B (zh) 一种格矢量量化编解码的实现方法及装置
Xu et al. An optimization of CORDIC algorithm and FPGA implementation
KR101589709B1 (ko) 여러 필터 뱅크 도메인 간의 변환을 위한 방법 및 장치
CN101056415A (zh) 一种乘法操作转换为加法和移位操作的方法及装置
KR100721263B1 (ko) Imdct 코프로세서 및 이를 포함한 오디오 복호기
CN100570597C (zh) 将数字信号从时间域变换到频率域及其反向变换的方法
Tsai et al. A pure-ASIC design approach for MPEG-2 AAC audio decoder
CN1547193A (zh) 一种用于语音编码的固定码本快速搜索算法
CN1625266A (zh) 计算绝对差值的设备、运动估计设备和运动图像编码设备
CN101626242B (zh) 改进的霍夫曼解码方法及装置
WO2007101277A1 (en) Audio decoding techniques for mid-side stereo
CN101546560B (zh) 音频编解码装置及编解码方法
US20090319589A1 (en) Using fractional exponents to reduce the computational complexity of numerical operations

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication