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