試議對(duì)講機(jī)中語(yǔ)音編碼
時(shí)間:2022-12-12 11:34:13
導(dǎo)語(yǔ):試議對(duì)講機(jī)中語(yǔ)音編碼一文來源于網(wǎng)友上傳,不代表本站觀點(diǎn),若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。
一、數(shù)字對(duì)講機(jī)系統(tǒng)的語(yǔ)音處理模塊
根據(jù)數(shù)字對(duì)講機(jī)的特點(diǎn),它的設(shè)計(jì)系統(tǒng)由四部分組成,其中最重要的是語(yǔ)音處理模塊的設(shè)計(jì)。它的設(shè)計(jì)原理是采用微處理器ARM單片機(jī)接收數(shù)據(jù)和編碼、解碼等工作,語(yǔ)音編碼數(shù)據(jù)由DVSIAMBE+2DSP芯片進(jìn)行處理,微處理器ARM在處理數(shù)據(jù)時(shí),采用TDD幀方式封裝和控制數(shù)據(jù),使輸入和輸出處接口設(shè)置定時(shí)器,可以接收與發(fā)送模式轉(zhuǎn)換進(jìn)行控制。
1.語(yǔ)音處理模塊的設(shè)計(jì)思路語(yǔ)音處理模塊將模擬信號(hào)轉(zhuǎn)化為PCM數(shù)字信號(hào),數(shù)字信號(hào)由DSP芯片進(jìn)行語(yǔ)音壓縮編碼,使輸入的數(shù)字信號(hào)轉(zhuǎn)化為語(yǔ)音,便于在一定的信道內(nèi)傳輸更多的信息,既能節(jié)約無(wú)線信道寬帶,還能提高系統(tǒng)的抗干擾能力,使無(wú)線傳輸距離更強(qiáng)。語(yǔ)音編碼的算法采用電信推出的DPMR的語(yǔ)音壓縮編碼方式進(jìn)行。該算法在波形編碼和參數(shù)編碼的基礎(chǔ)上,結(jié)合預(yù)測(cè)編碼,采用矢量量化和合成分析的技術(shù)方法,對(duì)源代碼進(jìn)行了優(yōu)化,使語(yǔ)音處理控制在100ms以下,能夠滿足無(wú)線語(yǔ)音通信的功能。在8kbps傳輸碼率下,提高了話音質(zhì)量,具有較短的時(shí)延性。和以往的編碼方式相比,編碼更簡(jiǎn)單,是目前無(wú)線通信方式中最理想的語(yǔ)音壓縮編碼方式。下面介紹一下源代碼優(yōu)化的具體方法。
(1)改進(jìn)了自適應(yīng)碼的搜索方法。改變語(yǔ)音數(shù)據(jù)幀中的原來80個(gè)采樣點(diǎn)為40個(gè)偶數(shù)點(diǎn),優(yōu)化了開環(huán)基音搜索算法。
(2)改進(jìn)了固定碼的搜索方法。優(yōu)化了碼書搜索,使原來的8個(gè)循環(huán)優(yōu)化為3個(gè)多層循環(huán)搜索法。
(3)對(duì)程序設(shè)計(jì)進(jìn)行優(yōu)化。對(duì)沒有必要的溢出保護(hù)去除掉,大量的基本運(yùn)算用宏進(jìn)行定義,這樣可以提高程序的執(zhí)行效率。在完成以上三步的優(yōu)化后,再用CCS的優(yōu)化器進(jìn)行優(yōu)化,大大提升了編譯后的代碼容量,速度也加快,語(yǔ)音處理的延時(shí)速度更快,降低到10ms以下。
2.DSP芯片介紹以及編、解碼的算法在選擇DSP芯片時(shí),選用的是CMX618處理芯片,它是最新改進(jìn)的芯片,它的最大特點(diǎn)是具有兩個(gè)算數(shù)乘法器,四個(gè)累加器,兩個(gè)算術(shù)邏輯部件,算數(shù)乘法器采用的是17bit×17bit的,算術(shù)邏輯部件采用的是40位和16位的各一個(gè),它的運(yùn)算速度可高達(dá)400MPS,大大增強(qiáng)了芯片的運(yùn)算能力。這種芯片的DMA接口具有6個(gè)通道,它具有USB全速接口和I2C接口,還具有一個(gè)64KBytes的DRAM控制器和一個(gè)192KBytes的SDRAM;它具有多通道緩沖串口,能夠提供3個(gè)McBSP串口,使芯片之間的數(shù)據(jù)交換效率提高了幾倍。它的外部存儲(chǔ)器具有更佳高效的接口,便于與外部設(shè)備的連接,使連接更緊密,同時(shí)還能夠擴(kuò)大DSP的外部存儲(chǔ)器空間,大大滿足了系統(tǒng)的要求。通過闡述以上各種芯片的優(yōu)點(diǎn),使TDD數(shù)字對(duì)講機(jī)實(shí)現(xiàn)了語(yǔ)音壓縮編碼的功能。SDRAM擴(kuò)展了容量,改進(jìn)為128K×16bit,F(xiàn)LASH的存儲(chǔ)空間也擴(kuò)展為512K×16bit的片外存儲(chǔ)器,使得語(yǔ)音緩存數(shù)據(jù)不再占有更多的內(nèi)存儲(chǔ)空間,上電復(fù)位后,便于程序的加載,使外部存儲(chǔ)器和C5509A的連接更佳緊密無(wú)縫。CMX618的編碼速率高達(dá)8kb/s,它的編碼算法是共軛結(jié)構(gòu)的代數(shù)碼激勵(lì)線性預(yù)測(cè)。
當(dāng)它工作時(shí),CMX618芯片的編碼算法采用如下的辦法:A/D首先轉(zhuǎn)換為PCM碼,PCM碼是16位的,它再通過McBSP0口發(fā)送至雙緩沖區(qū),發(fā)送的方式采用DMA的方式,接收緩沖區(qū)每接收一個(gè)PCM碼就會(huì)發(fā)生一次DMA操作。當(dāng)接收到80個(gè)PCM碼時(shí),已經(jīng)發(fā)生了80次DMA操作,最終導(dǎo)致CPU中斷,這80個(gè)PCM碼被稱為一幀,當(dāng)傳至G729A時(shí),主程序被壓縮進(jìn)行編碼,編完碼后數(shù)據(jù)自動(dòng)存入McSSP1口,繼續(xù)發(fā)送至緩沖區(qū),McBSP0繼續(xù)采集新的數(shù)據(jù)。就這樣反復(fù)的采集數(shù)據(jù),觸發(fā)CPU中斷,采集到的數(shù)據(jù)再被發(fā)送出去。解碼的過程正好和編碼的過程相反,首先通過McBSP1口接收比特流,接收的方式和發(fā)送的方式一樣都以DMA的方式,由CMX618主程序進(jìn)行解碼,然后輸出采集數(shù)據(jù),發(fā)送至McBSP0口的發(fā)送緩沖區(qū),最終發(fā)送至A/D口,最后轉(zhuǎn)換成語(yǔ)音模擬信號(hào)。
二、結(jié)束語(yǔ)
通過以ARMDSP芯片為基礎(chǔ)講解了對(duì)講機(jī)是如何進(jìn)行編、解碼的過程,該對(duì)講機(jī)具有強(qiáng)大的邏輯運(yùn)算功能,能夠進(jìn)行語(yǔ)音的壓縮和編解碼功能。本對(duì)講機(jī)功耗低,具有可擴(kuò)展性和高信噪比,應(yīng)用于短距離無(wú)線語(yǔ)音傳輸?shù)念I(lǐng)域,成本低,好控制,在工業(yè)生產(chǎn)和商業(yè)活動(dòng)中起著重要作用。
作者:張翎影單位:東南大學(xué)