




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、數(shù)字信號處理課程設計題目:數(shù)字信號處理在雙音多頻撥號系統(tǒng)中的應用 學校:南昌航空大學科技學院 專業(yè):自動化 班級:1182022 學號:27 姓名: 吳哲祺 2014年1月13日2014年1月17日設計任務設計程序,讀入8位電話號碼,根據(jù)鍵入的8位電話號碼產(chǎn)生時域離散雙音多頻(DTMF)信號,并連續(xù)發(fā)出8位號碼對應的雙音頻聲音。對時域離散DTMF信號進行頻率檢測,畫出幅度譜。根據(jù)幅度譜的兩個峰值,分別查找并確定輸入8位電話號碼,并將其輸出。設計步驟:1) 初步完成總體設計,搭好框架,確定人機對話的界面,確定輸入輸出函數(shù)的接口;2) 編寫主要程序,包括戈澤爾算法和N點DFT;3) 編寫實現(xiàn)輸入輸
2、出功能的程序;4) 編寫波形輸出程序;5) 用matlab的相應函數(shù)進行檢驗。要求:1) 用結(jié)構(gòu)化設計方法。一個程序劃分成若干模塊,每一個模塊的函數(shù)功能要劃分好,總體設計應畫出流程圖;2) 輸入輸出界面要友好;3) 源程序書寫要規(guī)范,加必要的注釋;4) 要提供通過Matlab函數(shù)進行檢驗的結(jié)果;5) 程序一定要要能運行起來。一、 原理 雙音多頻(Dual Tone Multi Frequency, DTMF)信號是音頻電話中的撥號信號,由美國AT&T貝爾公司實驗室研制,并用于電話網(wǎng)絡中。這種信號制式具有很高的撥號速度,且容易自動監(jiān)測識別,很快就代替了原有的用脈沖計數(shù)方式的撥號制式。這種
3、雙音多頻信號制式不僅用在電話網(wǎng)絡中,還可以用于傳輸十進制數(shù)據(jù)的其它通信系統(tǒng)中,用于電子郵件和銀行系統(tǒng)中。這些系統(tǒng)中用戶可以用電話發(fā)送DTMF信號選擇語音菜單進行操作。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)生方法和檢測方法,包括戈澤爾算法,最后進行模擬實驗。下面先介紹電話中的DTMF
4、信號的組成。1. 電話中的DTMF信號的組成在電話中,數(shù)字0-9的中每一個都用兩個不同的單音頻傳輸,所用的8個頻率分成高頻帶和低頻帶兩組,低頻帶有四個頻率:679Hz,770Hz,852Hz和941Hz;高頻帶也有四個頻率:1209Hz,1336Hz,1477Hz和1633Hz.。每一個數(shù)字均由高、低頻帶中各一個頻率構(gòu)成,例如1用697Hz和1209Hz兩個頻率,信號用表示,其中,。這樣8個頻率形成16種不同的雙頻信號。具體號碼以及符號對應的頻率如表1所示。表中最后一列在電話中暫時未用。表1雙頻撥號的頻率分配列行1209Hz1336Hz1477Hz1633Hz697Hz123A770Hz456
5、B852Hz789C941Hz*0#DDTMF信號在電話中有兩種作用,一個是用撥號信號去控制交換機接通被叫的用戶電話機,另一個作用是控制電話機的各種動作,如播放留言、語音信箱等。2. 電話中的雙音多頻(DTMF)信號的產(chǎn)生與檢測(1)雙音多頻信號的產(chǎn)生假設時間連續(xù)的 DTMF信號用表示,式中是按照表1選擇的兩個頻率,代表低頻帶中的一個頻率,代表高頻帶中的一個頻率。顯然采用數(shù)字方法產(chǎn)生DTMF信號,方便而且體積小。下面介紹采用數(shù)字方法產(chǎn)生DTMF信號。規(guī)定用8KHz對DTMF信號進行采樣,采樣后得到時域離散信號為 形成上面序列的方法有兩種,即計算法和查表法。用計算法求正弦波的序列值容易,但實際中
6、要占用一些計算時間,影響運行速度。查表法是預先將正弦波的各序列值計算出來,寄存在存儲器中,運行時只要按順序和一定的速度取出便可。這種方法要占用一定的存儲空間,但是速度快。因為采樣頻率是8000Hz,因此要求每125ms輸出一個樣本,得到的序列再送到D/A變換器和平滑濾波器,輸出便是連續(xù)時間的DTMF信號。DTMF信號通過電話線路送到交換機。 (2)雙音多頻信號的檢測在接收端,要對收到的雙音多頻信號進行檢測,檢測兩個正弦波的頻率是多少,以判斷所對應的十進制數(shù)字或者符號。顯然這里仍然要用數(shù)字方法進行檢測,因此要將收到的時間連續(xù) DTMF信號經(jīng)過A/D變換,變成數(shù)字信號進行檢測。檢測的方法有兩種,一
7、種是用一組濾波器提取所關心的頻率,根據(jù)有輸出信號的2個濾波器判斷相應的數(shù)字或符號。另一種是用DFT(FFT)對雙音多頻信號進行頻譜分析,由信號的幅度譜,判斷信號的兩個頻率,最后確定相應的數(shù)字或符號。當檢測的音頻數(shù)目較少時,用濾波器組實現(xiàn)更合適。FFT是DFT的快速算法,但當DFT的變換區(qū)間較小時,F(xiàn)FT快速算法的效果并不明顯,而且還要占用很多內(nèi)存,因此不如直接用DFT合適。下面介紹Goertzel算法,這種算法的實質(zhì)是直接計算DFT的一種線性濾波方法。這里略去Goertzel算法的介紹(請參考文獻【1】),可以直接調(diào)用MATLAB信號處理工具箱中戈澤爾算法的函數(shù)Goertzel,計算N點DFT
8、的幾個感興趣的頻點的值3. 檢測DTMF信號的DFT參數(shù)選擇用DFT檢測模擬DTMF信號所含有的兩個音頻頻率,是一個用DFT對模擬信號進行頻譜分析的問題。根據(jù)第三章用DFT對模擬信號進行譜分析的理論,確定三個參數(shù):(1)采樣頻率,(2)DFT的變換點數(shù)N,(3)需要對信號的觀察時間的長度。這三個參數(shù)不能隨意選取,要根據(jù)對信號頻譜分析的要求進行確定。這里對信號頻譜分析也有三個要求: (1)頻率分辨率,(2)譜分析的頻譜范圍,(3)檢測頻率的準確性。(1) 頻譜分析的分辨率 觀察要檢測的8個頻率,相鄰間隔最小的是第一和第二個頻率,間隔是73Hz,要求DFT最少能夠分辨相隔73Hz的兩個頻率,即要求
9、。DFT的分辨率和對信號的觀察時間有關, 。考慮到可靠性,留有富裕量,要求按鍵的時間大于40ms。(2) 頻譜分析的頻率范圍要檢測的信號頻率范圍是6971633Hz,但考慮到存在語音干擾,除了檢測這8個頻率外,還要檢測它們的二次倍頻的幅度大小,波形正常且干擾小的正弦波的二次倍頻是很小的,如果發(fā)現(xiàn)二次諧波很大,則不能確定這是DTMF信號。這樣頻譜分析的頻率范圍為6973266Hz。按照采樣定理,最高頻率不能超過折疊頻率,即,由此要求最小的采樣頻率應為7.24KHz。因為數(shù)字電話總系統(tǒng)已經(jīng)規(guī)定8KHz,因此對頻譜分析范圍的要求是一定滿足的。按照,8KHz,算出對信號最少的采樣點數(shù)為。(3) 檢測頻
10、率的準確性這是一個用DFT檢測正弦波頻率是否準確的問題。序列的N點DFT是對序列頻譜函數(shù)在0區(qū)間的N點等間隔采樣,如果是一個周期序列,截取周期序列的整數(shù)倍周期,進行DFT,其采樣點剛好在周期信號的頻率上,DFT的幅度最大處就是信號的準確頻率。分析這些DTMF信號,不可能經(jīng)過采樣得到周期序列,因此存在檢測頻率的準確性問題。 DFT的頻率采樣點頻率為(k=0,1,2,-,N-1),相應的模擬域采樣點頻率為(k=0,1,2,-,N-1),希望選擇一個合適的N,使用該公式算出的能接近要檢測的頻率,或者用8個頻率中的任一個頻率代入公式中時,得到的k值最接近整數(shù)值,這樣雖然用幅度最大點檢測的頻率有誤差,但
11、可以準確判斷所對應的DTMF頻率,即可以準確判斷所對應的數(shù)字或符號。經(jīng)過分析研究認為N205是最好的。按照8KHz,N205,算出8個頻率及其二次諧波對應k值,和k取整數(shù)時的頻率誤差見表2。表2 頻率誤差8個基頻/Hz最近的整數(shù)k值DFT的k值絕對誤差二次諧波/Hz對應的k值最近的整數(shù)k值絕對誤差69717.861180.319139435.024350.02477019.531200.269154038.692390.30885221.833220.167170442.813430.18794124.113240.113188247.285470.285120930.981310.01924
12、1860.752610.248133634.235340.235267267.134670.134147737.848380.152295474.219740.219163341.846420.154326682.058820.058 通過以上分析,確定8KHz,N205。4. DTMF信號的產(chǎn)生與識別仿真實驗下面先介紹MATLAB工具箱函數(shù)goertzel,然后介紹DTMF信號的產(chǎn)生與識別仿真實驗程序。Goerztel函數(shù)的調(diào)用格式為:Xgk=goertzel(xn,K)xn是被變換的時域序列,用于DTMF信號檢測時,xn就是DTMF信號的205個采樣值。K是要求計算的DFTxn的頻點序號向
13、量,用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)的值。設X(k)= DFTx(n),則。 DTMF信號的產(chǎn)生與識別仿真實驗在MATLAB環(huán)境下進行,編寫仿真程序,運行程序,送入8位電話號碼,程序自動產(chǎn)生每一位號碼數(shù)字相應的DTMF信號,并送出雙頻聲音,再用DFT進行譜分析,顯示每一位號碼數(shù)字的DTMF信號的D
14、FT幅度譜,安照幅度譜的最大值確定對應的頻率,再安照頻率確定每一位對應的號碼數(shù)字,最后輸出8位電話號碼。二、 設計過程1. 設置參數(shù),并讀入8位電話號碼。設置每位電話號碼所對應的高頻分量和低頻分量。2. 根據(jù)鍵入的8位電話號碼產(chǎn)生相應的時域離散DTMF信號,添加程序,連續(xù)發(fā)出8位電話號碼對應的雙頻聲音。3. 對時域離散DTMF信號進行頻率檢測,畫出幅度譜。4. 根據(jù)幅度譜的兩個峰值,分別查找并確定輸入8位電話號碼。5. 將8位電話號碼表示成一個8位數(shù)并輸出。開 始輸入8位電話號碼檢測與m位號碼相符的低頻帶檢測與m位號碼相符的高頻帶構(gòu)成雙音頻信號用Goertzel算法計算八點DFT樣本畫出8點D
15、FT樣本幅度檢測8點DFT模值查找8點樣本所對應的低頻帶與高頻帶輸出檢測出的8位電話號碼結(jié) 束三、 結(jié)果與驗證(1)運行結(jié)果鍵入8位電話號碼: 12345678接收端接檢測的號碼為:12345678對時域離散DTMF信號進行頻率檢測,幅度譜圖如下:六位的幅度譜圖如下:(與八位對比)(2)由DTMF信號在8個近似基頻點的DFT幅度圖可知,第一幅圖低頻K1=8,K2=31,由表2可知f1=697Hz,f2=1209Hz,由表1可知對應的號碼為1; 第二幅圖低頻K1=18,K2=34,由表2可知f1=697Hz,f2=1336Hz,由表1可知對應的號碼為2;第三幅圖低頻K1=18,K2=38,由表2
16、可知f1=697Hz,f2=1477Hz,由表1可知對應的號碼為3;第四幅圖低頻K1=20,K2=31,由表2可知f1=770Hz,f2=1209Hz,由表1可知對應的號碼為4;第五幅圖低頻K1=20,K2=34,由表2可知f1=770Hz,f2=1336Hz,由表1可知對應的號碼為5;第六幅圖低頻K1=20,K2=38,由表2可知f1=770Hz,f2=1477Hz,由表1可知對應的號碼為6;第六幅圖低頻K1=22,K2=31,由表2可知f1=852Hz,f2=1209Hz,由表1可知對應的號碼為7;第八幅圖低頻K1=22,K2=34,由表2可知f1=852Hz,f2=1336Hz,由表1可
17、知對應的號碼為8;即最終輸出號碼為12345678,與程序運行結(jié)果相同。四、 界面設計 實現(xiàn)更加友好的人機對話的界面,加入了界面窗口,各種數(shù)據(jù)可以從窗口直接輸入,并且設置開始按鈕和清除按鈕,可以從窗口選擇六位或者八位電話號碼的輸入,在窗口中可以直接顯示出電話號碼DFT的幅值,簡潔、方便。下圖為具體的界面窗口,輸入為八位電話號碼:12345678,接收到電話號碼:12345678。下圖為對應各位電話號碼的DFT幅值。五、分析和總結(jié)通過本次課程設計,首先使我對于雙音多頻撥號系統(tǒng)有了更全面的認識和理解,雙音多頻撥號系統(tǒng)是現(xiàn)在最常用的撥號系統(tǒng),數(shù)字0-9的中每一個都用兩個不同的單音頻傳輸,所用的8個頻
18、率分成高頻帶和低頻帶兩組,低頻帶有四個頻率:679Hz,770Hz,852Hz和941Hz;高頻帶也有四個頻率:1209Hz,1336Hz,1477Hz和1633Hz.。每一個數(shù)字均由高、低頻帶中各一個頻率構(gòu)成。其次,對于數(shù)字信號處理中很多理解不清晰的問題也加深了理解,對也DFT有了更深一層的理解,并且學習到計算DFT的新算法: Goerztel函數(shù),更加方便了DFT的計算。再次,對于MATLAB的設計也更加清晰明了,matlab用起來挺順手的,比C語言簡單。但是用到細節(jié)處的時候卻困難重重,因為很多知識都沒有學習,就算知道函數(shù)名,也不知道如何調(diào)用。通過自己查詢相關資料,客服了相關的問題,使自己
19、對MATLAB的認識及應用也進入了一個新的層次。總而言之,通過本次試驗,加深了對于Matlab的了解,同時復習了數(shù)字信號方面的相關知識,對于還不太清楚的相關知識,通過進一步的查找得到了很好的解決。了解了雙音多頻信號的產(chǎn)生、檢測、包括對雙音多頻信號進行DFT時的參數(shù)選擇等的相關知識。附錄:主要程序% DTMF雙頻撥號信號的生成和檢測程序八位數(shù)字程序: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; %8個基頻分量對應的8個k值f1
20、=697,770,852,941; % 行頻率向量f2=1209,1336,1477,1633; % 列頻率向量TN=input('鍵入8位電話號碼= '); % 輸入8位數(shù)字TNr=0;
21、160; %接收端電話號碼初值為零for m=1:8; %分別對每位號碼數(shù)字處理:產(chǎn)生信號,發(fā)聲,檢測 d=fix(TN/10(8-m); %計算出與第l位號碼數(shù)字 TN=TN-d*10(8-m); for p=1:4; for q=1:4;
22、; if tm(p,q)=abs(d); break,end end % 檢測與m位號碼相符的列號q if tm(p,q)=abs(d); break,end end % 檢測與m位號碼相符的行號p n=0:1023;
23、; % 為了發(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) %相鄰號碼響聲之間加0.1秒停頓 % 接收檢測端的程序
24、0; X=goertzel(x(1:205),K+1); % 用Goertzel算法計算八點DFT樣本 Val=abs(X); % 列出八點DFT向量 subplot(4,2,m); stem(K, Val,'.');grid;xlabel('k');ylabel(&
25、#39;|X(k)|') % 畫出DFT(k)幅度 axis(10 50 0 120) limit = 80; %基頻檢測門限為80 for s=5:8; if Val (s) > limit, break, end % 查找列號
26、; end for r=1:4; if Val (r) > limit, break, end % 查找行號 end TNr=TNr+tm(r,s-4)*10(8-m);enddisp('接收端檢測到的號碼為:') %
27、 顯示接收到的字符disp(TNr)六位號碼程序: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; %8個基頻分量對應的8個k值f1=697,770,852,941; % 行頻率向量f2=1209,1336,1477,1633; &
28、#160; % 列頻率向量TN=input('鍵入6位電話號碼= '); % 輸入8位數(shù)字TNr=0; %接收端電話號碼初值為零for m=1:6; %分別對每位號碼數(shù)字處理:產(chǎn)生信號,發(fā)聲,檢測 d=fix(TN/10(6-m); %計
29、算出與第l位號碼數(shù)字 TN=TN-d*10(6-m); for p=1:4; for q=1:4; if tm(p,q)=abs(d); break,end end % 檢測與m位號碼相符的列號q
30、0; if tm(p,q)=abs(d); break,end end % 檢測與m位號碼相符的行號p n=0:1023; % 為了發(fā)聲,加長序列 x = sin(2*pi*n*f1(p)/8000) + sin(2*pi*n*f2(q)/8000);% 構(gòu)成雙頻信號 sound(x,8000);
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 案件質(zhì)量流程管理辦法
- 火電廠熱網(wǎng)水側(cè)高效清洗工藝優(yōu)化與運行策略研究
- 公司工會經(jīng)費管理與收支優(yōu)化方案
- 保健管理處方管理辦法
- 申請報告書的撰寫
- 檔案信息收集管理辦法
- 地理空間數(shù)據(jù)底座在區(qū)域開發(fā)中的應用與挑戰(zhàn)
- 《中小學德育工作指南》的實踐意義
- 船舶復合材料結(jié)構(gòu)多目標優(yōu)化設計技術(shù)
- 普通美容廣告管理辦法
- 2025年下半年佛山市南海區(qū)建筑工程質(zhì)量檢測站招考編外工作人員易考易錯模擬試題(共500題)試卷后附參考答案
- GB/T 45610-2025煤矸石回填塌陷區(qū)復墾技術(shù)規(guī)程
- 2型糖尿病患者卒中預防及血糖管理專家共識2024解讀
- 人教版五年級上冊數(shù)學全冊導學案(2021年秋修訂)
- 二級注冊建造師繼續(xù)教育題庫附答案
- 夏季安全生產(chǎn)八防
- 2025-2030年中國寫字樓行業(yè)市場深度調(diào)研及前景趨勢與投資研究報告
- 人教版(2024)七年級下冊英語Unit 8 Once upon a Time單元集體備課教案(共5課時)
- 上海2025年上海市第一批面向西藏籍畢業(yè)生招聘筆試歷年參考題庫附帶答案詳解
- 鄒平市社區(qū)工作者招聘真題2024
- 公司員工飲水管理制度
評論
0/150
提交評論