版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、河南科技大學(xué)本科畢業(yè)設(shè)計(論文)基于matlab的dtmf信號的仿真分析摘 要雙音多頻信號由于具有抗干擾性強和高速率傳輸?shù)膬?yōu)點,在世界范圍內(nèi)使用在按鍵式電話機上。近年來,dtmf信號也應(yīng)用在交互式控制中,諸如語言菜單、語言郵件、電話銀行和atm終端以及voip系統(tǒng)中,研究其在 matlab下的仿真實現(xiàn),有助于其具體系統(tǒng)的優(yōu)化設(shè)計。本文首先闡述了dtmf信號的原理,介紹了在matlab仿真軟件中產(chǎn)生的dtmf信號的方法,對geortzel算法和快速傅里葉變換法提取的頻譜方面的性能進行分析比較。本文仿真時采用geortzel算法,在白噪聲的環(huán)境下對輸入的dtmf信號提取頻譜信息,即所謂的檢測過程。
2、本文還用matlab的圖形控制語句“uicontrol”創(chuàng)建一個按鍵“pushbutton”的dtmf信號的模擬鍵盤。發(fā)聲部分的程序是按照國際標(biāo)準規(guī)定的雙音多頻撥號系統(tǒng)的頻率,每個按鍵對應(yīng)低音頻組的一個頻率和高音頻組的一個頻率,即每按一鍵發(fā)出特定的雙音,并且在頻譜圖上顯示相應(yīng)的雙頻。關(guān)鍵詞: geortzel算法,雙音多頻,快速傅立葉變換,matlabthe analysis of dtmf signal simulation with matlababstract dual tone multi frequency signal as a strong anti-interference a
3、nd the advantages of high-speed transmission is now being used worldwide in the push-button telephone. dtmf signals are also applied in recent years, interactive control, such as the language menu, language e-mail, phone banking and atm terminals, and voip systems, and thus under study in the matlab
4、 simulation helps optimize the design of their specific systems.this paper describes the principles and how dtmf signals generated by matlab dtmf signals, and with the geortzel algorithm and the fft algorithm for fast fourier spectrum analysis and comparison of extraction, and then, get with the geo
5、rtzel algorithm in the context of white noise on the input dtmf signal extracting spectral information, the so-called detection process. at the same time using matlabs graphical control statements uicontrol button to create a pushbutton the dtmf signal analog keyboard. sound part of the program in a
6、ccordance with international standards for dual-tone multi-frequency dialing system frequency, each key corresponds to a group of low audio frequency and a high frequency of the audio group, that is, each issued by a specific two-tone keys, and spectrum shown in the corresponding frequency.key words
7、: geortzel, dual-tone multi-frequency, fast fourier transfer, matlab目錄前言1第1章 概述21.1 信號概述21.2 數(shù)字信號概述21.3 數(shù)字濾波器31.4 頻率分析4第2章 dtmf信號產(chǎn)生和檢測原理62.1 dtmf信號62.2 dtmf信號的識別及算法實現(xiàn)72.2.1 dtmf信號的識別72.2.2 dtmf信號的檢測92.3 goertzel算法原理12第3章 雙音多頻系統(tǒng)的matlab設(shè)計與實現(xiàn)173.1 matlab工具簡介173.2 dtmf信號的產(chǎn)生、檢測193.2.1 雙音多頻信號的產(chǎn)生193.2.2 雙音
8、多頻信號的檢測193.3 dtmf信號鍵盤的仿真23結(jié)論30參考文獻31致謝33外文資料原文34外文資料譯文411前言雙音多頻(dual tone multi frequency, dtmf)信號是音頻電話中的撥號信號,由美國at&t貝爾公司實驗室研制,并用于電話網(wǎng)絡(luò)中。dtmf信號在電話中有兩種作用,一個是用撥號信號去控制交換機接通被叫的用戶電話機,另一個作用是控制電話機的各種動作,如播放留言、語音信箱等。作為實現(xiàn)電話號碼快速可靠傳輸?shù)囊环N技術(shù),它具有很強的抗干擾能力和較高的傳輸速度,因此,可廣泛用于電話通信系統(tǒng)中,但絕大部分是用作電話的音頻撥號。研究其在 matlab下的仿真實現(xiàn)有助于其具
9、體系統(tǒng)的優(yōu)化設(shè)計。matlab語言是一種廣泛應(yīng)用于工程計算及數(shù)值分析領(lǐng)域的新型高級語言,包括擁有數(shù)百個內(nèi)部函數(shù)的主包和三十幾種工具包。工具包又可以分為功能性工具包和學(xué)科工具包。功能工具包用來擴充matlab的符號計算,可視化建模仿真,文字處理及實時控制等功能。學(xué)科工具包是專業(yè)性比較強的工具包,控制工具包,信號處理工具包,通信工具包等都屬于此類。matlab語言像basic、fortran和c語言一樣規(guī)定了矩陣的一系列運算符,它不需定義數(shù)組的維數(shù),并給出矩陣函數(shù)、特殊矩陣專門的庫函數(shù),使之在求解諸如信號處理、建模、系統(tǒng)識別、控制、優(yōu)化等領(lǐng)域的問題時,顯得大為簡捷、高效、方便,這是其它高級語言所不
10、能比擬的。參考國內(nèi)外同類設(shè)計,本次設(shè)計吸取了其中的設(shè)計經(jīng)驗,爭取少走彎路。關(guān)于dtmf信號的產(chǎn)生,主要有計算法和查表法兩種方法。計算法程序比較簡單,但需要占用計算時間,影響運行速度。查表法是先將各正弦波的序列計算出來,存在存儲器中,運行時按一定順序和速度讀出,它占用一定存儲空間,速度快。關(guān)于dtmf的檢測。關(guān)鍵是通過戈澤爾算法計算信號的dft。在確定了3個參數(shù)(采樣頻率,dft變換點數(shù),對信號的觀測周期)之后,就可以在接收端實現(xiàn)對dtmf信號的檢測。在得到dtmf(雙音多頻)信號的生成與檢測結(jié)果后進行分析,并對用戈澤爾算法和快速傅里葉fft算法提取的頻譜進行分析比較,然后得到用戈澤爾算法在白噪
11、聲的環(huán)境下對輸入的dtmf信號提取頻譜信息,最后,根據(jù)提取的頻譜信息對輸入信號進行檢測解碼。第1章 概述1.1 信號概述信號是反映消息的物理量,是消息的表現(xiàn)形式。人們所說的信息,是指存在于消息之中的新內(nèi)容,例如人們從各種媒體上獲得原來未知的消息,就是獲得了信息。可見信息需要借助某些物理量(如聲、光、電)的變化來表示和傳遞。由于非電的物理量可以通過各種傳感器較容易地轉(zhuǎn)換成電信號,而電信號又容易傳送和控制,所以使其成為應(yīng)用最廣的信號。電信號是指隨著時間而變化的電壓或電流,因此在數(shù)學(xué)描述上可將它表示為時間的函數(shù),并可畫出其波形。信息通過電信號進行傳送、交換、存儲、提取等。電信號的形式是多種多樣的,可
12、以從不同的角度進行分類。根據(jù)信號的隨機性可以分為確定信號和隨機信號;根據(jù)信號的周期性可分為周期信號和非周期信號;根據(jù)信號的連續(xù)性可以分為連續(xù)時間信號和離散信號;在電子線路中將信號分為模擬信號和數(shù)字信號。本文主要闡述goertzel算法在雙音撥號系統(tǒng)中的應(yīng)用,并利用matlab6.5的強大功能,用軟件實現(xiàn)dtmf(雙音多頻)信號的檢測。11.2 數(shù)字信號概述我們每天遇到的信號,大部分都是模擬信號。離散時間信號只被定義在一種特定的時間瞬間集合上,表現(xiàn)為具有連續(xù)數(shù)值范圍的數(shù)值序列。而數(shù)字信號在時間上和幅值上都有離散的數(shù)字。因此在實際的操作中,數(shù)字信號更容易處理。隨著數(shù)字電子技術(shù)的發(fā)展,在語音處理、通
13、信控制、圖象處理等領(lǐng)域dsp(digital signal processor 數(shù)字信號處理器 )也得到了越來越廣泛的應(yīng)用。較之傳統(tǒng)的方法,數(shù)字信號處理系統(tǒng)自身有著無可比擬的優(yōu)點。抗干擾能力強、無噪聲積累,對于數(shù)字通信由于數(shù)字信號的幅值為有限個離散值(通常取兩個幅值),在傳輸過程中雖然也受到噪聲的干擾,但當(dāng)信噪比惡化到一定程度時,即在適當(dāng)?shù)木嚯x采用判決再生的方法,再生成沒有噪聲干擾的和原發(fā)送端一樣的數(shù)字信號,所以可實現(xiàn)長距離高質(zhì)量的傳輸。便于加密處理。 信息傳輸?shù)陌踩院捅C苄栽絹碓街匾?,?shù)字通信的加密處理的比模擬通信容易得多,以話音信號為例,經(jīng)過數(shù)字變換后的信號可用簡單的數(shù)字邏輯運算進行加密
14、、解密處理。便于存儲、處理和交換。數(shù)字通信的信號形式和計算機所用信號一致,都是二進制代碼,因此便于與計算機聯(lián)網(wǎng),也便于用計算機對數(shù)字信號進行存儲、處理和交換,可使通信網(wǎng)的管理、維護實現(xiàn)自動化、智能化。設(shè)備便于集成化、微型。數(shù)字通信采用時分多路復(fù)用,不需要體積較大的濾波器。設(shè)備中大部分電路是數(shù)字電路,可用大規(guī)模和超大規(guī)模集成電路實現(xiàn),因此體積小、功耗低。便于構(gòu)成綜合數(shù)字網(wǎng)和綜合業(yè)務(wù)數(shù)字網(wǎng)采用數(shù)字傳輸方式,可以通過程控數(shù)字交換設(shè)備進行數(shù)字交換,以實現(xiàn)傳輸和交換的綜合。另外,電話業(yè)務(wù)和各種非話業(yè)務(wù)都可以實現(xiàn)數(shù)字化,構(gòu)成綜合業(yè)務(wù)數(shù)字網(wǎng)。占用信道頻帶較寬,一路模擬電話的頻帶為4khz帶寬,一路數(shù)字電話約
15、占64khz,這是模擬通信目前仍有生命力的主要原因。隨著寬頻帶信道(光纜、數(shù)字微波)的大量利用以及數(shù)字信號處理技術(shù)的發(fā)展,數(shù)字電話的帶寬問題已不是主要問題了。231.3 數(shù)字濾波器數(shù)字濾波器由數(shù)字乘法器、加法器和延時單元組成的一種算法或裝置。數(shù)字濾波器的功能是對輸入離散信號的數(shù)字代碼進行運算處理,以達到改變信號頻譜的目的。要想對系統(tǒng)的特性有著直觀的認識和了解,則需要了解數(shù)字濾波器的有關(guān)理論。數(shù)字濾波器的功能就是把輸入序列通過一定的的運算變換為輸出序列。數(shù)學(xué)公示表示如下: (1-1)通常可以用兩種方法實現(xiàn)數(shù)字濾波器:一種方法是把濾波器所完成的運算編成程序并讓計算機執(zhí)行,也就是采用就算機軟件實現(xiàn);
16、另一種方法是設(shè)計專用的數(shù)字硬件、專用的數(shù)字信號處理器或采用通用的數(shù)字信號處理器來實現(xiàn)。存在著兩種數(shù)字濾波器的的基本類型:fir濾波器和iir濾波器。它們的系統(tǒng)函數(shù)分別為: (1-2) (1-3) 式(1-3)中的h(z)稱為n-1階fir濾波器函數(shù),式(1-2)中的h(z)稱為n階iir濾波器函數(shù)。無限長單位沖激響應(yīng)(iir)濾波器的單位沖激響應(yīng)h(n)是無限長的;系統(tǒng)函數(shù)h(z)在有限z平面(0z)上有極點存在;結(jié)構(gòu)上存在著輸出到輸入的反饋,也就是結(jié)構(gòu)上是遞歸型的。1.4 頻率分析任何給定信號的頻率分析,都包含著時域信號向其頻率分量的轉(zhuǎn)換。之所以要在頻域內(nèi)對信號進行描述,因為在實現(xiàn)信號處理時
17、,通常都利用以頻率響應(yīng)形式描述的系統(tǒng)。而這些頻域信號處理概念時傅立葉變換是必不可少的。同時z變換對進行數(shù)字系統(tǒng)分析和實現(xiàn)也極其重要。一、 傅立葉級數(shù)及傅立葉變換任何周期信號x(t)均可以表示為無窮多個諧波調(diào)諧相關(guān)的正弦波和復(fù)指數(shù)之和。具有周期t0(秒)周期信號x(t),其基本的數(shù)學(xué)表達式為具有系列定義的傅立葉級數(shù): (1-4)式中ck為傅立葉級系數(shù),第k個傅立葉系數(shù)ck可以表示為 (1-5)用周期信號的傅立葉級數(shù)通過極限的方法導(dǎo)出的非周期信號的頻譜表示式,稱為傅立葉變換:傅立葉逆變換: (1-6)傅立葉正變換: = (1-7)二、 z變換及系統(tǒng)函數(shù)對于離散時間系統(tǒng)來說,與拉普拉斯對應(yīng)的變換是是
18、z變換,z變換提供了離散時間信號和系統(tǒng)的頻域描述,并為數(shù)字濾波器的設(shè)計和實現(xiàn),提供了有力的工具。序列x(n)的z變換定義為 : (1-8)式中z是一個復(fù)變量,定義中對n求和是在和之間求和,稱為雙邊z變換。還有一種稱為單邊z變換的定義,如下式: (1-9)將系統(tǒng)的單位脈沖響應(yīng)h(n)進行z變換,得到h(z),一般稱h(z)為系統(tǒng)的系統(tǒng)函數(shù),它表征了系統(tǒng)的頻域特性。對n階差分方程進行z變換,得到系統(tǒng)函數(shù)的一般表示式 (1-10)令z=ej即得系統(tǒng)的傳輸函數(shù)h(ej)。第2章 dtmf信號產(chǎn)生和檢測原理2.1 dtmf信號 dtmf,由高頻群和低頻群組成,高低頻群各包含4個頻率。一個高頻信號和一個低
19、頻信號疊加組成一個組合信號,代表一個數(shù)字。dtmf信令有16個編碼。利用dtmf信令可選擇呼叫相應(yīng)的對講機同時,雙音多頻信號是電話系統(tǒng)中電話機與交換機之間的一種用戶信令,通常用于發(fā)送被叫號碼。在使用雙音多頻信號之前,電話系統(tǒng)中使用一連串的斷續(xù)脈沖來傳送被叫號碼,稱為脈沖撥號。脈沖撥號需要電信局中的操作員手工完成長途接續(xù)。 雙音多頻的撥號鍵盤是44的矩陣,每一行代表一個低頻,每一列代表一個高頻。每按一個鍵就發(fā)送一個高頻和低頻的正弦信號組合,比如1相當(dāng)于697和1209赫茲(hz)。交換機可以解碼這些頻率組合并確定所對應(yīng)的按鍵。dtmf編解碼器在編碼時將擊鍵或數(shù)字信息轉(zhuǎn)換成雙音信號并發(fā)送,解碼時在
20、收到的dtmf信號中檢測擊鍵或數(shù)字信息的存在性。表2-1 數(shù)字或功能鍵組合表 行頻列頻1209hz1336hz1477hz1633hz697hz123a770hz456b852hz789c941hz*0#ddtmf 是用兩個特定的單音頻組合信號來代表數(shù)字信號以實現(xiàn)其功能的一種編碼技術(shù)。兩個單音頻的頻率不同,代表的數(shù)字或?qū)崿F(xiàn)的功能也不同。這種電話機中通常有16 個按鍵, 其中有10 個數(shù)字鍵09 和6 個功能鍵*、#、a、b、c、d。由于按照組合原理,一般應(yīng)有8 種不同的單音頻信號。因此可采用的頻率也有8 種,故稱之為多頻,又因它采用從8 種頻率中任意抽出2 種進行組合來進行編碼,所以又稱之為“
21、8 中取2”的編碼技術(shù)。根據(jù) ccitt 的建議,國際上采用的8個頻率為:687hz、770hz、852hz、941hz、1209hz、1336hz、1477hz 和1633hz。用這8 個頻率可形成16 種不同的組合,從而代表16 個不同的數(shù)字或功能鍵,具體組合見表2-1。2.2 dtmf信號的識別及算法實現(xiàn)2.2.1 dtmf信號的識別dtmf信號包含兩組音頻信號,解碼器的任務(wù)是通過數(shù)學(xué)變換把它從時域轉(zhuǎn)化到頻域,然后得出對應(yīng)的數(shù)字信息。在接收端,將收到的模擬音頻信號進行a/d變換,恢復(fù)為數(shù)字信號,然后檢測其中的音頻頻譜來確定所發(fā)送的數(shù)字。檢測算法可以是快速傅立葉變換(fft)算法的dft,
22、或是用一組濾波器來提取所需頻率。以下章節(jié)對兩種方法進行分析并對goertzel算法進行詳細的推導(dǎo)。由上面可以知道一個dtmf信號是由兩個不通頻率和的正弦波組成,它可以用下式表示 (2-1)我們可以考慮通過離散傅立葉變換進行信號的頻譜分析來檢測離散的雙音多頻碼。這是因為只有時域及頻域都是離散的情況下,才能適合于在計算機上運算;也就是周期的離散時間信號與離散頻率間的變換對。周期性離散時間信號x(n)的離散傅立葉變換周期性離散頻率函數(shù)x(k)兩相鄰譜線分量之間的角頻率增量與周期之間的關(guān)系可表示為, 代表信號的基頻。取樣頻率與取樣周期t的關(guān)系是 取樣角頻率 t為時域取樣間隔為,在一個周期內(nèi)取樣點數(shù)為n
23、。在自變量為t及f的情況下,在一個時域中對函數(shù)進行取樣,兩取樣點間增量的倒數(shù),必是另一個域中函數(shù)的周期?,F(xiàn)序列的周期為nt,所以對頻譜取樣的間距是。以數(shù)字頻率表示時,則頻譜間距是 令并稱之為因子。離散傅立葉變換(dft)可寫成如下形式: (2-2)離散傅立葉變換(dft)在有關(guān)頻率檢測數(shù)字信號處理系統(tǒng)的設(shè)計和實現(xiàn)方面起著非常重要的作用。dft的表達式可以直接寫成: (2-3) 一般來說,x(n)和都是復(fù)數(shù),x(k)也是復(fù)數(shù),每計算一個x(k)值,需要n次復(fù)數(shù)乘法x(n)與相乘以及n1次復(fù)數(shù)加法。而x(k)一共有n個點(k從0取到n1),所以完成整個dft運算總共需要次復(fù)數(shù)乘法及n(n1)次復(fù)數(shù)
24、加法。復(fù)數(shù)運算實際上是由實數(shù)運算來完成的,因此上式可寫成: (2-4) 由此可見,一次復(fù)數(shù)乘法需用四次實數(shù)乘法和兩次實數(shù)加法;一次復(fù)數(shù)加法則需兩次復(fù)數(shù)加法。因而每運算一個需要4n次復(fù)數(shù)乘法和2n2(n-1)=2(2n-1)次實數(shù)加法。所以,直接計算dft,乘法次數(shù)和加法次數(shù)都是和成正比的,當(dāng)n很大時,運算量是很可觀的,例如,當(dāng)n8時,dft需64次復(fù)數(shù)乘法,而當(dāng)n1024時,dft所需復(fù)數(shù)乘法為1,048,576次,即一百多萬次復(fù)數(shù)乘法運算,這對實時性很強的信號處理來說,對計算速度的要求太高了。因而需要改進對dft的計算方法,以大大減少運算次數(shù)。仔細觀察dft的運算量可以看出,利用系數(shù)的以下固
25、有特性,可以減少dft的運算量。1.的對稱性: 2.的周期性: 由此得出,。這樣,(1)利用這些特性,使dft運算中有些項可以合并;(2)利用的周期性和對稱性,可以將長序列的dft分解為短序列的dft。而前面已經(jīng)說到,dft的運算量使與成正比的,所以n越小越有利,因而小點數(shù)的dft比大點數(shù)的dft的運算量要小?;谶@樣的思路,快速傅立葉變換(fft)發(fā)展起來了。如果按時間抽取的fft算法,系統(tǒng)的運算量是,運算量明顯比dft運算量減少。但它有一個缺點,需要全部抽樣數(shù)據(jù)到達時,才能進行計算;不適合雙音多頻信號頻譜的計算,滿足不了雙音撥號系統(tǒng)實時性的要求。因此開發(fā)出了適合于dmft的特殊算法goer
26、tzel算法。2.2.2 dtmf信號的檢測 檢測中采用了頻域的方法,n 點數(shù)據(jù)的dft公式為:(2-5) 它的好處是可以得到dft的所有n 點的值。也就是通過dft可以計算出信號中所包含的頻率成分。具體實現(xiàn)時,由于它的計算量非常大,因而主要使用它的快速算法快速傅立葉變換(fft)。對上述產(chǎn)生的dtmf信號,經(jīng)過200點fft運算得到dtmf信號的頻譜x(k)(如圖2-1所示)。根據(jù)結(jié)果中兩條譜線的位置k值可知其頻率分別為820hz和1290hz,即對應(yīng)了電話號碼盤的數(shù)字“7”。從圖中可以看出,fft運算中出現(xiàn)了兩個問題:1、由于數(shù)據(jù)的截斷,帶來了頻譜泄漏誤差;2、通過fft運算,計算出了20
27、0點的頻譜,而dtmf信號只需8個頻率點,計算效率大大降低。為解決這個問題,文中采用了goertzel算法。圖2-1 “7”的dtmf編碼fft頻譜 goertzel算法本身也是對dft的快速運算,但可以有選擇地計算個別點處的dft,而對不需要的點不進行計算。goertzel算法實質(zhì)是一個兩極點的iir濾波器,其算法原理框圖如圖2-2所示:圖2-2 goertzel算法原理框圖由圖2-2可知:具體推導(dǎo)如下: 令n=m=(n=n) 所以對序列x(n)的dft等價于x(n)與系統(tǒng)傳遞函數(shù)的第n個卷積值.對進行z變換可得:=因此, h(z)可看作是級聯(lián)型網(wǎng)絡(luò):, 因此, 其中v(-1)=v(-2)=
28、0,.因而,系統(tǒng)輸出的功率譜為: 其中n = n根據(jù)以上算法,使用matlab語言具體實現(xiàn),程序如下:k=f/fn;vk(1)=0;vk(2)=0;for i1=1:8w=2*cos(2*pi*k(i1)/n); for i2=3:202 vk(i2)=w.*vk(i2-1)-vk(i2-2)+x(i2); end; xk(i1)=vk(202).2+vk(201).2-w*vk(202)*vk(201); end;圖2-3 “7”的dtmf編碼goertzel功率譜程序運行結(jié)果如圖2-3所示。從圖中可以看出,利用goertzel算法,只需計算出八個點的功率譜就可以進行撥號的判斷,減少了運算量
29、,提高了計算效率,使判斷可以實時進行。2.3 goertzel算法原理dtmf檢測的原理,是在dtmf頻率上,檢查接收到的信號能量,以確定是否接收到了正確的dtmf音調(diào)對。檢測算法可以是利用fft算法的dft實現(xiàn),也可以是濾波器組實現(xiàn)。fft可以用來計算n個均勻配置的頻率的能量。為了獲得在1.5的頻率偏差范圍內(nèi),檢測8個dtmf頻率所需的頻率所需的頻率分辨率,對于8khz的采樣率,256點的fft是必需的。對于要檢測的音調(diào)數(shù)量比較小的情況下,濾波組實現(xiàn)更有效。因為我們關(guān)心的頻率只有8個,所以用dft直接計算更有效: (2-6)對于8個不同的k值,它對應(yīng)于表一的dtmf頻率。利用戈則爾算法可以更
30、有效的計算出dft系數(shù),戈則爾算法可以看作是針對每個頻率k的匹配濾波器,如圖2-4所示。其中x(n)為系統(tǒng)的輸入信號,為第k個頻率組件上的濾波器傳遞函數(shù),而x(k)則為相應(yīng)的濾波器輸出。x(0)x(k)x(n-1)x(n)圖2-4 戈則爾算法的流程圖由公式我們得到: (2-7)用乘(2-7)式右邊,我們得到 (2-8)定義序列 (2-9)這個方程可以解釋為有限長序列x(n),與序列的卷積。因此可以看作是具有沖激響應(yīng)的濾波器輸出。也就是說,由于有限長輸入x(n),濾波器具有沖激響應(yīng): (2-10)因此,式(2-9)可以表示為: (2-11)根據(jù)(2-8),(2-9)式,以及當(dāng)nlimit,bre
31、ak,end %查找列號end for r=1:4; if val(r)limit,break,end %查找行號end tnr=tnr+tm(r,s-4)*10(8-m) %表示成為一個8位數(shù)enddisp(接收端檢測到的號碼為:)disp(tnr) 在鍵盤上輸入56784321,按回車,聽到8聲短音后,看到圖像,如圖3-2:圖3-2 系統(tǒng)顯示結(jié)果系統(tǒng)顯示如圖3-3: 圖3-3 系統(tǒng)顯示結(jié)果由系統(tǒng)的顯示結(jié)果可知,在鍵盤上每輸入一個數(shù)字鍵,都會在運行結(jié)果上出現(xiàn)一個與該數(shù)字鍵相對應(yīng)的dtmf信號的頻譜,且該頻譜的峰值與表2-1所示的dtmf信號的頻率組合相一致,從而驗證了仿真結(jié)果的正確性。3.3
32、 dtmf信號鍵盤的仿真matlab的圖形控制語句“uicontrol”可創(chuàng)建一個按鍵“pushbutton”具體檢程序,它的尺寸及位置由內(nèi)的數(shù)字表示,如50 30 50 100從左到右表示,按鍵左下角距離圖框底線為50,距離圖框左邊線為30,按鍵寬為50,按鍵高位100,“string”,51表示創(chuàng)建的標(biāo)記為51,“callback”,“dd1”表示按動按鍵時,運行程序dd1。依次將1,2,3,4,5,6,7,8,9,*,0,#分別編程,可以做出一個雙音多頻的模擬小鍵盤。對dd1,dd2,dd3分別編程,可以對每個鍵盤發(fā)聲的頻率加以定義。鍵盤程序中多了一段傅里葉變換,可將發(fā)聲的頻率在頻譜圖上
33、顯示。發(fā)聲部分的程序時按照國際標(biāo)準規(guī)定的雙音多頻撥號系統(tǒng)的頻率,每個按鍵對應(yīng)低音頻組的一個頻率和高音頻組的一個頻率,即每按一鍵發(fā)出特定的雙音,并且在頻譜圖上顯示相應(yīng)的雙頻。程序段分析如下:1.模擬鍵盤的程序:clear all pbstart=uicontrol(gcf,style,pushbutton,position,50 160 100 50,string,1,callback,dd1) %創(chuàng)建按鍵“1”pbstart=uicontrol(gcf,style,pushbutton,position,150 160 100 50,string,2,callback,dd2) %創(chuàng)建按鍵“2
34、”pbstart=uicontrol(gcf,style,pushbutton,position,250 160 100 50,string,3,callback,dd3) %創(chuàng)建按鍵“3”pbstart=uicontrol(gcf,style,pushbutton,position,50 110 100 50,string,4,callback,dd4) %創(chuàng)建按鍵“4”pbstart=uicontrol(gcf,style,pushbutton,position,150 110 100 50,string,5,callback,dd5) %創(chuàng)建按鍵“5”pbstart=uicontrol(
35、gcf,style,pushbutton,position,250 110 100 50,string,6,callback,dd6) %創(chuàng)建按鍵“6”pbstart=uicontrol(gcf,style,pushbutton,position,50 60 100 50,string,7,callback,dd7) %創(chuàng)建按鍵“7”pbstart=uicontrol(gcf,style,pushbutton,position,150 60 100 50,string,8,callback,dd8) %創(chuàng)建按鍵“8”pbstart=uicontrol(gcf,style,pushbutton,
36、position,250 60 100 50,string,9,callback,dd9) %創(chuàng)建按鍵“9”pbstart=uicontrol(gcf,style,pushbutton,position,50 10 100 50,string,*,callback,dd*) %創(chuàng)建按鍵“*”pbstart=uicontrol(gcf,style,pushbutton,position,150 10 100 50,string,0,callback,dd0) %創(chuàng)建按鍵“0”pbstart=uicontrol(gcf,style,pushbutton,position,250 10 100 50
37、,string,#,callback,dda) %創(chuàng)建按鍵“#”發(fā)聲部分程序:clear allfs=8000; %采樣頻率fs是8000t=(0:2000)/fs;pit=2*pi*t;fr1=697;fr2=770;fr3=852;fr4=941;fc1=1209;fc2=1336;fc3=1477;y=sin(fc1*pit); %fc1為列的第一個,對不同位置的按鍵替換相應(yīng)的頻率x=sin(fr1*pit); %fr1為行的第一個,對不同位置的按鍵替換相應(yīng)的頻率z=x+y; %得到時域離散信號zsubplot(121)plot(t,z)axis(0,.02,-2,2);gridsubp
38、lot(122)f=fft(z,1024);f1=fftshift(f);w1=513:1024;w=4000*(w1-512)/512;f=abs(f1(513:1024);plot(w,f)axis(0,2000,-50,600);gridsound(z)結(jié)果分析:按下模擬鍵盤任意一個鍵,就可以聽到該鍵所對應(yīng)的dtmf信號的聲音,對應(yīng)的雙音時域圖和雙音頻域圖將分別在模擬鍵盤上方左右顯示出來。例如按下0鍵就會聽到聲音,且運行結(jié)果如下。圖3-4 按鍵0的運行結(jié)果很顯然在942hz和1336hz出出現(xiàn)峰值,所以對應(yīng)的號碼為0。圖3-5 按鍵1的運行結(jié)果圖3-6 按鍵2的運行結(jié)果圖3-7 按鍵3的
39、運行結(jié)果圖3-8 按鍵4的運行結(jié)果圖3-9 按鍵5的運行結(jié)果圖3-10 按鍵6的運行結(jié)果圖3-11 按鍵7的運行結(jié)果圖3-12 按鍵8的運行結(jié)果圖3-13 按鍵9的運行結(jié)果圖3-14 按鍵*的運行結(jié)果圖3-15 按鍵#的運行結(jié)果 由運行結(jié)果可知:按下任意一個鍵都會發(fā)出與該鍵所對應(yīng)的dtmf信號的聲音,對應(yīng)的雙音時域圖和雙音頻域圖都會顯示在模擬鍵盤的上方,如上圖所示。且按下1鍵時在頻率697hz和1209hz處出現(xiàn)峰值;按下2 鍵時在頻率697hz和1336hz處出現(xiàn)峰值;按下3鍵時在頻率697hz和1477hz處出現(xiàn)峰值;按下4鍵時在頻率770hz和1209hz處出現(xiàn)峰值;按下5鍵時在頻率770hz和1336hz處出現(xiàn)峰值;按下6鍵時在頻率770hz和1447hz處出現(xiàn)峰值;按下7鍵時在頻率852hz和1209hz處出現(xiàn)峰值;按下8鍵時在頻率852hz和1336hz處出現(xiàn)峰值;按下9鍵時在頻率852hz和1477hz處出現(xiàn)峰值,這些現(xiàn)象均與ccitt所規(guī)定的標(biāo)準吻合。29 結(jié)論本文主要用matlab對dtmf信號的產(chǎn)生、檢測進行模擬仿真
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 儀器儀表在智能娛樂與虛擬現(xiàn)實體驗中的應(yīng)用考核試卷
- 小麥種植農(nóng)業(yè)土地流轉(zhuǎn)研究考核試卷
- 2025年受歡迎廣告協(xié)議指南大揭秘攻略
- 2025年化工品批發(fā)合同
- 2025年孕婦健身指導(dǎo)服務(wù)協(xié)議
- 2025年高端紙質(zhì)信封印刷定制委托協(xié)議6篇
- 2025版小額貸款抵押合同監(jiān)管及合規(guī)要求3篇
- 2025版學(xué)生兼職人才輸送與培訓(xùn)服務(wù)合同3篇
- 2025年度林業(yè)資源開發(fā)合作協(xié)議4篇
- 二零二五年金融衍生品交易合同履行及風(fēng)險擔(dān)保合同3篇
- 2025年上半年江蘇連云港灌云縣招聘“鄉(xiāng)村振興專干”16人易考易錯模擬試題(共500題)試卷后附參考答案
- DB3301T 0382-2022 公共資源交易開評標(biāo)數(shù)字見證服務(wù)規(guī)范
- 人教版2024-2025學(xué)年八年級上學(xué)期數(shù)學(xué)期末壓軸題練習(xí)
- 江蘇省無錫市2023-2024學(xué)年八年級上學(xué)期期末數(shù)學(xué)試題(原卷版)
- 俄語版:中國文化概論之中國的傳統(tǒng)節(jié)日
- 2022年湖南省公務(wù)員錄用考試《申論》真題(縣鄉(xiāng)卷)及答案解析
- 婦科一病一品護理匯報
- 2024年全國統(tǒng)一高考數(shù)學(xué)試卷(新高考Ⅱ)含答案
- 移動商務(wù)內(nèi)容運營(吳洪貴)任務(wù)四 引起受眾傳播內(nèi)容要素的掌控
- 繪本《汪汪的生日派對》
- 助產(chǎn)護理畢業(yè)論文
評論
0/150
提交評論