基于MATLAB電話機(jī)中的雙音多頻(DTMF)信號(hào)的產(chǎn)生與檢測(cè).doc_第1頁
基于MATLAB電話機(jī)中的雙音多頻(DTMF)信號(hào)的產(chǎn)生與檢測(cè).doc_第2頁
基于MATLAB電話機(jī)中的雙音多頻(DTMF)信號(hào)的產(chǎn)生與檢測(cè).doc_第3頁
基于MATLAB電話機(jī)中的雙音多頻(DTMF)信號(hào)的產(chǎn)生與檢測(cè).doc_第4頁
基于MATLAB電話機(jī)中的雙音多頻(DTMF)信號(hào)的產(chǎn)生與檢測(cè).doc_第5頁
已閱讀5頁,還剩5頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、目錄第一章課程設(shè)計(jì)依據(jù)、內(nèi)容及要求11.1課程設(shè)計(jì)依據(jù)11.2課程設(shè)計(jì)內(nèi)容11.3課程設(shè)計(jì)要求1第二章 雙音頻信號(hào)產(chǎn)生與檢測(cè)的原理和內(nèi)容22.1雙音頻信號(hào)產(chǎn)生與檢測(cè)的原理介紹22.2 電話中的雙音多頻(dtmf)信號(hào)的產(chǎn)生與檢測(cè)32.2.1雙音多頻信號(hào)的產(chǎn)生32.2.2基于goertzel算法的雙音多頻信號(hào)檢測(cè)3第三章仿真程序與運(yùn)行結(jié)果63.1設(shè)計(jì)程序63.2運(yùn)行結(jié)果:8第四章 設(shè)計(jì)總結(jié)9第一章 課程設(shè)計(jì)依據(jù)、內(nèi)容及要求1.1課程設(shè)計(jì)依據(jù)在掌握數(shù)字信號(hào)處理相關(guān)理論的基礎(chǔ)上,根據(jù)數(shù)字信號(hào)處理課程所學(xué)知識(shí),利用matlab軟件產(chǎn)生電話中的dtmf信號(hào)。用dft檢測(cè)dtmf信號(hào)所含有的兩個(gè)音頻頻率。

2、1.2課程設(shè)計(jì)內(nèi)容1.雙音多頻信號(hào)的產(chǎn)生,dtmf信號(hào)用兩個(gè)不同頻率正弦信號(hào)相加,一個(gè)高頻一個(gè)低頻。2. 雙音多頻信號(hào)的檢測(cè),在接收端,要對(duì)收到的雙音多頻信號(hào)進(jìn)行檢測(cè),檢測(cè)兩個(gè)正弦波的頻率是多少,以判斷對(duì)應(yīng)的十進(jìn)制數(shù)字或符號(hào)。根據(jù)教材第3章用dft對(duì)模擬信號(hào)進(jìn)行譜分析的理論,確定三個(gè)參數(shù):(1)采樣頻率fs;(2)dft變換點(diǎn)數(shù)n;(3)對(duì)信號(hào)的觀察時(shí)間的長(zhǎng)度tp。這三個(gè)參數(shù)不能隨機(jī)選取,要根據(jù)對(duì)信號(hào)頻譜分析的要求進(jìn)行確定。對(duì)信號(hào)頻譜分析也有三個(gè)要求:(1)頻率分辨率;(2)譜分析的頻譜范圍;(3)檢測(cè)頻率的準(zhǔn)確性。1.3課程設(shè)計(jì)要求1. 要求獨(dú)立完成設(shè)計(jì)任務(wù)。2. 課程設(shè)計(jì)說明書封面格式要求

3、見天津城市建設(shè)學(xué)院課程設(shè)計(jì)教學(xué)工作規(guī)范附表13. 課程設(shè)計(jì)的說明書要求簡(jiǎn)潔、通順,計(jì)算正確,圖紙表達(dá)內(nèi)容完整、清楚、規(guī)范。4. 要求:正確運(yùn)行程序,任意輸人6為電話號(hào)碼,輸出相應(yīng)的幅度譜,觀察程序運(yùn)行結(jié)果,判斷程序譜分析的正確性。5. 課設(shè)說明書要求:1) 說明題目的設(shè)計(jì)原理和思路、采用方法及程序。2) 詳細(xì)說明調(diào)試方法和調(diào)試過程,并給程序加注釋。第二章 雙音頻信號(hào)產(chǎn)生與檢測(cè)的原理和內(nèi)容2.1雙音頻信號(hào)產(chǎn)生與檢測(cè)的原理介紹雙音多頻(dual tone multi frequency, dtmf)信號(hào)是音頻電話中的撥號(hào)信號(hào),由美國at&t貝爾公司實(shí)驗(yàn)室研制,并用于電話網(wǎng)絡(luò)中。這種信號(hào)制式具有很高

4、的撥號(hào)速度,且容易自動(dòng)監(jiān)測(cè)識(shí)別,很快就代替了原有的用脈沖計(jì)數(shù)方式的撥號(hào)制式。這種雙音多頻信號(hào)制式不僅用在電話網(wǎng)絡(luò)中,還可以用于傳輸十進(jìn)制數(shù)據(jù)的其它通信系統(tǒng)中,用于電子郵件和銀行系統(tǒng)中。這些系統(tǒng)中用戶可以用電話發(fā)送dtmf信號(hào)選擇語音菜單進(jìn)行操作。 dtmf信號(hào)系統(tǒng)是一個(gè)典型的小型信號(hào)處理系統(tǒng),它要用數(shù)字方法產(chǎn)生模擬信號(hào)并進(jìn)行傳輸,其中還用到了d/a變換器;在接收端用a/d變換器將其轉(zhuǎn)換成數(shù)字信號(hào),并進(jìn)行數(shù)字信號(hào)處理與識(shí)別。為了系統(tǒng)的檢測(cè)速度并降低成本,還開發(fā)一種特殊的dft算法,稱為戈澤爾(goertzel)算法,這種算法既可以用硬件(專用芯片)實(shí)現(xiàn),也可以用軟件實(shí)現(xiàn)。下面首先介紹雙音多頻信號(hào)

5、的產(chǎn)生方法和檢測(cè)方法,包括戈澤爾算法,最后進(jìn)行模擬實(shí)驗(yàn)。在電話中,數(shù)字09的中每一個(gè)都用兩個(gè)不同的單音頻傳輸,所用的8個(gè)頻率分成高頻帶和低頻帶兩組,低頻帶有四個(gè)頻率:679hz,770hz,852hz和941hz;高頻帶也有四個(gè)頻率:1209hz,1336hz,1477hz和1633hz.。每一個(gè)數(shù)字均由高、低頻帶中各一個(gè)頻率構(gòu)成,例如1用697hz和1209hz兩個(gè)頻率,信號(hào)用表示,其中,。這樣8個(gè)頻率形成16種不同的雙頻信號(hào)。具體號(hào)碼以及符號(hào)對(duì)應(yīng)的頻率如表1所示。表中最后一列在電話中暫時(shí)未用。列行1209hz1336hz1477hz633hz697hz123a770hz456b852hz7

6、89c942hz*0#d表2-1 雙頻撥號(hào)的頻率分配dtmf信號(hào)在電話中有兩種作用,一個(gè)是用撥號(hào)信號(hào)去控制交換機(jī)接通被叫的用戶電話機(jī),另一個(gè)作用是控制電話機(jī)的各種動(dòng)作,如播放留言、語音信箱等。2.2 電話中的雙音多頻(dtmf)信號(hào)的產(chǎn)生與檢測(cè)2.2.1雙音多頻信號(hào)的產(chǎn)生假設(shè)時(shí)間連續(xù)的 dtmf信號(hào)用表示,式中是按照表1選擇的兩個(gè)頻率,代表低頻帶中的一個(gè)頻率,代表高頻帶中的一個(gè)頻率。顯然采用數(shù)字方法產(chǎn)生dtmf信號(hào),方便而且體積小。下面介紹采用數(shù)字方法產(chǎn)生dtmf信號(hào)。規(guī)定用8khz對(duì)dtmf信號(hào)進(jìn)行采樣,采樣后得到時(shí)域離散信號(hào)為 形成上面序列的方法有兩種,即計(jì)算法和查表法。用計(jì)算法求正弦波的

7、序列值容易,但實(shí)際中要占用一些計(jì)算時(shí)間,影響運(yùn)行速度。查表法是預(yù)先將正弦波的各序列值計(jì)算出來,寄存在存儲(chǔ)器中,運(yùn)行時(shí)只要按順序和一定的速度取出便可。這種方法要占用一定的存儲(chǔ)空間,但是速度快。 因?yàn)椴蓸宇l率是8000hz,因此要求每125ms輸出一個(gè)樣本,得到的序列再送到d/a變換器和平滑濾波器,輸出便是連續(xù)時(shí)間的dtmf信號(hào)。dtmf信號(hào)通過電話線路送到交換機(jī)。2.2.2基于goertzel算法的雙音多頻信號(hào)檢測(cè)(1)在接收端,要對(duì)收到的雙音多頻信號(hào)進(jìn)行檢測(cè),檢測(cè)兩個(gè)正弦波的頻率是多少,以判斷所對(duì)應(yīng)的十進(jìn)制數(shù)字或者符號(hào)。顯然這里仍然要用數(shù)字方法進(jìn)行檢測(cè),因此要將收到的時(shí)間連續(xù) dtmf信號(hào)經(jīng)過

8、a/d變換,變成數(shù)字信號(hào)進(jìn)行檢測(cè)。檢測(cè)的方法有兩種,一種是用一組濾波器提取所關(guān)心的頻率,根據(jù)有輸出信號(hào)的2個(gè)濾波器判斷相應(yīng)的數(shù)字或符號(hào)。另一種是用dft(fft)對(duì)雙音多頻信號(hào)進(jìn)行頻譜分析,由信號(hào)的幅度譜,判斷信號(hào)的兩個(gè)頻率,最后確定相應(yīng)的數(shù)字或符號(hào)。當(dāng)檢測(cè)的音頻數(shù)目較少時(shí),用濾波器組實(shí)現(xiàn)更合適。fft是dft的快速算法,但當(dāng)dft的變換區(qū)間較小時(shí),fft快速算法的效果并不明顯,而且還要占用很多內(nèi)存,因此不如直接用dft合適。下面介紹goertzel算法,這種算法的實(shí)質(zhì)是直接計(jì)算dft的一種線性濾波方法。這里略去goertzel算法的介紹,可以直接調(diào)用matlab信號(hào)處理工具箱中戈澤爾算法的函

9、數(shù)goertzel,計(jì)算n點(diǎn)dft的幾個(gè)感興趣的頻點(diǎn)的值。(2) matlab工具箱函數(shù)goertzelgoerztel函數(shù)的調(diào)用格式為:xgk=goertzel(xn,k)xn是被變換的時(shí)域序列,用于dtmf信號(hào)檢測(cè)時(shí),xn就是dtmf信號(hào)的205個(gè)采樣值。k是要求計(jì)算的dftxn的頻點(diǎn)序號(hào)向量,用n表示xn的長(zhǎng)度,則要求1kn。由表2可知,如果只計(jì)算dtmf信號(hào)8個(gè)基頻時(shí),k=18,20,22,24,31,34,38,42,如果同時(shí)計(jì)算8個(gè)基頻及其二次諧波時(shí),k=18,20,22,24,31,34,35,38,39,42,43,47,61,67,74,82。xgk是變換結(jié)果向量,其中存放的

10、是由k指定的頻率點(diǎn)的dftx(n)的值。設(shè)x(k)= dftx(n),則。(3)檢測(cè)dtmf信號(hào)的dft參數(shù)選擇 用dft檢測(cè)模擬dtmf信號(hào)所含有的兩個(gè)音頻頻率,是一個(gè)用dft對(duì)模擬信號(hào)進(jìn)行頻譜分析的問題。根據(jù)第三章用dft對(duì)模擬信號(hào)進(jìn)行譜分析的理論,確定三個(gè)參數(shù):采樣頻率,dft的變換點(diǎn)數(shù)n,需要對(duì)信號(hào)的觀察時(shí)間的長(zhǎng)度。這三個(gè)參數(shù)不能隨意選取,要根據(jù)對(duì)信號(hào)頻譜分析的要求進(jìn)行確定。這里對(duì)信號(hào)頻譜分析也有三個(gè)要求: 頻率分辨率,譜分析的頻譜范圍,檢測(cè)頻率的準(zhǔn)確性。 頻譜分析的分辨率。觀察要檢測(cè)的8個(gè)頻率,相鄰間隔最小的是第一和第二個(gè)頻率,間隔是73hz,要求dft最少能夠分辨相隔73hz的兩個(gè)

11、頻率,即要求。dft的分辨率和對(duì)信號(hào)的觀察時(shí)間有關(guān), 。考慮到可靠性,留有富裕量,要求按鍵的時(shí)間大于40ms。 頻譜分析的頻率范圍 要檢測(cè)的信號(hào)頻率范圍是6971633hz,但考慮到存在語音干擾,除了檢測(cè)這8個(gè)頻率外,還要檢測(cè)它們的二次倍頻的幅度大小,波形正常且干擾小的正弦波的二次倍頻是很小的,如果發(fā)現(xiàn)二次諧波很大,則不能確定這是dtmf信號(hào)。這樣頻譜分析的頻率范圍為6973266hz。按照采樣定理,最高頻率不能超過折疊頻率,即,由此要求最小的采樣頻率應(yīng)為7.24khz。因?yàn)閿?shù)字電話總系統(tǒng)已經(jīng)規(guī)定8khz,因此對(duì)頻譜分析范圍的要求是一定滿足的。按照,8khz,算出對(duì)信號(hào)最少的采樣點(diǎn)數(shù)為。 檢測(cè)

12、頻率的準(zhǔn)確性 這是一個(gè)用dft檢測(cè)正弦波頻率是否準(zhǔn)確的問題。序列的n點(diǎn)dft是對(duì)序列頻譜函數(shù)在0區(qū)間的n點(diǎn)等間隔采樣,如果是一個(gè)周期序列,截取周期序列的整數(shù)倍周期,進(jìn)行dft,其采樣點(diǎn)剛好在周期信號(hào)的頻率上,dft的幅度最大處就是信號(hào)的準(zhǔn)確頻率。分析這些dtmf信號(hào),不可能經(jīng)過采樣得到周期序列,因此存在檢測(cè)頻率的準(zhǔn)確性問題。 dft的頻率采樣點(diǎn)頻率為(k=0,1,2,-,n-1),相應(yīng)的模擬域采樣點(diǎn)頻率為(k=0,1,2,-,n-1),希望選擇一個(gè)合適的n,使用該公式算出的能接近要檢測(cè)的頻率,或者用8個(gè)頻率中的任一個(gè)頻率代入公式中時(shí),得到的k值最接近整數(shù)值,這樣雖然用幅度最大點(diǎn)檢測(cè)的頻率有誤差

13、,但可以準(zhǔn)確判斷所對(duì)應(yīng)的dtmf頻率,即可以準(zhǔn)確判斷所對(duì)應(yīng)的數(shù)字或符號(hào)。經(jīng)過分析研究認(rèn)為n205是最好的。按照8khz,n205,算出8個(gè)頻率及其二次諧波對(duì)應(yīng)k值,和k取整數(shù)時(shí)的頻率誤差見表2。8個(gè)基頻hz最近的整數(shù)k值dft的k值絕對(duì)誤差二次諧波hz對(duì)應(yīng)的k值最近的整數(shù)k值絕對(duì)誤差69717.861180.139139435.024350.024 77019.531200.269154038.692390.308 85221.833220.167170442.813430.187 94124.113240.113188247.285470.285 120930.981310.01924186

14、0.752610.248 133634.235340.235267267.134670.134147737.848380.152295474.219740.219 163341.846420.154326682.058820.058表2-2 8個(gè)基頻以其二次諧波對(duì)應(yīng)的k值以及k取整數(shù)時(shí)的頻率誤差通過以上分析,確定8khz,n205,。 第三章 仿真程序與運(yùn)行結(jié)果dtmf信號(hào)的產(chǎn)生與識(shí)別仿真實(shí)驗(yàn)在matlab環(huán)境下進(jìn)行,編寫仿真程序,運(yùn)行程序,送入8位電話號(hào)碼,程序自動(dòng)產(chǎn)生每一位號(hào)碼數(shù)字相應(yīng)的dtmf信號(hào),并送出雙頻聲音,再用dft進(jìn)行譜分析,顯示每一位號(hào)碼數(shù)字的dtmf信號(hào)的dft幅度譜,安照

15、幅度譜的最大值確定對(duì)應(yīng)的頻率,再安照頻率確定每一位對(duì)應(yīng)的號(hào)碼數(shù)字,最后輸出8位電話號(hào)碼。3.1設(shè)計(jì)程序程序分四段:第一段(27行)設(shè)置參數(shù),并讀入8位電話號(hào)碼;第二段(920行)根據(jù)鍵入的8位電話號(hào)碼產(chǎn)生時(shí)域離散dtmf信號(hào),并連續(xù)發(fā)出8位號(hào)碼對(duì)應(yīng)的雙音頻聲音;第三段(2225行)對(duì)時(shí)域離散dtmf信號(hào)進(jìn)行頻率檢測(cè),畫出幅度譜;第四段(2633行)根據(jù)幅度譜的兩個(gè)峰值,分別查找并確定輸入8位電話號(hào)碼。程序清單如下:% dtmf雙頻撥號(hào)信號(hào)的生成和檢測(cè)程序%clear all;clc;tm=1,2,3,65;4,5,6,66;7,8,9,67;42,0,35,68; % dtmf信號(hào)代表的16個(gè)

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(鍵入6位電話號(hào)碼= ); % 輸入8位數(shù)字tnr=0; %接收端電話號(hào)碼初值為零for m=1:6; d=fix(tn/10(6-m); tn=tn-d*10(6-m); for p=1:4; for q=1:4; if tm(p,q)=abs(d); break,end % 檢測(cè)碼相符的列號(hào)q endif tm(p,q)=abs(d); break,end % 檢測(cè)碼相符的行號(hào)p end n=0

17、:1023; % 為了發(fā)聲,加長(zhǎng)序列 x = sin(2*pi*n*f1(p)/8000) + sin(2*pi*n*f2(q)/8000);% 構(gòu)成雙頻信號(hào) sound(x,8000); % 發(fā)出聲音 pause(0.1) % 接收檢測(cè)端的程序 x=goertzel(x(1:n),k+1); % 用goertzel算法計(jì)算八點(diǎn)dft樣本 val = abs(x); % 列出八點(diǎn)dft向量 subplot(3,2,m); stem(k,val,.);grid;xlabel(k);ylabel(|x(k)|) % 畫出8點(diǎn)dft幅度 axis(10 50 0 120) limit = 80; f

18、or s=5:8; if val(s) limit, break, end % 查找列號(hào) end for r=1:4; if val(r) limit, break, end % 查找行號(hào) end tnr=tnr+tm(r,s-4)*10(6-m);%將6位電話號(hào)碼表示成一個(gè)6位數(shù),以便顯示enddisp(接收端檢測(cè)到的號(hào)碼為:) % 顯示接收到的字符disp(tnr)圖3-1 matlab界面中的程序運(yùn)行3.2運(yùn)行結(jié)果:(1)、運(yùn)行程序,根據(jù)提示鍵入6位電話號(hào)碼135246,然后回車。(2)、回車后可以聽見6位電話號(hào)碼對(duì)應(yīng)的dtmf信號(hào)的聲音,并輸出相應(yīng)的6幅頻譜圖如下圖所示。(3)左上角的第一個(gè)圖在k=18和k=31兩點(diǎn)出現(xiàn)峰值,對(duì)

溫馨提示

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

評(píng)論

0/150

提交評(píng)論