×
嵌入式 > 技术百科 > 详情

增量调制算法的进展及其CVSD—PCM数码变换

发布时间:2021-05-27 发布时间:
|

摘要:本文探讨了增量调制算法的进展,介绍了几种实用的adm算法,最后,详细论述了cvsd—pcm数码变换。

关键词:增量调制算法,脉冲编码调制,数码变换

一、引 言

现在,虽然中、低速率的语音编码发展很快,有16kbit/s速率的低迟延码激励线性预测(ld—celp)语音编码(g.728建议),还有8kbit/s共扼结构代数码激励线性预测(cs—acelp)语音编码(g.729建议)等64kbit/s标准pcm系统仍占有统治地位。它已极为广泛地应用于数字通信、数字交换机及一切语音数字化接口。

增量调制(△m)是继pcm后出现的又一种模拟信号数字化的方法,因其有强抗误码能力,所以,从70年代开始,被广泛用于军事通信网以及航天通信系统中。

pcm编码有统一的国际标准。一般的多媒体计算机都可以听不同速率的pcm话音。因此,使用本文介绍dm—pcm数码变换,由计算机即可听一般的△m话。本文第二部分介绍adm的主要算法,第三部分详细讨论连续可变斜率增量调制(cvsd)—pcm的数码变换,其方法亦可用于其它的dm—pcm数码变换。

二、自适应增量调制(adm)的主要算法

pcm编码是对抽样值s(n)直接进行编码。△m是对两个相邻样值的差值进行编码,实际应用的增量调制总是设计成△的大小随信号大小而变的自适应增量调制(adm)。它的工作特点是:信号斜率变大时,增量△也跟着自动变大;反之,信号斜率变小时,增量△也跟着自动变小。如何从传输的二进制数字码流c(n)中提取对计算△(n)有用的信息,是设计实用算法的关键。c(n)码流传送的是信号的斜率信息,当同符号c(n)连续出现时,则斜率变大;当c(n)交替出现1、0码时,则斜率为零。近年来,在adm体制上开展了不少研究工作、下面介绍几种较为实用有效的算法。1.常因子自适应增量调制(cfdm)算法式中2.高信息自适应增量调制(hidm)算法3.song算法这种算法后来经改进用到了航天飞机中。 4.混合自适应增量调制(hcdm)算法m(n)的选取见表1。表1 m(n)的真值表

b(n) b(n-1) b(n-2)

m(n)

111

1.5

0 0 0

1.5

0 01

1

1 1 0

1

0 1 1

0.66

1 0 0

0.66

1 0 1

0.66

010

0.66

5.cvsd算法这种算法应用最为广泛。一般是检测3~4个比特有无同极性码,若有,则增加△值,否则,靠滤波器自由衰减△值。算法为:式中。由下式决定β为控制量阶衰减的因子,满足τ=t/(1-β)为音节时间常数,一般为5—10 ms。

三、cvsd—pcm数码变换

cvsd也叫数字检测音节压扩增量调制,进入实用阶段已有十多年的历史。在美国和西欧北约各国的军事通信网中cvsd算法应用最为广泛。一般使用16kbit/s或32kbit/s数码率的cvsd调制方式。16kbit/s的cvsd为3连“1”或连“0”的数字检测算法 。而32kbit/s的cvsd为4连“1”或连“0”的数字检测算法。目前商用的adm多数为32kbit/s的cvsd。所以,下面主要讨论将32kbit/s的cvsd变换为16位的线性pcm的方法。

1.零点的选取与对应的建立当传输的二进制数字码流c(n)中交替出现1、0码,则信号的斜率为零。如果某一时隙有m(可定为32、64等)个交替的1、0码,则该时隙对应pcm的零点,即此时隙为变换以后的pcm码的零点,也就是说,有:cvsd—→pcm(1010…10)—→0设k个交替的1、0码之后的第一比特为c(1),第二比特为c(2),…,第n比特为c(n),…,对应的pcm码值分别为pcm(1),pcm(2), …,pcm(n),…,而pcm(0)=0。这时,如果c(1)=1,则pcm(1)=pcm(0)+△,如果c(1)=0,则pcm(1)=pcm(0)-△,如果c(2)=1,则pcm(2)=pcm(1)+△,如果c(2)=0,则pcm(2)=pcm(1)-△,如果c(3)=1,则pcm(3)=pcm(2)+△,如果c(3)=0,则pcm(3)=pcm(2)-△,从c(4)开始,考虑 值的变化,如果c(4) = c(3) = c(2) = c(1) (1)则△(4)=△ +△o,如果(1)式不成立,则△(4)=β·△ ,这时就可确定pcm(4)的值,如果c(4)=1,则pcm(4)=pcm(3)+△(4),如果c(4)=0,则pcm(4)=pcm(3)-△(4);同样可确定pcm(5),如果c(5) = c(4) = c(3) = c(2) (2)则 (5)= (4)+△0,如果(2)式不成立,则△(5)=β·△(4),这时,如果c(5)=1,则pcm(5)=pcm(4)+△(5),如果c(5)=0,则pcm(5)=pcm(4)-△(5);余类推…,这即建立了cvsd码流到pcm码的对应。

2.抽样频率32~8khz的变换在增量调制中,抽样频率不是由抽样定理确定的,而是由量化信噪比决定的,而且数码率与抽样频率在数值上是相等的。即32kbit/s的数码率,其抽样频率为32khz,16kbit/s的数码率抽样频率为16khz。为了获得8khz的pcm抽样频率,对于32khz的cvsd,可在每4个样点中选择一个作为pcm抽样点。具体地讲,在上面得到的pcm样点pcm(0),pcm(1),pc m(2),…,pcm(n),…中,抽取pcm(0),pcm(4),pcm(8),…,pcm(4n),…,即可得到8khz的pcm抽样频率。

3.重新回到零点在进行码变换时,要不断地寻找新零点,即m个交替的1、0码。如果出现新的零点,对应的pcm码值应回到零,否则,经过一定的时隙,pcm的码值即达到饱和状态,从而出现码型变换带来的失真。

4.衰减因子β的计算在cvsd的算法中,由音节时间常数τ=t/(1-β),可知β=1—t/τ一般情况下,τ=5~10ms,对于32khz与l 6khz的cvsd,容易计算出β的值。

5.量阶△与△0的实验测试对于由cvsd变换后的16位pcm码,如果量阶△与△0选择得过大,会出现噪声;△与△0过小,则语图起伏很小,失真较大。经测试△在10的量级较合适,△0可比△小一些,这样即可获得较好的语音质量。

综上所述、就可实现从32khz的cvsd编码到8khz的16位pcm编码的变换,要进行其它dm编码到不同pcm编码的变换,用以上方法亦不难实现。


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
无人机新突破:或将利用手机发射塔追踪无人机