版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
語(yǔ)音信號(hào)采集與處理主題:Matlab與信息系統(tǒng)仿真課程設(shè)計(jì)組長(zhǎng):XXX組員:XXXXXXX班級(jí):電子信息工程1201目錄第一章課程設(shè)計(jì)情況概述1.1課程設(shè)計(jì)目的…………………31.2課程設(shè)計(jì)內(nèi)容…………………31.3小組分工………3第二章具體實(shí)現(xiàn)方案及小結(jié)2.1第(1)、(2)版塊:錄制語(yǔ)以及頻譜分析………………42.1.1板塊要求…………………42.1.2版塊分析及具體實(shí)現(xiàn)代碼………………42.1.3Matlab仿真結(jié)果圖…………………52.2第(3)版塊:采樣………72.2.1版塊要求…………………72.2.2板塊分析及具體實(shí)現(xiàn)代碼……………72.3第(4)版塊:對(duì)語(yǔ)音實(shí)現(xiàn)幾種常見變化……132.3.1版塊要求……………132.3.2板塊分析及具體實(shí)現(xiàn)代碼…………132.4第(5)版塊:調(diào)制、解調(diào)………………252.4.1板塊要求……………252.4.2版塊分析及具體實(shí)現(xiàn)代碼…………252.4.3Matlab仿真結(jié)果圖…………………282.5第(6)版塊:加噪、濾波……………322.5.1板塊要求……………322.5.2版塊分析及具體實(shí)現(xiàn)代碼…………322.6小結(jié)………………………41第一章課程設(shè)計(jì)情況概述1.1課程設(shè)計(jì)目的本課程設(shè)計(jì)要求掌握Matlab語(yǔ)言特性、數(shù)學(xué)運(yùn)算和圖形表示;掌握Matlab程序設(shè)計(jì)方法在信息處理方面的一些應(yīng)用;掌握在Windows環(huán)境下,利用Matlab進(jìn)行語(yǔ)音信號(hào)采集與處理的基本方法。綜合設(shè)計(jì)實(shí)驗(yàn)方案設(shè)計(jì)5天分析題目,查找相關(guān)資料,利用已掌握知識(shí)、原理,提出設(shè)計(jì)具體方案,擬訂設(shè)計(jì)步驟,確定方案,編寫程序代碼并上機(jī)調(diào)試,修改完善設(shè)計(jì),記錄數(shù)據(jù),分析結(jié)果。1.2課程設(shè)計(jì)內(nèi)容這次的課程設(shè)計(jì)大致分為兩個(gè)階段,一周為一個(gè)階段。1.關(guān)于Matlab的基礎(chǔ)訓(xùn)練Matlab在信號(hào)與系統(tǒng)、隨機(jī)信號(hào)處理中的基本應(yīng)用2.綜合設(shè)計(jì):語(yǔ)音信號(hào)的采集與處理
(1)利用windows自帶的錄音機(jī)或者其它錄音軟件,錄制幾段語(yǔ)音信號(hào)(要有幾種不同的聲音,要有男聲、女聲)。
(2)對(duì)錄制的語(yǔ)音信號(hào)進(jìn)行頻譜分析,確定該段語(yǔ)音的主要頻率范圍,由此頻率范圍判斷該段語(yǔ)音信號(hào)的特點(diǎn)(低沉or尖銳?)
(3)利用采樣定理,對(duì)該段語(yǔ)音信號(hào)進(jìn)行采樣,觀察不同采樣頻率(過(guò)采樣、欠采樣、臨界采樣)對(duì)信號(hào)的影響。(4)實(shí)現(xiàn)語(yǔ)音信號(hào)的快放、慢放、倒放、回聲、男女變聲。
(5)對(duì)采集到的語(yǔ)音信號(hào)進(jìn)行調(diào)制與解調(diào),觀測(cè)調(diào)制與解調(diào)前后信號(hào)的變化。
(6)對(duì)語(yǔ)音信號(hào)加噪,然后進(jìn)行濾波,分析不同的濾波方式對(duì)信號(hào)的影響。
1.3小組分工第(1)、(2)版塊XXX,第(3)版塊XXX,第(4)版塊XXX,第(5)版塊XXX,第(6)版塊XXX,報(bào)告最終由組長(zhǎng)統(tǒng)一整理。第二章具體實(shí)現(xiàn)方案2.1第(1)、(2)版塊:錄制語(yǔ)音以及頻譜分析2.1.1版塊要求:①利用windows自帶的錄音機(jī)或者其它錄音軟件,錄制幾段語(yǔ)音信號(hào)(要有幾種不同的聲音,要有男聲、女聲)。
②對(duì)錄制的語(yǔ)音信號(hào)進(jìn)行頻譜分析,確定該段語(yǔ)音的主要頻率范圍,由此頻率范圍判斷該段語(yǔ)音信號(hào)的特點(diǎn)(低沉還是尖銳?)2.1.2版塊分析及具體實(shí)現(xiàn)代碼:先錄制幾段音頻,再利用Matlab編程對(duì)其進(jìn)行頻譜分析。[x1,fs,nbits]=wavread('D:\matlab\語(yǔ)音樣本.wav');%讀取音頻文件,識(shí)別的是音頻存放地址sound(x1,fs);%利用matlab中發(fā)聲函數(shù)sound語(yǔ)句N=length(x1);M=log(N)/log(2);Q=round(M);%round函數(shù)是對(duì)所得數(shù)取整S=2^Q;%求得與N最接近的2的n次冪n=[0:N-1];%從0取到N-1X=fft(x1);%進(jìn)行傅里葉變換Fs=1*fs;f=n/N*Fs;%圖2的橫坐標(biāo)figure(1);subplot(2,1,1);plot(n,x1);%繪制原音頻信號(hào)圖title('原始音頻信號(hào)');Amp=abs(X)/(S/2);Amp(1,:)=Amp(1,:)/2;subplot(2,1,2);plot(f,Amp);axis([0,3000,0,0.01])%繪制頻譜圖title('音頻的幅度譜');在設(shè)計(jì)算法的過(guò)程中,本段程序的難點(diǎn)在于如何找到與length(x1)最接近的2的n次冪,以及傅立葉變換之后的頻譜值(即圖中的縱坐標(biāo)值)。通過(guò)先對(duì)length(x1)求2的對(duì)數(shù),再利用round函數(shù)進(jìn)行四舍五入求整,最終得到想要的最接近length(x1)的2的n次冪。2.1.3Matlab仿真結(jié)果圖:從圖中可以讀出這段音頻信號(hào)的頻率大概在100~800赫茲,比較低沉,一般來(lái)說(shuō)應(yīng)該是男聲。從圖中可以讀出這段音頻信號(hào)的頻率大概在700~1400赫茲,比較尖銳,一般來(lái)說(shuō)應(yīng)該是女聲。2.2第(3)版塊:采樣2.2.1版塊要求利用采樣定理,對(duì)該段語(yǔ)音信號(hào)進(jìn)行采樣,觀察不同采樣頻率(過(guò)采樣、欠采樣、臨界采樣)對(duì)信號(hào)的影響。2.2.2板塊分析及具體實(shí)現(xiàn)代碼這里涉及到采樣下重采樣的問(wèn)題。所謂重采樣就是對(duì)一系列離散的數(shù)字信號(hào)進(jìn)行插值(升頻)或去值(降頻),以改變?cè)行盘?hào)的采樣率,在Matlab中,可以用resample(x,p,q),decimate(x,r)函數(shù)實(shí)現(xiàn)。也可以將原有音頻進(jìn)行重構(gòu),對(duì)獲得的波形進(jìn)行二次采樣,不過(guò)這樣比較麻煩。本段程序采用的是resample(x,p,q)函數(shù),所用的音頻時(shí)間大概有3秒,更有利于觀察對(duì)頻譜的影響。RESAMPLE函數(shù)的原理:p/Q是確定采樣頻率的必要條件,由于系統(tǒng)錄音所確定的采樣頻率由[x1,fs,nbits]=wavread('D:\matlab\nv.wav')所決定;%讀取音頻文件返回值為44100hz。對(duì)于所用音頻,其頻譜分析出來(lái)的最高頻率是fm=1750hz。由采樣定理得,采樣頻率fs=2fm=3500hz,大約是44100的1/13。當(dāng)為臨界采樣時(shí)fs=2fm,確定p=1,Q=13,采樣頻率為3500hz;當(dāng)為過(guò)采樣時(shí)fs>2fm,確定P=1,Q=10,采樣頻率為4410hz;當(dāng)為欠采樣時(shí)fs<2fm,確定P=1,Q=18,采樣頻率為2450hz;程序代碼:[x1,fs,nbits]=wavread('D:\matlab\nv.wav');%讀取音頻文件,識(shí)別的是地址sound(x1,fs);%利用matlab中發(fā)聲函數(shù)sound語(yǔ)句N=length(x1);M=log(N)/log(2);Q=round(M);S=2^Q;n=[0:N-1];%n從0取到N-1X=fft(x1);%進(jìn)行傅里葉變換Fs=1*fs;f=n/N*Fs;figure(1);subplot(2,1,1);plot(n,x1);%繪制原音頻信號(hào)title('原始音頻信號(hào)');Amp=abs(X)/(S/2);Amp(1,:)=Amp(1,:)/2;subplot(2,1,2);plot(f,Amp);axis([0,4000,0,0.01])%繪制頻譜圖title('音頻的幅度譜');臨界采樣:[x,fs,nbits]=wavread('D:\matlab\nv.wav');%讀取音頻文件,識(shí)別的是地址x2=resample(x,1,13);%采樣頻率化為3500Hzsound(x2,fs/13);%利用matlab中發(fā)聲函數(shù)sound語(yǔ)句N=length(x2);M=log(N)/log(2);Q=round(M);S=2^Q;n=[0:N-1];%從0取到N-1X=fft(x2);%進(jìn)行傅里葉變換Fs=fs/14;f=n/N*Fs;figure(2)subplot(2,1,1);plot(n,x2);%繪制原音頻信號(hào)title('臨界采樣后原始音頻信號(hào)');Amp=abs(X)/(S/2);Amp(1,:)=Amp(1,:)/2;subplot(2,1,2);plot(f,Amp);axis([0,4000,0,0.01])%繪制頻譜圖title('臨界采樣音頻的幅度譜');過(guò)采樣:[x,fs,nbits]=wavread('D:\matlab\nv.wav');%讀取音頻文件,識(shí)別的是地址x3=resample(x,1,10);%采樣頻率化為4410Hzsound(x3,fs/10);%利用matlab中發(fā)聲函數(shù)sound語(yǔ)句N=length(x3);M=log(N)/log(2);Q=round(M);S=2^Q;n=[0:N-1];%從0取到N-1X=fft(x3);%進(jìn)行傅里葉變換Fs=fs/10;f=n/N*Fs;figure(3);subplot(2,1,1);plot(n,x3);%繪制原音頻信號(hào)title('過(guò)采樣后原始音頻信號(hào)');Amp=abs(X)/(S/2);Amp(1,:)=Amp(1,:)/2;subplot(2,1,2);plot(f,Amp);axis([0,4000,0,0.01])%繪制頻譜圖title('過(guò)采樣后音頻的幅度譜');欠采樣[x,fs,nbits]=wavread('D:\matlab\nv.wav');%讀取音頻文件,識(shí)別的是地址x4=resample(x,1,18);%采樣頻率化為2450Hzsound(x4,fs/18);%利用matlab中發(fā)聲函數(shù)sound語(yǔ)句N=length(x4);M=log(N)/log(2);Q=round(M);S=2^Q;n=[0:N-1];%從0取到N-1X=fft(x4);%進(jìn)行傅里葉變換Fs=fs/18;f=n/N*Fs;figure(4);subplot(2,1,1);plot(n,x4);%繪制原音頻信號(hào)title('欠采樣后原始音頻信號(hào)');Amp=abs(X)/(S/2);Amp(1,:)=Amp(1,:)/2;subplot(2,1,2);plot(f,Amp);axis([0,4000,0,0.01])%繪制頻譜圖title('欠采樣后音頻的幅度譜');頻譜分析:由第一段程序?qū)λ玫囊纛l進(jìn)行頻譜分析所得頻譜圖可知,這段音頻的最大頻率為1750Hz,也就可以確定三種采樣所用的采樣頻率。由采樣定理知,臨界采樣和過(guò)采樣對(duì)聲音不會(huì)有太大影響,臨界采樣讓相鄰頻譜緊靠,過(guò)采樣讓相鄰頻譜分開一段距離。而欠采樣則讓頻譜不全,聲音聽起來(lái)低沉暗啞。2.3第(4)版塊:對(duì)語(yǔ)音實(shí)現(xiàn)幾種常見變化2.3.1板塊要求實(shí)現(xiàn)語(yǔ)音信號(hào)的快放、慢放、倒放、回聲、男女變聲。
2.3.2版塊分析及具體實(shí)現(xiàn)代碼①實(shí)現(xiàn)對(duì)錄音內(nèi)容倒放[x,fs,Nbits]=wavread('D:\matlab\語(yǔ)音樣本.wav');x=flipud(x)wavplay(x,fs);%對(duì)加載的語(yǔ)音信號(hào)進(jìn)行回放②實(shí)現(xiàn)錄音內(nèi)容回聲[x,fs,bits]=wavread('D:\matlab\語(yǔ)音樣本.wav');%讀取語(yǔ)音信號(hào)n1=0:2000;b=x(:,1);%產(chǎn)生單聲道信號(hào)N=3;M=length(x);yy2=filter(1,[1,zeros(1,80000/(N+1)),0.7],[b',zeros(1,40000)]);%IIR濾波器進(jìn)行濾波figure(3)subplot(2,1,1);plot(yy2);%三次回聲濾波器時(shí)域波形title('三次回聲濾波器時(shí)域波形');YY2=fft(yy2);%對(duì)三次回聲信號(hào)做FFT變換subplot(2,1,2);plot(n1(1:1000),YY2(1:1000)/M);%三次回聲濾波器頻譜圖title('三次回聲濾波器頻譜圖');figure(4)subplot(2,1,1);plot(abs(YY2)/M);%經(jīng)傅里葉變換之后的信號(hào)的幅值title('幅值');subplot(2,1,2);plot(angle(YY2));%經(jīng)傅里葉變換之后的信號(hào)的相位title('相位');sound(5*yy2,fs,bits);%經(jīng)三次回聲濾波器后的語(yǔ)音信號(hào),乘以5是為了加強(qiáng)信號(hào)③實(shí)現(xiàn)對(duì)錄音內(nèi)容快放[x1,fs]=wavread('D:\matlab\語(yǔ)音樣本.wav');%讀取音頻文件,識(shí)別的是地址N=length(x1);n=[0:N-1];X=fft(x1);%進(jìn)行傅里葉變換Fs=1*fs;f=n/N*Fs;t=0:1/fs:(N-1)/fs;figure(1);subplot(2,1,1);plot(t,x1/N);%繪制原音頻信號(hào)title('原音頻信號(hào)');subplot(2,1,2);plot(f,abs(X)/N);%繪制頻譜圖title('音頻的幅度譜');sound(x1,1.5*fs);%以1.5倍速度播放Fs2=1.5*fs;t2=0:1/Fs2:(N-1)/Fs2;f2=n/N*Fs2;figure(2);subplot(2,1,1);plot(t2,x1/N);title('快放后的音頻信號(hào)');subplot(2,1,2);plot(f2,abs(X)/N);title('快放后的幅度譜');④實(shí)現(xiàn)對(duì)錄音內(nèi)容慢放[x1,fs]=wavread('D:\matlab\語(yǔ)音樣本.wav');%讀取音頻文件,識(shí)別的是地址N=length(x1);n=[0:N-1];X=fft(x1);%進(jìn)行傅里葉變換Fs=1*fs;f=n/N*Fs;t=0:1/fs:(N-1)/fs;figure(1);subplot(2,1,1);plot(t,x1/N);%繪制原音頻信號(hào)title('原音頻信號(hào)');subplot(2,1,2);plot(f,abs(X)/N);%繪制頻譜圖title('音頻的幅度譜');sound(x1,0.5*fs);%以0.5倍速度播放Fs2=0.5*fs;t2=0:1/Fs2:(N-1)/Fs2;f2=n/N*Fs2;figure(2);subplot(2,1,1);plot(t2,x1/N);title('慢放后的音頻信號(hào)');subplot(2,1,2);plot(f2,abs(X)/N);title('慢放后的幅度譜');⑤⑤實(shí)現(xiàn)男女變聲(實(shí)現(xiàn)男女變聲都需調(diào)用一個(gè)voice函數(shù))functionY=voice(x,f)%更改采樣率使基頻改變f>1降低;f<1升高f=round(f*1000);d=resample(x,f,1000);%時(shí)長(zhǎng)整合使語(yǔ)音文件恢復(fù)原來(lái)時(shí)長(zhǎng)W=400;Wov=W/2;Kmax=W*2;Wsim=Wov;xdecim=8;kdecim=2;X=d';F=f/1000;Ss=W-Wov;xpts=size(X,2);ypts=round(xpts/F);Y=zeros(1,ypts);xfwin=(1:Wov)/(Wov+1);ovix=(1-Wov):0;newix=1:(W-Wov);simix=(1:xdecim:Wsim)-Wsim;padX=[zeros(1,Wsim),X,zeros(1,Kmax+W-Wov)];Y(1:Wsim)=X(1:Wsim);lastxpos=0;km=0;forypos=Wsim:Ss:(ypts-W)xpos=round(F*ypos);kmpred=km+(xpos-lastxpos);lastxpos=xpos;if(kmpred<=Kmax)km=kmpred;elseysim=Y(ypos+simix);rxy=zeros(1,Kmax+1);rxx=zeros(1,Kmax+1);Kmin=0;fork=Kmin:kdecim:Kmaxxsim=padX(Wsim+xpos+k+simix);rxx(k+1)=norm(xsim);rxy(k+1)=(ysim*xsim');endRxy=(rxx~=0).*rxy./(rxx+(rxx==0));km=min(find(Rxy==max(Rxy))-1);endxabs=xpos+km;Y(ypos+ovix)=((1-xfwin).*Y(ypos+ovix))+(xfwin.*padX(Wsim+xabs+ovix));Y(ypos+newix)=padX(Wsim+xabs+newix);endendⅠ.男聲變女聲[y,fs,nbits]=wavread('D:\matlab\語(yǔ)音樣本.wav');%讀取聲音文件x=y(:,1);%讀入的y矩陣有兩列,取第1列y1=voice(x,0.40);%調(diào)整voice()第2個(gè)參數(shù)轉(zhuǎn)換音調(diào),>1降調(diào),<1升調(diào),y1為x轉(zhuǎn)換后的聲音N=length(x);M=length(y1);n=0:N-1;m=0:M-1;X=fft(x);Y=fft(y1);%傅里葉變換Fs=2*fs;%2倍頻T=1/Fs;T1=1/Fs/0.40;f=n/N*Fs;f1=m/M*Fs*0.40;t=n*T;t1=m*T1;figure;subplot(2,1,1);plot(t,x);xlabel('t/s');ylabel('magnitude');title('轉(zhuǎn)換前的波形');subplot(2,1,2);plot(t1,y1);xlabel('t/s');ylabel('magnitude');title('轉(zhuǎn)換后的波形');figure;subplot(2,1,1);plot(f,abs(X)/N);xlabel('frequency/Hz');ylabel('magnitude');title('轉(zhuǎn)換前的頻譜');subplot(2,1,2);plot(f1,abs(Y)/M);xlabel('frequency/Hz');ylabel('magnitude');title('轉(zhuǎn)換后的頻譜');sound(y1,fs,nbits);Ⅱ.女聲變男聲[y,fs,nbits]=wavread('D:\matlab\語(yǔ)音樣本2.wav');%讀取聲音文件x=y(:,1);%讀入的y矩陣有兩列,取第1列y1=voice(x,1.6);%調(diào)整voice()第2個(gè)參數(shù)轉(zhuǎn)換音調(diào),>1降調(diào),<1升調(diào),y1為x轉(zhuǎn)換后的聲音N=length(x);M=length(y1);n=0:N-1;m=0:M-1;X=fft(x);Y=fft(y1);%傅里葉變換Fs=2*fs;%2倍頻T=1/Fs;T1=1/Fs/1.61;f=n/N*Fs;f1=m/M*Fs*1.61;t=n*T;t1=m*T1;figure;subplot(2,1,1);plot(t,x);xlabel('t/s');ylabel('magnitude');title('轉(zhuǎn)換前的波形');subplot(2,1,2);plot(t1,y1);xlabel('t/s');ylabel('magnitude');title('轉(zhuǎn)換后的波形');figure;subplot(2,1,1);plot(f,abs(X)/N);xlabel('frequency/Hz');ylabel('magnitude');title('轉(zhuǎn)換前的頻譜');subplot(2,1,2);plot(f1,abs(Y)/M);xlabel('frequency/Hz');ylabel('magnitude');title('轉(zhuǎn)換后的頻譜');sound(y1,fs,nbits);wavwrite(y1,1*fs,'D:\matlab\語(yǔ)音樣本2.wav')經(jīng)過(guò)統(tǒng)計(jì)整理可知:女聲基頻=男聲基頻*1.5,本程序是通過(guò)抽樣與插值的方式來(lái)達(dá)到基頻的改變。2.4第(5)版塊:調(diào)制、解調(diào)2.4.1版塊要求:對(duì)采集到的語(yǔ)音信號(hào)進(jìn)行調(diào)制與解調(diào),觀測(cè)調(diào)制與解調(diào)前后信號(hào)的變化。
2.4.2版塊分析及具體實(shí)現(xiàn)代碼:語(yǔ)音信號(hào)與高頻正弦載波相調(diào)制,比較其頻譜變化,回放信號(hào),比較是與眾語(yǔ)音信號(hào)變化。將調(diào)制后的信號(hào)進(jìn)行解調(diào),回放信號(hào),比較時(shí)域中語(yǔ)音信號(hào)變化。1.調(diào)制所謂調(diào)制就是在傳送信號(hào)的一方將所要傳送的信號(hào)附加在高頻振蕩上,再由天線發(fā)射出去。這里高頻振蕩波就是攜帶信號(hào)的運(yùn)載工具,也叫載波。振幅調(diào)制,就是由調(diào)制信號(hào)去控制高頻載波的振幅,直至隨調(diào)制信號(hào)做線性變化。在線性調(diào)制系列中,最先應(yīng)用的一種幅度調(diào)制是全調(diào)幅或常規(guī)調(diào)幅,簡(jiǎn)稱為調(diào)幅(AM)。在頻域中已調(diào)波頻譜是基帶調(diào)制信號(hào)頻譜的線性位移;在時(shí)域中,已調(diào)波包絡(luò)與調(diào)制信號(hào)波形呈線性關(guān)系。設(shè)正弦載波c(t)=Acos(ω0t+)式中,A為載波幅度;ω0為載波角頻率;為載波初始相位(假設(shè)=0).調(diào)制信號(hào)(基帶信號(hào))為m(t)。根據(jù)調(diào)制的定義,振幅調(diào)制信號(hào)(已調(diào)信號(hào))一般可以表示.標(biāo)準(zhǔn)調(diào)幅波(AM)產(chǎn)生原理:調(diào)制信號(hào)是只來(lái)來(lái)自信源的調(diào)制信號(hào)(基帶信號(hào)),這些信號(hào)可以是模擬的,亦可以是數(shù)字的。為首調(diào)制的高頻振蕩信號(hào)可稱為載波,它可以是正弦波,亦可以是非正弦波(如周期性脈沖序列)。載波由高頻信號(hào)源直接產(chǎn)生即可,然后經(jīng)過(guò)高頻功率放大器進(jìn)行放大,作為調(diào)幅波的載波,調(diào)制信號(hào)由低頻信號(hào)源直接產(chǎn)生,二者經(jīng)過(guò)乘法器后即可產(chǎn)生雙邊帶的調(diào)幅波。設(shè)載波信號(hào)的表達(dá)式為,調(diào)制信號(hào)的表達(dá)式為,則調(diào)幅信號(hào)的表達(dá)式為2.解調(diào)從高頻已調(diào)信號(hào)中恢復(fù)出調(diào)制信號(hào)的過(guò)程稱為解調(diào)(demodulation),又稱為檢波(detection)。對(duì)于振幅調(diào)制信號(hào),解調(diào)(demodulation)就是從它的幅度變化上提取調(diào)制信號(hào)的過(guò)程。解調(diào)(demodulation)是調(diào)制的逆過(guò)程??衫贸朔e型同步檢波器實(shí)現(xiàn)振幅的解調(diào),讓已調(diào)信號(hào)與本地恢復(fù)載波信號(hào)相乘并通過(guò)低通濾波可獲得解調(diào)信號(hào)。程序如下:clear;%數(shù)據(jù)清零[f1,fs,nbits]=wavread('D:\matlab\語(yǔ)音樣本.wav');%聲音文件的載入f1=f1(:,1);%對(duì)信號(hào)f1取單聲道figure(1);%圖像繪制,創(chuàng)建圖形窗1subplot(2,1,1);%在一幅圖內(nèi)分成一個(gè)兩行一列的兩個(gè)區(qū)域,取第一個(gè)區(qū)域N=length(f1);%計(jì)算信號(hào)長(zhǎng)度Nt=0:1/fs:(N-1)/fs;%時(shí)間長(zhǎng)度t從0到(N-1)/fs。每隔1/fs取個(gè)間隔點(diǎn)plot(t,f1);title('信息信號(hào)的時(shí)域波形');%畫出語(yǔ)音信號(hào)的時(shí)域波形fy1=fft(f1);%對(duì)信號(hào)進(jìn)行FFT變換w1=0:fs/(N-1):fs;%頻率ω1從0到fs,每隔fs/(N-1)間隔取點(diǎn)subplot(2,1,2);%對(duì)上述兩個(gè)區(qū)域取第二個(gè)區(qū)域plot(w1,abs(fy1)/N);title('信息信號(hào)的頻譜');%畫出語(yǔ)音信號(hào)的FFT頻譜圖sound(f1,fs,nbits);%播放原始信號(hào)pause(3);%延遲3秒(語(yǔ)音文件3秒左右)f2=cos(22000*pi*t);%載波信號(hào)figure(2);%創(chuàng)建圖形窗2subplot(2,1,1);%在一幅圖內(nèi)分成一個(gè)兩行一列的兩個(gè)區(qū)域,取第一個(gè)區(qū)域fy2=fft(f2);%對(duì)信號(hào)f2進(jìn)行FFT變換N2=length(f2);%計(jì)算信號(hào)f2長(zhǎng)度N2w2=0:fs/(N2-1):fs;%求頻率ω2plot(w2,abs(fy2)/N);title('載波信號(hào)的頻譜');%畫出載波信號(hào)的FFT頻譜圖調(diào)制部分:f3=f1'.*f2;%對(duì)信號(hào)f1代表的矩陣轉(zhuǎn)置和信號(hào)f2對(duì)應(yīng)的矩陣求點(diǎn)積subplot(2,1,2);%對(duì)上述兩個(gè)區(qū)域取第二個(gè)區(qū)域fy3=fft(f3);%f3進(jìn)行FFT變換plot(w1,abs(fy3)/N);title('已調(diào)信號(hào)的頻譜');%畫出已調(diào)信號(hào)f3的頻譜圖sound(f3,fs,nbits);%播放已調(diào)語(yǔ)音信號(hào)f3pause(3);%延遲3秒解調(diào)部分:f4=f3.*f2;%信號(hào)f3和f2點(diǎn)乘求積figure(3);%創(chuàng)建圖形窗3fy4=fft(f4);%對(duì)信號(hào)f4求FFT變換plot(w1,abs(fy4)/N);title('解調(diào)信號(hào)頻譜');%畫出解調(diào)信號(hào)f4的頻譜圖sound(f4,fs,nbits);%播放解調(diào)后語(yǔ)音f4信號(hào)pause(3);%延遲3秒低通濾波器部分:fp1=0;fs1=5000;As1=100;%設(shè)置低通濾波器的參數(shù)wp1=2*pi*fp1/fs;ws1=2*pi*fs1/fs;%將模擬頻率轉(zhuǎn)變成數(shù)字頻率BF1=ws1-wp1;%計(jì)算濾波器過(guò)渡帶寬度wc1=(wp1+ws1)/2;%計(jì)算通帶截止頻率M1=ceil((As1-7.95)/(2.286*BF1))+1;%計(jì)算凱塞濾波器階數(shù)NN1=M1+1;%窗的點(diǎn)數(shù)beta1=0.1102*(As1-8.7);Window=(kaiser(N1,beta1));%求凱塞窗窗函數(shù)b1=fir1(M1,wc1/pi,Window);%wc1/pi為歸一化,窗函數(shù)法設(shè)計(jì)函數(shù)figure(4);%創(chuàng)建圖形窗4freqz(b1,1,512);title('FIR低通濾波器的頻率響應(yīng)');%由離散系統(tǒng)頻率特征函數(shù)freqz函數(shù)畫出濾波器的頻率響應(yīng)圖f4_low=filter(b1,1,f4);%對(duì)信號(hào)進(jìn)行低通濾波plot(t,f4_low);title('濾波后的解調(diào)信號(hào)時(shí)域波形');%畫出濾波后解調(diào)信號(hào)時(shí)域波形sound(f4_low,fs,nbits);%播放濾波后語(yǔ)音信號(hào)f5=fft(f4_low);%對(duì)濾波后信號(hào)實(shí)現(xiàn)FFT變換figure(5);%創(chuàng)建圖形窗5plot(w1,abs(f5)/N);title('濾波后的解調(diào)信號(hào)頻譜')%畫出濾波后解調(diào)信號(hào)頻譜圖2.4.3Matlab仿真結(jié)果圖:圖一:原始信號(hào)頻譜圖二:已調(diào)信號(hào)的頻譜圖三:解調(diào)信號(hào)頻譜圖四:濾波后信號(hào)的時(shí)域波形圖五:濾波后信號(hào)的頻域波形頻譜分析:由于調(diào)制解調(diào)采用的是男聲,故圖一中聲音的頻譜基本集中在低頻段;由圖二可知,對(duì)原始語(yǔ)音信號(hào)進(jìn)行加噪聲處理,在低頻段信號(hào)的頻譜由有明顯的下降,所加噪聲對(duì)應(yīng)的頻率段有明顯信號(hào)的振幅增加,且在所加噪聲頻率段有明顯的頻率集中;由圖三可知,解調(diào)后的頻譜,恢復(fù)了信號(hào)的低頻頓的頻譜振幅,消除了噪聲頻率段的影響,加強(qiáng)了中頻段的頻譜;由圖四,圖五知,經(jīng)過(guò)低通濾波器處理之后,與原始信號(hào)相比,很明顯,濾波后的聲音信號(hào)保留了原始信號(hào)的有效成分,突出了低頻段的頻譜,更除去了一定的干擾信號(hào)(即噪聲)。2.5第(6)版塊:加噪、濾波2.5.1板塊要求對(duì)語(yǔ)音信號(hào)加噪,然后進(jìn)行濾波,分析不同的濾波方式對(duì)信號(hào)的影響。
2.5.2版塊分析及具體實(shí)現(xiàn)代碼:(1)語(yǔ)音信號(hào)的采集與分析:錄制了一段5秒左右的音頻,然后在MATLAB軟件平臺(tái)下,利用函數(shù)wavread對(duì)語(yǔ)音信號(hào)進(jìn)行采樣,再運(yùn)用plot函數(shù)畫出語(yǔ)音信號(hào)的時(shí)域波形,最后在語(yǔ)音信號(hào)頻譜分析時(shí)運(yùn)用fft對(duì)信號(hào)進(jìn)行快速傅里葉變換,得到頻譜特性圖形。人為的設(shè)定了一個(gè)隨機(jī)的噪聲,運(yùn)用函數(shù)randn產(chǎn)生隨機(jī)噪聲,加在原音頻信號(hào)上。使用凱瑟窗分別產(chǎn)生低通濾波器,帶通濾波器,高通濾波器。低通濾波器圖像:帶通濾波器圖像:高通濾波器圖像:添加一個(gè)隨機(jī)的高斯白噪聲程序:[x1,fs]=wavread('D:\matlab\語(yǔ)音樣本.wav');%讀取語(yǔ)音信號(hào)數(shù)據(jù)sound(x1,fs);%播放語(yǔ)音信號(hào)N=length(x1);M=log(N)/log(2);Q=round(M);S=2^Q;n=[0:N-1];%從0取到N-1X1=fft(x1);%進(jìn)行傅里葉變換Fs=1*fs;f=n/N*Fs;figure(1);subplot(2,1,1);plot(n,x1);%繪制原音頻信號(hào)title('原始音頻信號(hào)');Amp1=abs(X1)/(S/2);Amp1(1,:)=Amp1(1,:)/2;subplot(2,1,2);plot(f,Amp1);axis([0,4000,0,0.01])%繪制頻譜圖title('音頻的幅度譜');noise=0.1*randn(N,2);x2=x1+noise;%取原始語(yǔ)音信號(hào)的單聲部信號(hào)然后和噪聲信號(hào)相加sound(x2,fs);%播放語(yǔ)音信號(hào)X2=fft(x2);figure(2);%創(chuàng)建圖形窗subplot(2,1,1);%創(chuàng)建兩行一列繪圖區(qū)間的第1個(gè)繪圖區(qū)間plot(n,x2);title('加噪后的信號(hào)');Amp2=abs(X2)/(S/2);Amp2(1,:)=Amp2(1,:)/2;subplot(2,1,2);plot(f,Amp2);axis([0,4000,0,0.01])%繪制頻譜title('加噪后的信號(hào)頻譜');低通濾波:%濾波器參數(shù)fp=1000;%通帶邊緣頻率fc=1200;%阻帶邊緣頻率As=100;%阻帶最小衰減Ap=1;%通帶峰值起伏%轉(zhuǎn)換為數(shù)字域參數(shù)wc=2*fc/fs;wp=2*fp/fs;N=ceil((As-7.95)/(14.36*(wc-wp)/2))+1;%濾波器階數(shù)beta=0.1102*(As-8.7);%凱澤窗參數(shù)betaWin=Kaiser(N+1,beta);%生成窗函數(shù)b=fir1(N,wc,Win);%設(shè)計(jì)濾波器figure(3)freqz(b,1,512,fs);%畫出頻譜圖x=fftfilt(b,x2);%濾波X=fft(x,4096);%FFTsound(x,fs);%回放語(yǔ)音信號(hào)figure(4)subplot(2,1,1),plot(x);title('濾波后信號(hào)波形');subplot(2,1,2),plot(abs(X));title('濾波后信號(hào)頻譜');經(jīng)過(guò)低通濾波后,音頻信號(hào)中的噪聲被消除了很多,因?yàn)橐纛l信號(hào)本身就是集中在低頻段,所以經(jīng)過(guò)低通濾波器后,信號(hào)被恢復(fù)。帶通濾波:%濾波器參數(shù)fp1=1200;fp2=3000;fc1=1000;fc2=3200;As=100;Ap=1;%濾波器參數(shù)wc1=2*fc1/fs;wp1=2*fp1/fs;wc2=2*fc2/fs;wp2=2*fp2/fs;width=min((wp1-wc1),(wc2-wp2));%轉(zhuǎn)換為數(shù)字域參數(shù)N=ceil((As-7.95)/(14.36*width/2))+1;%計(jì)算濾波器的階數(shù),ceil(x)取大于等于x的最小整數(shù)beta=0.1102*(As-8.7);%計(jì)算凱瑟窗控制參數(shù)Win=Kaiser(N+1,beta);%生成窗函數(shù)wc=[wc1,wc2];%計(jì)算理想帶通濾波器通帶截止頻率b=fir1(N,wc,Win);%調(diào)用firl函數(shù)freqz(b,1,512,fs);%畫出濾波器頻譜圖,設(shè)置最大幅度為1x=fftfilt(b,x2);%進(jìn)行濾波X=fft(x,4096);%FFTsound(x,fs);%回放語(yǔ)音信號(hào)subplot(2,1,1),plot(x);title('濾波后信號(hào)波形');subplot(2,1,2),plot(abs(X));title('濾
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年廣州客運(yùn)資格證考試多少道題及答案
- 實(shí)+用法律基礎(chǔ)-形成性考核任務(wù)一-國(guó)開(ZJ)-參考資料
- 輸氣工試題3.判斷題
- 公司申請(qǐng)書模板匯編8篇
- 汽車設(shè)計(jì)期末考試復(fù)習(xí)題及參考答案-專升本
- 租房合同范本15篇
- 濟(jì)寧供熱安全生產(chǎn)管理
- 物料使用標(biāo)準(zhǔn)化流程:確保安全
- 全球貿(mào)易法律環(huán)境分析
- 佳木斯市界江船員培訓(xùn)規(guī)范
- 概算審核服務(wù)投標(biāo)方案(技術(shù)方案)
- 人教版(2019)選擇性必修第二冊(cè)Unit 2 Bridging Cultures Learning About Language教學(xué)設(shè)計(jì)
- 數(shù)學(xué)史簡(jiǎn)介課件可編輯全文
- 《淘氣的一天》(教案)-2024-2025學(xué)年一年級(jí)上冊(cè)數(shù)學(xué)北師大版
- 化工原理課程設(shè)計(jì)附錄二
- 職業(yè)健康安全培訓(xùn)課件(共32張課件)
- 中醫(yī)中藥與免疫
- 人教新目標(biāo)八年級(jí)英語(yǔ)上冊(cè)《任務(wù)型閱讀》專項(xiàng)練習(xí)題(含答案)
- 2024年度保密教育線上培訓(xùn)考試題庫(kù)及答案(基礎(chǔ)+提升)
- 2024至2030年成都市酒店市場(chǎng)前景調(diào)查及投資研究報(bào)告
- XXX200MW光伏發(fā)電項(xiàng)目施工組織設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論