雙音多頻檢測模塊的設(shè)計.doc_第1頁
雙音多頻檢測模塊的設(shè)計.doc_第2頁
雙音多頻檢測模塊的設(shè)計.doc_第3頁
雙音多頻檢測模塊的設(shè)計.doc_第4頁
雙音多頻檢測模塊的設(shè)計.doc_第5頁
免費預覽已結(jié)束,剩余14頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第1章緒論雙音多頻DTMF(Dual Tone Multi-Frequency)信令,就是用兩個頻率行頻和列頻來表示電話機鍵盤上的一個數(shù)字。雙音多頻信號是音頻電話中的撥號信號,由美國AT&T貝爾公司實驗室研制,并用于電話網(wǎng)絡中。這種信號制式具有很高的撥號速度,且容易自動監(jiān)測識別,很快就代替了原有的用脈沖計數(shù)方式的撥號制式。逐漸在全世界范圍內(nèi)使用在按鍵式電話機上,這種雙音多頻信號制式不僅用在電話網(wǎng)絡中,還可以用于傳輸十進制數(shù)據(jù)的其它通信系統(tǒng)中,用于電子郵件和銀行系統(tǒng)中。這些系統(tǒng)中用戶可以用電話發(fā)送DTMF信號選擇語音菜單進行操作。作為實現(xiàn)電話號碼快速可靠傳輸?shù)囊环N技術(shù),它具有很強的抗干擾能力和較高的傳輸速度,因此,可廣泛用于電話通信系統(tǒng)中。但絕大部分是用作電話的音頻撥號。另外,它也可以在數(shù)據(jù)通信系統(tǒng)中廣泛地用來實現(xiàn)各種數(shù)據(jù)流和語音等信息的遠程傳輸。 近年來DTMF也應用在交互式控制中,諸如語言菜單、語言郵件、電話銀行和ATM 終端等。通過軟件產(chǎn)生與檢測DTMF信令,是一項較有價值的工程應用。這是一種技術(shù),就是電話機上的一個按鍵按下去時,電話機向交換機同時發(fā)送兩個頻率的信號,告訴交換機按的是哪個按鍵,以前采用脈沖方式,速度慢,一共有8個頻率的音頻信號,分為2組,每組4個,兩兩組合共可以代表16個按鍵,分別代表0-9 、#、*等按鍵。 第2章雙音多頻(DTMF)信號的設(shè)計2.1設(shè)計目的及意義雙音多頻信號(DTMF)是電話系統(tǒng)中電話機與交換機之間的一種用戶信令,通常用于發(fā)送被叫號碼。雙音多頻信號是貝爾實驗室發(fā)明的,其目的是為了自動完成長途呼叫。 電話撥號有兩種,脈沖和音頻,所謂音頻也稱雙音多頻(DTMF)信號的撥號方式,雙音多頻既是電話撥號時每按一個鍵,有兩個音頻頻率疊加成一個雙音頻信號,十二個按鍵由七個音頻頻率區(qū)分。在使用雙音多頻信號之前,電話系統(tǒng)中使用一連串的斷續(xù)脈沖來傳送被叫號碼,稱為脈沖撥號。脈沖撥號需要電信局中的操作員手工完成長途接續(xù)。雙音多頻的撥號鍵盤是44的矩陣,每一行代表一個低頻,每一列代表一個高頻。每按一個鍵就發(fā)送一個高頻和低頻的正弦信號組合,比如1相當于697和1209赫茲(Hz)。交換機可以解碼這些頻率組合并確定所對應的按鍵。本次課設(shè)的目的就是通過學習和掌握現(xiàn)代交換原理的基礎(chǔ)上,設(shè)計一個雙音多頻檢測模塊并對電路進行仿真,綜合應用所學知識,進行一次比較全面的訓練,為今后的學習和工作積累經(jīng)驗。此外,該題目還涵蓋了通信原理、電路分析、交換原理等主要課程的知識點,學生通過該題目的設(shè)計過程,可以初步掌握DTMF編/解碼技術(shù)原理和相關(guān)電路設(shè)計、開發(fā)原理,得到系統(tǒng)的訓練,提高解決實際問題的能力。2.2雙音多頻(DTMF)信號的組成雙音多頻信號作為實現(xiàn)電話號碼快速可靠傳輸?shù)囊环N技術(shù),它具有很強的抗干擾能力和較高的傳輸速度,因此,廣泛應用于電話通信系統(tǒng)中。近年來,雙音多頻信號也應用在交互式控制中,如在語言控制、語言郵件、電話銀行和ATM 終端等的應用。音頻撥號電話當人們按下某一個按鍵時,會產(chǎn)生一組特定的雙音信號,稱為雙音多頻信號,電話交換機會對該信號進行處理,根據(jù)兩個單音頻率來識別所按下的號碼。將電話撥號盤上的數(shù)字09 和兩個標有“*”和“#”的特殊按鈕進行頻率分配,如圖所示。包括兩個頻率低頻段包括的頻率是697Hz,770Hz,852Hz 和941Hz,稱為行頻。高頻段內(nèi)含的頻率 1209Hz,1336Hz,1477Hz,1633Hz,稱為列頻,它們可頻率分配構(gòu)成16 種頻率組合,每一種組合由一對正弦頻率信號唯一確定。其中第四列1633Hz 對應的按鍵目前并沒有使用,留待將來擴展使用。 雙頻撥號的頻率分配 列行1209Hz1336Hz1477Hz1633Hz697Hz 123A770Hz 4 5 6 B852Hz 7 8 9C941Hz * 0 # D2.3DTMF信號的應用DTMF 信號即雙音多頻信號,最先用于程控電話交換系統(tǒng)來代替號盤脈沖信號。如圖1:主叫用戶摘機按鍵撥號后,電話號碼所對應的DTMF信號通過電話線傳到程控交換機中的DTMF接受電路,交換機中的微機識別被叫電話號碼后,接通主被叫用戶實現(xiàn)雙方通話。DTMF信號還用于自動控制系統(tǒng),如果把DTMF的發(fā)送電路用于主控系統(tǒng),接受電路用于被控系統(tǒng),就可以方便地組成有線或無線通信系統(tǒng),如圖2所示,其通道數(shù)視需要而定,16通道以內(nèi)每通道只需編一位號碼即可,若需要更多通道,則可象電話號碼編號一樣編為兩位或兩位以上的號碼。2.4仿真軟件介紹PROTEL軟件概述PROTEL是PORTEL公司在80年代末推出的EDA軟件,在電子行業(yè)的CAD軟件中,它當之無愧地排在眾多EDA軟件的前面,是電子設(shè)計者的首選軟件,它較早就在國內(nèi)開始使用,在國內(nèi)的普及率也最高,有些高校的電子專業(yè)還專門開設(shè)了課程來學習它,幾乎所有的電子公司都要用到它,許多大公司在招聘電子設(shè)計人才時在其條件欄上常會寫著要求會使用PROTEL。早期的PROTEL主要作為印制板自動布線工具使用,運行在DOS環(huán)境,對硬件的要求很低,在無硬盤286機的1M內(nèi)存下就能運行,但它的功能也較少,只有電原理圖繪制與印制板設(shè)計功能,其印制板自動布線的布通率也低,而現(xiàn)今的PROTEL已發(fā)展到PROTEL99(網(wǎng)絡上可下載到它的測試板),是個龐大的EDA軟件,完全安裝有200多M,它工作在WINDOWS95環(huán)境下,是個完整的板級全方位電子設(shè)計系統(tǒng),它包含了電路原理圖繪制、模擬電路與數(shù)字電路混合信號仿真、多層印制電路板設(shè)計(包含印制電路板自動布線)、可編程邏輯器件設(shè)計、圖表生成、電子表格生成、支持宏操作等功能,并具有Client/Server (客戶/服務器)體系結(jié)構(gòu),同時還兼容一些其它設(shè)計軟件的文件格式,如ORCAD,PSPICE,EXCEL等,其多層印制線路板的自動布線可實現(xiàn)高密度PCB的100布通率。在國內(nèi)PROTEL軟件較易買到,有關(guān)PROTEL軟件和使用說明的書也有很多,這為它的普及提供了基礎(chǔ)。想更多地了解PROTEL的軟件功能或者下載PROTEL99的試用版,可以在INTERNET上。MATLAB軟件概述MATLAB是矩陣實驗室(Matrix Laboratory)的簡稱,是美國MathWorks公司出品的商業(yè)數(shù)學軟件,用于算法開發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析以及數(shù)值計算的高級技術(shù)計算語言和交互式環(huán)境,主要包括MATLAB和Simulink兩大部分。MATLAB是由美國mathworks公司發(fā)布的主要面對科學計算、可視化以及交互式程序設(shè)計的高科技計算環(huán)境。它將數(shù)值分析、矩陣計算、科學數(shù)據(jù)可視化以及非線性動態(tài)系統(tǒng)的建模和仿真等諸多強大功能集成在一個易于使用的視窗環(huán)境中,為科學研究、工程設(shè)計以及必須進行有效數(shù)值計算的眾多科學領(lǐng)域提供了一種全面的解決方案,并在很大程度上擺脫了傳統(tǒng)非交互式程序設(shè)計語言(如C、Fortran)的編輯模式,代表了當今國際科學計算軟件的先進水平。 MATLAB和Mathematica、Maple并稱為三大數(shù)學軟件。它在數(shù)學類科技應用軟件中在數(shù)值計算方面首屈一指。MATLAB可以進行矩陣運算、繪制函數(shù)和數(shù)據(jù)、實現(xiàn)算法、創(chuàng)建用戶界面、接其他編程語言的程序等,主要應用于工程計算、控制設(shè)計、信號處理與通訊、圖像處理、信號檢測、金融建模設(shè)計與分析等領(lǐng)域。 MATLAB的基本數(shù)據(jù)單位是矩陣,它的指令表達式與數(shù)學、工程中常用的形式十分相似,故用MATLAB來解算問題要比用C,F(xiàn)ORTRAN等語言完成相同的事情簡捷得多,并且MATLAB也吸收了像Maple等軟件的優(yōu)點,使MATLAB成為一個強大的數(shù)學軟件。在新的版本中也加入了對C,F(xiàn)ORTRAN,C+ ,JAVA的支持??梢灾苯诱{(diào)用,用戶也可以將自己編寫的實用程序?qū)氲組ATLAB函數(shù)庫中方便自己以后調(diào)用,此外許多的MATLAB愛好者都編寫了一些經(jīng)典的程序,用戶可以直接進行下載就可以用。2.5電路設(shè)計中的核心器件MT8870MT8870 音調(diào)譯碼器(Tone Decoder)是MITEL 公司所開發(fā)生產(chǎn)為一顆常用復頻譯碼IC,這個電路可以接收DTMF 信號,是一個完整的DTMF 接收器。它接收了DTMF 信號后,內(nèi)部將信號分成高頻帶和低頻帶,并將此信號送至數(shù)字譯碼器,然后將訊號送至數(shù)字譯碼器以解出按鍵值,接著將解出的按鍵值以二進制的方式以四條線(Q1、Q2、Q3、Q4)輸出到外部共享Bus 上,其MT8870 接腳說明如表1及內(nèi)部結(jié)構(gòu)如圖2。值得一提的是,當MT8870 解出一個按鍵值且輸出到外部時,其STD 接腳會由低態(tài)升為高態(tài),經(jīng)一段時間后再降為低態(tài),我們便可利用此特點偵測到此腳有訊號時便馬上將Q1-Q4 接腳所產(chǎn)生的值讀入CPU,然后解出電話的按鍵值。MT8870在DTMF中的應用:MT8870組成收號電路,它的輸入為來自模擬用戶接口雙音多頻信號,輸出為4位二進制數(shù)據(jù),供處理器從數(shù)據(jù)總線讀入。MT8870的功能模塊圖見圖2。其收號過程如下:模擬信號從IN-腳引入后,經(jīng)雙音濾波器初步濾除帶外干擾信號,隨后,此濾出信號在經(jīng)高群濾波器和低群濾波器分別濾出其中的高頻和低頻分量,這兩種分量分別通過過零檢測后送給數(shù)字檢測計算電路;該電路對音頻信號進行進一步的優(yōu)化,能排除外部噪聲因偶然含有默寫特定頻率而被編碼器編碼,或則影響編碼器的編碼,從而引起后續(xù)的收號錯誤。當高、低頻組信號同時被編碼器測到時,ESt腳將輸出高電平作為有效檢測DTMF信號的標志,而當DTMF信號消失時,ESt腳將輸出低電平。為了防止外部噪聲被MT8870誤編碼,編碼器要求被編碼的音頻信號能維持一段時間,這段時間由外部的一個RC電路來決定。如前所述,當音頻信號被檢測到時。ESt輸出高電平l,電容放電,VC上的電壓值上升(假設(shè)信號在整個要求時間內(nèi)部存在),VC升到一個門限值VTST時,該音頻信號被編碼,變成了數(shù)字信號,該數(shù)字信號將被鎖存起來,此時,GT就為高,使VC點的電壓由門限值升到VDD,此后,只要ESt仍保持為高,GT就為高,外部的RC電路回到初始狀態(tài),隨后,經(jīng)過一段鎖存操作引起的延時后,StD腳輸出高電平,表示信號鎖存完畢。這時,外部期間若要從D1D4上讀這四位編碼,應使TOE為高,打開鎖存器,這就完成了DTMF的收號任務。MC74HC4511雙列16腳封裝,BCD-7段鎖存或譯碼或驅(qū)動器,它將輸入BCD標準代碼變換成驅(qū)動七段數(shù)碼管所需的碼信號。它又稱四線七段鎖存譯碼器,其中四線A-D為BCD碼輸入端,高電平有效,A為低位輸入端,D為高位輸入端,七段a-g輸出高電平以驅(qū)動共陰極數(shù)碼管發(fā)光,LE為鎖存控制端,高電平時能夠鎖存輸入的BCD碼,LT為燈側(cè)試反相控制端,BI為消隱反相控制端。2.6主要參數(shù)設(shè)置檢測DTMF信號的DFT參數(shù)選擇 DFT檢測模擬DTMF信號所含有的兩個音頻頻率,是一個用DFT對模擬信號進行頻譜分析的問題。根據(jù)第三章用DFT對模擬信號進行譜分析的理論,確定三個參數(shù):(1)采樣頻率,(2)DFT的變換點數(shù)N,(3)需要對信號的觀察時間的長度。這三個參數(shù)不能隨意選取,要根據(jù)對信號頻譜分析的要求進行確定。這里對信號頻譜分析也有三個要求: (1)頻率分辨率,(2)譜分析的頻譜范圍,(3)檢測頻率的準確性。確定8KHz,N205,。第3章雙音多頻(DTMF)信號的產(chǎn)生與檢測DTMF信號系統(tǒng)是一個典型的小型信號處理系統(tǒng),它要用數(shù)字方法產(chǎn)生模擬信號并進行傳輸,其中還用到了D/A變換器;在接收端用A/D變換器將其轉(zhuǎn)換成數(shù)字信號,并進行數(shù)字信號處理與識別。為了系統(tǒng)的檢測速度并降低成本,還開發(fā)一種特殊的DFT算法,稱為戈澤爾(Goertzel)算法,這種算法既可以用硬件(專用芯片)實現(xiàn),也可以用軟件實現(xiàn)。下面首先介紹雙音多頻信號的產(chǎn)生方法和檢測方法,戈澤爾算法。3.1雙音多頻信號的產(chǎn)生DTMF雙音頻信號由兩個二階數(shù)字正弦振蕩器產(chǎn)生,一個用來產(chǎn)生行音頻信號,另個一產(chǎn)生列音頻信號。DTMF 編解碼器的音頻信號產(chǎn)生部分是基于兩個二階的數(shù)字正弦波振蕩器,一個產(chǎn)生行頻,一個產(chǎn)生列頻。振蕩器的框圖如下。假設(shè)時間連續(xù)的 DTMF信號用表示,式中是按照表1選擇的兩個頻率,代表低頻帶中的一個頻率,代表高頻帶中的一個頻率。顯然采用數(shù)字方法產(chǎn)生DTMF信號,方便而且體積小。下面介紹采用數(shù)字方法產(chǎn)生DTMF信號。規(guī)定用8KHz對DTMF信號進行采樣,采樣后得到時域離散信號為 形成上面序列的方法有兩種,即計算法和查表法。用計算法求正弦波的序列值容易,但實際中要占用一些計算時間,影響運行速度。查表法是預先將正弦波的各序列值計算出來,寄存在存儲器中,運行時只要按順序和一定的速度取出便可。這種方法要占用一定的存儲空間,但是速度快。 因為采樣頻率是8000Hz,因此要求每125ms輸出一個樣本,得到的序列再送到D/A變換器和平滑濾波器,輸出便是連續(xù)時間的DTMF信號。DTMF信號通過電話線路送到交換機。產(chǎn)生DTMF信號的流程圖3.2雙音多頻信號檢測在接收端,要對收到的雙音多頻信號進行檢測個正弦波的頻率是多少,以判斷所對應的十進制數(shù)字或者符號。顯然這里仍然要用數(shù)字方法進行檢測,因此要將收到的時間連續(xù) DTMF信號經(jīng)過A/D變換,變成數(shù)字信號進行檢測。檢測的方法有兩種,一種是用一組濾波器提取所關(guān)心的頻率,根據(jù)有輸出信號的2個濾波器判斷相應的數(shù)字或符號。另一種是用DFT(FFT)對雙音多頻信號進行頻譜分析,由信號的幅度譜,判斷信號的兩個頻率,最后確定相應的數(shù)字或符號。當檢測的音頻數(shù)目較少時,用濾波器組實現(xiàn)更合適。FFT是DFT的快速算法,但當DFT的變換區(qū)間較小時,F(xiàn)FT快速算法的效果并不明顯,而且還要占用很多內(nèi)存,因此不如直接用DFT合適。DTMF 信號檢測流程圖3.3MATLAB工具箱函數(shù)goertzelGoerztel函數(shù)的調(diào)用格式為:Xgk=goertzel(Xn,K)Xn是被變換的時域序列,用于DTMF信號檢測時,Xn就是DTMF信號的205個采樣值。K是要求計算的DFTXn的頻點序號向量,用N表示Xn的長度,則要求1KN。由表2可知,如果只計算DTMF信號8個基頻時,K=18,20,22,24,31,34,38,42,如果同時計算8個基頻及其二次諧波時,K=18,20,22,24,31,34,35,38,39,42,43,47,61,67,74,82。Xgk是變換結(jié)果向量,其中存放的是由K指定的頻率點的DFTx(n)的值。設(shè)X(k)= DFTx(n),則第4章雙音多頻(DTMF)信號的仿真DTMF信號的產(chǎn)生與識別仿真實驗在MATLAB環(huán)境下進行,編寫仿真程序,運行程序,送入8位電話號碼,程序自動產(chǎn)生每一位號碼數(shù)字相應的DTMF信號,并送出雙頻聲音,再用DFT進行譜分析,顯示每一位號碼數(shù)字的DTMF信號的DFT幅度譜,安照幅度譜的最大值確定對應的頻率,再安照頻率確定每一位對應的號碼數(shù)字,最后輸出8位電話號碼。4.1硬件連接圖上圖是利用Protel仿真軟件實現(xiàn)的雙音多頻信號檢測硬件圖硬件連接圖顯示部分4.2仿真程序運行結(jié)果1、程序分四段:第一段(27行)設(shè)置參數(shù),并讀入8位電話號碼;第二段(920行)根據(jù)鍵入的8位電話號碼產(chǎn)生時域離散DTMF信號,并連續(xù)發(fā)出8位號碼對應的雙音頻聲音;第三段(2225行)對時域離散DTMF信號進行頻率檢測,畫出幅度譜;第四段(2633行)根據(jù)幅度譜的兩個峰值,分別查找并確定輸入8位電話號碼。程序清單如下:% DTMF雙頻撥號信號的生成和檢測程序%clear all;clc;tm=1,2,3,65;4,5,6,66;7,8,9,67;42,0,35,68; % DTMF信號代表的16個數(shù)N=205;K=18,20,22,24,31,34,38,42;f1=697,770,852,941; % 行頻率向量f2=1209,1336,1477,1633; % 列頻率向量TN=input(鍵入8位電話號碼= ); % 輸入8位數(shù)字TNr=0; %接收端電話號碼初值為零for l=1:8; d=fix(TN/10(8-l); TN=TN-d*10(8-l); for p=1:4; for q=1:4; if tm(p,q)=abs(d); break,end % 檢測碼相符的列號q endif tm(p,q)=abs(d); break,end % 檢測碼相符的行號p end n=0:1023; % 為了發(fā)聲,加長序列 x = sin(2*pi*n*f1(p)/8000) + sin(2*pi*n*f2(q)/8000);% 構(gòu)成雙頻信號 sound(x,8000); % 發(fā)出聲音 pause(0.1) % 接收檢測端的程序 X=goertzel(x(1:205),K+1); % 用Goertzel算法計算八點DFT樣本 val = abs(X); % 列出八點DFT向量 subplot(4,2,l); stem(K,val,.);grid;xlabel(k);ylabel(|X(k)|) % 畫出DFT(k)幅度 axis(10 50 0 120) limit = 80; % for s=5:8; if val(s) limit, break, end % 查找列號 end for r=1:4; if val(r) limit, break, end % 查找行號 end TNr=TNr+tm(r,s-4)*10(8-l);enddisp(接收端檢測到的號碼為:) % 顯示接收到的字符disp(TNr)2、運行結(jié)果:(1)、運行程序,根據(jù)提示鍵入8位電話號碼12341234,然后回車。(2)、回車后可以聽見8位電話號碼對應的DTMF信號的聲音,并輸出相應的8幅頻譜圖如下圖所示。(3)、左上角的第一個圖在k=18和k=31兩點出現(xiàn)峰值,所以對應第一位號碼數(shù)字1。最后顯示檢測到的電話號碼12341234。.第5章總結(jié)通過此次實驗,我們對DTMF的基礎(chǔ)知識有了個比較深刻的了解,掌握了DTMF的信號產(chǎn)生及信號檢驗的原理及方法,加深了對雙音多頻信號的產(chǎn)生與檢測的理解,提高了利用交換原理知識處理系統(tǒng)問題的能力。并聯(lián)系以往學習的知識,利用PROTEL仿真軟件,使自己掌握了更多有用的知識。利用PROTEL仿真軟件實現(xiàn)了對雙音多頻信號的產(chǎn)生與檢測的仿真分析,可以得到理想的實驗要求,并且更加深刻學生對雙音多頻信號的產(chǎn)生與檢測的認識,通過本次試驗,明顯感受到利用PROTEL仿真軟件是非常方便的,而且經(jīng)濟,這種仿真軟件一定會在以后的課程設(shè)計中得到更廣泛的應用。 通過對雙音多頻信號的產(chǎn)生與檢測仿真實驗,PROTEL仿真軟件的實驗結(jié)果非常接近理論值,而且比實際操作安全,方便。并且把理論與實踐有效地結(jié)合在一起,有利于學生對交換原理-課程的學習。 通過這次課程設(shè)計,鞏固了對雙音多頻信號的產(chǎn)生與檢測的理解,同時掌握了

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論