張迎春,倪永婧
(1.中國電子科技集團公司第五十四研究所,河北石家莊050081;
2.河北科技大學信息科學與工程學院,河北石家莊050000)
在數字通信系統中接入話音是很常見的,話音通信的進程不同,通信系統中就需要產生不同的信令音。信令音的產生是話音通信不可缺少的一部分,信令音能使話音通信的操作員清楚地了解到通信的進展情況,從而根據通信進展的各個不同階段而做出不同的操作。
在程控交換機、話音郵政等通信設備中,信令音的產生也是一個獨立且必須的功能組成部分。目前數字信號處理器(DSP)的發展使開發者能快速、準確實現各種復雜算法,這就使基于DSP的音頻信令處理模塊得以實現。
基于DSP的音頻信令處理模塊作為一個獨立的插件,其基本組成框圖如圖1所示。

圖1 音頻信令處理模塊組成框圖
該模塊主要完成音頻信令的檢測及產生,硬件實現簡單,其基本組成框圖如圖1所示。DSP選用電路 TMS320VC5509,復位管理電路選用IMP809SEUR,電源管理電路選用TPS72116DBVT。
音頻信令處理模塊的軟件流程如圖2所示。

圖2 音頻信令處理流程圖
該軟件是以模塊化的方式實現,主要包括初始化模塊、音頻處理模塊、HPI收發模塊以及McBSPs收發模塊。各模塊主要功能如下:
①初始化模塊:系統加電初始化、自檢;
②音頻處理模塊:根據控制接口收到的命令選擇相應的音頻信號檢測器,對從多通道緩沖型串行接口(McBSPs)收到的PCM音頻數據進行數字濾波、頻譜分析及能量判決,產生音頻信號報告;選擇音頻信號發生器,產生相應的音頻信號;
③McBSPs收發模塊:完成PCM音頻數據流接收和發送;
④HPI收發模塊:完成所在系統的控制器單元與音頻處理單元之間的消息接收和發送。
由于音頻信令處理模塊接收與處理的數據流是8 kHz采樣的A律編碼的2 Mbps的PCM數字碼流,因此整個識別過程就是A律解碼、數字濾波及雙音多頻/信號音譯碼。
2.1.1 A 律解碼
A律解碼是將A律13折線非線性碼線性化。對于8 bit的A律碼(a1a2a3a4a5a6a7a8)2,其解碼算法如下:判斷a1之值,確定符號;取出a1a2a3,乘以相應段落碼起始值得x1;取出a4a5a6a7,乘以相應段內階梯得x2;將x1與x2相加,并依據之前所得符號性質進行修正,就恢復出了線性碼。
2.1.2 數字濾波
數字濾波是識別雙音多頻/信號音譯碼的核心部分,采用Goertzel算法,其推導如下:


令:



按照該式的變形可以推導出系統函數的二階遞歸計算流圖如圖3所示。

圖3 系統函數的二階遞歸計算流圖
式中,n=0,1,…,N - 1 ,

由于系數是實數,而 -1可以由減法代乘法,所以實現此系統極點只要2次乘法和4次加法。又由于只要求系統所處狀態能使yk[N]為可計算的,所以實現零點要求的與-WkN相乘的運算不必每步都作,而只要在第N步作一回即可。所以總的計算量為2N次實數乘法與4N次實數加法,比起式(4)直接記算的方法效率提高1倍。
2.1.3 雙音多頻/信號音譯碼
信號音有 450 Hz、1 100 Hz、2 100 Hz可能出現的頻率點,檢測時用上述算法依次檢測信號中這3個頻率分量的幅值,選擇一定的門限對單音所在頻帶能量進行判斷,如果超過門限即判其為單音。
雙音多頻信號中有8個可能出現的頻率點,每次檢測時用上述算法依次檢測信號中這8個頻率分量的幅值,并根據其大小判斷信號存在的2個頻率分量,進行查表就可以完成譯碼。
2.2.1 雙音多頻發生器
雙音多頻(DTMF)發生器主要是通過2個可編程的二階數字正弦振蕩器組成,其中一個是行振蕩器,另一個是列振蕩器,這樣的2個振蕩器就代替了8個振蕩器。對于每個DTMF數字編碼,只要給2個振蕩器賦予相應的系數和初始條件,產生相應的頻率,通過8 kHz采樣輸出。
2.2.2 信號音發生器
信號音的產生依賴于正弦信號的產生,每一個音頻信號的產生都可由二階正弦波數字振蕩器完成。為適應不同頻率的單音的產生,信號音發生器設計為一個可編程數字正弦振蕩器,根據所要產生的信號音,賦予合適的系數和初始條件,產生相應的頻率,通過8 kHz采樣輸出。
2.2.3 2FSK 發生器
2FSK發生器主要是通過2個可編程的數字正弦振蕩器組成,賦予相應的系數和初始條件,產生相應的頻率,通過8 kHz采樣,根據調制數據“1”、“0”,接通相應的正弦振蕩器輸出。
數字信號處理器外接10 MHz的晶振,通過配置時鐘模式選擇管腳配置成10倍的倍頻,提高軟件的運算速度。
模擬的音頻信號經過系統的A/D變換模塊后變成數字信號,音頻信令模塊接收該數字信號經DSP處理后把運算解碼后的結果通McBSPs送給D/A變換模塊,再把變換后的音頻信號送給音頻設備。該設計只使用第1路McBSPs,McBSPs硬件工作條件是:
①串口接收時鐘(BCLKR0)、串口發送時鐘(BCLKX0)配置成輸入方式,時鐘頻率為2.048 MHz;
②接收幀同步脈沖(BFSR0)、發送幀同步脈沖(BFSX0)頻率為8 kHz;
③McBSPs在BCLKR0的下降沿對串口輸入數據(BDR0)進行采集,在BCLKX0的上升沿輸出數據(BDX0);
④McBSPs工作在中斷方式。
McBSPs接口的各管腳邏輯必須嚴格遵循一定的對應關系才可以做到無誤碼地接收和發送PCM音頻數據碼流,從而才可以準確地實現音頻信令檢測和DTMF檢測。
與音頻信令檢測模塊連接的音頻PCM編解碼設備遵循的采用時序也要與音頻信令檢測模塊McBSPs接口的采用時序相同。
基于DSP的音頻信令處理模塊能產生滿足YDN065-1997《郵電部電話交換設備總技術規范書》標準的信令音,同時能對滿足該標準的DTMF和信令音進行檢測。
在實際的話音應用系統中,有時電話交換設備產生的信令音的頻率有偏差,只需對該設計中DSP的軟件算法的參數進行修改即可實現。
該模塊體積小,只需以單排插針即可接入應用的目標系統,使用非常方便。
[1]常新華,林春勛.高頻信號發生器原理、維修與檢定[M].北京:電子工業出版社,1996.
[2]姜艷波.數字信號處理器DSP應用100例[M].北京:化學工業出版社,2009.
[3]蘇濤.DSP接口電路設計與編程[M].西安:西安電子科技大學出版社2003.
[4]周霖.DSP系統設計與實現[M].北京:國防工業出版社,2003.
[5]谷萩隆嗣.數字濾波器與信號處理[M].北京:科學出版社,2003.
[6]徐盛,胡劍凌.數字信號處理開發實踐[M].上海:上海交通大學出版社,2003.