《基于MATLAB的小波分析應(yīng)用》課件第9章_第1頁(yè)
《基于MATLAB的小波分析應(yīng)用》課件第9章_第2頁(yè)
《基于MATLAB的小波分析應(yīng)用》課件第9章_第3頁(yè)
《基于MATLAB的小波分析應(yīng)用》課件第9章_第4頁(yè)
《基于MATLAB的小波分析應(yīng)用》課件第9章_第5頁(yè)
已閱讀5頁(yè),還剩60頁(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)介

第9章小波變換與語(yǔ)音/生物

醫(yī)學(xué)信號(hào)處理9.1語(yǔ)音信號(hào)處理概述9.2基于小波的語(yǔ)音信號(hào)處理9.3基于小波的生物醫(yī)學(xué)信號(hào)處理9.1語(yǔ)音信號(hào)處理概述語(yǔ)音識(shí)別與合成技術(shù)是一種人機(jī)語(yǔ)言通信技術(shù),屬于計(jì)算機(jī)智能接口技術(shù)。計(jì)算機(jī)智能接口技術(shù)主要包括計(jì)算機(jī)聽(tīng)覺(jué)和視覺(jué)。多媒體技術(shù)也主要是利用計(jì)算機(jī)語(yǔ)音處理和圖像處理的能力為人們提供一種更方便的人機(jī)界面,使人與計(jì)算機(jī)之間、人與人之間的通信更加方便。語(yǔ)音識(shí)別技術(shù)的應(yīng)用,本質(zhì)上是基于它能將人的語(yǔ)音轉(zhuǎn)化為語(yǔ)言代碼。語(yǔ)音是語(yǔ)言信息的載體,語(yǔ)音識(shí)別的基本任務(wù)是將輸入的話音轉(zhuǎn)化為相應(yīng)的語(yǔ)言代碼(如文字或詞語(yǔ)的代號(hào))。這樣,不僅在存儲(chǔ)或傳輸這樣的語(yǔ)言代碼時(shí)的數(shù)碼率比起存儲(chǔ)原來(lái)的語(yǔ)音信號(hào)來(lái)大幅度降低,還在于它把一種連續(xù)的語(yǔ)音信號(hào)變成了一種有限符號(hào)集中的符號(hào)(或代碼),這樣的符號(hào)容易被計(jì)算機(jī)(或?qū)S眯畔⑻幚韱卧?理解,而且便于與人進(jìn)行交流,因而可以進(jìn)行十分廣泛的應(yīng)用。語(yǔ)音合成的應(yīng)用已經(jīng)在許多方面推向了實(shí)際應(yīng)用,例如:公共交通中的自動(dòng)報(bào)站、各種場(chǎng)合的自動(dòng)報(bào)時(shí)、自動(dòng)告警、電話自動(dòng)查詢服務(wù)、文本校對(duì)中的語(yǔ)音提示等。說(shuō)話人識(shí)別主要是在近20年中發(fā)展起來(lái)的,現(xiàn)在已在安全加密、銀行信息電話查詢服務(wù)等方面得到了應(yīng)用,此外在公安機(jī)關(guān)破案和法庭取證方面也得到了應(yīng)用。語(yǔ)種辨識(shí)在軍事情報(bào)工作、國(guó)家安全事務(wù)中有重要應(yīng)用。語(yǔ)音編碼技術(shù)的實(shí)用價(jià)值是不需多說(shuō)的,它的根本作用是使語(yǔ)音通信數(shù)字化,而語(yǔ)音通信的數(shù)字化將使通信技術(shù)的水平提高一大步。對(duì)于目前正在蓬勃興起的移動(dòng)通信和個(gè)人通信,語(yǔ)音編碼技術(shù)就是其非常重要的支撐技術(shù)。9.2基于小波的語(yǔ)音信號(hào)處理9.2.1小波在語(yǔ)音信號(hào)增強(qiáng)中的應(yīng)用語(yǔ)音增強(qiáng)的目的是從帶噪語(yǔ)音中提取盡可能純凈的原始語(yǔ)音,即在前端消除含噪語(yǔ)音信號(hào)中的噪聲成分,提高輸入信號(hào)的信噪比。在實(shí)際應(yīng)用環(huán)境中,語(yǔ)音都會(huì)不同程度受到環(huán)境噪聲的干擾,噪聲會(huì)影響語(yǔ)音質(zhì)量,嚴(yán)重的情況下將語(yǔ)音完全淹沒(méi)到噪聲中,無(wú)法分辨。同時(shí),語(yǔ)音質(zhì)量的下降也會(huì)使許多語(yǔ)音處理系統(tǒng)的性能急劇惡化。語(yǔ)音增強(qiáng)技術(shù)無(wú)論在日常生活中,還是在軍事領(lǐng)域,或者對(duì)語(yǔ)音處理技術(shù)本身來(lái)說(shuō)都很有應(yīng)用價(jià)值。小波的多分辨分析特性使其在非平穩(wěn)信號(hào)以及圖像等的去噪中都得到了廣泛的應(yīng)用,因此小波同樣可以應(yīng)用于語(yǔ)音信號(hào)的去噪中。下面將通過(guò)兩個(gè)實(shí)例演示如何在MATLAB中有效地應(yīng)用小波進(jìn)行語(yǔ)音信號(hào)的去噪。

【例9-1】小波語(yǔ)音信號(hào)增強(qiáng)實(shí)例1。本例中在讀入的聲音語(yǔ)音信號(hào)中加入正態(tài)隨機(jī)噪聲,然后對(duì)含噪聲的語(yǔ)音信號(hào)進(jìn)行小波分解,估計(jì)噪聲的方差,然后獲取去噪的閾值并對(duì)小波分解的高頻系數(shù)進(jìn)行閾值量化,得到去噪后的語(yǔ)音信號(hào),試驗(yàn)結(jié)果表明這種方法能有效地去除噪聲,還原了原始語(yǔ)音信號(hào)。程序代碼如下:

clear

clc

%在噪聲環(huán)境下語(yǔ)音信號(hào)的增強(qiáng)%語(yǔ)音信號(hào)為讀入的聲音文件%噪聲為正態(tài)隨機(jī)噪聲sound=wavread('Voice.wav');count=length(sound);noise=0.05*randn(1,count);y=sound'+noise;%用小波函數(shù)'db6'對(duì)信號(hào)進(jìn)行三層分解[c,l]=wavedec(y,3,'db6');%估計(jì)尺度1的噪聲標(biāo)準(zhǔn)偏差sigma=wnoisest(c,l,1);alpha=2;%獲取消噪過(guò)程中的閾值thr=wbmpen(c,l,sigma,alpha);keepapp=1;%對(duì)信號(hào)進(jìn)行消噪yd=wdencmp('gbl',c,l,'db6',3,thr,'s',keepapp);subplot(121);plot(sound);title('原始語(yǔ)音信號(hào)');subplot(122);plot(yd);title('去噪后的語(yǔ)音信號(hào)');程序運(yùn)行結(jié)果如圖9.1所示。圖9.1小波應(yīng)用于語(yǔ)音增強(qiáng)

【例9-2】小波語(yǔ)音信號(hào)增強(qiáng)實(shí)例2。本例中在讀入的聲音語(yǔ)音信號(hào)中加入正態(tài)隨機(jī)噪聲,然后對(duì)含噪聲的語(yǔ)音信號(hào)進(jìn)行小波分解,再獲取去噪的閾值并對(duì)小波分解的高頻系數(shù)進(jìn)行閾值量化,得到去噪后的語(yǔ)音信號(hào),試驗(yàn)結(jié)果表明這種方法能有效去除噪聲。程序代碼如下:

clear

clc

%在噪聲環(huán)境下語(yǔ)音信號(hào)的增強(qiáng)

%語(yǔ)音信號(hào)為讀入的聲音文件%噪聲為正態(tài)隨機(jī)噪聲sound=wavread('Voice.wav');count=length(sound);noise=0.05*randn(1,count);y=sound'+noise;%獲取消噪的閾值[thr,sorh,keepapp]=ddencmp('den','wv',y);%對(duì)信號(hào)進(jìn)行消噪yd=wdencmp('gbl',y,'db4',2,thr,sorh,keepapp);subplot(121);plot(sound);title('原始語(yǔ)音信號(hào)');subplot(122);plot(yd);title('去噪后的語(yǔ)音信號(hào)');程序運(yùn)行結(jié)果如圖9.2所示。圖9.2語(yǔ)音增強(qiáng)9.2.2小波在語(yǔ)音信號(hào)壓縮中的應(yīng)用小波在語(yǔ)音信號(hào)壓縮中的主要應(yīng)用是在編碼前對(duì)信號(hào)進(jìn)行小波變換并對(duì)系數(shù)進(jìn)行處理。一般步驟是將信號(hào)進(jìn)行小波分解,然后選擇閾值對(duì)小波系數(shù)進(jìn)行壓縮,最后使用編碼算法對(duì)處理后的小波系數(shù)進(jìn)行編碼實(shí)現(xiàn)信號(hào)的壓縮編碼。由于編碼技術(shù)不屬于本書的范圍,因此下面將對(duì)語(yǔ)音編碼前的語(yǔ)音信號(hào)的小波處理舉例進(jìn)行介紹。

【例9-3】小波語(yǔ)音信號(hào)壓縮實(shí)例1。本例中在對(duì)語(yǔ)音信號(hào)進(jìn)行小波分解后獲取語(yǔ)音信號(hào)壓縮的閾值,最后利用MATLAB的函數(shù)wdencmp進(jìn)行語(yǔ)音信號(hào)的壓縮。程序代碼如下:

clear

clc

%語(yǔ)音信號(hào)為讀入的聲音文件

sound=wavread('Voice.wav');

%用小波函數(shù)haar對(duì)信號(hào)進(jìn)行三層分解[c,l]=wavedec(sound,3,'haar');alpha=1.5;%獲取信號(hào)壓縮的閾值[thr,nkeep]=wdcbm(c,l,alpha)%對(duì)信號(hào)進(jìn)行壓縮[cpsound,cxd,lxd,perf0,perfl2]=wdencmp('lvd',c,l,'haar',3,thr,'s');subplot(121);plot(sound);title('原始語(yǔ)音信號(hào)');subplot(122);plot(cpsound);title('壓縮后的語(yǔ)音信號(hào)');程序運(yùn)行結(jié)果如圖9.3所示。圖9.3語(yǔ)音壓縮1

【例9-4】小波語(yǔ)音信號(hào)壓縮實(shí)例2。本例中與前面的處理方法相同,除了使用wdcbm獲取信號(hào)壓縮的閾值外,也可以使用本例中的函數(shù)ddencmp獲取壓縮閾值。程序代碼如下:

clear

clc

%語(yǔ)音信號(hào)為讀入的聲音文件

sound=wavread('Voice.wav');

%用小波函數(shù)haar對(duì)信號(hào)進(jìn)行五層分解[c,l]=wavedec(sound,5,'haar');%獲取信號(hào)壓縮的閾值[thr,nkeep]=ddencmp('cmp','wv',sound);%對(duì)信號(hào)進(jìn)行壓縮cpsound=wdencmp('gbl',c,l,'haar',5,thr,'s',1);subplot(121);plot(sound);title('原始語(yǔ)音信號(hào)');subplot(122);plot(cpsound);title('壓縮后的語(yǔ)音信號(hào)');程序運(yùn)行結(jié)果如圖9.4所示。圖9.4語(yǔ)音壓縮29.3基于小波的生物醫(yī)學(xué)信號(hào)處理生物醫(yī)學(xué)信號(hào)主要指心電信號(hào)ECG,由于其受到人體諸多因素的影響,因而有著一般信號(hào)所沒(méi)有的特點(diǎn):

(1)信號(hào)弱。例如從母體腹部獲得的胎兒心電信號(hào)僅為10~50μV,腦干聽(tīng)覺(jué)誘發(fā)響應(yīng)信號(hào)小于1μV。

(2)噪聲強(qiáng)。由于人體自身信號(hào)比較微弱,而人體又是一個(gè)復(fù)雜的整體,因此信號(hào)易受噪聲的干擾。如胎兒心電混有很強(qiáng)的噪聲,它一方面來(lái)自股電、工頻等干擾,另一方面,在胎兒心電中不可避免地含有母體心電,母體心電相對(duì)需提取的胎兒心電則變成了很強(qiáng)的噪聲。

(3)頻率范圍一般比較低。除心音信號(hào)頻譜成分稍高外,其他電生理信號(hào)頻譜一般都比較低。

(4)隨機(jī)性強(qiáng)。生物醫(yī)學(xué)信號(hào)不但是隨機(jī)的,而且是非平穩(wěn)的。因?yàn)樯镝t(yī)學(xué)信號(hào)的以上特點(diǎn),使得生物醫(yī)學(xué)信號(hào)處理成為當(dāng)代信號(hào)處理技術(shù)最可發(fā)揮其威力的一個(gè)重要技術(shù)領(lǐng)域,而小波變換方法則為醫(yī)學(xué)臨床診斷提供了更多的信息和手段。9.3.1ECG信號(hào)的構(gòu)建仿真利用MATLAB產(chǎn)生ECG心電信號(hào)數(shù)據(jù)的程序如下:

clc;

x=0.01:0.01:2;

default=input('按1鍵為默認(rèn)配置的ECG信號(hào),按2鍵重新配置:\n');

if(default==1)

li=30/72;

a_pwav=0.25;

d_pwav=0.09;

t_pwav=0.16;a_qwav=0.025;d_qwav=0.066;t_qwav=0.166;

a_qrswav=1.6;d_qrswav=0.11;

a_swav=0.25;d_swav=0.066;t_swav=0.09;

a_twav=0.35;d_twav=0.142;t_twav=0.2;a_uwav=0.035;d_uwav=0.0476;t_uwav=0.433;elserate=input('\n\nentertheheartbeatrate:');li=30/rate;%pwavespecificationsfprintf('\n\npwavespecifications\n');d=input('Enter1fordefaultspecificationelsepress2:\n');if(d==1)a_pwav=0.25;d_pwav=0.09;

t_pwav=0.16;elsea_pwav=input('amplitude=');d_pwav=input('duration=');t_pwav=input('p-rinterval=');d=0;end

%qwavespecificationsfprintf('\n\nqwavespecifications\n');d=input('Enter1fordefaultspecificationelsepress2:\n');

if(d==1)a_qwav=0.025;d_qwav=0.066;

t_qwav=0.166;else

a_qwav=input('amplitude=');d_qwav=input('duration=');

t_qwav=0.166;d=0;end%qrswavespecificationsfprintf('\n\nqrswavespecifications\n');d=input('Enter1fordefaultspecificationelsepress2:\n');if(d==1)a_qrswav=1.6;d_qrswav=0.11;elsea_qrswav=input('amplitude=');

d_qrswav=input('duration=');

d=0;end%swavespecificationsfprintf('\n\nswavespecifications\n');d=input('Enter1fordefaultspecificationelsepress2:\n');if(d==1)a_swav=0.25;d_swav=0.066;t_swav=0.09;elsea_swav=input('amplitude=');

d_swav=input('duration=');t_swav=0.09;

d=0;end%twavespecificationsfprintf('\n\ntwavespecifications\n');d=input('Enter1fordefaultspecificationelsepress2:\n');if(d==1)

a_twav=0.35;d_twav=0.142;t_twav=0.2;

elsea_twav=input('amplitude=');

d_twav=input('duration=');

t_twav=input('s-tinterval=');d=0;end%uwavespecificationsfprintf('\n\nuwavespecifications\n');d=input('Enter1fordefaultspecificationelsepress2:\n');if(d==1)a_uwav=0.035;d_uwav=0.0476;t_uwav=0.433;elsea_uwav=input('amplitude=');

d_uwav=input('duration=');t_uwav=0.433;d=0;endendpwav=p_wav(x,a_pwav,d_pwav,t_pwav,li);%qwavoutputqwav=q_wav(x,a_qwav,d_qwav,t_qwav,li);%qrswavoutputqrswav=qrs_wav(x,a_qrswav,d_qrswav,li);%swavoutputswav=s_wav(x,a_swav,d_swav,t_swav,li);%twavoutputtwav=t_wav(x,a_twav,d_twav,t_twav,li);%uwavoutputuwav=u_wav(x,a_uwav,d_uwav,t_uwav,li);%ECG信號(hào)顯示保存ecg=pwav+qrswav+twav+swav+qwav+uwav;saveecgfigure(1)plot(x,ecg);程序中幾個(gè)功能函數(shù)的定義如下:function[pwav]=p_wav(x,a_pwav,d_pwav,t_pwav,li)l=li;a=a_pwav;x=x+t_pwav;b=(2*l)/d_pwav;n=100;p1=1/l;p2=0;fori=1:nharm1=(((sin((pi/(2*b))*(b-(2*i))))/(b-(2*i))+(sin((pi/(2*b))*(b+(2*i))))/(b+(2*i)))*(2/pi))*cos((i*pi*x)/l);p2=p2+harm1;endpwav1=p1+p2;pwav=a*pwav1;function[qwav]=q_wav(x,a_qwav,d_qwav,t_qwav,li)l=li;x=x+t_qwav;a=a_qwav;b=(2*l)/d_qwav;n=100;q1=(a/(2*b))*(2-b);q2=0;fori=1:n

harm5=(((2*b*a)/(i*i*pi*pi))*(1-cos((i*pi)/b)))*cos((i*pi*x)/l);q2=q2+harm5;endqwav=-1*(q1+q2);function[qrswav]=qrs_wav(x,a_qrswav,d_qrswav,li)l=li;a=a_qrswav;b=(2*l)/d_qrswav;n=100;qrs1=(a/(2*b))*(2-b);qrs2=0;fori=1:nharm=(((2*b*a)/(i*i*pi*pi))*(1-cos((i*pi)/b)))*cos((i*pi*x)/l);

qrs2=qrs2+harm;endqrswav=qrs1+qrs2;function[swav]=s_wav(x,a_swav,d_swav,t_swav,li)l=li;x=x-t_swav;a=a_swav;b=(2*l)/d_swav;n=100;s1=(a/(2*b))*(2-b);s2=0;fori=1:n

harm3=(((2*b*a)/(i*i*pi*pi))*(1-cos((i*pi)/b)))*cos((i*pi*x)/l);

s2=s2+harm3;endswav=-1*(s1+s2);function[twav]=t_wav(x,a_twav,d_twav,t_twav,li)l=li;a=a_twav;x=x-t_twav-0.045;b=(2*l)/d_twav;n=100;t1=1/l;t2=0;fori=1:nharm2=(((sin((pi/(2*b))*(b-(2*i))))/(b-(2*i))+(sin((pi/(2*b))*(b+(2*i))))/(b+(2*i)))*(2/pi))*cos((i*pi*x)/l);

t2=t2+harm2;endtwav1=t1+t2;twav=a*twav1;function[uwav]=u_wav(x,a_uwav,d_uwav,t_uwav,li)l=li;a=a_uwavx=x-t_uwav;b=(2*l)/d_uwav;n=100;u1=1/lu2=0fori=1:nharm4=(((sin((pi/(2*b))*(b-(2*i))))/(b-(2*i))+(sin((pi/(2*b))*(b+(2*i))))/(b+(2*i)))*(2/pi))*cos((i*pi*x)/l);u2=u2+harm4;enduwav1=u1+u2;uwav=a*uwav1;按1鍵選擇默認(rèn)配置ECG信號(hào),程序執(zhí)行結(jié)果如圖9.5所示。圖9.5ECG信號(hào)仿真9.3.2基于小波變換的ECG信號(hào)壓縮下面給出利用小波變換對(duì)ECG信號(hào)進(jìn)行壓縮的實(shí)例。

clear;

%正常人的心律信號(hào)

fid=fopen('normalecg.txt','r');

x=fscanf(fid,'%f%f%f',[6003]);

fcolse(fid);

N=length(x);

fori=0:N/3-1

t(i+1)=x(3*i+1);

sig1(i+1)=x(3*i+2);sig2(i+1)=x(3*i+3);ends=sig1+0.5*randn(1,length(sig1));%時(shí)域波形figure(1);subplot(211);plot(t,s,'LineWidth',2);xlabel('t/s');ylabel('U/mV');title('含噪聲的ECG信號(hào)');%選用小波函數(shù)wavelet='db5';%分解級(jí)數(shù)level=4;%壓縮參數(shù)alpha=1.5;%閾值類型sorh='h';%小波分解[c,l]=wavedec(s,level,wavelet);%計(jì)算閾值[thr,nkeep]=wdcbm(c,l,alpha);%使用硬閾值壓縮信號(hào)[xc,cxc,lxc,perf0,perfl2]=wdencmp('lvd',c,l,wavelet,level,thr,sorh);%對(duì)系數(shù)編碼cC=encode(cxc);%傳輸?shù)南禂?shù)tC=cC;%傳輸?shù)南禂?shù)向量長(zhǎng)度tL=length(tC);%零系數(shù)的百分比pzeros=perf0%保留的能量大小pnormen=perfl2%編碼的壓縮比compratio=length(s)/length(tC)壓縮前后的ECG信號(hào)波形如圖9.6所示,計(jì)算得到的結(jié)果如下:零系數(shù)的比例:

pzeros=84.4828保留的能量大?。?/p>

pnormen=61.8710壓縮比:

compratio=3.0303圖9.6壓縮前后的ECG信號(hào)9.3.3基于小波變換的EEG信號(hào)多分辨率分析利用小波變換的多層分解可以將EEG信號(hào)分成具有不同尺度的小波系數(shù),這樣可以剔除與噪聲相關(guān)的系數(shù),然后重構(gòu)信號(hào)可以保留信號(hào)中的有用成分。另外,不同的節(jié)律具有不同的頻率范圍,因此,多分辨率分析可以將它們分開(kāi)。下面給出利用小波變換進(jìn)行EEG信號(hào)的多分辨率分析的實(shí)例。

MATLAB

溫馨提示

  • 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)論