神經(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算法,學習速度 選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ò)單元也類似。






