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