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