遲云飛
摘 要:為了提高信息安全,防止密碼失竊,對(duì)電話撥號(hào)音(DTMF信號(hào))的合成與識(shí)別進(jìn)行了深入的分析和研究。利用話筒,單片機(jī)STC89C52RC和MT8880等芯片從硬件上實(shí)現(xiàn)了對(duì)電話撥號(hào)音的解碼。經(jīng)過(guò)運(yùn)行測(cè)試,系統(tǒng)能夠正確的對(duì)撥號(hào)音信號(hào)進(jìn)行解碼。研究結(jié)果具有一定的理論意義和實(shí)用價(jià)值。
關(guān)鍵詞:DTMF;信號(hào)解碼;MT8880;單片機(jī)
1 課題研究意義
DTMF(Dual Tone Multi Frequency)雙音多頻信號(hào),是電話網(wǎng)中常用的信令,無(wú)論是家用電話、移動(dòng)電話還是程控交換機(jī),多采用DTMF信號(hào)發(fā)送接收號(hào)碼。
DTMF信號(hào)的本質(zhì)是一個(gè)高頻信號(hào)和一個(gè)低頻信號(hào)疊加所形成的一個(gè)組合信號(hào),這使DTMF信號(hào)的編解碼變得非常簡(jiǎn)單。正因如此,對(duì)使用該技術(shù)的應(yīng)用帶來(lái)了很大的安全隱患,通過(guò)對(duì)DTMF信號(hào)音的識(shí)別來(lái)竊取電話號(hào)碼及銀行卡密碼之事屢見(jiàn)不鮮。通過(guò)對(duì)“電話撥號(hào)音的合成與識(shí)別”的分析和研究,從而對(duì)DTMF信號(hào)的編解碼原理有清晰的認(rèn)識(shí),在此基礎(chǔ)之上,使尋求一種可以增強(qiáng)其應(yīng)用安全性的解決方案成為可能。同時(shí),該課題也涉及到了語(yǔ)音識(shí)別技術(shù)的相關(guān)知識(shí),從而在該基礎(chǔ)上可進(jìn)一步探索研究語(yǔ)音識(shí)別技術(shù)。
2 硬件識(shí)別系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
⑴硬件識(shí)別系統(tǒng)總體設(shè)計(jì)。電話撥號(hào)音為音頻信號(hào),而硬件電路所能檢測(cè)和識(shí)別的卻是電信號(hào)。所以,首先需要利用麥克風(fēng)將聲音信號(hào)轉(zhuǎn)換為電信號(hào),從而能夠被硬件電路處理。
經(jīng)麥克風(fēng)轉(zhuǎn)換后的信號(hào)便是DTMF信號(hào)。該信號(hào)由于受到環(huán)境中的各種噪音的干擾以及麥克風(fēng)本身聲電轉(zhuǎn)換性能的影響而變得很微弱。硬件系統(tǒng)首先需要將麥克風(fēng)采集的音頻信號(hào)進(jìn)行放大,以便滿足后續(xù)電路的需要。LM386是專用的音頻放大芯片,其放大增益最大可以達(dá)到200倍,并且其外圍電路較簡(jiǎn)單。本系統(tǒng)利用LM386將麥克風(fēng)所采集的信號(hào)進(jìn)行放大。
經(jīng)LM386放大的信號(hào)便可以作為MT8880的輸入信號(hào),MT8880是專用的DTMF信號(hào)編解碼芯片,本系統(tǒng)主要是應(yīng)用該芯片的解碼功能。輸入MT8880的音頻信號(hào)首先經(jīng)過(guò)一級(jí)放大電路的放大后,進(jìn)入帶通濾波電路,經(jīng)濾波電路濾波后DTMF信號(hào)分解為兩個(gè)正弦信號(hào),分別對(duì)應(yīng)著某按鍵的行頻和列頻。MT8880通過(guò)對(duì)該信號(hào)的行頻和列頻進(jìn)行分析計(jì)算,從而判斷出該信號(hào)所代表的按鍵具體是哪個(gè)按鍵。系統(tǒng)的原理框圖如圖1所示。
⑵硬件識(shí)別系統(tǒng)的程序設(shè)計(jì)。硬件識(shí)別系統(tǒng)的程序設(shè)計(jì)主要包括主程序設(shè)計(jì)和中斷服務(wù)子程序設(shè)計(jì)兩個(gè)部分。
在使用MT8880之前,需要對(duì)其進(jìn)行初始化操作。初始化的作用主要是使MT8880進(jìn)入準(zhǔn)備工作的狀態(tài)。然后需要設(shè)定MT8880的工作模式,本系統(tǒng)主要是應(yīng)用了MT8880的DTMF模式和中斷模式的組合工作方式。設(shè)定DTMF模式的作用主要是能夠讓MT8880能夠進(jìn)行正常的接收DTMF信號(hào)并進(jìn)行識(shí)別,而設(shè)定中斷模式的主要作用是當(dāng)有有效的DTMF信號(hào)被正確接收和譯碼時(shí),能夠及時(shí)的通知單片機(jī),從而進(jìn)行相應(yīng)的處理工作。因此主程序的設(shè)計(jì)主要是對(duì)MT8880的初始化操作。
中斷服務(wù)程序的主要作用是,當(dāng)有效的DTMF信號(hào)被正確接收時(shí),在中斷服務(wù)程序里要將該信號(hào)所對(duì)應(yīng)的按鍵信息讀出并且顯示在七段數(shù)碼管上。
主程序流程圖和中斷服務(wù)子程序分別如圖2和圖3所示。
經(jīng)過(guò)運(yùn)行測(cè)試,硬件識(shí)別系統(tǒng)能夠正確的識(shí)別單個(gè)撥號(hào)音信號(hào),并能夠?qū)⒆R(shí)別后的撥號(hào)音信號(hào)顯示在七段數(shù)碼管上。
3 結(jié)論
本設(shè)計(jì)通過(guò)麥克風(fēng)、LM386、MT8880和單片機(jī)STC89C52RC等芯片,在硬件上實(shí)現(xiàn)了電話撥號(hào)音的識(shí)別系統(tǒng)。經(jīng)過(guò)運(yùn)行測(cè)試,系統(tǒng)能夠正確對(duì)電話撥號(hào)音進(jìn)行識(shí)別。從而可知,在使用DTMF信號(hào)作為信息的載體的應(yīng)用中,確實(shí)存在很大的安全隱患。因此,在對(duì)安全性要求較高的DTMF應(yīng)用中,應(yīng)將按鍵設(shè)計(jì)為無(wú)聲的,以提高系統(tǒng)的安全性,從而防止個(gè)人重要信息的失竊。
[參考文獻(xiàn)]
[1]張衛(wèi)鋼.通信原理與通信技術(shù)[M].西安:西安電子科技大學(xué)出版社,2008.
[2]王正林,劉明.精通MATLAB7[M].北京:電子工業(yè)出版社,2006.
[3]張衛(wèi)鋼.信號(hào)與線性系統(tǒng)[M].西安:西安電子科技大學(xué)出版社,2005.
[4]高吉祥.模擬電子技術(shù)(第二版)[M].北京:電子工業(yè)出版社,2007.
[5]宏晶科技.STC89C52RC[S].深圳:宏晶科技有限公司,2010.
[6]MITEL公司. MT8880C[S].加拿大:MITEL公司,2010.
[7]王為青,程國(guó)鋼.單片機(jī)Keil Cx51應(yīng)用開(kāi)發(fā)技術(shù)[M].北京:人民郵電出版社,2007.
[8]王守中.51單片機(jī)開(kāi)發(fā)入門(mén)與典型實(shí)例[M].北京:人民郵電出版社,2007.