張迎春,倪永婧
(1.中國(guó)電子科技集團(tuán)公司第五十四研究所,河北石家莊050081;
2.河北科技大學(xué)信息科學(xué)與工程學(xué)院,河北石家莊050000)
在數(shù)字通信系統(tǒng)中接入話音是很常見(jiàn)的,話音通信的進(jìn)程不同,通信系統(tǒng)中就需要產(chǎn)生不同的信令音。信令音的產(chǎn)生是話音通信不可缺少的一部分,信令音能使話音通信的操作員清楚地了解到通信的進(jìn)展情況,從而根據(jù)通信進(jìn)展的各個(gè)不同階段而做出不同的操作。
在程控交換機(jī)、話音郵政等通信設(shè)備中,信令音的產(chǎn)生也是一個(gè)獨(dú)立且必須的功能組成部分。目前數(shù)字信號(hào)處理器(DSP)的發(fā)展使開(kāi)發(fā)者能快速、準(zhǔn)確實(shí)現(xiàn)各種復(fù)雜算法,這就使基于DSP的音頻信令處理模塊得以實(shí)現(xiàn)。
基于DSP的音頻信令處理模塊作為一個(gè)獨(dú)立的插件,其基本組成框圖如圖1所示。
圖1 音頻信令處理模塊組成框圖
該模塊主要完成音頻信令的檢測(cè)及產(chǎn)生,硬件實(shí)現(xiàn)簡(jiǎn)單,其基本組成框圖如圖1所示。DSP選用電路 TMS320VC5509,復(fù)位管理電路選用IMP809SEUR,電源管理電路選用TPS72116DBVT。
音頻信令處理模塊的軟件流程如圖2所示。
圖2 音頻信令處理流程圖
該軟件是以模塊化的方式實(shí)現(xiàn),主要包括初始化模塊、音頻處理模塊、HPI收發(fā)模塊以及McBSPs收發(fā)模塊。各模塊主要功能如下:
①初始化模塊:系統(tǒng)加電初始化、自檢;
②音頻處理模塊:根據(jù)控制接口收到的命令選擇相應(yīng)的音頻信號(hào)檢測(cè)器,對(duì)從多通道緩沖型串行接口(McBSPs)收到的PCM音頻數(shù)據(jù)進(jìn)行數(shù)字濾波、頻譜分析及能量判決,產(chǎn)生音頻信號(hào)報(bào)告;選擇音頻信號(hào)發(fā)生器,產(chǎn)生相應(yīng)的音頻信號(hào);
③McBSPs收發(fā)模塊:完成PCM音頻數(shù)據(jù)流接收和發(fā)送;
④HPI收發(fā)模塊:完成所在系統(tǒng)的控制器單元與音頻處理單元之間的消息接收和發(fā)送。
由于音頻信令處理模塊接收與處理的數(shù)據(jù)流是8 kHz采樣的A律編碼的2 Mbps的PCM數(shù)字碼流,因此整個(gè)識(shí)別過(guò)程就是A律解碼、數(shù)字濾波及雙音多頻/信號(hào)音譯碼。
2.1.1 A 律解碼
A律解碼是將A律13折線非線性碼線性化。對(duì)于8 bit的A律碼(a1a2a3a4a5a6a7a8)2,其解碼算法如下:判斷a1之值,確定符號(hào);取出a1a2a3,乘以相應(yīng)段落碼起始值得x1;取出a4a5a6a7,乘以相應(yīng)段內(nèi)階梯得x2;將x1與x2相加,并依據(jù)之前所得符號(hào)性質(zhì)進(jìn)行修正,就恢復(fù)出了線性碼。
2.1.2 數(shù)字濾波
數(shù)字濾波是識(shí)別雙音多頻/信號(hào)音譯碼的核心部分,采用Goertzel算法,其推導(dǎo)如下:
令:
按照該式的變形可以推導(dǎo)出系統(tǒng)函數(shù)的二階遞歸計(jì)算流圖如圖3所示。
圖3 系統(tǒng)函數(shù)的二階遞歸計(jì)算流圖
式中,n=0,1,…,N - 1 ,
由于系數(shù)是實(shí)數(shù),而 -1可以由減法代乘法,所以實(shí)現(xiàn)此系統(tǒng)極點(diǎn)只要2次乘法和4次加法。又由于只要求系統(tǒng)所處狀態(tài)能使yk[N]為可計(jì)算的,所以實(shí)現(xiàn)零點(diǎn)要求的與-WkN相乘的運(yùn)算不必每步都作,而只要在第N步作一回即可。所以總的計(jì)算量為2N次實(shí)數(shù)乘法與4N次實(shí)數(shù)加法,比起式(4)直接記算的方法效率提高1倍。
2.1.3 雙音多頻/信號(hào)音譯碼
信號(hào)音有 450 Hz、1 100 Hz、2 100 Hz可能出現(xiàn)的頻率點(diǎn),檢測(cè)時(shí)用上述算法依次檢測(cè)信號(hào)中這3個(gè)頻率分量的幅值,選擇一定的門(mén)限對(duì)單音所在頻帶能量進(jìn)行判斷,如果超過(guò)門(mén)限即判其為單音。
雙音多頻信號(hào)中有8個(gè)可能出現(xiàn)的頻率點(diǎn),每次檢測(cè)時(shí)用上述算法依次檢測(cè)信號(hào)中這8個(gè)頻率分量的幅值,并根據(jù)其大小判斷信號(hào)存在的2個(gè)頻率分量,進(jìn)行查表就可以完成譯碼。
2.2.1 雙音多頻發(fā)生器
雙音多頻(DTMF)發(fā)生器主要是通過(guò)2個(gè)可編程的二階數(shù)字正弦振蕩器組成,其中一個(gè)是行振蕩器,另一個(gè)是列振蕩器,這樣的2個(gè)振蕩器就代替了8個(gè)振蕩器。對(duì)于每個(gè)DTMF數(shù)字編碼,只要給2個(gè)振蕩器賦予相應(yīng)的系數(shù)和初始條件,產(chǎn)生相應(yīng)的頻率,通過(guò)8 kHz采樣輸出。
2.2.2 信號(hào)音發(fā)生器
信號(hào)音的產(chǎn)生依賴于正弦信號(hào)的產(chǎn)生,每一個(gè)音頻信號(hào)的產(chǎn)生都可由二階正弦波數(shù)字振蕩器完成。為適應(yīng)不同頻率的單音的產(chǎn)生,信號(hào)音發(fā)生器設(shè)計(jì)為一個(gè)可編程數(shù)字正弦振蕩器,根據(jù)所要產(chǎn)生的信號(hào)音,賦予合適的系數(shù)和初始條件,產(chǎn)生相應(yīng)的頻率,通過(guò)8 kHz采樣輸出。
2.2.3 2FSK 發(fā)生器
2FSK發(fā)生器主要是通過(guò)2個(gè)可編程的數(shù)字正弦振蕩器組成,賦予相應(yīng)的系數(shù)和初始條件,產(chǎn)生相應(yīng)的頻率,通過(guò)8 kHz采樣,根據(jù)調(diào)制數(shù)據(jù)“1”、“0”,接通相應(yīng)的正弦振蕩器輸出。
數(shù)字信號(hào)處理器外接10 MHz的晶振,通過(guò)配置時(shí)鐘模式選擇管腳配置成10倍的倍頻,提高軟件的運(yùn)算速度。
模擬的音頻信號(hào)經(jīng)過(guò)系統(tǒng)的A/D變換模塊后變成數(shù)字信號(hào),音頻信令模塊接收該數(shù)字信號(hào)經(jīng)DSP處理后把運(yùn)算解碼后的結(jié)果通McBSPs送給D/A變換模塊,再把變換后的音頻信號(hào)送給音頻設(shè)備。該設(shè)計(jì)只使用第1路McBSPs,McBSPs硬件工作條件是:
①串口接收時(shí)鐘(BCLKR0)、串口發(fā)送時(shí)鐘(BCLKX0)配置成輸入方式,時(shí)鐘頻率為2.048 MHz;
②接收幀同步脈沖(BFSR0)、發(fā)送幀同步脈沖(BFSX0)頻率為8 kHz;
③McBSPs在BCLKR0的下降沿對(duì)串口輸入數(shù)據(jù)(BDR0)進(jìn)行采集,在BCLKX0的上升沿輸出數(shù)據(jù)(BDX0);
④McBSPs工作在中斷方式。
McBSPs接口的各管腳邏輯必須嚴(yán)格遵循一定的對(duì)應(yīng)關(guān)系才可以做到無(wú)誤碼地接收和發(fā)送PCM音頻數(shù)據(jù)碼流,從而才可以準(zhǔn)確地實(shí)現(xiàn)音頻信令檢測(cè)和DTMF檢測(cè)。
與音頻信令檢測(cè)模塊連接的音頻PCM編解碼設(shè)備遵循的采用時(shí)序也要與音頻信令檢測(cè)模塊McBSPs接口的采用時(shí)序相同。
基于DSP的音頻信令處理模塊能產(chǎn)生滿足YDN065-1997《郵電部電話交換設(shè)備總技術(shù)規(guī)范書(shū)》標(biāo)準(zhǔn)的信令音,同時(shí)能對(duì)滿足該標(biāo)準(zhǔn)的DTMF和信令音進(jìn)行檢測(cè)。
在實(shí)際的話音應(yīng)用系統(tǒng)中,有時(shí)電話交換設(shè)備產(chǎn)生的信令音的頻率有偏差,只需對(duì)該設(shè)計(jì)中DSP的軟件算法的參數(shù)進(jìn)行修改即可實(shí)現(xiàn)。
該模塊體積小,只需以單排插針即可接入應(yīng)用的目標(biāo)系統(tǒng),使用非常方便。
[1]常新華,林春勛.高頻信號(hào)發(fā)生器原理、維修與檢定[M].北京:電子工業(yè)出版社,1996.
[2]姜艷波.數(shù)字信號(hào)處理器DSP應(yīng)用100例[M].北京:化學(xué)工業(yè)出版社,2009.
[3]蘇濤.DSP接口電路設(shè)計(jì)與編程[M].西安:西安電子科技大學(xué)出版社2003.
[4]周霖.DSP系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[M].北京:國(guó)防工業(yè)出版社,2003.
[5]谷萩隆嗣.數(shù)字濾波器與信號(hào)處理[M].北京:科學(xué)出版社,2003.
[6]徐盛,胡劍凌.數(shù)字信號(hào)處理開(kāi)發(fā)實(shí)踐[M].上海:上海交通大學(xué)出版社,2003.