信號(hào)與系統(tǒng)實(shí)驗(yàn)-電話撥號(hào)音的合成與分解_第1頁
信號(hào)與系統(tǒng)實(shí)驗(yàn)-電話撥號(hào)音的合成與分解_第2頁
信號(hào)與系統(tǒng)實(shí)驗(yàn)-電話撥號(hào)音的合成與分解_第3頁
信號(hào)與系統(tǒng)實(shí)驗(yàn)-電話撥號(hào)音的合成與分解_第4頁
信號(hào)與系統(tǒng)實(shí)驗(yàn)-電話撥號(hào)音的合成與分解_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、武漢大學(xué)教學(xué)實(shí)驗(yàn)報(bào)告電子信息學(xué)院 專業(yè) 2014 年 11月 29日 實(shí)驗(yàn)名稱 電話撥號(hào)音的合成與分解 指導(dǎo)教師 姓名 年級(jí) 大三 學(xué)號(hào) 201230* 成績 源程序下載地址:訪問密碼:skyw一、 預(yù)習(xí)部分1. 實(shí)驗(yàn)?zāi)康?. 實(shí)驗(yàn)基本原理3. 主要儀器設(shè)備(含必要的元器件、工具)1.實(shí)驗(yàn)?zāi)康?本實(shí)驗(yàn)基于對(duì)電話通信系統(tǒng)中撥號(hào)音合成與識(shí)別的仿真實(shí)現(xiàn),主要涉及到電話撥號(hào)音合成的基本原理及識(shí)別的主要方法,利用 MATLAB 軟件以及 FFT 算法實(shí)現(xiàn)對(duì)電話通信系統(tǒng)中撥號(hào)音的合成與識(shí)別。并進(jìn)一步利用 MATLAB 中的圖形用戶界面 GUI 制作簡單直觀的模擬界面。使其對(duì)電話通信系統(tǒng)撥號(hào)音的合成與識(shí) 別

2、有個(gè)基本的了解。 能夠利用矩陣不同的基頻合成 0 9 不同按鍵的撥號(hào)音,并能夠?qū)Σ煌膿芴?hào)音加以正確的識(shí)別,實(shí)現(xiàn)由撥號(hào)音解析出電話號(hào)碼的過程。進(jìn)一步利用 GUI做出簡單的圖形操作界面。要求界面清楚,畫面簡潔,易于理解,操作簡單。從而實(shí)現(xiàn)對(duì)電話撥號(hào)音系統(tǒng)的簡單的實(shí)驗(yàn)仿真。2.實(shí)驗(yàn)原理雙音多頻 DTMF( Dual Tone Multi-Frequency )信號(hào),是用兩個(gè)特定的單音頻率信號(hào)的組合來代表數(shù)字或功能。在 DTMF 電話機(jī)中有 16 個(gè)按鍵,其中 10 個(gè)數(shù)字鍵 0 9 , 6 個(gè)功能鍵 * 、 # 、 A 、 B 、 C 、 D 。其中 12 個(gè)按鍵是我們比較熟悉的按鍵,另外由第 4

3、 列確定的按鍵作為保留,作為功能鍵留為今后他用。 根據(jù) CCITT 建議,國際上采用 697Hz 、 770Hz 、 852Hz 、94lHz 低頻群及 1209Hz 、 1336Hz 、 1477Hz 、 1633Hz 高頻群。從低頻群和高頻群任意各抽出一種頻率進(jìn)行組合,共有 16 種組合,代表 16 種不同的數(shù)字鍵或功能,每個(gè)按鍵唯一地由一組行頻和列頻組成,如表 1 所示。3涉及的MATLAB 相關(guān)內(nèi)容1. Set 功能:設(shè)置對(duì)象屬性。 基本調(diào)用格式:set(H,'PropertyName',PropertyValue,.) 用屬性值'PropertyValue&#

4、39;設(shè)置關(guān)于用參量 H 標(biāo)志的對(duì)象(一個(gè)或多個(gè))的屬性名'PropertyName'(一個(gè)或多個(gè))。H 可以為一句柄的向量。在這種情形下,命令 set 可以設(shè)置所有對(duì)象的屬性值。 2. find 功能:找出矩陣 X 中非 0 項(xiàng)的坐標(biāo)和取值。 基本調(diào)用格式:row,col = find(X, .) 常與邏輯運(yùn)算法一起使用,可進(jìn)一步明確搜索數(shù)值的范圍。 3. disp 功能:顯示文本或數(shù)組。 基本調(diào)用格式:disp(X) 4. struct 功能:創(chuàng)建一個(gè)結(jié)構(gòu)體數(shù)組。 基本調(diào)用格式:s = struct('field1', values1, 'field

5、2',values2, .) 給每一個(gè)域名賦值,賦值可以為矢量也可以為標(biāo)量,但是矢量必須有相 同的維數(shù)。 二、 實(shí)驗(yàn)操作部分1. 實(shí)驗(yàn)數(shù)據(jù)、表格及數(shù)據(jù)處理2. 實(shí)驗(yàn)操作過程(可用圖表示)3. 實(shí)驗(yàn)結(jié)論2.實(shí)驗(yàn)操作過程(可用圖表示)1. 圖形電話撥號(hào)面板的制作 利用 GUI 圖形用戶界面設(shè)計(jì)工具制作電話撥號(hào)面板,把 DTMF 信號(hào)和電話機(jī)的鍵盤矩陣對(duì)應(yīng)起來。其中選用我們熟悉的 10 個(gè)數(shù)字鍵 0 9 , 2 個(gè)功能鍵“ * ”、“”,另四個(gè)鍵省略。按照?qǐng)D 1 電話機(jī)鍵盤矩陣的排列方式制作四行三列的按鍵控件。每個(gè)按鍵可用 ( PushButton )添加。然后,為了更直觀的反映對(duì)應(yīng)的按鍵號(hào)

6、碼,可以設(shè)置一個(gè)編輯框,用于動(dòng)態(tài)的顯示撥號(hào)號(hào)碼,模擬實(shí)際電話的撥號(hào)顯示窗口。編輯框可用( Edit Text )添加。另外,為了圖形電話撥號(hào)面板的簡潔美觀,可以添加空白區(qū)域作為背景,并用靜態(tài)文本框制作文字信息。背景可用 ( Frame )添加,靜態(tài)文本框可用 ( Static Text )添加。最終利用 GUI 圖形用戶界面設(shè)計(jì)工具生成的圖形電話撥號(hào)面板用于撥號(hào)音的合成產(chǎn)生部分。 2. DTMF 信號(hào)的產(chǎn)生合成 現(xiàn)在將對(duì)上節(jié)制作的圖形電話撥號(hào)面板上的各控件單位的動(dòng)作和變化進(jìn)行設(shè)置,即對(duì) tu1.m 文件進(jìn)行編輯。其主要的功能是使對(duì)應(yīng)的按鍵,按照表 1 的對(duì)應(yīng)關(guān)系產(chǎn)生相應(yīng)的撥號(hào)音,完成對(duì)應(yīng)行頻及

7、列頻的疊加輸出。此外,對(duì)于圖形界面的需要,還要使按鍵的號(hào)碼數(shù)字顯示在撥號(hào)顯示窗口中。 鑒于 CCITT 對(duì) DTMF 信號(hào)規(guī)定的指標(biāo),這里每個(gè)數(shù)字信號(hào)取 1000 個(gè)采樣點(diǎn)模擬按鍵信號(hào),并且每兩個(gè)數(shù)字之間用 100 個(gè) 0 來表示間隔來模擬靜音。以便區(qū)別連續(xù)的兩個(gè)按鍵信號(hào)。間隔的靜音信號(hào)也是在按鍵時(shí)產(chǎn)生的。 以按鍵 1 為例,簡單介紹撥號(hào)音產(chǎn)生的過程:n=1:1000; % 每個(gè)數(shù)字 1000 個(gè)采樣點(diǎn)表示 d0=sin(2*pi*697/8192*n)+sin(2*pi*1209/8192*n); % 對(duì)應(yīng)行頻列頻疊加 n0=strcat(get(handles.edit1,'str

8、ing'),'1'); % 獲取數(shù)字號(hào)碼 set(handles.edit1,'string',n0); % 顯示號(hào)碼 space=zeros(1,100); %100 個(gè) 0 模擬靜音信號(hào) global NUM phone=NUM,d0; NUM=phone,space; % 存儲(chǔ)連續(xù)的撥號(hào)音信號(hào)p=audioplayer(d0,8192); % 產(chǎn)生撥號(hào)音global sounif(soun=1) play(p) pause(0.5)end3. DTMF 信號(hào)的檢測識(shí)別 要實(shí)現(xiàn)電話撥號(hào)音( DTMF )信號(hào)的檢測識(shí)別,可以通過直接計(jì)算付里葉變換得到輸

9、入信號(hào)的組成頻率。這里采用 FFT 算法對(duì)信號(hào)進(jìn)行解碼分析。首先對(duì)接收到的數(shù)字信號(hào)作 FFT 分析,計(jì)算出其幅度譜,進(jìn)而得到功率譜,組成輸入信號(hào)的頻率必定對(duì)應(yīng)功率譜的峰值。對(duì)于連續(xù)的雙音多頻( DTMF )信號(hào),需要把有效的數(shù)字撥號(hào)信號(hào)從靜音間隔信號(hào)中分割提取出來,然后再用 FFT 算法對(duì)信號(hào)進(jìn)行解碼分析。 MATLAB 實(shí)現(xiàn)信號(hào)音的識(shí)別如下:global NUMwavplay(NUM,8192);L=length(NUM);n=L/1100;number=''for i=1:n j=(i-1)*1100+1; d=NUM(j:j+999); % 截取出每個(gè)數(shù)字 f=fft(d

10、,2048); % 以 N=2048 作 FFT 變換 a=abs(f); N=2048; m=floor(N/2); fs=8192; f1=fs*(0:m)/N; FF=f(1:m+1); F11=abs(FF); figure(i) plot(f1,F11,'b',-f1,F11,'b'); axis(650 1700 0 600) p=a.*a/10000; % 計(jì)算功率 num(1)=find(p(1:250)=max(p(1:250); % 找行頻,每個(gè)Ts對(duì)應(yīng)4Hz num(2)=300+find(p(300:380)=max(p(300:380)

11、; % 找列頻 if (num(1) < 180) row=1; % 確定行數(shù) elseif (num(1) < 200) row=2; elseif (num(1) < 220) row=3; else row=4; end if (num(2) < 320) column=1; % 確定列數(shù) elseif (num(2) < 340) column=2; else column=3; end z=row,column; % 確定數(shù)字 if z=4,2 tel=0; elseif z=1,1 tel=1; elseif z=1,2 tel=2; elseif z

12、=1,3 tel=3; elseif z=2,1 tel=4; elseif z=2,2 tel=5; elseif z=2,3 tel=6; elseif z=3,1 tel=7; elseif z=3,2 tel=8; elseif z=3,3 tel=9; end t(i)=tel; c=strcat(number,int2str(tel); number=c; i=i+1;endmsgbox(strcat('撥打的號(hào)碼為:',number),'分析');程序解釋: 確定行頻和列頻的數(shù)值范圍是通過計(jì)算得出的:已知輸入信號(hào)的取樣頻率fs =8192Hz ,而

13、做 FFT 的 N=2048,則頻譜分辨率為 fs/N=8192/2048=4Hz ,由此可算出頻譜圖上任意點(diǎn)對(duì)應(yīng)的頻率 K=f/F。例如,數(shù)字 8 的高、低端頻率為 fl= 852Hz, fh=1336Hz,則在譜圖上對(duì)應(yīng)的點(diǎn) Kl=fl/F=213,Kh=fh/F=334撥號(hào)來電識(shí)別的代碼如下:n=1:1000; % 每個(gè)數(shù)字 1000 個(gè)采樣點(diǎn)表示 d0=sin(2*pi*941/8192*n)+sin(2*pi*1477/8192*n); % 對(duì)應(yīng)行頻列頻疊加 n0=strcat(get(handles.edit1,'string'),'#'); % 獲

14、取數(shù)字號(hào)碼 set(handles.edit1,'string',n0); % 顯示號(hào)碼 space=zeros(1,100); %100 個(gè) 0 模擬靜音信號(hào) global NUM phone=NUM,d0;NUM=phone,space; % 存儲(chǔ)連續(xù)的撥號(hào)音信號(hào) p=audioplayer(d0,8192); % 產(chǎn)生撥號(hào)音global sounif(soun=1) play(p) pause(0.5)endstr=get(handles.edit1,'string'); l=length(str); str=strrep(str,str,str(1:l-

15、1); %去掉末尾號(hào)碼在面板上的顯示 global n global contact found=0; x=0; for i=1:n if (strcmp(contact(i).num,str)=1) found=1; x=i; end end if(found=1) str=strcat('正在打電話給:',contact(x).name); msgbox(str,'電話'); else str=strcat('正在撥打',str,',請(qǐng)等待.'); msgbox(str,'電話'); end三、 實(shí)驗(yàn)效果分析(包括儀器設(shè)備等使用效果)實(shí)驗(yàn)分析:實(shí)驗(yàn)的到數(shù)字1的頻譜結(jié)構(gòu)如上圖,頻譜的峰值出現(xiàn)在DTFM頻率表中規(guī)定的頻率附近。1.話音識(shí)別的步驟:分組à FFT變換à 尋找每個(gè)組功率最大的兩個(gè)頻率點(diǎn)à 比較確定數(shù)字2.實(shí)驗(yàn)中抽樣頻率為8192Hz,經(jīng)過2048點(diǎn)的fft變換,得到的2048個(gè)點(diǎn)每兩個(gè)點(diǎn)的頻率差值為4Hz,即頻譜分辨率為4Hz,這樣根據(jù)最大功率在數(shù)組中出現(xiàn)的位置X,就可以得到最大功率處的頻率為4*X Hz。3.FFT變換的頻譜是對(duì)稱的,只需

溫馨提示

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

評(píng)論

0/150

提交評(píng)論