摘要: from http://www.cnblogs.com/c6000, by c6000@sina.com在定点算法实现中,由于数的定标直接影响到运算的精度,因此,确定各个变量的Q值非常重要.当Q值选得过大时,可能导致变量取值超出其所能表示得范围而导致失真;当Q值选得过小时,又会因为其所能表示的精度太低达不到较好的算法性能。确定Q值的问题实际上就是要确定变量的动态范围。设变量的最大绝对值为|max|... 阅读全文
posted @ 2010-08-24 23:25 c6000 阅读(2184) 评论(0) 推荐(0) 编辑
摘要: 由于定点数的字长效应,其数值表示的动态范围较小,在运算过程中需要进行:饱和处理(Saturation)当运算(如累加、乘法等)超出最大、最小范围时,将超出最大值的数置为最大能表示的数值(如MAX16、MAX32等);将小于最小值的数表示为最小能表示的数值(如MIN16、MIN32等)。在累加和乘运算中,结果往往会超出原操作数的字长。例如,两个16位的数相乘得到的是32位的乘积,而结果保存只希望高1... 阅读全文
posted @ 2010-08-22 23:44 c6000 阅读(2020) 评论(1) 推荐(1) 编辑
摘要: 设浮点除法运算的表达式为:float x,y,z;z=x/y ;假设经过统计后被除数x的Q值为Qx,除数y的Q值为Qy,商z的Q值为Qz,则zq*2^(- Qz) = xq*2^(-Qx)/ yq*2^(- Qy) zq=(xq)*2^( Qz -Qx +Qy)/yq但是在通用的DSP中,一般不提供单周期的除法指令,必须用除法子程序来完成定点数除法。除法是乘法的逆运算,乘法包括一系列的移位和加法;... 阅读全文
posted @ 2010-08-22 21:43 c6000 阅读(4301) 评论(0) 推荐(0) 编辑
摘要: 两个有符号定点数相乘结果将导致两个符号位,为此DSP处理器一般都设计了硬件控制逻辑,可以直接将乘积结果左移移位,去掉符号位以后再存储。两个16比特定点数相乘得到的是32位定点数,一种处理方法是直接保留32比特乘积,进行后续处理;另一种处理方法是舍弃低16比特,降低精度。设浮点乘法运算的表达式为:float x,y,z;z=xy ;假设经过统计后x的Q值为Qx,y的Q值为Qy,乘积z的Q值为Qz,则... 阅读全文
posted @ 2010-08-21 23:41 c6000 阅读(1808) 评论(0) 推荐(0) 编辑
摘要: 一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。3、全局区(... 阅读全文
posted @ 2010-08-20 00:09 c6000 阅读(428) 评论(0) 推荐(0) 编辑
摘要: 1. 定点数表示的基础:Q值。Q值就是小数点的位置。16位整形数表示小数32位整形数表示小数2. 将浮点加减法转化为定点加减法最重要的是必须保持两个操作数的Q值一致。如果两者不一致,一般地,为了保证数的精度,在运算前将Q值小的数调整为与Q值大的数的Q值,同时必须注意是否溢出。设x的Q值为QX,y的Q值为Qy,加法/减法结果z的定标值为Qz,则 z=x+y zq*2^(- Qz) = xq*2^(-... 阅读全文
posted @ 2010-08-19 22:24 c6000 阅读(1528) 评论(0) 推荐(0) 编辑
摘要: 定点DSP把所有数据都当作整数来处理ü在定点DSP芯片中,数字运算都是基于整形数的运算,也即所有操作数都用整形数表示。运算精度取决于整形数的字长,一般定点DSP的字长为16、24、或32。ü定点数用2的补码表示,16比特定点数表示的数值范围-32768~32767ü如1111111111111100b = -4ü定点DSP如何处理小数/分数?ü数的... 阅读全文
posted @ 2010-08-19 00:30 c6000 阅读(3496) 评论(0) 推荐(0) 编辑
摘要: CELP,是Code Excited Linear Prediction的缩写。CELP是近10年来最成功的语音编码算法。CELP语音编码算法用线性预测提取声道参数,用一个包含许多典型的激励矢量的码本作为激励参数,每次编码时都在这个码本中搜索一个最佳的激励矢量,这个激励矢量的编码值就是这个序列的码本中的序号。CELP已经被许多语音编码标准所采用,美国联邦标准FS1016就是采用CELP的编码方法,... 阅读全文
posted @ 2010-08-19 00:11 c6000 阅读(2157) 评论(0) 推荐(0) 编辑
摘要: 2.1.1 VoIP语音编码器的比较语音压缩编码研究的基本问题就是在一定的编码速率下,如何用较低的复杂度和较小的时延获得尽量好的重建语音,因此重建语音质量、编码速率、算法复杂度、算法延迟是衡量编解码器性能的四个主要因素。表2-1是上述VoIP常用语音编码器的指标的对比[1],[4],[5],[6] 。纵观集中编解码器,iLBC有很多技术优势,主要表现在:(1) 占用带宽少 在20ms帧时,iLBC... 阅读全文
posted @ 2010-08-18 00:29 c6000 阅读(1335) 评论(0) 推荐(0) 编辑
摘要: 2.1.1 GIPS公司提出编码协议2.1.1.1 iLBC协议[6]iLBC(internet Low Bit Codec)是GIPS(Global IP Sound)于2000年开发并被IETF标准化的的语音编解码器。iLBC是一种非常适合在IP网络上进行语音通信的编解码,主要为窄带语音通信而设计,但在实际的应用中它已突破了窄带的限制。iLBC有2种基本数据帧格式。一种是20ms的帧格式,语音... 阅读全文
posted @ 2010-08-18 00:28 c6000 阅读(2976) 评论(0) 推荐(0) 编辑