一、引言 DTMF(雙音多頻)信號是電話網(wǎng)中常用的信令,無論是家用電話、移動電話還是程控交換機上,多采用DTMF信號發(fā)送接收號碼。DTMF技術還可以用于電力線載波通信等場合??梢?,DTMF撥號和解碼在通信系統(tǒng)及其它方面有著廣泛的應用。DTMF信號的解碼目前常用的方法有兩種:一種方法是采用濾波器組來分離8個DTMF信號。濾波器組的實現(xiàn)既可以用模擬濾波器,也可以用數(shù)字濾波器,這種方法在時域中進行分離。第二種方法是采用DFT或者Goertzel算法來檢測8個信號的強弱,這種方法在頻域中進行分離。然而,上述兩種傳統(tǒng)的DTMF信號檢測方法都存在一定的缺陷,即在強信道噪聲干擾下常常不能正確工作。本文提出了一種新的基于改進的ADALINE(Adaptive Linear
Neuron)神經(jīng)網(wǎng)絡的DTMF信號檢測算法,其結構簡單計算量適中,并且能夠在強背景噪聲干擾下正常檢測,實驗顯示它比傳統(tǒng)方法有更強的抗干擾能力。文章首先介紹了基于改進的ADALINE神經(jīng)網(wǎng)絡的DTMF信號檢測算法,然后給出了此方法的仿真結果,最后給出了采用TMS320C5402 DSP和TLV320AIC10 AIC實現(xiàn)DTMF信號檢測器的工程應用方案設計。
二、DTMF信號
DTMF信號是將撥號盤上的0~9、A~D及*/E、#/F共16個字符,用音頻范圍的8個頻率來表示的一種編碼方式。8個頻率分為高頻群和低頻群兩組,分別作為列頻和行頻。每個字符的信號由來自列頻和行頻的兩個頻率的正弦信號疊加而成。頻率組合方式如圖1所示。
Frequency
|
1209Hz
|
1336Hz
|
1477Hz
|
1633Hz
|
697Hz
|
1
|
2
|
3
|
A
|
770Hz
|
4
|
5
|
6
|
B
|
852Hz
|
7
|
8
|
9
|
C
|
941Hz
|
*/E
|
0
|
#/F
|
D
|
根據(jù)ITU-R Q.23建議[1],DTMF信號的技術指標是:傳送/接收率為每秒約10個號碼,或每個號碼120ms。每個號碼傳送過程中,信號存在時間至少65ms,且不多于75ms,120ms的其余時間是靜音。在每個頻率點上允許有不超過 1.8%的頻率誤差。任何超過給定頻率 3.5%的信號,均被認為是無效的,拒絕承認接收。另外,在最壞的檢測條件下,信噪比不得低于15dB。
三、基于改進的ADALINE神經(jīng)網(wǎng)絡的DTMF檢測算法
神經(jīng)網(wǎng)絡是信號處理發(fā)展的一個新方向,它可以在先驗知識未知的情況下,通過對輸入信號的自學習,實時調(diào)整網(wǎng)絡的權系數(shù)和偏置值,使網(wǎng)絡得到最佳的期望輸出。神經(jīng)網(wǎng)絡具有內(nèi)在的自適應性和非線性,能夠得到魯棒性和抗干擾能力更強的系統(tǒng)[3]。
ADALINE神經(jīng)網(wǎng)絡是Widrow和Hoff提出的[2,3],它的一般結構如圖2所示,采用LMS算法。輸入信號x(n)及其延遲序列是網(wǎng)絡的輸入,網(wǎng)絡輸出a(n)與某個目標輸出t(n)的差得到誤差信號e(n),然后網(wǎng)絡按照LMS算法調(diào)整權系數(shù)和偏置值,并按此方式循環(huán)處理。
圖2 |
ADALINE神經(jīng)網(wǎng)絡非常適合于信號的檢測與提取或噪聲消除,此時它的一般結構如圖3所示[1]。在一定的噪聲參考輸入下,網(wǎng)絡能夠自適應的跟蹤和捕捉混雜信號中的相應成分,網(wǎng)絡輸出企圖逼近待檢測的混雜信號,但是因為噪聲參考信號與有用信號不相關或者弱相關,它只能復制到與噪聲參考信號強相關的成分。于是混雜信號中的噪聲成分被自適應的跟蹤,進而可以被消除,誤差信號"恰好"就是恢復出來的有用信號。這種結構的ADALINE神經(jīng)網(wǎng)絡在飛機客艙消噪系統(tǒng)和腦電圖檢測等方面得到了成功的應用[2,5,6]。
圖3 |
然而,實踐表明,一般結構的ADALINE網(wǎng)絡(圖2或圖3)用于檢測DTMF信號的效果并不好,需要進行改進。DTMF信號的檢測可以看成是要在受噪聲污染的信號中檢測并判斷是否存在某個特定信號(8個頻率的信號)?;谶@一點,我們提出了一種如圖4所示的改進的ADALINE神經(jīng)網(wǎng)絡,非常適合于DTMF信號的檢測。它與一般結構的ADALINE網(wǎng)絡有兩點不同:(1)它用DTMF分量參考信號作網(wǎng)絡的輸入,而把待檢測信號作為期望輸出。(2)增加一個非線性處理環(huán)節(jié),非線性地增強或抑制網(wǎng)絡的跟蹤結果以增強網(wǎng)絡的效果。
改進的ADALINE神經(jīng)網(wǎng)絡(圖4)的工作原理如下:
x(n)是受噪聲污染的待檢測輸入信號,它作為網(wǎng)絡的期望輸出;提供給網(wǎng)絡的輸入是某個特定的DTMF分量頻率正弦信號ref(n),其頻率是8個DTMF頻率之一;網(wǎng)絡自適應跟蹤的中間信號是a(n)。非線性環(huán)節(jié)對a(n)進行進一步的增強或抑制,最終網(wǎng)絡輸出是y(n)。
神經(jīng)網(wǎng)絡跟蹤的期望值是待檢測的輸入信號x(n),而且LMS算法試圖將誤差信號e(n)減至最小。但是由于網(wǎng)絡輸入是某個特定的DTMF分量頻率參考信號ref(n),所以它只能復制到與ref(n)信號強相關的信號,而不能復制到與ref(n)信號不相關或弱相關的噪聲信號。如果x(n)中含有該特定頻率的信號,則參考信號與輸入信號匹配,網(wǎng)絡就能得到很強的信號a(n)。相反,如果x(n)中不含有該特定頻率信號,則參考信號與輸入信號不匹配,網(wǎng)絡的中間信號a(n)就會很弱。同時,非線性環(huán)節(jié)會對較強的a(n)信號進一步的增強,而對較弱的a(n)信號進一步的抑制。這樣,通過判斷神經(jīng)網(wǎng)絡輸出信號的強弱,就能判斷出待檢測的輸入信號中是否存在該特定DTMF分量頻率的信號。
改進的ADALINE神經(jīng)網(wǎng)絡采用LMS算法[2],LMS算法本質是以最小均方誤差為準則的近似的最速下降算法。它以均方誤差為性能函數(shù)F(x),定義如下
神經(jīng)網(wǎng)絡的各個參數(shù)需要通過試驗來確定。經(jīng)過試驗,對于DTMF檢測,選用只含有2個權系數(shù)和1個偏置值的網(wǎng)絡就可以勝任,也就是在圖4中,只需要w1/w2/b三個參數(shù),結構簡單,計算量小。
對每個DTMF分量頻率都設置一個如圖4所示的神經(jīng)網(wǎng)絡單元,在每個檢測周期對8個神經(jīng)網(wǎng)絡單元的輸出進行判斷并簡單分析,就可以實現(xiàn)DTMF解碼。
四、基于改進的ADALINE神經(jīng)網(wǎng)絡的DTMF解碼仿真結果
為了驗證上述基于改進的ADALINE神經(jīng)網(wǎng)絡的DTMF檢測算法,我們在MATLAB上使用Neural Networks Toolbox進行了仿真。
仿真條件和參數(shù)選擇:模擬實際信道中常見的高斯白噪聲情況,待檢測輸入信號x(n)是DTMF信號和信道噪聲的疊加,輸入信噪比SNR是-3dB。為了討論方便,假定每個DTMF分量的幅度是+/-2V(只要進行比例縮放就可以適用實際情況),兩個分量信號幅度之和為+/-4V,并假定ADC接口之前的預處理電路的限幅電平是+/-5V,即兩個有用信號幅度之和占限幅電平的80%。改進的ADALINE神經(jīng)網(wǎng)絡單元選擇含有2個權系數(shù)和1個偏置值,采用LMS算法,學習速度 選0.02。待檢測信號SNR=-3dB,采樣頻率為8KHz,采樣時間20ms。非線性環(huán)節(jié)的門限threshold選定為1.0V。
仿真結果如下:以"*"鍵為例,DTMF信號為941Hz/1209Hz。圖5上圖為純DTMF信號和高斯白噪聲信號,下圖為二者的疊加信號,即待檢測信號x(n)。
圖5 |
圖6為對應941Hz的神經(jīng)網(wǎng)絡單元的輸出,上圖為中間信號a(n),下圖為網(wǎng)絡輸出信號y(n)。從圖中可以看出,網(wǎng)絡很快就能捕捉到輸入中的941Hz信號,輸出信號很強并且從12ms開始就基本穩(wěn)定。因此系統(tǒng)判斷為輸入信號中含有941Hz的信號。對應1209Hz的神經(jīng)網(wǎng)絡單元也類似。
圖7為對應1336Hz的神經(jīng)網(wǎng)絡單元的輸出,上圖為中間信號a(n),下圖為網(wǎng)絡輸出信號y(n)。從圖中可以看出,網(wǎng)絡輸出信號一直很弱并且也基本穩(wěn)定。因此系統(tǒng)判斷為無法捕捉到1336Hz信號,即輸入信號中不含有1336Hz的信號。另外5個神經(jīng)網(wǎng)絡單元也類似。
圖7 |
圖6和圖7中紅色虛線表示非線性環(huán)節(jié)的門限。由此可以看出,系統(tǒng)判斷出輸入信號中含有941Hz/1209Hz的信號,不含697/770/852/1336/1477/1633Hz信號,從而實現(xiàn)"*"鍵號碼的正確解碼。
當輸入DTMF信號為其他頻率組合時的情況與上述結果類似,都能正確解碼。其他仿真結果表明它在信噪比為-3dB以下仍能準確檢測。
五、工程應用方案設計
采用上述基于改進的ADALINE神經(jīng)網(wǎng)絡的DTMF檢測算法,在TMS320C5402 DSP和TLV320AIC10 AIC上實現(xiàn)DTMF信號檢測器硬件結構如圖8所示。
TMS320C5402是一款性價比很高的16位定點DSP[9],采用改進的哈佛結構,速度達100MIPS,并具有豐富的片上外設資源,非常適合于語音信號處理,有線或無線通信等通信類應用場合。TLV320AIC10是一款模擬接口芯片(AIC) [10],具有一對采用Sigma-Delta調(diào)制技術的16位采樣頻率達22KHz的ADC/DAC,還內(nèi)含相關的濾波與增益控制等電路。TLV320AIC10能與TMS320C5402實現(xiàn)無縫接口,配合使用。
需要說明的是:DTMF解碼功能通常只是由DSP與AIC組成的通信處理系統(tǒng)的一部分。TMS320C5402強大的處理能力與DSP/AIC豐富的片上資源再配以外圍電路足以實現(xiàn)系統(tǒng)所需的其他功能。本文只談及DTMF解碼功能。
TLV320AIC10設置為采樣頻率8KHz,Master模式,幀同步為Pulse模式。如圖8所示,來自電話線的信號經(jīng)過接口預處理電路后送入AIC的ADC進行模數(shù)轉換,然后通過McBSP串口與TMS320C5402通信,把采樣數(shù)據(jù)送入DSP,同時進行A律擴展,以備后續(xù)處理。
圖8 |
對每個樣點逐個計算8個神經(jīng)網(wǎng)絡單元的輸出值并按照LMS算法更新網(wǎng)絡參數(shù),然后等待下一個新樣點的到來。經(jīng)過20ms周期即180個樣點處理,可以得到8個網(wǎng)絡單元的輸出幅值,它定義為從12ms到20ms之間的輸出值平均。
當8個網(wǎng)絡單元的輸出幅值計算出來后,還要進行DTMF有效性檢驗,以判定是否為有效的DTMF信號。有效性檢驗包括以下幾項內(nèi)容:(1)高、低頻段的最大幅值都必須大于某個門限值,而且二者之和也要大于某個門限值。(2)高、低頻段的最大幅值與各自頻段其它三個幅值相比,其差值必須大于某個門限值。(3)逆向絞度檢驗即低頻段最大幅值不得超過高頻段最大幅值8dB,標準絞度檢驗即高頻段最大幅值不得超過低頻段最大幅值4dB。(4)高、低頻段最大幅值之和與其它6個幅值之和之比,必須大于某個門限值。
若上述檢驗通過,判定當前周期DTMF信號有效,根據(jù)頻率組合可確定是對應哪個號碼。但要確認接收到一個有效的號碼,還要滿足兩個條件,一是要有兩個以上連續(xù)周期的有效且相同的DTMF信號,以保證信號持續(xù)時間,二是前面有足夠的靜音時間,以避免重復識別。由于每個周期是20ms信號,可以保證一位號碼能接收到兩個完整的DTMF信號周期。程序流程圖如圖9所示。
圖9 |
六、結語
傳統(tǒng)DTMF信號的解碼方法有兩種:濾波器組法和Goertzel/DFT算法。針對傳統(tǒng)DTMF信號檢測方法抗干擾能力不足的問題,本文提出了一種新的基于改進的ADALINE神經(jīng)網(wǎng)絡的DTMF信號檢測算法,并介紹了在TMS320C5402 DSP和TLV320AIC10 AIC上采用此算法的DTMF信號檢測器工程應用方案設計。仿真結果和實際工程實驗均表明它比傳統(tǒng)方法具有更強的抗干擾能力,該方案具有一定的實用和參考價值。