增量調(diào)制算法的進展及其CVSD—PCM數(shù)碼變換
出處:chenjunhua 發(fā)布于:2007-04-20 16:28:29
摘要:本文探討了增量調(diào)制算法的進展,介紹了幾種實用的ADM算法,,詳細論述了CVSD—PCM數(shù)碼變換?!?/FONT>
關鍵詞:增量調(diào)制算法,脈沖編碼調(diào)制,數(shù)碼變換
一、引 言
現(xiàn)在,雖然中、低速率的語音編碼發(fā)展很快,有16kbit/s速率的低遲延碼激勵線性預測(LD—CELP)語音編碼(G.728建議),還有8kbit/s共扼結(jié)構(gòu)代數(shù)碼激勵線性預測(CS—ACELP)語音編碼(G.729建議)等64kbit/s標準PCM系統(tǒng)仍占有統(tǒng)治地位。它已極為廣泛地應用于數(shù)字通信、數(shù)字交換機及一切語音數(shù)字化接口?! ?
增量調(diào)制(△M)是繼PCM后出現(xiàn)的又一種模擬信號數(shù)字化的方法,因其有強抗誤碼能力,所以,從70年代開始,被廣泛用于軍事通信網(wǎng)以及航天通信系統(tǒng)中。
PCM編碼有統(tǒng)一的國際標準。一般的多媒體計算機都可以聽不同速率的PCM話音。因此,使用本文介紹DM—PCM數(shù)碼變換,由計算機即可聽一般的△M話。本文第二部分介紹ADM的主要算法,第三部分詳細討論連續(xù)可變斜率增量調(diào)制(CVSD)—PCM的數(shù)碼變換,其方法亦可用于其它的DM—PCM數(shù)碼變換。 二、自適應增量調(diào)制(ADM)的主要算法 PCM編碼是對抽樣值S(n)直接進行編碼?!鱉是對兩個相鄰樣值的差值進行編碼,實際應用的增量調(diào)制總是設計成△的大小隨信號大小而變的自適應增量調(diào)制(ADM)。它的工作特點是:信號斜率變大時,增量△也跟著自動變大;反之,信號斜率變小時,增量△也跟著自動變小。如何從傳輸?shù)亩M制數(shù)字碼流c(n)中提取對計算△(n)有用的信息,是設計實用算法的關鍵。c(n)碼流傳送的是信號的斜率信息,當同符號c(n)連續(xù)出現(xiàn)時,則斜率變大;當c(n)交替出現(xiàn)1、0碼時,則斜率為零。近年來,在ADM體制上開展了不少研究工作、下面介紹幾種較為實用有效的算法。 b(n) b(n-1) b(n-2) M(n) 1 1 1 1.5 0 0 0 1.5 0 0 1 1 1 1 0 1 0 1 1 0.66 1 0 0 0.66 1 0 1 0.66 0 1 0 0.66 5.CVSD算法 三、CVSD—PCM數(shù)碼變換 CVSD也叫數(shù)字檢測音節(jié)壓擴增量調(diào)制,進入實用階段已有十多年的歷史。在美國和西歐北約各國的軍事通信網(wǎng)中CVSD算法應用為廣泛。一般使用16kbit/s或32kbit/s數(shù)碼率的CVSD調(diào)制方式。16kbit/s的CVSD為3連“1”或連“0”的數(shù)字檢測算法 。而32kbit/s的CVSD為4連“1”或連“0”的數(shù)字檢測算法。目前商用的ADM多數(shù)為32kbit/s的CVSD。所以,下面主要討論將32kbit/s的CVSD變換為16位的線性PCM的方法。 1.零點的選取與對應的建立 2.抽樣頻率32~8kHz的變換 3.重新回到零點 4.衰減因子β的計算 5.量階△與△0的實驗測試 綜上所述、就可實現(xiàn)從32kHz的CVSD編碼到8kHz的16位PCM編碼的變換,要進行其它DM編碼到不同PCM編碼的變換,用以上方法亦不難實現(xiàn)。
1.常因子自適應增量調(diào)制(CFDM)算法

式中![]()
2.高信息自適應增量調(diào)制(HIDM)算法

3.Song算法

這種算法后來經(jīng)改進用到了航天飛機中。
4.混合自適應增量調(diào)制(HCDM)算法
M(n)的選取見表1。
表1 M(n)的真值表
這種算法應用為廣泛。一般是檢測3~4個比特有無同極性碼,若有,則增加△值,否則,靠濾波器自由衰減△值。算法為:

式中。
由下式?jīng)Q定

β為控制量階衰減的因子,滿足τ=T/(1-β)為音節(jié)時間常數(shù),一般為5—10 ms。
當傳輸?shù)亩M制數(shù)字碼流c(n)中交替出現(xià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碼的對應。
在增量調(diào)制中,抽樣頻率不是由抽樣定理確定的,而是由量化信噪比決定的,而且數(shù)碼率與抽樣頻率在數(shù)值上是相等的。即32kbit/s的數(shù)碼率,其抽樣頻率為32kHz,16kbit/s的數(shù)碼率抽樣頻率為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抽樣頻率。
在進行碼變換時,要不斷地尋找新零點,即m個交替的1、0碼。如果出現(xiàn)新的零點,對應的PCM碼值應回到零,否則,經(jīng)過一定的時隙,PCM的碼值即達到飽和狀態(tài),從而出現(xiàn)碼型變換帶來的失真?! ?/FONT>
在CVSD的算法中,由音節(jié)時間常數(shù)τ=T/(1-β),可知
β=1—T/τ
一般情況下,τ=5~10ms,對于32kHz與l 6kHz的CVSD,容易計算出β的值。
對于由CVSD變換后的16位PCM碼,如果量階△與△0選擇得過大,會出現(xiàn)噪聲;△與△0過小,則語圖起伏很小,失真較大。經(jīng)測試△在10的量級較合適,△0可比△小一些,這樣即可獲得較好的語音質(zhì)量。
版權與免責聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://m.58mhw.cn,違反者本網(wǎng)將追究相關法律責任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔此類作品侵權行為的直接責任及連帶責任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負版權等法律責任。
如涉及作品內(nèi)容、版權等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關權利。
- 什么是氫氧燃料電池,氫氧燃料電池的知識介紹2025/8/29 16:58:56
- SQL核心知識點總結(jié)2025/8/11 16:51:36
- 等電位端子箱是什么_等電位端子箱的作用2025/8/1 11:36:41
- 基于PID控制和重復控制的復合控制策略2025/7/29 16:58:24
- 什么是樹莓派?一文快速了解樹莓派基礎知識2025/6/18 16:30:52









