<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > EDA/PCB > 設計應用 > CVSD算法分析及其在FPGA中的實(shí)現

CVSD算法分析及其在FPGA中的實(shí)現

作者: 時(shí)間:2009-05-07 來(lái)源:網(wǎng)絡(luò ) 收藏

0 引 言
在眾多的語(yǔ)音編譯碼調制中,連續可變斜率增量調制()作為許多增量調制中的一種,只需編一位碼,在發(fā)送端與接收端之間不需要碼型同步,量階△的大小能自動(dòng)地跟蹤信號變化,因而具有強抗誤碼能力,在10-3時(shí)仍可保持高質(zhì)量的話(huà)音。目前市場(chǎng)上有的專(zhuān)用芯片,但專(zhuān)用芯片的通用性、靈活性和可擴展性受到了很大的限制,并且產(chǎn)品的開(kāi)發(fā)周期長(cháng),開(kāi)發(fā)成本也較高。專(zhuān)用芯片只能實(shí)現一路編譯碼,在需要多路CVSD編譯碼時(shí)則需要很多專(zhuān)用芯片,具有局限性;而單片容易實(shí)現多路CVSD編譯碼功能。此外如果專(zhuān)用芯片停產(chǎn)或者買(mǎi)不到,已有的通信設備維修將會(huì )因器件缺乏導致后續工作無(wú)法開(kāi)展。為了彌補專(zhuān)用CVSD芯片的不足,同時(shí)也方便在現場(chǎng)可編程門(mén)陣列()中增加一些其他相關(guān)的應用功能,因此在中實(shí)現CVSD語(yǔ)音編譯碼調制功能的前景將是非常廣闊的。
這里將詳細介紹基于FPGA的CVSD語(yǔ)音編譯碼的設計思路、具體實(shí)現以及和專(zhuān)用芯片CMX639之間的互相通信。

本文引用地址:http://dyxdggzs.com/article/192064.htm


l CVSD工作原埋
CVSD是一種量階△隨著(zhù)輸入語(yǔ)音信號平均斜率(斜率絕對值的平均值)大小而連續變化的增量調制方式。它的工作原理如下:用多個(gè)連續可變斜率的折線(xiàn)來(lái)逼近語(yǔ)音信號,當折線(xiàn)斜率為正時(shí),對應的數字編碼為“1”;當折線(xiàn)斜率為負時(shí),對應的數字編碼為“0”。
當CVSD工作于編碼方式時(shí),其系統框圖如圖1所示。語(yǔ)音信號xin(t)經(jīng)采樣得到數字信號x(n),數字信號x(n)與積分器輸出信號g(n)比較后輸出誤差信號d(n),誤差信號d(n)經(jīng)判決后輸出數字編碼c(n),同時(shí)該信號作為積分器輸出斜率的極性控制信號和積分器輸出斜率大小邏輯的輸入信號。在每個(gè)時(shí)鐘周期內,若語(yǔ)音信號大于積分器輸出信號,則判決輸出為“1”,積分器輸出上升一個(gè)量階△;若語(yǔ)音信號小于積分器輸出信號,則判決輸出為“0”,積分器輸出下降一個(gè)量階△。當CVSD工作于譯碼方式時(shí),其系統框圖如圖2所示。在每個(gè)時(shí)鐘周期內,數字編碼c(n)被送到連碼檢測器,然后送到平滑電路以控制積分器輸出斜率的大小。若數字編碼c(n)輸入為“1”,則積分器的輸出上升一個(gè)量階△,若數字輸入為“O”,則積分器的輸出下降一個(gè)量階△,這相當于編碼過(guò)程的逆過(guò)程。積分器的輸出g(n)通過(guò)低通濾波器平滑濾波后將重現輸入語(yǔ)音信號xout(t)??梢?jiàn)輸入信號的波形上升越快,輸出的連“1”碼就越多,同樣下降越快,輸出的連“O”碼越多,CVSD編譯碼能夠很好地反映輸入信號的斜率大小,有效地避免了斜率過(guò)載失真和顆粒失真。為使積分器的輸出能夠更好地逼近輸入語(yǔ)音信號,量階△隨著(zhù)輸入信號斜率大小而變化,當信號斜率絕對值很大,編碼出現3個(gè)或4個(gè)連“l(fā)”或連“O”碼時(shí),則量階△加一個(gè)增量△0;當不出現上述碼型時(shí),量階△則相應地減少。

2 CVSD的軟件算法
2.1 CVSD的編碼算法
圖3是CVSD編碼算法框圖,其量階△調整是基于前3位的連碼。x(n)是語(yǔ)音經(jīng)過(guò)采樣得到的數字信號,數字信號x(n)與積分器地I1輸出的預測信號xp(n)經(jīng)過(guò)比較后輸出誤差信號d(n),誤差信號d(n)經(jīng)一階量化(d(n)≥0,c(n)=1;d(n)0,c(n)=O)得到輸出的數字編碼c(n),該信號同時(shí)作為積分器I2的極性控制信號和控制積分器I2輸出斜率大小邏輯的輸入信號。當輸出碼出現連續的“1”碼或者連續的“0”碼,則說(shuō)明信號波形的斜率較大,因此量階△需要適當增加,當輸出碼c(n)長(cháng)時(shí)間沒(méi)有出現連碼,則積分器I2向“O”值方向衰減,量階△減小。最小和最大階距是由△MIN和△MAX分別確定的。當長(cháng)時(shí)間沒(méi)有出現連碼,CVSD編碼器退化為一個(gè)線(xiàn)性增量調制(LDM)編碼器。

2.2 CVSD的譯碼算法


上一頁(yè) 1 2 3 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>