雙音多頻DTMF技術(shù)在DSP系統(tǒng)的實(shí)現(xiàn)_第1頁
雙音多頻DTMF技術(shù)在DSP系統(tǒng)的實(shí)現(xiàn)_第2頁
雙音多頻DTMF技術(shù)在DSP系統(tǒng)的實(shí)現(xiàn)_第3頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

DTMFDSP系統(tǒng)的實(shí)現(xiàn)小組成員:郭亮寧憲莫磊李創(chuàng)劉恒宇劉明超王卓墨書銘2011-4-52011-4-5目錄雙音多頻DTMF技術(shù)在DSP系統(tǒng)的實(shí)現(xiàn) 1abstract 3雙音多頻 4DDTMF在VOIP中的解決方案 4OutofBandDTMF(RFC2833) 5、DTMF信號的產(chǎn)生 7DTMF信號的檢測 82.2DTMF檢測器流程 8性能分析 8參考 9abstractualtonemulti-frequencysignals(DTMF),telephonesystem,telephoneandtheswitchsignalingbetweenauser,usuallyusedtosendthecallednumber.Intheuseofdualtonemulti-frequencybeforethetelephonesystemusingaseriesofintermittentpulsestotransmitthecallednumber,knownaspulsedialing.Sentsimultaneouslytothetwotelephoneswitchfrequencysignal,sendingkeymessages.Atotalofeightfrequencyaudiosignalisdividedinto2groupsof4,anytwocombinationscanrepresentatotalof16keys,eachrepresenting0-9,#,*,etc.buttons.雙音多頻ToneMultiFrequency)信令,逐漸在全世界范DTMF也應(yīng)用在交互式控ATM終端等。通過軟件產(chǎn)生與檢測DTMF信令,是一項(xiàng)較有價(jià)值的工程應(yīng)用。這是一種技術(shù),就是現(xiàn)在的電話機(jī)和交換機(jī)之間通訊時(shí)采用的,簡稱DTMF,就是電話機(jī)上的一個(gè)按鍵按下去時(shí),電話機(jī)向交換機(jī)同時(shí)發(fā)送兩個(gè)頻率的信號,告訴交換機(jī)按的是哪個(gè)按鍵,以前采用脈沖方式,速度慢,一共有8個(gè)頻率的音頻信號,分為2組,每組4個(gè),兩兩組合共可以代表16個(gè)按鍵,分別代表0-9、#、*等按鍵這是一種技術(shù),就是現(xiàn)在的電話機(jī)和交換機(jī)之間通訊時(shí)采用的,簡稱DTMF,就是電話機(jī)上的一個(gè)按鍵按下去時(shí),電話機(jī)向交換機(jī)同時(shí)發(fā)送兩個(gè)頻率的信號,告訴交換機(jī)按的是哪個(gè)按鍵,以前采用脈沖方式,速度慢,一共有8個(gè)頻率的音頻信號,分為2組,每組4個(gè),兩兩組合共可以代表16個(gè)按鍵,分別代表0-9、#、*等按鍵雙音多頻打個(gè)比方,你查費(fèi)的時(shí)候會(huì)用到,有發(fā)送和不發(fā)送兩個(gè)選項(xiàng),發(fā)送打開,你通話過程中按鍵會(huì)發(fā)送出去,關(guān)閉則發(fā)送不出去,即你按提示音操作沒反應(yīng)。雙音多頻DTMF(DualToneMulti-Frequency)信令音多頻DTMF(DualToneMulti-Frequency)信令,逐漸在全世界范圍內(nèi)使用在按鍵式電話機(jī)上,因其提供更高的撥號速率,迅速取代了傳統(tǒng)轉(zhuǎn)DTMFATMDTMF信令的產(chǎn)生(DSP)DDTMF在VOIP中的解決方案于在IP(packet而不是傳統(tǒng)領(lǐng)域中的線路交換(circuitswitch)以及IP網(wǎng)的不穩(wěn)定的特性,DTMF在中下面簡單介紹現(xiàn)有的各種方案。用SIP信令的INFO方法攜帶DTMF信號。該方法是用SIP信令的INFO方法來明文定義來代表DTMF信號。該種方法SIP控制信令和媒體傳輸DTMF信號和媒體包不同VoiceMailDTMFServerDTMF信號后開始保存用戶的DTMFSIPRTPRTPDTMFINFO消息延ServerINFORTP媒體傳輸中攜帶DTMF信號。該方法是將DTMF信號和媒體流一樣,用RTP包來傳輸,因而沒有DTMF信號和媒體流不同步的問題,使用H323信令的In和Outofband(RFC2833)兩種。nBandDTMF是指直接將DTMF的音頻數(shù)字信號不經(jīng)任何處理直接打成RTP包在IP網(wǎng)中傳輸。其中可能和用戶的語音媒體流混合(mix)在一起傳輸。程序要獲知哪個(gè)包有DTMF信號,是什么DTMF信號,必須實(shí)時(shí)檢查每個(gè)RTP包里面的媒體流數(shù)據(jù),分析它的頻域。OutofBandDTMF(RFC2833)OutofBandDTMF是DTMFRTPRTP包的頭域中就可得知該包是DTMF包,并且知道是什么DTMF信號。RFC2833專門對此有定義。動(dòng)態(tài)生成DTMF音頻信號程序需要產(chǎn)生一個(gè)DTMF音頻數(shù)字信號時(shí),當(dāng)然可以讀取已經(jīng)錄制好的文件。在這里介紹如何利用算法程序動(dòng)態(tài)產(chǎn)生單個(gè)DTMF音頻數(shù)字信號。前面介紹過DTMF信號的原理是兩個(gè)不同頻率的正弦波疊加。簡單的生成正弦波的公式:sample=sin(n*2*PI*f/samplerate)n:采樣序數(shù),由0開始遞增f:正弦波的頻率samplerate:采樣頻率sample:序數(shù)n時(shí)的得出的采樣值8bit的sample(n)=128+63*sin(n*2*pi*f1/8000)+63*sin(n*2*pi*f2/8000)f1和f2分別是該DTMF信號的兩個(gè)正弦波頻率其中128=256/263=128/2同樣地,如果要生成16bit的DTMF信號,則公式:sample(n)=32768+)算DTMF信號是一個(gè)耗費(fèi)資源的過程,你可以通過不同途徑去優(yōu)化你的代碼,最簡單2*pi*f和2*pi*fCPUDTMF對DTMF接收率為每秒10100ms45ms但不超過55ms100msRTPDTMF在輸入信號中檢測DTMFDTMFl法在輸入信號中提取頻譜信息;接著作檢測結(jié)果的有效性檢查Goertzel算法TMFDFTFFDTMF算法要比可以計(jì)算得到信號所有譜線,了解信號整個(gè)DTMF8個(gè)行頻列頻及其二次諧波信息即可(二次諧波的信息用于將DTMF)。此時(shí)lDTMF在編碼時(shí)將擊鍵或數(shù)字信息轉(zhuǎn)換成雙音信號并發(fā)送,解碼時(shí)在收到的DTMF信號中檢測擊鍵或數(shù)字信息的存在性。電話機(jī)鍵盤上每一個(gè)鍵通過由圖1所示的行頻與列頻唯一確定。DTMF的編解碼方案無需過多的計(jì)算量,可以很容易DSP系統(tǒng)里與其他任務(wù)并發(fā)執(zhí)行。個(gè)DTMFDTMFDSPl法,從頻域搜索兩個(gè)正弦波的存在。本文即討論DTMF編解碼在公司定點(diǎn)DSPTMS320C54x(系列上的實(shí)現(xiàn)。1、DTMF信號的產(chǎn)生DTMF編碼器基于兩個(gè)二階數(shù)字正弦波振蕩器,一個(gè)用于產(chǎn)生行頻,一個(gè)用于產(chǎn)生列頻。向DSP裝入相應(yīng)的系數(shù)和初始條件,就可以DTMF是700~1700Hz8000HzNyquist條件??梢缘玫皆摱A系統(tǒng)函數(shù)的差分方程為:y(n)=-a1y(n-1)-a2y(n-2)(1)其中a1=-2cosω0a2=1,ω0=2πf0/fs,fs值為y(-1)=0,y(-2)=-Asinω0。CCITT對DTMF信號規(guī)定的指標(biāo)是,傳送/接收率為每秒10個(gè)數(shù)字,即每個(gè)數(shù)字100ms。代表數(shù)字的音頻信號必須持續(xù)至少45ms,但不超過55ms。100ms內(nèi)其他時(shí)間為靜音,以便區(qū)別連續(xù)的兩個(gè)按鍵信號。編程的流程如圖3所示,由CCITT的規(guī)定,數(shù)字之間必須有適當(dāng)長度其二是靜音任務(wù),產(chǎn)生靜音樣本。每個(gè)任務(wù)結(jié)束后,啟動(dòng)下一個(gè)任務(wù)前(音頻信號任務(wù)或靜音任務(wù)),都必須復(fù)位決定其持續(xù)時(shí)間的定時(shí)器變量。在靜音任務(wù)結(jié)束后,DSP從數(shù)字緩存中調(diào)出下一個(gè)數(shù)字,判決該數(shù)字信號所對應(yīng)的行頻和列頻信號,并根據(jù)不同頻率確定其初始化參數(shù)a1=-2cosω0與y(-2)=-Asinω0。該流程圖可采用C語言實(shí)現(xiàn),雙音信號的產(chǎn)生則由匯編代碼實(shí)現(xiàn)。整個(gè)程序作為C54x的多通道緩沖串口(McBsp)的發(fā)射串口中斷8000Hz過D/ADTMF信令信號。DTMF信號的檢測在輸入信號中檢測DTMF信號,并將其轉(zhuǎn)換為實(shí)際的數(shù)字,這一解碼過程本質(zhì)是連續(xù)的過程,需要在輸入的數(shù)據(jù)信號流中連續(xù)地搜索信號頻譜的存在。整個(gè)檢測過程分兩步:首先采Goertzel算法在輸入信號中提取頻譜信息;接著作檢測結(jié)果的有效性檢查。 2.1Goertzel算法DTMF解碼即是在輸入信號中搜索出有效的行頻和列頻。計(jì)算數(shù)字信號的頻譜可以采用DFT及其快速算法FFT,而在實(shí)現(xiàn)DTMF解碼時(shí),采用Goertzel算法要比FFT更快。通過FFT可以計(jì)算得到信號所有譜線,了解信號整個(gè)頻域信息,而對于DTMF信號只用關(guān)心其8個(gè)行頻/列頻及其二次諧波信息即可(二次諧波的信息用于將DTMF信號與聲音信號區(qū)別開)。此時(shí)Goertzel算法能更加快速的在輸入信號中提取頻譜信息。oertzel算法實(shí)質(zhì)是一個(gè)兩極點(diǎn)的IIR4。由于在DTMF8個(gè)行頻列頻的相位,只需要計(jì)算出其幅度平方即可。2.2DTMF檢測器流程C54x的McBsp接收中斷服務(wù)子程字

k為8個(gè)行頻/列頻分別對應(yīng)的數(shù)N=125(在8kHz。此時(shí)再按式(4)計(jì)算8個(gè)行頻/列頻的幅度平方|X(k)|2。接下來將|X(k)|2與門限作比較,并作二次諧波檢測,判決出有效的音頻信號。將音頻信號映射為數(shù)字信號后,再與上一個(gè)檢測到的數(shù)字信號比較,最終判決出有效的數(shù)字性能分析基于上述原理與算法代碼,在TIDSPCodeComposerStudio(CCS)下,分析上述整個(gè)DTMF信令的產(chǎn)生與檢測方案的性能。(1)由CCS給出的如下內(nèi)存印象文件報(bào)告 ,DTMF的產(chǎn)生(gen_dtmf.obj)DTMF的檢測這兩段核心代碼分別占用3e6H和1e0H個(gè)字(16bit1K(2)DTMFC54x的McBSP中斷服務(wù)子程序內(nèi),由CCS的代碼剖析工具分析代碼執(zhí)行時(shí)間,當(dāng)C54x運(yùn)行在主頻100MHz時(shí),DTMFinterrupttransmit()最大消耗283interruptreceive()最大消耗614861μs。因此該方案能夠?qū)崟r(shí)產(chǎn)生與檢測DTMF信令,還可保證有時(shí)間冗余度,與其他程序在用戶系統(tǒng)中并發(fā)執(zhí)行。參考“GeneratingDTMFtonesusingsoundcard”TomiEngda

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論