一種新的基于改進的ADALINE神經(jīng)網(wǎng)絡的DTMF解碼器方案
2004年6月B版
摘 要:本文提出了一種新的基于改進的ADALINE神經(jīng)網(wǎng)絡DTMF信號檢測算法,并介紹了在TMS320C5402和TLV320AIC10上采用此算法的DTMF信號解碼器方案設計。仿真結果和實際工程實驗均表明該算法比傳統(tǒng)的DTMF信號解碼方法具有更強的抗干擾能力。
關鍵詞:ADALINE神經(jīng)網(wǎng)絡;LMS算法;DTMF解碼
引言
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)方法有更強的抗干擾能力。
DTMF信號
DTMF信號是將撥號盤上的0~9、A~D及*/E、#/F共16個字符,用音頻范圍的8個頻率來表示的一種編碼方式。8個頻率分為高頻群和低頻群兩組,分別作為列頻和行頻。每個字符的信號由來自列頻和行頻的兩個頻率的正弦信號疊加而成。頻率組合方式如表1所示。
根據(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ā)展的一個新方向,它可以在先驗知識未知的情況下,通過對輸入信號的自學習,實時調整網(wǎng)絡的權系數(shù)和偏置值,使網(wǎng)絡得到最佳的期望輸出。神經(jīng)網(wǎng)絡具有內在的自適應性和非線性,能夠得到魯棒性和抗干擾能力更強的系統(tǒng)。
ADALINE神經(jīng)網(wǎng)絡是Widrow和Hoff提出的,它的一般結構如圖1所示,采用LMS算法。輸入信號x(n)及其延遲序列是網(wǎng)絡的輸入,網(wǎng)絡輸出a(n)與某個目標輸出t(n)的差得到誤差信號e(n),然后網(wǎng)絡按照LMS算法調整權系數(shù)和偏置值,并按此方式循環(huán)處理。
ADALINE神經(jīng)網(wǎng)絡非常適合于信號的檢測與提取或噪聲消除,此時它的一般結構如圖2所示。在一定的噪聲參考輸入下,網(wǎng)絡能夠自適應的跟蹤和捕捉混雜信號中的相應成分,網(wǎng)絡輸出企圖逼近待檢測的混雜信號,但是因為噪聲參考信號與有用信號不相關或者弱相關,它只能復制到與噪聲參考信號強相關的成分。于是混雜信號中的噪聲成分被自適應的跟蹤,進而可以被消除,誤差信號“恰好”就是恢復出來的有用信號。這種結構的ADALINE神經(jīng)網(wǎng)絡在飛機客艙消噪系統(tǒng)和腦電圖檢測等方面得到了成功的應用。
然而,實踐表明,一般結構的ADALINE網(wǎng)絡(圖1或圖2)用于檢測DTMF信號的效果并不好,需要進行改進。DTMF信號的檢測可以看成是要在受噪聲污染的信號中檢測并判斷是否存在某個特定信號(8個頻率的信號)。基于這一點,我們提出了一種如圖3所示的改進的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)絡(圖3)的工作原理如下:
神經(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算法,LMS算法本質是以最小均方誤差為準則的近似的最速下降算法。它以均方誤差為性能函數(shù)F(x),定義如下:F(x)=E(e2)=E((t-a)2)
為了簡化計算,以G(x)=e2(k)=(t(k)-a(k))2來近似F(x)。應用最速下降算法,得到梯度算子為:G(x)=-2e(k)p(k)
故網(wǎng)絡的權系數(shù)和偏置值參數(shù)更新公式為:wi(k+1)=wi(k)+1ae(k)p(k) i=l,..., s b(k+1)=b(k)+2ae(k)。
其中是梯度算子,a是控制學習速度和穩(wěn)定性的參數(shù),p(k)是輸入向量。
非線性環(huán)節(jié)的傳輸函數(shù)如下式:
其中A和threshold為系統(tǒng)的設定參數(shù)。
神經(jīng)網(wǎng)絡的各個參數(shù)需要通過試驗來確定。經(jīng)過試驗,對于DTMF檢測,選用只含有2個權系數(shù)和1個偏置值的網(wǎng)絡就可以勝任,也就是在圖3中,只需要w1/w2/b三個參數(shù),結構簡單,計算量小。
對每個DTMF分量頻率都設置一個如圖3所示的神經(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分量的幅度是
評論