電話按鍵音的識(shí)別.doc_第1頁(yè)
電話按鍵音的識(shí)別.doc_第2頁(yè)
電話按鍵音的識(shí)別.doc_第3頁(yè)
電話按鍵音的識(shí)別.doc_第4頁(yè)
電話按鍵音的識(shí)別.doc_第5頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

.一、 實(shí)驗(yàn)?zāi)康?. 本實(shí)驗(yàn)的內(nèi)容基于對(duì)電話通信系統(tǒng)中撥號(hào)音的識(shí)別仿真實(shí)驗(yàn)。主要涉及到電話撥號(hào)音識(shí)別的基本原理和識(shí)別的主要方法。利用matlab軟件以及fft算法實(shí)現(xiàn)對(duì)電話通信系統(tǒng)中撥號(hào)音的識(shí)別。并進(jìn)一步利用matlab中的圖形用戶界面制作簡(jiǎn)單直觀的模擬界面,使其對(duì)撥號(hào)音的識(shí)別有個(gè)基本的了解。2. 能夠利用矩陣不同的基頻合成0-9不同按鍵的撥號(hào)音,并能夠?qū)Σ煌膿芴?hào)音加以正確的識(shí)別。進(jìn)一步畫出簡(jiǎn)單的圖形,從而實(shí)現(xiàn)對(duì)電話撥號(hào)音系統(tǒng)的簡(jiǎn)單的實(shí)驗(yàn)仿真。3.了解學(xué)習(xí)DTMF(雙音多頻)相關(guān)知識(shí),知道雙音多頻的信號(hào)是用兩個(gè)特定的單音頻率信號(hào)的組合來(lái)代表數(shù)字或功能。二、實(shí)驗(yàn)儀器安裝有MATLAB軟件的計(jì)算機(jī)一臺(tái)。三、實(shí)驗(yàn)原理1. DTMF(雙音多頻)(1) 基本概念電話撥號(hào)有兩種,脈沖和音頻,所謂音頻也成雙音多頻(DTMF)信號(hào)的撥號(hào)方式即是電話撥號(hào)時(shí)每按一個(gè)鍵,有兩個(gè)音頻頻率疊加成一個(gè)雙音頻信號(hào),十六個(gè)按鍵由八個(gè)音頻頻率區(qū)分。(2) 編制規(guī)則具體DTMF編制規(guī)則如表1所示表1 DTMF鍵盤高群/Hz低群/Hz1209133614771633697123A770456B852789C941*0#D雙音多頻的撥號(hào)鍵盤是44的矩陣,每一行代表一個(gè)低頻,每一列代表一個(gè)高頻。用戶每按一個(gè)鍵就發(fā)送一個(gè)高頻和低頻的正弦信號(hào)組合。2. 電話按鍵音識(shí)別MATLAB中audioread函數(shù)可以實(shí)現(xiàn)多種音頻信號(hào)的讀取,調(diào)用形式為y,fs=audioread(filename)其中y為所讀取的音頻數(shù)據(jù);而fs為采樣頻率;調(diào)用的filename為指定載入的音頻文件名稱。用fft頻譜分析公式 (1) (2)由公式(1)和(2)可得: (3)四實(shí)驗(yàn)內(nèi)容本實(shí)驗(yàn)要實(shí)現(xiàn)電話撥號(hào)音(DTMF)信號(hào)的檢測(cè)的識(shí)別,可以通過(guò)直接計(jì)算傅里葉變換時(shí)的輸入信號(hào)組成的頻率。這里采用FFT算法對(duì)信號(hào)進(jìn)行解碼分析。首先對(duì)接收到的數(shù)字信號(hào)作FFT分析。計(jì)算出其頻幅譜,繼而得到功率譜,組成輸入信號(hào)的頻率必定對(duì)應(yīng)功率譜的峰值。對(duì)于連續(xù)的雙音多頻(DTMF)信號(hào)。需要把有效的數(shù)字撥號(hào)信號(hào)從靜音間隔中分割提取出來(lái),然后再用FFT算法對(duì)信號(hào)進(jìn)行解碼分析,得出電話撥號(hào)碼。五、實(shí)驗(yàn)過(guò)程與分析1. 讀取音頻文件利用MATLAB中audioread讀取x,fs=audioread(電話按鍵音.m4a);2. 聲道提取電話按鍵音是雙聲道,本實(shí)驗(yàn)提取聲道1進(jìn)行分析:x=x(:,1);3. 端點(diǎn)提取該按鍵音為一段連續(xù)的11位數(shù)字撥號(hào)音,分析時(shí)需要對(duì)它們分別進(jìn)行處理,而這11位數(shù)字間的時(shí)間間隔一般情況是沒(méi)有規(guī)律的,無(wú)法直接用for循環(huán)控制截取,而要是手動(dòng)一段一段地進(jìn)行截取,換一個(gè)音頻信號(hào)就得再次重新截取,因此考慮到可能存在噪音的情況,基于短時(shí)能量和短時(shí)平均過(guò)零率來(lái)進(jìn)行端點(diǎn)檢測(cè),實(shí)現(xiàn)端點(diǎn)的提取,對(duì)于不同的音頻信號(hào),只需要修改部分可變參數(shù)便可以適用。4. 分析根據(jù)音頻實(shí)際情況設(shè)置對(duì)應(yīng)參數(shù):framelen= floor(fs*40/1000);%floor向下取整,幀長(zhǎng)frameinc= floor(fs*10/1000);%幀移% 進(jìn)行分幀,每幀長(zhǎng)framelength,voice_min_len =15;% 最短語(yǔ)音長(zhǎng)度150ms%語(yǔ)音段的最短長(zhǎng)度,若語(yǔ)音段長(zhǎng)度小于此值(如果語(yǔ)音段中的靜音幀數(shù)未超過(guò)此值,),則認(rèn)為其為一段噪音unvoice_min_len = 5;%結(jié)束段最小持續(xù)50msn3=0.05;%過(guò)零率下限參數(shù)0.05檢測(cè)結(jié)果見(jiàn)圖1結(jié)果: 將11個(gè)檢測(cè)到的號(hào)碼音頻左右端點(diǎn)提取出來(lái) 對(duì)信號(hào)進(jìn)行fft變換后,得到的頻譜是呈現(xiàn)對(duì)稱的,在此截取前部分進(jìn)行觀察,得到頻譜圖如圖2所示。程序運(yùn)行最終結(jié)果為:The telephone number is:圖1 端點(diǎn)檢測(cè)結(jié)果圖 圖2 電話按鍵音fft頻譜圖5. 可靠性檢驗(yàn)自己錄制一段撥號(hào)音,檢驗(yàn)程序的可靠性,這里為了為了驗(yàn)證程序的正確、可靠性,又分別錄制了我自己手機(jī)及1234567890兩段不同格式不同號(hào)碼,在有噪聲條件下的按鍵音,檢驗(yàn)過(guò)程如下(1.mp3格式)參數(shù)設(shè)置同上 圖3 端點(diǎn)檢測(cè)結(jié)果圖 圖4 電話按鍵音的fft頻譜圖程序運(yùn)行結(jié)果:The telephone number is:圖5 端點(diǎn)檢測(cè)結(jié)果圖 圖6 電話按鍵音的fft頻譜圖(2)1234567890(.ogg格式)該音頻錄制時(shí),有的按鍵音持續(xù)時(shí)間較短,需要對(duì)檢測(cè)初始參數(shù)進(jìn)行修改修改參數(shù):voice_min_len =6;% 最短語(yǔ)音長(zhǎng)度60msn3=0.02;%過(guò)零率下限參數(shù)0.02程序運(yùn)行結(jié)果:The telephone number is: 1234567890經(jīng)驗(yàn)證,該程序可行。六、小結(jié)1.原本想著,進(jìn)行端點(diǎn)檢測(cè)時(shí)考慮了噪聲的影響進(jìn)行濾波或許就不必要了,但是將濾波器加進(jìn)程序后發(fā)現(xiàn),對(duì)于不同的音頻信號(hào),程序有更好的適應(yīng)性,端點(diǎn)檢測(cè)結(jié)果的精確度居然也有所提高,不用再反復(fù)修改設(shè)置參數(shù),然后就將濾波器加入程中了。2.實(shí)驗(yàn)過(guò)程中,首先是手動(dòng)截取11段數(shù)字音頻驗(yàn)證號(hào)碼可檢測(cè)出來(lái)后,在進(jìn)行端點(diǎn)檢測(cè)的構(gòu)思,最后考慮濾波。3.通過(guò)本次實(shí)驗(yàn),發(fā)現(xiàn)自己在MATLAB函數(shù)的應(yīng)用與程序設(shè)計(jì)中仍有很大的進(jìn)步空間。4.有效的端點(diǎn)檢測(cè)技術(shù)不僅能在語(yǔ)音識(shí)別系統(tǒng)中減少數(shù)據(jù)的采集量,節(jié)約處理時(shí)間,還能排除無(wú)聲段或噪聲段的干擾。對(duì)于端點(diǎn)檢測(cè)的程序,其原理經(jīng)查閱資料明白一些,但不多,查閱到語(yǔ)音端點(diǎn)檢測(cè)參考程序之后,對(duì)其進(jìn)行了步驟增加、減少等操作,使其適合本實(shí)驗(yàn),考慮到一些參數(shù)對(duì)于不同的音頻需要做不同的改變,便將其提取到主程序中,方便修改。5.在引用的端點(diǎn)檢測(cè)代碼原理不很了解情況下,結(jié)合本實(shí)驗(yàn)對(duì)其進(jìn)行部分修改比較困難。6.對(duì)于待檢測(cè)信號(hào)的第一個(gè)數(shù)字濾波效果不好,未達(dá)到理想的效果。7.先設(shè)計(jì)濾波器對(duì)信號(hào)進(jìn)行濾波,濾去部分噪聲,再設(shè)計(jì)考慮噪聲的端點(diǎn)檢測(cè)函數(shù),相當(dāng)于信號(hào)進(jìn)行了雙重濾波處理,是結(jié)果能夠更加準(zhǔn)確。七、實(shí)驗(yàn)程序(1) 主程序:x,fs=audioread(電話按鍵音.m4a);%待檢測(cè)數(shù)據(jù)%x,fs=audioread(10月11日.mp3);%檢驗(yàn)號(hào)x,fs=audioread(11_11_1.ogg);%檢驗(yàn)號(hào)碼1234567890x=x(:,1);%提取聲道1x=lv_bo_1(x,fs);sound(x,fs);%播放濾波后的音頻% 調(diào)整各參數(shù)framelen= floor(fs*40/1000);%floor向下取整,幀長(zhǎng)frameinc= floor(fs*10/1000);%幀移% 進(jìn)行分幀,每幀長(zhǎng)framelength,voice_min_len =15;% 最短語(yǔ)音長(zhǎng)度60ms ,150ms%語(yǔ)音段的最短長(zhǎng)度,若語(yǔ)音段長(zhǎng)度小于此值(如果語(yǔ)音段中的靜音幀數(shù)未超過(guò)此值,),則認(rèn)為其為一段噪音unvoice_min_len = 5;%結(jié)束段最小持續(xù)50msn3=0.02;%過(guò)零率下限參數(shù)0.02,0.05% endfan_wei=vad(framelen,frameinc,x,fs,voice_min_len,unvoice_min_len,n3);%引用時(shí)注意修改函數(shù)vad中的最短語(yǔ)音長(zhǎng)度number= ;figurefor i=1:length(fan_wei) y=x(fan_wei(i,1):fan_wei(i,2); n=0:length(y)-1;%建立一個(gè)信號(hào)等長(zhǎng)的序列; %=頻域圖像= N=length(y);%取信號(hào)矩陣的長(zhǎng)度 FFT=fft(y,N);%N點(diǎn)傅里葉變換 mag=abs(FFT)/(N/2);%還原真實(shí)幅值 f=n*fs/N;%頻率序列 % f=f(1:fix(N/2);mag=mag(1:fix(N/2);% subplot(3,4,i)%圖2:頻譜圖 %取l/2作圖 plot(f,mag);axis(600 1700 min(mag) max(mag); title(fft頻譜圖);%標(biāo)題: xlabel(頻率/Hz);%標(biāo)注橫坐標(biāo) ylabel(幅度);%標(biāo)注縱坐標(biāo) grid on;%打開(kāi)網(wǎng)格線 %數(shù)字判斷 a1=(697+770)/2;a2=(770+852)/2;a3=(852+941)/2; a4=(1209+1336)/2;a5=(1336+1477)/2;a6=(1477+1633)/2; if(f(mag=max(mag(f=1000)1100)1100)1100)a6) tel=3; else tel=A; end elseif(f(mag=max(mag(f=1000)1100)1100)1100)a6) tel=6; else tel=B; end elseif(f(mag=max(mag(f=1000)1100)1100)1100)1100)1100)1100)a6) tel=#; else tel=D; end end number=number,num2str(tel);enddisp(The telephone number is:,number)(2) 濾波器function f1 = lv_bo_1( x,fs )% 雙線性變換法設(shè)計(jì)Butterworth濾波器t=0:1/fs:(size(x)-1)/fs;Au=0.03;d=(Au*cos(2*pi*10000*t);x2=x+d;%數(shù)字濾波器指標(biāo)fp=3Hz,fr=4Hz,Rp=1db,As=20db,fs=10Hzwp=0.25*pi;%通帶邊界頻率(歸一化):wp=fp*2*pi/fsws=0.3*pi;%阻帶邊界頻率(歸一化):ws=fr*2*pi/fsRp=1;%通帶波紋Rs=15;%將模擬指標(biāo)轉(zhuǎn)換成數(shù)字指標(biāo)Fs=fs;Ts=1/Fs;%時(shí)域最小間隔,即時(shí)域分辨率wp1=2/Ts*tan(wp/2);%模擬低通原型濾波器通帶頻率 ws1=2/Ts*tan(ws/2); %模擬低通原型濾波器阻帶頻率N,Wn=buttord(wp1,ws1,Rp,Rs,s);%選擇濾波器的最小階數(shù)Z,P,K=buttap(N); %創(chuàng)建butterworth模擬濾波器Bap,Aap=zp2tf(Z,P,K);b,a=lp2lp(Bap,Aap,Wn); %雙線性變換得到分子和分母的系數(shù)向量bz,azbz,az=bilinear(b,a,Fs);%用雙線性變換法實(shí)現(xiàn)模擬濾波器到數(shù)字濾波器的轉(zhuǎn)換f1=filter(bz,az,x2);%進(jìn)行濾波處理(3) 端點(diǎn)檢測(cè)function fan_wei=vad(a1,a2,x,fs,n1,n2,n3)%歸一化x=double(x);x=x/max(abs(x);framelen= a1;frameinc= a2;y=enframe(x,hanning(framelen),frameinc);%分幀%計(jì)算短時(shí)間能量amp=sum(abs(y),2);%amp = sum(abs(enframe(filter(1 -0.9375, 1, x), framelen, frameinc).2, 2);%計(jì)算過(guò)零率tmp1=enframe(x(1:length(x)-1),framelen,frameinc);tmp2=enframe(x(2:length(x),framelen,frameinc);signs=(tmp1.*tmp2)n3;zcr=sum(signs.*diffs,2);zcr=zcr;zcr(end);zcr_yu=0.2*mean(zcr);yuzhi=0.2*mean(amp);%N=length(amp);for n=1:N if amp(n)yuzhi|(zcr(n)zcr_yu) continue; end kaitou=n; break;endfor n=N:-1:1 if amp(n)yuzhi|(zcr(n)=yuzhi2&zcr(i)=zcr_yu1)&bstart_state) %find start bstart_state=1; % if(st_candicate) st_candicate=i; end segment =segment + 1; elseif(amp(i)=yuzhi2|zcr(i)=zcr_yu1)&bstart_state)% if(unvoice=unvoice_min_len) % st = st; st_candicate; en_candicate = en_candicate + unvoice_min_len - 1; en = en; en_candicate;bstart_state = 0; bend_state = 1; unvoice = 0; segment = 0; st_candicate = 0; else unvoice = 0;bend_state = 0; segment = segment + 1; end elseif(amp(i)yuzhi2&zcr(i)=voice_min_len % unvoice = unvoice + 1; if bend_state % en_candicate = i; end bend_state = 1; % else % bstart_state = 0; segment = 0; bend_state = 0;unvoice = 0; st_candicate = 0;en_candicate = 0; end elseif(amp(i)=yuzhi2|zcr(i)=zcr_yu1)&bstart_state) % if st_candicate st_candicate = i; end else% st_candicate = 0; continue; end endif(unvoice=unvoice_min_len )% st = st; st_candicate; en = en; (en_candicate + unvoice_min_len -1); segment = 0;endif( segment = voice_min_len) % st = st; st_candicate; en = en; N;endfigure(1);subplot(3,1,1),plot(x); %原始語(yǔ)音波形axis(1,length(x),-1,1);ylabel(speech);xlabel(樣本點(diǎn));for k=1:length(st) line(st(k)*frameinc,st(k)*frameinc,-1,1,linestyle,:,color,blue,LineWidth,2); line(en(k)*frameinc,en(k)*frameinc,-1,1,linestyle,:,color,red,LineWidth,2);endsubplot(3,1,2),plot(amp);%原始語(yǔ)音能量axis(1,length(amp),0,max(a

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論