




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、講演:講演: 管慶管慶 主要內(nèi)容lDTMFDTMF碼的基本原理碼的基本原理lDTMFDTMF碼的產(chǎn)生碼的產(chǎn)生lDTMFDTMF碼的檢測碼的檢測 l在在DSP/BIOSDSP/BIOS環(huán)境下實現(xiàn)環(huán)境下實現(xiàn)DTMFDTMF的產(chǎn)生和的產(chǎn)生和解碼解碼 lDTMFDTMF產(chǎn)生和解碼演示產(chǎn)生和解碼演示DSPDSP解決方案案例解決方案案例DTMFDTMFl雙音多頻雙音多頻DTMF(Dual Tone Multi Frequency)信令,逐漸在)信令,逐漸在全世界范圍內(nèi)使用在按鍵式電話全世界范圍內(nèi)使用在按鍵式電話機上,因其提供更高的撥號速率,機上,因其提供更高的撥號速率,迅速取代了傳統(tǒng)轉(zhuǎn)盤式電話機使迅速取代
2、了傳統(tǒng)轉(zhuǎn)盤式電話機使用的撥號脈沖信令。用的撥號脈沖信令。l近年來近年來DTMF也應用在交互式控也應用在交互式控制中,諸如語音菜單、語音郵件、制中,諸如語音菜單、語音郵件、電話銀行和電話銀行和ATM終端等。終端等。DTMF原理lDTMF編碼器:基于兩個二階數(shù)字正編碼器:基于兩個二階數(shù)字正弦波振蕩器,一個用于產(chǎn)生行頻,一弦波振蕩器,一個用于產(chǎn)生行頻,一個用于產(chǎn)生列頻,個用于產(chǎn)生列頻, DSP用軟件產(chǎn)生兩用軟件產(chǎn)生兩個正弦波疊加在一起后發(fā)送。個正弦波疊加在一起后發(fā)送。 lDTMF解碼器:本質(zhì)是連續(xù)的過程,解碼器:本質(zhì)是連續(xù)的過程,需要在輸入的數(shù)據(jù)信號流中連續(xù)地搜需要在輸入的數(shù)據(jù)信號流中連續(xù)地搜索索D
3、TMF信號頻譜的存在。采用信號頻譜的存在。采用Goertzel算法,這是一種在輸入信號中算法,這是一種在輸入信號中提取頻譜信息的快速有效方法提取頻譜信息的快速有效方法 。DTMF信號的產(chǎn)生信號的產(chǎn)生 lDTMF編碼器基于兩個二階數(shù)字正弦波振蕩器,一個用于產(chǎn)生行頻,一個用于產(chǎn)生列頻。 +列頻DTMF信號+ZZ-1a1ZZ+a1-1行頻DTMF信號的產(chǎn)生信號的產(chǎn)生lH(Z)含有位于單位圓上的復共扼極點。另外,沖擊響應函數(shù)為:l二階系統(tǒng)函數(shù)的差分方程為 l其中,)() 1sin()(0nunAnh)()2() 1()(021nbnyanyany1,cos2,sin20100aaAbDTMF信號的產(chǎn)生
4、信號的產(chǎn)生lCCITT對DTMF信號規(guī)定的指標是,傳送/接收率為每秒10個數(shù)字,即每個數(shù)字100ms。l代表數(shù)字的音頻信號必須持續(xù)至少45ms,但不超過55ms。100ms中的其他時間為靜音,以便區(qū)別連續(xù)的兩個按鍵信號。l數(shù)字之間必須有適當長度的靜音,因此編碼器有兩個任務,其一是音頻信號任務,產(chǎn)生雙音樣本,其二是靜音任務,產(chǎn)生靜音樣本。 DTMF信號的產(chǎn)生信號的產(chǎn)生l啟動下一個任務前(音頻信號任務或靜音任務),都必須復位定時器變量。l因為音頻信號任務和靜音任務都通過定時器變量,決定音頻或靜音的持續(xù)時間。l在靜音任務結(jié)束后,從數(shù)字緩存中調(diào)出下一個數(shù)字,判決該數(shù)字信號所對應的行頻和列頻信號,并根據(jù)
5、不同頻率確定其初始化參數(shù)l整個程序可以置于DSP發(fā)射串口中斷服務子程序里,由外部送入的8000Hz串口時鐘觸發(fā)中斷,即可實時處理和恒定樣本輸出。DTMF信號的檢測信號的檢測 l在輸入信號中檢測DTMF信號,并將其轉(zhuǎn)換為實際的數(shù)字,這一解碼過程本質(zhì)是連續(xù)的過程,需要在輸入的數(shù)據(jù)信號流中連續(xù)地搜索DTMF信號頻譜的存在。l整個檢測過程首先要確定檢測算法,這是最重要的一步。采用Goertzel算法,這是一種在輸入信號中提取頻譜信息的快速有效方法。l其次作檢測結(jié)果的有效性檢查。 收集頻譜信息收集頻譜信息 lDTMF解碼即是在輸入信號中搜索出有效的行頻和列頻。l計算數(shù)字信號的頻譜可以采用DFT及其快速算
6、法FFT,而在實現(xiàn)DTMF解碼時,采用Goertzel算法要比FFT更快。l通過FFT計算可以得到信號所有譜線,可以了解信號整個頻域信息,而對于DTMF信號只用關心其8個行頻/列頻及其二次諧波信息即可(二次諧波的信息用于將DTMF信號與聲音信號區(qū)別開)。l此時Goertzel算法則具有更優(yōu)的運算效率。 (P425)收集頻譜信息收集頻譜信息lGoertzel算法原理框圖 ZZkNje2)2cos(2Nk-1)(nxe)(nvk)(nyk0)(Nxe0)2() 1(kkvv收集頻譜信息收集頻譜信息lDFT計算可以等價為 l另外,在DTMF檢測中,對于輸入的實數(shù)序列并不需要檢測出8個行頻/列頻的相位
7、,只需要計算出其幅度平方即可。 NnnvnvNknxnvkkk0),2() 1()2cos(2)()() 1()()()(2NveNvNykXkkNjkk) 1()()2cos(2) 1()()()(2222NvNvNkNvNvNykXkkkkk有效性檢查有效性檢查l確認可能的DTMF信號對是否有足夠的強度。程序計算出的行頻/列頻成分高于一定的門限l因為語音信號總會含有明顯的8個行頻/列頻的偶次諧波。如果行頻/列頻成分二次諧波和基波成分之比低于一定門限,即可肯定檢測到了代表一個數(shù)字信息的有效DTMF信號對 l將檢測到的數(shù)字與前面最后一個數(shù)字比較,只有當數(shù)字之間是一段靜音信號時,才可判決當前的數(shù)
8、字為有效數(shù)字,區(qū)分開兩次按鍵。 DTMF 在在DSP/BIOS下的實現(xiàn)下的實現(xiàn)l已經(jīng)在已經(jīng)在CCS下完成下完成DTMF碼的產(chǎn)生和解調(diào)。碼的產(chǎn)生和解調(diào)。l分析實現(xiàn)過程,主要有以下幾個任務:分析實現(xiàn)過程,主要有以下幾個任務:1. DTMF碼的產(chǎn)生碼的產(chǎn)生:分雙音與靜音,分別持續(xù)分雙音與靜音,分別持續(xù)50ms。2. DTMF的解碼運算的解碼運算:每收到一個每收到一個A/D數(shù)據(jù)的處理并完成數(shù)據(jù)的處理并完成DTMF碼的判別。碼的判別。3. A/D及及D/A中斷服務程序中斷服務程序:DA完成雙音碼的數(shù)模轉(zhuǎn)換;完成雙音碼的數(shù)模轉(zhuǎn)換;AD完成數(shù)據(jù)的接收并設置數(shù)據(jù)到達標志(全局變量)。完成數(shù)據(jù)的接收并設置數(shù)據(jù)到
9、達標志(全局變量)。4. AC01芯片的初始化芯片的初始化: 設置采樣率等參數(shù),需要使用設置采樣率等參數(shù),需要使用串口發(fā)送中斷。串口發(fā)送中斷。DSP/BIOS下線程考慮下線程考慮l撥號任務:定義周期性模塊(撥號任務:定義周期性模塊(PRD)每)每5秒秒運行一次運行一次FXN_Dial_Number()函數(shù)。函數(shù)。l該函數(shù)將需要撥出的號碼緩沖設置好,初該函數(shù)將需要撥出的號碼緩沖設置好,初始化全局計數(shù)變量和指針,并開啟串口發(fā)始化全局計數(shù)變量和指針,并開啟串口發(fā)送中斷,開始撥號。送中斷,開始撥號。 l撥號緩沖中的數(shù)字為撥出的號碼,撥號緩沖中的數(shù)字為撥出的號碼,0 xff表示表示靜音期,當遇到靜音期,
10、當遇到0 xffff時,撥號結(jié)束,關閉時,撥號結(jié)束,關閉串口發(fā)送中斷串口發(fā)送中斷 。 l注意:注意:FXN_Dial_Number將反復運行將反復運行 !撥號任務相關函數(shù)撥號任務相關函數(shù)transmit(): 串口發(fā)送中斷服務函數(shù),串口發(fā)送中斷服務函數(shù),并完成對發(fā)送數(shù)據(jù)的計數(shù)以便確定撥號并完成對發(fā)送數(shù)據(jù)的計數(shù)以便確定撥號音與靜音的時間。音與靜音的時間。set_freq_coff(NowTel): 當前撥號數(shù)字當前撥號數(shù)字所需要的頻率系數(shù)。所需要的頻率系數(shù)。iir_to_dtmf(): 根據(jù)前面的頻率系數(shù),根據(jù)前面的頻率系數(shù),產(chǎn)生響應的正弦波形。產(chǎn)生響應的正弦波形。接收任務的考慮接收任務的考慮l
11、將整個將整個de_dtmf()函數(shù)定義為一個函數(shù)定義為一個TSK對象對象(_FXN_TSK_de_dtmf)。)。l該任務線程由該任務線程由McBSP的接收中斷每收到一的接收中斷每收到一個新的數(shù)據(jù)就發(fā)出一個旗語(個新的數(shù)據(jù)就發(fā)出一個旗語(semaphore)(SEM_New_Sample)觸發(fā)。)觸發(fā)。l同時在中斷服務程序內(nèi)對收到數(shù)據(jù)計數(shù),同時在中斷服務程序內(nèi)對收到數(shù)據(jù)計數(shù),并使用全局變量并使用全局變量IsNew_N,決定是否判斷,決定是否判斷輸出一個收到的號碼。輸出一個收到的號碼。 接收相關函數(shù)接收相關函數(shù) de_dtmf(): 對每個收到的數(shù)據(jù)做對每個收到的數(shù)據(jù)做DFT,并對并對N點數(shù)據(jù)做
12、能量累加。點數(shù)據(jù)做能量累加。receive(): 接收中斷服務子程序。接收中斷服務子程序。choose_code(): 判斷輸出一個號碼。判斷輸出一個號碼。 init_mem(): 初始化接收運算的一些變初始化接收運算的一些變量。該函數(shù)應該在量。該函數(shù)應該在FXN_Dial_Number中運中運行。行。 初始化初始化AC01的考慮的考慮l初始化初始化AC01通過串口的發(fā)送中斷,將采樣通過串口的發(fā)送中斷,將采樣率、通道設置等參數(shù)發(fā)到率、通道設置等參數(shù)發(fā)到AC01。 l用匯編代碼完成,并且取代用匯編代碼完成,并且取代DSP/BIOS的串的串口發(fā)送中斷,直接完成中斷服務響應??诎l(fā)送中斷,直接完成中斷
13、服務響應。 l初始化完成后需要恢復,即串口發(fā)送中斷初始化完成后需要恢復,即串口發(fā)送中斷仍然由仍然由DSP/BIOS管理,雙音數(shù)據(jù)的發(fā)送管理,雙音數(shù)據(jù)的發(fā)送程序也是掛接在程序也是掛接在DSP/BIOS硬件中斷中完硬件中斷中完成。成。l相關代碼:相關代碼: /*The following code are used to setup AC01*/ C54_plug(20,&_start_ac01); /* change interrupt vector */ oldmask=C54_disableIMR(0 xffff); /* close all IMR */ start_ac01();
14、 /* in dtmf.asm, used to init AC01 & McBSP0 */ C54_enableIMR(oldmask); /* restore old IMR */ /*-End setup AC01 !-*/ 中斷函數(shù)的插入和打開中斷函數(shù)的插入和打開 lDSP/BIOS提供函數(shù)提供函數(shù)HWI_dispatchPlug(vecid, fxn, attrs)用于中用于中斷服務函數(shù)的插入。斷服務函數(shù)的插入。 l該函數(shù)將使用該函數(shù)將使用HWI_dispatch功能,不將函功能,不將函數(shù)數(shù)fxn直接插入中斷向量表。后者可以使用直接插入中斷向量表。后者可以使用函數(shù)函數(shù)C54_plug(vecid, fxn)。 l下面是例子:下面是例子: #include DTMF5410_BIOScfg.h#include .HWI_dispatchPlug(20,&pllx100,NULL);C54_enableIMR(0 x20); /* #20h: bit5-BXINT0, bit4-BRINT0, enable BXINT0 , 其他中斷不影響! */HWI_enable(); .圖圖1 任務撥號任務撥號+解碼任務,采樣
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 住宅室內(nèi)裝修合同
- 三農(nóng)村基層法治建設與實踐方案
- 模板安裝施工方案
- 建筑施工工程承包合同條例
- 鋪筑施工方案
- 洗手間防水卷材的施工方案
- 《大數(shù)據(jù)技術(shù)導論》-教案
- 安徽省宿州市靈璧縣2024-2025學年上學期八年級數(shù)學期末試卷(原卷版+解析版)
- 自貢賓館消防施工方案
- 年產(chǎn)1000噸微生物菌劑項目環(huán)評報告表
- 智能制造市場現(xiàn)狀及發(fā)展前景分析報告
- (高清版)WST 406-2024 臨床血液檢驗常用項目分析質(zhì)量標準
- 擠包絕緣直流電纜脈沖電聲法(PEA)空間電荷測試方法
- 上海市疾控中心招聘信息考試試題及答案
- 消防安全技術(shù)綜合能力要點概述
- DL-T 5148-2021水工建筑物水泥灌漿施工技術(shù)條件-PDF解密
- 第8版精神病學
- 旅游經(jīng)濟發(fā)展背景下廣西民宿客棧的發(fā)展現(xiàn)狀、問題和對策分析-基于桂林市調(diào)查分析研究 旅游管理專業(yè)
- 道路施工安全隱患及防范措施
- 新生兒魚鱗病個案護理
- 生物質(zhì)燃料的資源開發(fā)與利用
評論
0/150
提交評論