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