王耀磊++許國宏++李強(qiáng)++張曙光
摘要:為解決語音通信過程中存儲空間和信號帶寬的限制,實現(xiàn)高壓縮率語音傳輸,設(shè)計了一種低速率語音編碼模塊。該模塊由語音編解碼專用芯片MA24126-P1,音頻codec芯片TLV320AIC23,單片機(jī)以及相關(guān)接口電路構(gòu)成,可實現(xiàn)600bps,1200bps以及2400bps三種速率下的語音編解碼處理。經(jīng)測試,經(jīng)該模塊編解碼后的語音信號具有較高的清晰度、可懂度、自然度。
關(guān)鍵詞:MA24126-P1;TLV320AIC23;低速率語音編解碼
中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2017)04-0247-03
Low Rate Voice Compression Modules Design
WANG Yao-Lei,XU Guo-Hong,LI Qiang,ZHANG Shu-Guang
(China Research Institude of Radio Wave Propagation, QingDao 266107, China)
Abstract:In order to solve the limitation of storage space and signal bandwidth in speech communication, a low rate speech coding module is designed to realize high compression rate voice transmission. The module consists of voice codec chip MA24126-P1, audio codec chip TLV320AIC23, mictocontroller and related interface circuit, can achieve 600bps, 1200bps and 2400bps at three rates of voice. After testing, the speech signal afer the module is compiled and decoded has high definition, intelligibility and naturalness.
Key words: MA24126-P1;TLV320AIC23;Low-rate speech codec;
1 概述
語音傳輸是目前最普遍的通信傳輸服務(wù),尤其在短波通信中,考慮到存儲空間、信道帶寬的現(xiàn)在,可采用低速率編碼技術(shù)對語音信號進(jìn)行壓縮,將較高碼率的語音信號,壓縮成較低的碼率,以滿足系統(tǒng)對存儲空間以及信號帶寬的要求[[1]]。本文采用國產(chǎn)低碼率語音編解碼芯片MA24126-P1,實現(xiàn)一種低碼率語音編解碼模塊的設(shè)計,編碼速率可在600bps、1200bps以及2400bps中靈活選擇。
2 模塊總體結(jié)構(gòu)
設(shè)計的低碼率語音壓縮模塊主要由語音編解碼專用芯片MA24126-P1、音頻codec芯片TLV320AIC23、單片機(jī)GD32F103RCT6以及相關(guān)接口電路組成,如圖1所示。
語音信號經(jīng)codec芯片TLV320AIC23采集后,送至語音編解碼芯片MA24126-P1進(jìn)行編碼,并將編碼結(jié)果通過串口發(fā)送給單片機(jī),單片機(jī)利用內(nèi)部DA對編碼信號按FSK的方式進(jìn)行調(diào)制,將調(diào)制后的信號進(jìn)行相關(guān)調(diào)理并發(fā)射;同樣,接收到的調(diào)制信號進(jìn)行相關(guān)調(diào)理后,送至單片機(jī)內(nèi)部AD進(jìn)行采集,轉(zhuǎn)換為數(shù)字信號,并進(jìn)行FSK的解調(diào),將解調(diào)信號發(fā)給語音編解碼芯片MA24126-P1進(jìn)行解碼,并將解碼后的結(jié)果發(fā)給TLV320AIC23芯片,進(jìn)行數(shù)模轉(zhuǎn)換,變成語音信號。
3 低碼率語音壓縮模塊的具體設(shè)計
本模塊由語音信號采集回放電路、信號編解碼電路、控制電路、信號調(diào)理電路以及電源電路等幾部分構(gòu)成。
3.1 語音信號采集回放電路
語音信號采集回放電路主要由TLV320AIC23芯片及相關(guān)外圍電路構(gòu)成,如圖2所示。TLV320AIC23是TI公司生產(chǎn)的一種高性能立體聲音頻編解碼芯片,對輸入和輸出信號具有可編程增益調(diào)節(jié)功能。該芯片的模數(shù)轉(zhuǎn)換和數(shù)模轉(zhuǎn)換部件集成在芯片內(nèi)部,可以在到8K到96K的頻率范圍內(nèi)提供16bit、20bit和32bit的采樣[[2]]。在本設(shè)計中,采用16bit 8K采樣即可滿足系統(tǒng)需求。
3.2 信號編解碼電路
信號編解碼電路可實現(xiàn)對語音信號的壓縮或解壓,即可對采集到的語音數(shù)據(jù)進(jìn)行編碼壓縮,同時也可將壓縮的語音信號進(jìn)行解碼還原。該電路主要由MA24126-P1芯片實現(xiàn)。
MA24126-P1是深圳邁可為科技有限公司自主研發(fā)的一款多碼率語音編解碼芯片。該算法結(jié)合了二元激勵、碼激勵和多帶激勵的優(yōu)點,將短時語音劃分為若干子帶,在每個子帶中分別進(jìn)行清濁音判決。在合成端,采用周期性脈沖和隨機(jī)噪聲的混合序列去激勵語音合成濾波器,能在較低的碼率下得到較高質(zhì)量的再生語音[[3]]。
MA24126-P1內(nèi)置片內(nèi) FLASH 和 RAM,可單芯片實現(xiàn)語音的實時編解碼,無需外掛存儲器,降低了系統(tǒng)設(shè)計的復(fù)雜性。MA24126-P1支持 600bps、1200bps 和2400bps 三種編碼速率,速率的選擇可由芯片外部管腳或軟件命令進(jìn)行控制。
MA24126-P1可無縫連接TLV320AIC23,上電自動對其配置,無需用戶干預(yù)。采用串口與單片機(jī)連接,可通過串口實現(xiàn)語音用編碼數(shù)據(jù)的讀出和寫入,且這個過程是異步、全雙工的。
本設(shè)計中,將TLV320AIC23的BCLK、DIN、LRCIN、DOUT、LRCOUT、SCLK、SDIN、CS等管腳分別與MA24126-P1的對應(yīng)管腳相連,即可實現(xiàn)對MA24126-P1對TLV320AIC23控制以及數(shù)據(jù)傳輸;MA24126-P1芯片上有一串口,將該串口與單片機(jī)相連[[4]],即可通過單片機(jī)實現(xiàn)與MA24126-P1的數(shù)據(jù)傳輸,并且可以控制該芯片選擇不同的編解碼速率、工作模式以及工作狀態(tài)等。
3.3 控制電路
通信控制電路用于實現(xiàn)模塊與上位機(jī)或調(diào)制解調(diào)器的通信,并實現(xiàn)對芯片的控制。該電路主要由單片機(jī)和串口芯片組成。
單片機(jī)選用北京銳鑫同創(chuàng)科技有限公司出品的GD32F103RCT6系列單片機(jī),該單片機(jī)主頻為108MHz,提供了出色的處理性能。片內(nèi)閃存為256K,RAM為48K,集成了豐富的外部接口,并配有12位ADC和DAC[[5]]。在本設(shè)計中,利用該單片機(jī)實現(xiàn)對信號編解碼電路的控制,并實現(xiàn)FSK。
3.4 FSK設(shè)計
FSK是利用載波的頻率變化來傳遞數(shù)字信息,即幅度恒定不變的載波信號的頻率隨著輸入碼流的變化而切換(稱為高音和低音,代表二進(jìn)制的1 和0)[[6]]。
在本設(shè)計中利用單片機(jī)軟件來實現(xiàn)FSK的調(diào)制與解調(diào)。首先是基帶信號的產(chǎn)生,它也是我們要調(diào)制和解調(diào)的目標(biāo)。基帶信號由一連串隨機(jī)的碼元序列構(gòu)成, 接下來要產(chǎn)生載波,載波就是正弦波無疑。正弦波的產(chǎn)生用的是單片機(jī)的DMA+DAC+TIM2。正弦波的數(shù)據(jù)用正弦波數(shù)據(jù)發(fā)生器產(chǎn)生,采樣點數(shù)64,精度12位,保存在數(shù)組中。生成正弦波后自然是要把兩個正弦波組合在一起形成FSK信號,這個組合當(dāng)然不是隨意組合,是要在基帶信號的控制下進(jìn)行。這便完成了FSK的調(diào)制。
接下來就是解調(diào),本設(shè)計中用了兩次解調(diào)才把基帶信號完整復(fù)現(xiàn)出來。初步解調(diào)代碼,用的是TIM1的輸入捕獲模塊, 選擇輸入捕獲是因為對于FSK信號來說,它由兩個不同頻率的正弦波組成,單片機(jī)默認(rèn)的高電平在2V以上,低電平在0.8V以下。通過測量從上升沿到下降沿這段時間,與閾值比較大于閾值的碼元即為“0”,反之則為“1”。 然而這只是我們初步解調(diào)出來的結(jié)果,由過渡帶的影響,最終得到的碼元序列“1”的持續(xù)時間長于碼元為“0”的持續(xù)時間,信號的碼速率不是設(shè)計的碼率,所以我們需要進(jìn)行二次解調(diào)。二次解調(diào)的關(guān)鍵在于定時器TIM5的同步作用。用TIM5定時為設(shè)計碼率,然后開始同步,通過判斷初步解調(diào)信號的碼元序列,得到二次解調(diào)信號的碼元。完成FSK的解調(diào)。
4 系統(tǒng)測試
對模塊進(jìn)行測試,將模塊設(shè)置為自回環(huán)模式,輸入同一段語音信號,利用cool edit軟件錄制成音頻文件并分析,依次設(shè)置編碼速率為2400bps、1200bps以及600bps,得到光譜圖如下圖所示:
可見,在光譜圖中,原始語音信號與重建后語音信號光譜結(jié)構(gòu)差別較?。恢饔^聽覺測試表明經(jīng)重建后的語音信號具有較高的可懂度,清晰度以及自然度。
5 結(jié)束語
本文設(shè)計的基于MA24126-P1的低碼率語音壓縮模塊具有較高的可懂度,清晰度以及自然度,可用于對存儲空間、信號帶寬要求較高的語音通訊系統(tǒng)中,具有較為廣闊的應(yīng)用空間。
參考文獻(xiàn):
[1] 朱敏杰,王海,梁偉.一種低速率語音編解碼系統(tǒng)設(shè)計[J]. 實驗室研究與探索,2014(1):115-118.
[2] 深圳市邁可為科技有限公司.MA24126-P1語音編解碼芯片數(shù)據(jù)手冊[Z],2015.
[3] Texas Instruments. TLV320AIC23B Stero Audio CODEC 8 to 90kHz With Intergrated Headphone Amplifier[Z],2004.
[4] 深圳市邁可為科技有限公司. MA24126-P1連接MCU的應(yīng)用說明[Z],2015.
[5] GigaDevice Semiconductor Inc .GD32F103XX ARM Cortex-M3 32-bit MCU[Z],2013.
[6] 許國宏,宋征,王耀磊.多通道2ASK/2FSK信號源的設(shè)計與實現(xiàn)[J]. 電腦知識與技術(shù),2016(7):257-259.