《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 新型聲碼器CMX638及應(yīng)用設(shè)計(jì)
新型聲碼器CMX638及應(yīng)用設(shè)計(jì)
ednchina
呂錫釗 肖化
華南師范大學(xué)
摘要: 語(yǔ)音編解碼技術(shù)的迅速發(fā)展,使中低速率語(yǔ)音編碼技術(shù)廣泛應(yīng)用于現(xiàn)代移動(dòng)通信。初期的脈沖編碼調(diào)制PCM方案?jìng)鬏斔俾蕿?4 Kb/s,占用的頻帶寬,成本高。在實(shí)際通信中,有些信道難以擴(kuò)展且質(zhì)量差,而有些信道正廣泛使用,短期內(nèi)難以更新;有些昂貴的信道,壓縮每一個(gè)比特都意味著節(jié)省成本。如何在較窄的帶寬內(nèi)傳送更多的語(yǔ)音數(shù)據(jù),這就要求利用各種壓縮編碼技術(shù)來(lái)擴(kuò)大通信容量。因此,這里給出了基于新型語(yǔ)音編碼器CMX638的應(yīng)用設(shè)計(jì)方案。
Abstract:
Key words :

  l 引言

  語(yǔ)音編解碼技術(shù)的迅速發(fā)展,使中低速率語(yǔ)音編碼技術(shù)廣泛應(yīng)用于現(xiàn)代移動(dòng)通信。初期的脈沖編碼調(diào)制PCM方案?jìng)鬏斔俾蕿?4 Kb/s,占用的頻帶寬,成本高。在實(shí)際通信中,有些信道難以擴(kuò)展且質(zhì)量差,而有些信道正廣泛使用,短期內(nèi)難以更新;有些昂貴的信道,壓縮每一個(gè)比特都意味著節(jié)省成本。如何在較窄的帶寬內(nèi)傳送更多的語(yǔ)音數(shù)據(jù),這就要求利用各種壓縮編碼技術(shù)來(lái)擴(kuò)大通信容量。因此,這里給出了基于新型語(yǔ)音編碼器CMX638的應(yīng)用設(shè)計(jì)方案。

  2 CMX638簡(jiǎn)介

  CMX638是一款高集成,高性能全雙工語(yǔ)音編解碼器,采用魯棒的先進(jìn)低復(fù)雜性波形插入技術(shù),提供超低位速率下長(zhǎng)話級(jí)音質(zhì)性能,且具有FEC(前向糾錯(cuò))、SDD(軟決策解碼)、DTX(非連續(xù)發(fā)送檢測(cè))、VAD(語(yǔ)音激活檢測(cè))、CNG(舒適噪聲發(fā)生)、STD和DTMF信號(hào)檢測(cè)功能。因此,該語(yǔ)音編解碼器可廣泛用于語(yǔ)音存儲(chǔ)和回放、VoIP、數(shù)字PMR/LMR、再生數(shù)字語(yǔ)音中繼等領(lǐng)域。

  2.1 主要特性

  CMX638具有以下主要特性:長(zhǎng)話級(jí)音質(zhì)魯棒先進(jìn)的低復(fù)雜性波形插入編碼算法:多種壓縮速率模式則為2 050 b/s,2 400 b/s、2 750 b/s或3 600 b/s(帶FEC功能);集成16位A/D和D/A轉(zhuǎn)換器、模擬增益放大器和數(shù)字低通濾波器:數(shù)據(jù)包壓縮時(shí)間長(zhǎng)度分20 ms,40 ms,60 ms和80 ms;具有VAD、CNG、STD和DTMF功能;+1.8 V和+3.3 V雙電源供電:采用48引腳LQFP(L4)和48引腳VQFN(Q3)封裝;工作溫度范圍為-40℃~+85℃。

  2.2 內(nèi)部結(jié)構(gòu)

  CMX638的內(nèi)部結(jié)構(gòu)包括模擬和數(shù)字兩部分,加圖1所示。當(dāng)端口CSEL輸入低電平時(shí),即選擇使用外部語(yǔ)音解碼器(CODEC),可通過(guò)串行接口SSP 與外部器件交換數(shù)據(jù),編碼器和解碼器選擇片外CODEC的數(shù)據(jù)通道,端口EEC和REC輸出分別使能和復(fù)位片外的CODEC;當(dāng)CSEL輸入高電平時(shí),CMX638選用內(nèi)部CODEC模塊,該模塊包括輸入/輸出通道的可編程增益放大器(PGA),16位PCM A/D和D/A轉(zhuǎn)換器以及通帶頻率為4 kHz的低通濾波器,可有效實(shí)現(xiàn)模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)及數(shù)字信號(hào)轉(zhuǎn)換成模擬信號(hào)的過(guò)程。主機(jī)通過(guò)控制總線C-BUS接口配置內(nèi)部寄存器,實(shí)現(xiàn)不同功能;端口SYNC使主機(jī)與CMX638同步;語(yǔ)音壓縮編碼器將源信號(hào)壓縮成低比特率的數(shù)據(jù)幀,解碼器把數(shù)據(jù)幀解壓縮,恢復(fù)源信號(hào);如果使用FEC功能,開關(guān)則選擇前向糾錯(cuò)編碼器和解碼器,兩者加入到數(shù)據(jù)的壓縮和解壓縮過(guò)程中:STD/DTMF管理模塊提供語(yǔ)音信號(hào)的特殊處理功能,實(shí)現(xiàn)單音或雙音檢測(cè),提高語(yǔ)音壓縮和解壓質(zhì)量。

CMX638的內(nèi)部結(jié)構(gòu)

  2.3 與AMBE2000相比較

  與同類競(jìng)爭(zhēng)產(chǎn)品語(yǔ)音壓縮編解碼器件AMBE2000相比CMX638具有以下特點(diǎn):采用RALCWI算法,速度快,質(zhì)量好且結(jié)構(gòu)簡(jiǎn)單;片內(nèi)集成增益放大器,A/D和D/A轉(zhuǎn)換器,低通濾波器,能夠直接處理模擬信號(hào),提高信噪比;可選用外部語(yǔ)音CODEC,具有靈活性;壓縮速率雖無(wú)AMBE2000的選項(xiàng)多,但配合壓縮包時(shí)間長(zhǎng)度和FEC功能,可應(yīng)用于DMR TDMA和DMR FDMA及其他場(chǎng)合;封裝引腳數(shù)少,易于使用和布線,且成本低。表1列出CMX638與AMBE2000的異同點(diǎn)。

CMX638與AMBE2000的異同點(diǎn)

  3 CMX638工作原理

  3.1 編解碼過(guò)程

  3.1.1 不帶FEC的簡(jiǎn)單幀格式編解碼

  CMX638提供簡(jiǎn)單的編解碼數(shù)據(jù)幀格式,其壓縮速率包括2 050 b/s,2 400 b/s,2 750 b/s,此過(guò)程不帶FEC,STD和DTMF功能。CMX638每隔20 ms采集160個(gè)16位數(shù)據(jù)(A/D轉(zhuǎn)換器的采樣率為8 kHz),當(dāng)?shù)谝粋€(gè)20 ms結(jié)束后,開始編碼運(yùn)算,由于信號(hào)的異同會(huì)產(chǎn)生不同抖動(dòng)延時(shí),主機(jī)在40 ms的時(shí)刻讀取第一幀數(shù)據(jù)。以后每隔20 ms操作一次,形成流水線作業(yè)。在解碼過(guò)程中,在0 ms時(shí)刻主機(jī)向CMX638輸入一幀數(shù)據(jù)后,CMX638開始解碼運(yùn)算,與編碼相似也會(huì)出現(xiàn)算法抖動(dòng)延時(shí),第一個(gè)樣本的輸出時(shí)刻由內(nèi)部寄存器IDD決定,其延時(shí)應(yīng)確保輸出連續(xù)有效的數(shù)據(jù)。圖2為CMX638簡(jiǎn)單幀格式編解碼過(guò)程。

CMX638簡(jiǎn)單幀格式編解碼過(guò)程
  3.1.2 帶FEC的復(fù)雜幀格式編解碼

  CMX638可提供帶前向糾錯(cuò)的編解碼數(shù)據(jù)幀格式,其數(shù)據(jù)包長(zhǎng)度為60 ms,包括3幀數(shù)據(jù),其壓縮速率為3 600 b/s。CMX638在0時(shí)刻開始采樣,每隔20 ms進(jìn)行編碼運(yùn)算,會(huì)出現(xiàn)抖動(dòng)延時(shí),每隔60 ms插入一次FEC編碼(圖3黑色部分),在80 ms時(shí)刻一個(gè)數(shù)據(jù)包穩(wěn)定有效,主機(jī)讀出數(shù)據(jù),以后每隔60 ms操作一次。在解碼過(guò)程中,主機(jī)向CMX638輸入數(shù)據(jù)包后,開始對(duì)每一幀數(shù)據(jù)解碼運(yùn)算,并會(huì)出現(xiàn)抖動(dòng)延時(shí),設(shè)置適當(dāng)?shù)膬?nèi)部寄存器IDD,可在延時(shí)后輸出連續(xù)有效的數(shù)據(jù)。圖3是帶FEC的復(fù)發(fā)幀格式編解碼過(guò)程,其數(shù)據(jù)包壓縮時(shí)間為60 ms。

帶FEC的復(fù)發(fā)幀格式編解碼過(guò)程
  3.2 數(shù)據(jù)幀格式

  CMX638編碼后輸出的數(shù)據(jù)幀格式較簡(jiǎn)單,無(wú)幀頭和其他控制標(biāo)志信息,直接輸出有效數(shù)據(jù)。當(dāng)壓縮速率為2 050b/s時(shí),每隔20 ms產(chǎn)生一幀數(shù)據(jù),有效數(shù)據(jù)位為41 bit,占用6字節(jié),主機(jī)必須以字節(jié)為單位與CMX638交換數(shù)據(jù),所以應(yīng)該輸入/輸出6字節(jié),其中最高字節(jié)先進(jìn)先出,7個(gè)無(wú)效比特位不影響編解碼。當(dāng)壓縮速率為2 400 b/s時(shí),其工作原理與2 050 b/s壓縮速率相同,有效數(shù)據(jù)為48 bit,恰好占用6字節(jié),無(wú)無(wú)效比特位。當(dāng)壓縮速率為2 750 b/s,有效數(shù)據(jù)為55bit,占用7字節(jié),1個(gè)無(wú)效比特位,必須輸入/輸出7字節(jié)。當(dāng)壓縮速率為3 600 b/s,帶FEC功能,每隔60 ms產(chǎn)生包括3幀的數(shù)據(jù)包,有效數(shù)據(jù)為216 bit,采用硬比特格式,占用27字節(jié)。而采用軟比特格式時(shí),則占用108字節(jié)。

  3.3 主機(jī)與片外CODEC接口

  主機(jī)通過(guò)C-BUS串行接口與CMX638交換數(shù)據(jù)。寫操作時(shí),CSN為低,先寫入要訪問(wèn)的寄存器地址,再寫入有效數(shù)據(jù),以字節(jié)為單位,結(jié)束時(shí)CSN拉高;讀操作時(shí),先寫入地址,接著讀取數(shù)據(jù)。在CLK上升沿采樣,最大時(shí)鐘頻率為5 MHz;每?jī)纱蜟SN操作應(yīng)至少相隔1μs。

  當(dāng)CMX638選用外部CODEC時(shí),利用SSP接口與外部CODEC交換數(shù)據(jù)。當(dāng)STRB同步脈沖到達(dá),如果是寫操作,SDI輸入16 bit數(shù)據(jù);如果是讀操作,SDO輸出16 bit數(shù)據(jù)。SCLK的最大時(shí)鐘頻率為6.6 MHz,時(shí)鐘沿采樣輸入數(shù)據(jù)方式取決于內(nèi)部寄存器EXCODECCONT($0B)。

  4 應(yīng)用電路

  4.1 CMX638采集電路設(shè)計(jì)

  圖4是基于CMX638的語(yǔ)音采樣、壓縮、解壓縮的應(yīng)用電路,采集麥克風(fēng)的語(yǔ)音信號(hào),直接壓縮;再解壓縮恢復(fù)源語(yǔ)音信號(hào)輸出到喇叭。CMX638使用片內(nèi)的語(yǔ)音CODEC,可直接采集模擬信號(hào)。輸入/輸出通道分別有兩個(gè)可編程增益放大器,通過(guò)配置寄存器AIG($05)和AOG($06)確定其增益。當(dāng)輸入/輸出增益較大時(shí),可能出現(xiàn)噪聲,但這些噪聲被片內(nèi)數(shù)字低通濾波器濾除。信號(hào)的輸入/輸出端無(wú)需接放大電路和濾波電路,提高信噪比。

 

基于CMX638的語(yǔ)音采樣

  麥克風(fēng)和喇叭的輸入/輸出采用差分接法,提高抗干擾性能。晶體振蕩器頻率為12 MHz,對(duì)應(yīng)的XTALSEL[3:1]引腳輸入值為“010”,引腳ENABXTAL輸入高電平。由于選用片內(nèi)語(yǔ)音CODEC,引腳CSEL輸入高電平,則與片外語(yǔ)音CODEC通信的數(shù)字接口SDI,SDO,SCLK,STRB必須全部接地。引腳EEC和FEC是輸出端口,可以懸空。C-BUS接口與微控制器對(duì)應(yīng)相接,CLK時(shí)鐘頻率為1 MHz,通過(guò)C-BUS接口先配置內(nèi)部寄存器,確定其工作方式。在編碼正常工作狀態(tài)下,微控制器根據(jù)SYNC端口與CMX638同步,通過(guò)IRQN接收中斷信號(hào),讀取壓縮的數(shù)據(jù)幀并存儲(chǔ)為后級(jí)處理;在解碼過(guò)程中,微控制器向CMX638送入數(shù)據(jù)幀解碼,恢復(fù)源語(yǔ)音信號(hào)。

  4.2 CMX638與PCM3500接口電路設(shè)計(jì)

  CMX638使用靈活,當(dāng)選用片外語(yǔ)音CODEC時(shí),其典型應(yīng)用是與PCM3500配合使用,圖5為應(yīng)用電路。PCM3500是Burr-Brown公司開發(fā)的16位低功耗A/D和D/A轉(zhuǎn)換器,系統(tǒng)晶體振蕩器時(shí)鐘頻率為4.096 MHz,采樣率為8 kHz。端口BCK時(shí)鐘頻率為128 kHz。MS端輸入高電平為主動(dòng)工作模式,F(xiàn)S主動(dòng)輸出同步信號(hào),BCK輸出時(shí)鐘信號(hào)。引腳TSC輸入低電平,控制時(shí)隙操作模式,當(dāng)同時(shí)使用多片 PCM3500時(shí)才使能該功能,對(duì)應(yīng)的FSO為輸出口,可懸空。引腳LOOP使能A/D轉(zhuǎn)換器與D/A轉(zhuǎn)換器循環(huán)連接。HPFD輸入高電平,取消高通濾波器,可濾除輸入的直流分量。麥克風(fēng)和喇叭采用單端輸入/輸出方式,輸入端接增益為22的放大電路和直流偏置電路,輸出端接上低通濾波器,提高信噪比。數(shù)字接口與CMX638的SPI接口對(duì)應(yīng)連接,實(shí)現(xiàn)數(shù)據(jù)交換。

  由于CMX638選用片外的語(yǔ)音CODEC,端口CSEL應(yīng)輸入低電平,利用REC連接PCM3500的PDWN端口,對(duì)其復(fù)位;模擬輸入/輸出端需要增加相應(yīng)的放大和濾波電路。微控制器配置內(nèi)部寄存器EXCODECCONT($0B)可使CMX638與PCM3500的通信接口工作方式相對(duì)應(yīng),如圖5所示。該電路同樣實(shí)現(xiàn)麥克風(fēng)的語(yǔ)音信號(hào)的采集,直接壓縮;再解壓縮恢復(fù)源信號(hào)輸出到喇叭。圖4和圖5都可以靈活應(yīng)用于話音記錄儀,語(yǔ)音通信系統(tǒng),數(shù)字鏈路等領(lǐng)域。

CMX638與PCM3500的通信接口

  5 結(jié)語(yǔ)

  隨著數(shù)字語(yǔ)音通信的高速發(fā)展,要求在極低傳輸速率中保持高質(zhì)量語(yǔ)音信號(hào)。改進(jìn)編碼速率低于4 Kb/s的壓縮算法無(wú)疑成為當(dāng)前研究熱點(diǎn)。作為最有潛力的波形內(nèi)插語(yǔ)音編碼算法,其今后研究重點(diǎn)為與其他低速率語(yǔ)音編碼技術(shù)更合理相互補(bǔ)充;特征波形提取和對(duì)齊問(wèn)題。CMX638采用魯棒的先進(jìn)低復(fù)雜性波形插入技術(shù)的語(yǔ)音編解碼算法,在低速率下保持長(zhǎng)話級(jí)的語(yǔ)音質(zhì)量,不但節(jié)約存儲(chǔ)資源,而且能夠減小對(duì)通信帶寬的要求。聲碼器CMX638集成了A/D和D/A轉(zhuǎn)換器,可直接處理模擬信號(hào),使用靈活,具有廣闊的應(yīng)用前景。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。