通信課程設計——雙音多頻信號檢測_第1頁
已閱讀1頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p>  通信技術方向課程設計</p><p>  題目: 雙音多頻信號檢測</p><p>  物聯(lián)網工程 學院 電子信息工程 專業(yè)</p><p>  學 號 </p><p>  學生姓名 </p><p>&

2、lt;b>  二〇一〇年六月</b></p><p><b>  一、原理介紹</b></p><p>  雙音多頻(Dual Tone Multi Frequency, DTMF)信號是音頻電話中的撥號信號,由美國AT&T貝爾公司實驗室研制,并用于電話網絡中。這種信號制式具有很高的撥號速度,且容易自動監(jiān)測識別,很快就代替了原有的用脈沖計數(shù)方

3、式的撥號制式。這種雙音多頻信號制式不僅用在電話網絡中,還可以用于傳輸十進制數(shù)據(jù)的其它通信系統(tǒng)中,用于電子郵件和銀行系統(tǒng)中。這些系統(tǒng)中用戶可以用電話發(fā)送DTMF信號選擇語音菜單進行操作。</p><p>  DTMF信號系統(tǒng)是一個典型的小型信號處理系統(tǒng),它要用數(shù)字方法產生模擬信號并進行傳輸,其中還用到了D/A變換器;在接收端用A/D變換器將其轉換成數(shù)字信號,并進行數(shù)字信號處理與識別。為了系統(tǒng)的檢測速度并降低成本,還

4、開發(fā)一種特殊的DFT算法,稱為戈澤爾(Goertzel)算法,這種算法既可以用硬件(專用芯片)實現(xiàn),也可以用軟件實現(xiàn)。下面首先介紹雙音多頻信號的產生方法和檢測方法,包括戈澤爾算法,最后進行模擬實驗。</p><p><b>  二、內容及結論</b></p><p>  1、雙音多頻(DTMF)信號的組成</p><p>  在電話中,數(shù)字0~

5、9的中每一個都用兩個不同的單音頻傳輸,所用的8個頻率分成高頻帶和低頻帶兩組,低頻帶有四個頻率:679Hz,770Hz,852Hz和941Hz;高頻帶也有四個頻率:1209Hz,1336Hz,1477Hz和1633Hz.。每一個數(shù)字均由高、低頻帶中各一個頻率構成,例如1用697Hz和1209Hz兩個頻率,信號用表示,其中,。這樣8個頻率形成16種不同的雙頻信號。具體號碼以及符號對應的頻率如表1所示。表中最后一列在電話中暫時未用。</

6、p><p>  表1 雙頻撥號的頻率分配</p><p>  DTMF信號在電話中有兩種作用,一個是用撥號信號去控制交換機接通被叫的用戶電話機,另一個作用是控制電話機的各種動作,如播放留言、語音信箱等。</p><p>  2、電話中的雙音多頻(DTMF)信號的產生與檢測</p><p> ?。?)雙音多頻信號的產生</p>&

7、lt;p>  假設時間連續(xù)的 DTMF信號用表示,式中是按照表1選擇的兩個頻率,代表低頻帶中的一個頻率,代表高頻帶中的一個頻率。顯然采用數(shù)字方法產生DTMF信號,方便而且體積小。下面介紹采用數(shù)字方法產生DTMF信號。規(guī)定用8KHz對DTMF信號進行采樣,采樣后得到時域離散信號為</p><p>  形成上面序列的方法有兩種,即計算法和查表法。用計算法求正弦波的序列值容易,但實際中要占用一些計算時間,影響運行

8、速度。查表法是預先將正弦波的各序列值計算出來,寄存在存儲器中,運行時只要按順序和一定的速度取出便可。這種方法要占用一定的存儲空間,但是速度快。</p><p>  因為采樣頻率是8000Hz,因此要求每125ms輸出一個樣本,得到的序列再送到D/A變換器和平滑濾波器,輸出便是連續(xù)時間的DTMF信號。DTMF信號通過電話線路送到交換機。</p><p> ?。?)基于Goertzel算法的雙

9、音多頻信號檢測</p><p>  在接收端,要對收到的雙音多頻信號進行檢測,檢測兩個正弦波的頻率是多少,以判斷所對應的十進制數(shù)字或者符號。顯然這里仍然要用數(shù)字方法進行檢測,因此要將收到的時間連續(xù) DTMF信號經過A/D變換,變成數(shù)字信號進行檢測。檢測的方法有兩種,一種是用一組濾波器提取所關心的頻率,根據(jù)有輸出信號的2個濾波器判斷相應的數(shù)字或符號。另一種是用DFT(FFT)對雙音多頻信號進行頻譜分析,由信號的幅度

10、譜,判斷信號的兩個頻率,最后確定相應的數(shù)字或符號。當檢測的音頻數(shù)目較少時,用濾波器組實現(xiàn)更合適。FFT是DFT的快速算法,但當DFT的變換區(qū)間較小時,F(xiàn)FT快速算法的效果并不明顯,而且還要占用很多內存,因此不如直接用DFT合適。下面介紹Goertzel算法,這種算法的實質是直接計算DFT的一種線性濾波方法。這里略去Goertzel算法的介紹,可以直接調用MATLAB信號處理工具箱中戈澤爾算法的函數(shù)Goertzel,計算N點DFT的幾個感

11、興趣的頻點的值。</p><p>  3、MATLAB工具箱函數(shù)goertzel</p><p>  Goerztel函數(shù)的調用格式為:</p><p>  Xgk=goertzel(xn,K)</p><p>  xn是被變換的時域序列,用于DTMF信號檢測時,xn就是DTMF信號的205個采樣值。</p><p>

12、  K是要求計算的DFT[xn]的頻點序號向量,用N表示xn的長度,則要求1≤K≤N。由表2可知,如果只計算DTMF信號8個基頻時,</p><p>  K=[18,20,22,24,31,34,38,42],</p><p>  如果同時計算8個基頻及其二次諧波時,</p><p>  K=[18,20,22,24,31,34,35,38,39,42,43,47,

13、61,67,74,82]。</p><p>  Xgk是變換結果向量,其中存放的是由K指定的頻率點的DFT[x(n)]的值。設X(k)= DFT[x(n)],則。</p><p>  4、檢測DTMF信號的DFT參數(shù)選擇</p><p>  用DFT檢測模擬DTMF信號所含有的兩個音頻頻率,是一個用DFT對模擬信號進行頻譜分析的問題。根據(jù)第三章用DFT對模擬信號進行

14、譜分析的理論,確定三個參數(shù):(1)采樣頻率,(2)DFT的變換點數(shù)N,(3)需要對信號的觀察時間的長度。這三個參數(shù)不能隨意選取,要根據(jù)對信號頻譜分析的要求進行確定。這里對信號頻譜分析也有三個要求: (1)頻率分辨率,(2)譜分析的頻譜范圍,(3)檢測頻率的準確性。</p><p>  (1)、頻譜分析的分辨率。</p><p>  觀察要檢測的8個頻率,相鄰間隔最小的是第一和第二個頻率,

15、間隔是73Hz,要求DFT最少能夠分辨相隔73Hz的兩個頻率,即要求。DFT的分辨率和對信號的觀察時間有關, ??紤]到可靠性,留有富裕量,要求按鍵的時間大于40ms。</p><p> ?。?)、頻譜分析的頻率范圍</p><p>  要檢測的信號頻率范圍是697~1633Hz,但考慮到存在語音干擾,除了檢測這8個頻率外,還要檢測它們的二次倍頻的幅度大小,波形正常且干擾小的正弦波的二次倍頻

16、是很小的,如果發(fā)現(xiàn)二次諧波很大,則不能確定這是DTMF信號。這樣頻譜分析的頻率范圍為697~3266Hz。按照采樣定理,最高頻率不能超過折疊頻率,即,由此要求最小的采樣頻率應為7.24KHz。因為數(shù)字電話總系統(tǒng)已經規(guī)定=8KHz,因此對頻譜分析范圍的要求是一定滿足的。按照,=8KHz,算出對信號最少的采樣點數(shù)為。</p><p>  (3)、檢測頻率的準確性</p><p>  這是一個用

17、DFT檢測正弦波頻率是否準確的問題。序列的N點DFT是對序列頻譜函數(shù)在0~區(qū)間的N點等間隔采樣,如果是一個周期序列,截取周期序列的整數(shù)倍周期,進行DFT,其采樣點剛好在周期信號的頻率上,DFT的幅度最大處就是信號的準確頻率。分析這些DTMF信號,不可能經過采樣得到周期序列,因此存在檢測頻率的準確性問題。</p><p>  DFT的頻率采樣點頻率為(k=0,1,2,---,N-1),相應的模擬域采樣點頻率為(k=

18、0,1,2,---,N-1),希望選擇一個合適的N,使用該公式算出的能接近要檢測的頻率,或者用8個頻率中的任一個頻率代入公式中時,得到的k值最接近整數(shù)值,這樣雖然用幅度最大點檢測的頻率有誤差,但可以準確判斷所對應的DTMF頻率,即可以準確判斷所對應的數(shù)字或符號。經過分析研究認為N=205是最好的。按照=8KHz,N=205,算出8個頻率及其二次諧波對應k值,和k取整數(shù)時的頻率誤差見表2。</p><p><

19、b>  表2 </b></p><p>  通過以上分析,確定=8KHz,N=205,。</p><p>  三、仿真程序運行結果</p><p>  DTMF信號的產生與識別仿真實驗在MATLAB環(huán)境下進行,編寫仿真程序,運行程序,送入8位電話號碼,程序自動產生每一位號碼數(shù)字相應的DTMF信號,并送出雙頻聲音,再用DFT進行譜分析,顯示每一位號

20、碼數(shù)字的DTMF信號的DFT幅度譜,安照幅度譜的最大值確定對應的頻率,再安照頻率確定每一位對應的號碼數(shù)字,最后輸出8位電話號碼。</p><p>  1、程序分四段:第一段(2—7行)設置參數(shù),并讀入8位電話號碼;第二段(9—20行)根據(jù)鍵入的8位電話號碼產生時域離散DTMF信號,并連續(xù)發(fā)出8位號碼對應的雙音頻聲音;第三段(22—25行)對時域離散DTMF信號進行頻率檢測,畫出幅度譜;第四段(26—33行)根據(jù)幅

21、度譜的兩個峰值,分別查找并確定輸入8位電話號碼。</p><p><b>  程序清單如下:</b></p><p>  % DTMF雙頻撥號信號的生成和檢測程序</p><p>  %clear all;clc;</p><p>  tm=[1,2,3,65;4,5,6,66;7,8,9,67;42,0,35,68];

22、 % DTMF信號代表的16個數(shù)</p><p>  N=205;K=[18,20,22,24,31,34,38,42];</p><p>  f1=[697,770,852,941]; % 行頻率向量</p><p>  f2=[1209,1336,1477,1633]; % 列頻率向量</

23、p><p>  TN=input('鍵入8位電話號碼= '); % 輸入8位數(shù)字</p><p>  TNr=0; %接收端電話號碼初值為零</p><p>  for l=1:8;</p><p>  d=fix(TN/10^(8-l));<

24、;/p><p>  TN=TN-d*10^(8-l);</p><p>  for p=1:4;</p><p>  for q=1:4;</p><p>  if tm(p,q)==abs(d); break,end % 檢測碼相符的列號q</p><p><b>  end</b>&l

25、t;/p><p>  if tm(p,q)==abs(d); break,end % 檢測碼相符的行號p</p><p><b>  end</b></p><p>  n=0:1023; % 為了發(fā)聲,加長序列</p><p>  x = sin(2*p

26、i*n*f1(p)/8000) + sin(2*pi*n*f2(q)/8000);% 構成雙頻信號</p><p>  sound(x,8000); % 發(fā)出聲音</p><p>  pause(0.1)</p><p>  % 接收檢測端的程序</p><p>  X=goertz

27、el(x(1:205),K+1); % 用Goertzel算法計算八點DFT樣本</p><p>  val = abs(X); % 列出八點DFT向量</p><p>  subplot(4,2,l);</p><p>  stem(K,val,'.');grid;xla

28、bel('k');ylabel('|X(k)|') % 畫出DFT(k)幅度</p><p>  axis([10 50 0 120])</p><p>  limit = 80; %</p><p>  for s=5:8;</p><p>  if val(s) > l

29、imit, break, end % 查找列號</p><p><b>  end</b></p><p>  for r=1:4;</p><p>  if val(r) > limit, break, end % 查找行號</p><p><b>  end</b>

30、</p><p>  TNr=TNr+tm(r,s-4)*10^(8-l);</p><p><b>  end</b></p><p>  disp('接收端檢測到的號碼為:') % 顯示接收到的字符</p><p><b>  disp(TNr)</b></

31、p><p><b>  2、運行結果:</b></p><p>  (1)、運行程序,根據(jù)提示鍵入8位電話號碼12345678,然后回車。</p><p> ?。?)、回車后可以聽見8位電話號碼對應的DTMF信號的聲音,并輸出相應的8幅頻譜圖如下圖所示。</p><p> ?。?)、左上角的第一個圖在k=18和k=31兩點出

32、現(xiàn)峰值,所以對應第一位號碼數(shù)字1。最后顯示檢測到的電話號碼12345678。</p><p><b>  四、總結</b></p><p>  這學期我們學習了通信原理課程這門課程并開設了實驗,同時在短學期中進行了為期一周的課程設計,目的是讓我們更深刻的理解通信原理這門課,并且把所學的理論與實踐相聯(lián)系。這次的課程設計共有個八題目,我完成的是第六個——雙音多頻信號檢測。

33、</p><p>  我拿到題目后,上網查閱老師給的參考資料,將英文翻譯成中文,了解了雙音多頻信號檢測的原理。參考資料所給內容比較簡單且Matlab的程序有缺省和錯誤,所以我又學習通信原理中相關知識并查閱一些資料,學習Matlab的使用方法,最終寫出程序,進行了調試、仿真,并完成報告。</p><p>  這次課程設計,我學會了很多東西。熟悉了仿真軟件Matlab的使用方法,學會了Matl

溫馨提示

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

評論

0/150

提交評論