matlab課程設(shè)計(jì)--語音信號(hào)的采集與處理_第1頁
已閱讀1頁,還剩20頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  MATLAB</b></p><p><b>  課程設(shè)計(jì)</b></p><p>  學(xué)院: 電氣信息工程學(xué)院 </p><p>  課題: 語音信號(hào)的采集與處理 </p><p>  班級(jí): 電 信 1201

2、 </p><p>  語音信號(hào)的采集與處理</p><p><b>  一、實(shí)驗(yàn)要求 </b></p><p> ?。?) 本課程設(shè)計(jì)要求掌握 MATLAB 語言特性、數(shù)學(xué)運(yùn)算和圖形表示;掌握 MATLAB 程序設(shè)計(jì)方法在信息處理方面的一些應(yīng)用;掌握在 Windows 環(huán)境下,利用 MATLAB 進(jìn)行語音信號(hào)采集與處理的基本方法。 &l

3、t;/p><p> ?。?) 本課程設(shè)計(jì)分為基礎(chǔ)與綜合設(shè)計(jì)題目,其中基礎(chǔ)題目為 MATLAB 基本訓(xùn)練(必做) ;對(duì)于綜合設(shè)計(jì)題,需按照任務(wù)書要求,對(duì)設(shè)計(jì)過程所進(jìn)行的有關(guān)步驟進(jìn)行理論分析,并對(duì)完成的設(shè)計(jì)作出評(píng)價(jià),總結(jié)自己整個(gè)設(shè)計(jì)工作中的經(jīng)驗(yàn)教訓(xùn)、收獲;在課設(shè)最后一天提交課程設(shè)計(jì)報(bào)告,報(bào)告必須按照統(tǒng)一格式打印,裝訂成冊(cè)。</p><p><b>  二、實(shí)驗(yàn)內(nèi)容</b>&l

4、t;/p><p>  1、利用 windows 自帶的錄音機(jī)或者其它錄音軟件,錄制幾段語音信號(hào)(要有幾種不同的聲音,要有男聲、女聲) 。 </p><p>  2、對(duì)錄制的語音信號(hào)進(jìn)行頻譜分析,確定該段語音的主要頻率范圍,由此頻率范圍判斷該段語音信號(hào)的特點(diǎn)(低沉 or 尖銳?) </p><p>  3、利用采樣定理,對(duì)該段語音信號(hào)進(jìn)行采樣,觀察不同采樣頻率(過采樣、欠

5、采樣、臨界采樣) 對(duì)信號(hào)的影響。 這里涉及到采樣下重采樣的問題, 請(qǐng)大家思考如何去做。 </p><p>  4、實(shí)現(xiàn)語音信號(hào)的快放、慢放、倒放、回聲、男女變聲。 </p><p>  5、對(duì)采集到的語音信號(hào)進(jìn)行調(diào)制與解調(diào),觀測(cè)調(diào)制與解調(diào)前后信號(hào)的變化。 </p><p>  6、 對(duì)語音信號(hào)加噪,然后進(jìn)行濾波,分析不同的濾波方式對(duì)信號(hào)的影響。 </p>

6、<p>  7、 如果精力和時(shí)間允許,鼓勵(lì)利用 MATLAB GUI 制作語音信號(hào)采集與分析演示系統(tǒng)。</p><p>  三、MATLAB仿真</p><p><b>  任務(wù)一(陳康負(fù)責(zé))</b></p><p><b>  利用頻譜的分析</b></p><p>  利用Wind

7、ows下的錄音機(jī),錄制一段男生和女生的語音,存為*.WAV的文件。然后在Matlab軟件平臺(tái)下,利用函數(shù)wavread對(duì)語音信號(hào)進(jìn)行采樣,記住采樣頻率和采樣點(diǎn)數(shù)。首先畫出語音信號(hào)的時(shí)域波形;然后對(duì)語音號(hào)進(jìn)行快速傅里葉變換(FFT變換),得到信號(hào)的頻譜特性,分析語音信號(hào)頻譜。</p><p><b>  源程序:</b></p><p>  fs=44100; <

8、/p><p>  [x,fs,Nbits] =wavread('E:\GQQQ\leo') ;</p><p>  derta_fs = fs/length(x);</p><p>  t=0:1/44100:(length(x)-1)/44100;</p><p>  sound(x,fs) ; %對(duì)加載

9、的語音信號(hào)進(jìn)行回放</p><p><b>  figure(1)</b></p><p>  plot(t,x) %做原始語音信號(hào)的時(shí)域圖形</p><p>  title('原始語音信號(hào)');</p><p>  xlabel('time n');&

10、lt;/p><p>  ylabel('fuzhi n');</p><p>  n=length(x); %求出語音信號(hào)的長(zhǎng)度</p><p>  y1=fft(x,n) ; %傅里葉變換</p><p>  w=1/n*[0:n-1]*fs;</p><p&g

11、t;  figure(2) </p><p>  plot([-fs/2:derta_fs:fs/2-derta_fs],abs(fftshift(y1)*2/n)); %做原始語音信號(hào)的FFT頻譜圖</p><p>  title('原始語音信號(hào)FFT頻譜')</p><p><b> 

12、 頻譜分析對(duì)比</b></p><p><b>  運(yùn)行結(jié)果:</b></p><p><b>  女生:</b></p><p>  頻譜分析:從300hz到2000hz都有分布,主要集中在300—1200Hz,聲音尖銳,是女生頻譜。</p><p><b>  男生:<

13、;/b></p><p>  頻譜分析:從200hz到1000hz都有分布,集中在300—1000Hz聲音低沉,是男生頻譜。</p><p>  任務(wù)二(詹筱珊負(fù)責(zé))</p><p>  利用采樣定理,對(duì)該段語音信號(hào)進(jìn)行采樣,觀察不同采樣頻率(過采樣、欠采樣、臨界采樣) 對(duì)信號(hào)的影響。 這里涉及到采樣下重采樣的問題, 請(qǐng)大家思考如何去做。 </p>

14、<p><b>  源程序:</b></p><p><b>  clear;</b></p><p>  [y,fs,bits]=wavread('E:\GQQQ\WOMAN'); %x語音數(shù)據(jù)fs采樣頻率bits采樣點(diǎn)數(shù) </p><p>  sound(y,fs,bits); %話音回放

15、</p><p>  n = length (y) ; %求出語音信號(hào)的長(zhǎng)度</p><p>  derta_fs = fs/length(y);</p><p>  Y=fft(y,n); %傅里葉變換</p><p>  figure(1);</p><p>  subplot(2,1,1);</p>

16、<p><b>  plot(y);</b></p><p>  title('原始信號(hào)波形'); </p><p>  subplot(2,1,2);</p><p>  plot([-fs/2:derta_fs:fs/2-derta_fs],abs(fftshift(Y)*2/n)); </p>

17、<p>  title('原始信號(hào)頻譜');grid</p><p>  y1=decimate(y,2); %采樣頻率為22050Hz,過采樣</p><p><b>  fs1=fs/2;</b></p><p>  sound(y1,fs1,bits); %話音回放</p><p>

18、  n1 = length (y1) ; %求出語音信號(hào)的長(zhǎng)度</p><p>  derta_fs = fs/length(y1);</p><p>  Y1=fft(y1,n1); %傅里葉變換</p><p>  figure(2);</p><p>  subplot(2,1,1);</p><p><

19、b>  plot(y1);</b></p><p>  title('過采樣信號(hào)波形'); </p><p>  subplot(2,1,2); </p><p>  plot([-fs/2:derta_fs:fs/2-derta_fs],abs(fftshift(Y1)*2/n1));</p><p>  

20、title('過采樣信號(hào)頻譜');grid</p><p>  y2=decimate(y,4); %每4個(gè)取一個(gè),采樣頻率為11025Hz接近臨界采樣</p><p><b>  fs2=fs/4;</b></p><p>  sound(y2,fs2,bits); %話音回放</p><p> 

21、 n2 = length (y2) ; %求出語音信號(hào)的長(zhǎng)度</p><p>  derta_fs = fs/length(y2);</p><p>  Y2=fft(y2,n2); %傅里葉變換</p><p>  figure(3);</p><p>  subplot(2,1,1);</p><p><b

22、>  plot(y2);</b></p><p>  title('臨界采樣信號(hào)波形'); </p><p>  subplot(2,1,2); </p><p>  plot([-fs/2:derta_fs:fs/2-derta_fs],abs(fftshift(Y2)*2/n2));</p><p>  

23、title('臨界采樣信號(hào)頻譜');grid</p><p>  y3=decimate(y,8); %抽取函數(shù),頻率變?yōu)樵瓉?/8,欠采樣</p><p><b>  fs2=fs/8;</b></p><p>  sound(y2,fs2,bits); %話音回放</p><p>  n3 =

24、 length (y3) ; %求出語音信號(hào)的長(zhǎng)度</p><p>  derta_fs = fs/length(y3);</p><p>  Y3=fft(y3,n3); %傅里葉變換</p><p>  figure(4);</p><p>  subplot(2,1,1);</p><p><b> 

25、 plot(y3);</b></p><p>  title('欠采樣信號(hào)波形'); </p><p>  subplot(2,1,2);</p><p>  plot([-fs/2:derta_fs:fs/2-derta_fs],abs(fftshift(Y3)*2/n3));</p><p>  title(&

26、#39;欠采樣信號(hào)頻譜');grid</p><p><b>  運(yùn)行結(jié)果:</b></p><p><b>  任務(wù)三(郭前負(fù)責(zé))</b></p><p>  實(shí)現(xiàn)語音信號(hào)的快放、慢放、倒放、回聲、男女變聲</p><p><b>  源程序:</b></p&g

27、t;<p><b>  %變速-快放%</b></p><p><b>  fs=25600;</b></p><p>  [z,fs,nbits]=wavread('E:\GQQQ\leo'); %讀取聲音文件</p><p>  derta_fs = fs/length(z);</p

28、><p>  x=z(:,1); %讀入的y矩陣有兩列,取第1列</p><p>  y1=voice(x,1.5); %調(diào)整voice()第2個(gè)參數(shù)轉(zhuǎn)換音調(diào),>1降調(diào),<1升調(diào),y1為x轉(zhuǎn)換后的聲音</p><p><b>  w=1.5;</b></p><p>  F=w*fs; %w

29、>1為快放,w<1為慢放</p><p>  sound(y1,F)</p><p>  N=length(x); M=length(y1);</p><p>  n=0:N-1; m=0:M-1;</p><p>  X= fft(x); Y=fft(y1); %傅里葉變換 </p

30、><p>  T=1/fs; T1=1/(fs*w);</p><p>  f=n/N*fs; f1=m/M*fs*w;</p><p>  t=n*T; t1=m*T1;</p><p><b>  figure;</b></p><p>  subplot(2,1,1);</p>

31、<p>  plot(t,x);</p><p>  xlabel('t/s');ylabel('幅值');title('轉(zhuǎn)換前的波形');</p><p>  subplot(2,1,2);</p><p>  plot(t1,y1);</p><p>  xlabel('

32、t/s');ylabel('幅值');title('轉(zhuǎn)換后的波形');</p><p><b>  figure;</b></p><p>  subplot(2,1,1);</p><p>  plot([-fs/2:derta_fs:fs/2-derta_fs],abs(fftshift(X))*2/

33、N); </p><p>  xlabel('frequency/Hz');ylabel('幅值');title('轉(zhuǎn)換前的頻譜');</p><p>  subplot(2,1,2);</p><p>  plot([-fs/2:derta_fs:fs/2-derta_fs],abs(fftshift

34、(Y))*2/N); </p><p>  xlabel('frequency/Hz');ylabel('幅值');title('轉(zhuǎn)換后的頻譜');</p><p><b>  快放:</b></p><p><b>  快放之后時(shí)間縮短。</b><

35、/p><p><b>  慢放:</b></p><p><b>  慢放之后時(shí)間變長(zhǎng)。</b></p><p><b>  倒放</b></p><p><b>  fs=22050;</b></p><p>  [x,fs,Nbit

36、s]=wavread('E:\GQQQ\leo');</p><p>  t=0:1/22050:(length(x)-1)/22050;%對(duì)加載的語音信號(hào)進(jìn)行回放</p><p>  y=flipud(x) %對(duì)加載的語音信號(hào)實(shí)現(xiàn)翻轉(zhuǎn)函數(shù)</p><p><b>  figure(1)</b&

37、gt;</p><p>  subplot(2,1,1);</p><p>  plot(x); %聲音的時(shí)域波形</p><p>  title('原聲音的波形');</p><p>  subplot(2,1,2);</p><p><b>  plot(y

38、);</b></p><p>  title('倒放后聲音的波形');</p><p>  wavplay(y,fs);</p><p><b>  回聲:</b></p><p>  [y,fs,nbits]=wavread('E:\GQQQ\WOMAN') ;</p&

39、gt;<p><b>  x=y(:,1);</b></p><p>  z=[zeros(50000,1);x]; %延時(shí)50000個(gè)點(diǎn)</p><p>  x1=[x;zeros(50000,1)]; %使原聲音長(zhǎng)度與延時(shí)后相等</p><p>  y1=x1+0.4*z; %原聲+延時(shí)衰

40、減</p><p><b>  figure(2)</b></p><p>  subplot(2,1,1);</p><p>  plot(x); %聲音的時(shí)域波形</p><p>  title('原聲音的波形');</p><p>  subp

41、lot(2,1,2);</p><p><b>  plot(y1);</b></p><p>  title('加入回聲的波形');</p><p>  sound(5*y1,fs,nbits);</p><p><b>  男聲轉(zhuǎn)換為女聲</b></p><p

42、>  [y,fs,nbits]=wavread('E:\GQQQ\leo'); %讀取聲音文件</p><p>  x=y(:,1); %讀入的y矩陣有兩列,取第1列</p><p>  y1=voice(x,0.71); %調(diào)整voice()第2個(gè)參數(shù)轉(zhuǎn)換音調(diào),>1降調(diào),<1升調(diào),y1為x轉(zhuǎn)換后的聲音</p><p&g

43、t;  N=length(x); M=length(y1);</p><p>  n=0:N-1; m=0:M-1;</p><p>  X= fft(x); Y=fft(y1); %傅里葉變換</p><p>  Fs=2*fs; %2倍頻</p><p>  T=1/Fs; T1=1/Fs*0.

44、71;</p><p>  f=n/N*Fs; f1=m/M*Fs/0.71;</p><p>  derta_Fs =Fs/length(x);</p><p>  derta_Fs1 =Fs/length(y1);</p><p>  t=n*T; t1=m*T1;</p><p><b>  fig

45、ure;</b></p><p>  subplot(2,1,1);</p><p>  plot(t,x);</p><p>  xlabel('t/s');ylabel('magnitude');title('轉(zhuǎn)換前的波形');</p><p>  subplot(2,1,2);

46、</p><p>  plot(t1,y1);</p><p>  xlabel('t/s');ylabel('magnitude');title('轉(zhuǎn)換后的波形');</p><p><b>  figure;</b></p><p>  subplot(2,1,1);&

47、lt;/p><p>  plot([-Fs/2:derta_Fs:Fs/2-derta_Fs],abs(fftshift(X)*2/N)); </p><p>  xlabel('frequency/Hz');ylabel('magnitude');title('轉(zhuǎn)換前的頻譜');</p><p>  subplo

48、t(2,1,2);</p><p>  plot([-Fs/2:derta_Fs1:Fs/2-derta_Fs1],abs(fftshift(Y)*2/M)); </p><p>  xlabel('frequency/Hz');ylabel('magnitude');title('轉(zhuǎn)換后的頻譜');</p>

49、<p>  sound(y1,fs,nbits);</p><p><b>  男聲轉(zhuǎn)換為女聲</b></p><p><b>  女聲轉(zhuǎn)換為男聲</b></p><p><b>  Voice函數(shù)調(diào)用</b></p><p>  function Y=voice(

50、x,f) </p><p>  %更改采樣率使基頻改變 f>1降低;f<1升高</p><p>  f=round(f*1000);</p><p>  d=resample(x,f,1000);</p><p>  %時(shí)長(zhǎng)整合使語音文件恢復(fù)原來時(shí)長(zhǎng) </p><p><b>  W=400; &

51、lt;/b></p><p><b>  Wov=W/2; </b></p><p>  Kmax=W*2; </p><p>  Wsim=Wov; </p><p>  xdecim=8; </p><p>  kdecim=2; X=d'; </p><p&

52、gt;  F=f/1000; </p><p>  Ss =W-Wov; </p><p>  xpts = size(X,2);</p><p>  ypts = round(xpts / F); </p><p>  Y = zeros(1, ypts); </p><p>  xfwin = (1:Wov)/(W

53、ov+1); </p><p>  ovix = (1-Wov):0; newix = 1:(W-Wov);</p><p>  simix = (1:xdecim:Wsim) - Wsim; </p><p>  padX = [zeros(1, Wsim), X, zeros(1,Kmax+W-Wov)];</p><p>  Y(1:W

54、sim) = X(1:Wsim); lastxpos = 0; km = 0; </p><p>  for ypos = Wsim:Ss:(ypts-W) </p><p>  xpos = round(F * ypos); </p><p>  kmpred = km + (xpos - lastxpos);

55、</p><p>  lastxpos = xpos; </p><p>  if (kmpred <= Kmax) </p><p>  km = kmpred; </p><p><b>  else</b></p><p>  ysim

56、 = Y(ypos + simix); </p><p>  rxy = zeros(1, Kmax+1); </p><p>  rxx = zeros(1, Kmax+1); </p><p>  Kmin = 0; </p><p>  for

57、 k = Kmin:kdecim:Kmax </p><p>  xsim = padX(Wsim + xpos + k + simix); </p><p>  rxx(k+1) = norm(xsim); </p><p>  rxy(k+1) = (ysim * x

58、sim'); </p><p><b>  end</b></p><p>  Rxy = (rxx ~= 0).*rxy./(rxx+(rxx==0)); </p><p>  km = min(find(Rxy == max(Rxy))-1); </p>&

59、lt;p><b>  end</b></p><p>  xabs = xpos+km;</p><p>  Y(ypos+ovix) = ((1-xfwin).*Y(ypos+ovix)) + (xfwin.*padX(Wsim+xabs+ovix)); </p><p>  Y(ypos+newix) = padX(Ws

60、im+xabs+newix); </p><p><b>  end</b></p><p><b>  end</b></p><p>  任務(wù)四(丁睿智負(fù)責(zé))</p><p>  (1)調(diào)制:語音信號(hào)與高頻正弦載波相調(diào)制,比較其頻譜變化,回放信號(hào),比較是與眾語音信號(hào)變化。將調(diào)制后的信號(hào)進(jìn)

61、行解調(diào),回放信號(hào),比較時(shí)域中語音信號(hào)變化。</p><p>  所謂調(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ò)與

62、調(diào)制信號(hào)波形呈線性關(guān)系。</p><p>  設(shè)正弦載波為:c(t)=Acos()式中,A為載波幅度; 為載波角頻率; 為載波初始相位(假設(shè)=0).</p><p>  調(diào)制信號(hào)(基帶信號(hào))為m(t)。根據(jù)調(diào)制的定義,振幅調(diào)制信號(hào)(已調(diào)信號(hào))一般可以表示為 : </p><p>  設(shè)調(diào)制信號(hào)的頻譜為,則已調(diào)信號(hào)的頻譜為</p>

63、<p><b>  :</b></p><p>  標(biāo)準(zhǔn)調(diào)幅波(AM)產(chǎn)生原理: </p><p>  調(diào)制信號(hào)是只來來自信源的調(diào)制信號(hào)(基帶信號(hào)),這些信號(hào)可以是模擬的,亦可以是數(shù)字的。為首調(diào)制的高頻振蕩信號(hào)可稱為載波,它可以是正弦波,亦可以是非正弦波(如周期性脈沖序列)。載波由高頻信號(hào)源直接產(chǎn)生即可,然后經(jīng)過高頻功率放大器進(jìn)行放大,作為調(diào)幅波的載波,

64、調(diào)制信號(hào)由低頻信號(hào)源直接產(chǎn)生,二者經(jīng)過乘法器后即可產(chǎn)生雙邊帶的調(diào)幅波。</p><p>  設(shè)載波信號(hào)的表達(dá)式為,調(diào)制信號(hào)的表達(dá)式為,則調(diào)幅信號(hào)的表達(dá)式為 </p><p><b>  解調(diào)</b></p><p>  從高頻已調(diào)信號(hào)中恢復(fù)出調(diào)制信號(hào)的過程稱為解調(diào)(demodulation ),又稱為檢波(detection )。對(duì)于振

65、幅調(diào)制信號(hào),解調(diào)(demodulation )就是從它的幅度變化上提取調(diào)制信號(hào)的過程。解調(diào)(demodulation )是調(diào)制的逆過程。</p><p>  可利用乘積型同步檢波器實(shí)現(xiàn)振幅的解調(diào),讓已調(diào)信號(hào)與本地恢復(fù)載波信號(hào)相乘并通過低通濾波可獲得解調(diào)信號(hào)。</p><p><b>  調(diào)制與解調(diào):</b></p><p><b> 

66、 源程序:</b></p><p>  clear; </p><p>  [f1,fs,nbits]=wavread('E:\GQQQ\WOMAN'); %讀入錄音文件</p><p><b>  dt=1/fs; </b></p><p>  figure

67、(1); %控制畫圖窗口1</p><p>  subplot(2,1,1); %將多個(gè)圖畫到一個(gè)平面,2行1列,共2個(gè)子圖,定位第1個(gè)圖進(jìn)行操作</p><p>  N=length(f1); </p><p>  derta_fs = fs/length(f1); %設(shè)置頻率間隔</p><p>  t=0:

68、1/fs:(N-1)/fs; </p><p>  plot(t,f1); % 以t為橫坐標(biāo),f1為縱坐標(biāo)繪制連線圖</p><p>  title('信息信號(hào)的時(shí)域波形'); %加標(biāo)題</p><p>  fy1=fft(f1);</p><p>  w1=0:fs/(N-1):fs;</p><

69、;p>  subplot(2,1,2); </p><p>  plot([-fs/2:derta_fs:fs/2-derta_fs],abs(fftshift(fy1)*2/N));</p><p>  title('信息信號(hào)的頻譜'); </p><p>  f2=cos(22000*pi*t);</p><p> 

70、 fy2 = fft(f2);</p><p>  N2=length(f2);</p><p>  w2=fs/N*[0:N-1];</p><p>  figure(2);</p><p>  subplot(2,2,1); </p><p>  plot([-fs/2:derta_fs:fs/2-derta_fs

71、],abs(fftshift(fy2)*2/N)); </p><p>  title('載波信號(hào)的頻譜');</p><p>  f1=f1(:,1);</p><p>  f3=f1'.*f2;</p><p>  subplot(2,2,2); </p><p>  fy3 = fft(f

72、3);</p><p>  plot([-fs/2:derta_fs:fs/2-derta_fs],abs(fftshift(fy3)*2/N)); </p><p>  title('已調(diào)信號(hào)的頻譜');</p><p>  sound(f3,fs,nbits); %播放語音信號(hào)</p><p>  f4=f3.*f2

73、;</p><p>  subplot(2,1,2);</p><p>  fy4=fft(f4);</p><p>  plot([-fs/2:derta_fs:fs/2-derta_fs],abs(fftshift(fy4)*2/N));</p><p>  title('解調(diào)信號(hào)的頻譜');</p><

74、;p>  sound(f4,fs,nbits);</p><p><b>  fp1=0; </b></p><p>  fs1=5000; </p><p><b>  As1=100;</b></p><p>  wp1=2*pi*fp1/fs; </p><p>

75、  ws1=2*pi*fs1/fs; </p><p>  BF1=ws1-wp1;</p><p>  wc1=(wp1+ws1)/2;</p><p>  M1=ceil((As1-7.95)/(2.286*BF1))+1;</p><p><b>  N1=M1+1;</b></p><p>

76、;  beta1=0.1102*(As1-8.7); </p><p>  Window=(kaiser(N1,beta1)); % 用kaiser窗函數(shù)</p><p>  b1=fir1(M1,wc1/pi,Window); % fir1是用窗函數(shù)法設(shè)計(jì)線性相位FIRDF的工具箱函數(shù)</p><p>  figure(3);</p&g

77、t;<p>  freqz(b1,1,512); </p><p>  title('FIR低通濾波器的頻率響應(yīng)'); %用于求離散系統(tǒng)頻響特性的函數(shù)freqz</p><p>  f4_low = filter(b1,1, f4); %一維數(shù)字濾波器</p><p>  plot(t,2*f4_low);</p>

78、<p>  title('濾波后的解調(diào)信號(hào)時(shí)域波形');</p><p>  sound(f4_low,fs,nbits); </p><p>  f5=fft(f4_low);</p><p>  figure(4);</p><p>  plot([-fs/2:derta_fs:fs/2-derta_fs],ab

79、s(fftshift(f5)*2/N));</p><p>  title('濾波后的解調(diào)信號(hào)頻譜');</p><p>  任務(wù)五(吳亞明負(fù)責(zé))</p><p>  對(duì)語音信號(hào)加噪,然后進(jìn)行濾波,分析不同的濾波方式對(duì)信號(hào)的影響</p><p><b>  加噪</b></p><p&

80、gt;<b>  源程序:</b></p><p>  [y,fs,nbits]=wavread ('E:\GQQQ\WOMAN');</p><p>  N = length (y) ; %求出語音信號(hào)的長(zhǎng)度</p><p>  derta_fs = fs/length(y);</p

81、><p>  Noise=0.05*randn(N,2); %隨機(jī)函數(shù)產(chǎn)生噪聲</p><p>  Si=y+Noise; %語音信號(hào)加入噪聲 </p><p>  sound(Si,fs);</p><p>  figure(1);</p><p&

82、gt;  subplot(2,1,1);</p><p>  plot(y);title('原語音信號(hào)的時(shí)域波形');</p><p>  Y=fft(y); %傅里葉變換</p><p>  subplot(2,1,2);</p><p>  plot([-fs/2:derta_

83、fs:fs/2-derta_fs],abs(fftshift(Y)*2/N)); </p><p>  title('原語音信號(hào)的頻域波形');</p><p>  figure(2);</p><p>  subplot(2,1,1);</p><p>  plot(Si);title('加噪語音信號(hào)的時(shí)域波形&

84、#39;);</p><p>  S=fft(Si); %傅里葉變換</p><p>  subplot(2,1,2);</p><p>  plot([-fs/2:derta_fs:fs/2-derta_fs],abs(fftshift(S)*2/N)); </p><p>  title(

85、'加噪語音信號(hào)的頻域波形');</p><p><b>  低通:</b></p><p>  [y,fs,nbits]=wavread ('E:\GQQQ\WOMAN');</p><p>  n = length (y) ; %求出語音信號(hào)的長(zhǎng)度</p><

86、;p>  derta_fs = fs/length(y);</p><p>  noise=0.05*randn(n,2); %隨機(jī)函數(shù)產(chǎn)生噪聲</p><p>  s=y+noise; %語音信號(hào)加入噪聲</p><p>  S=fft(s); %

87、傅里葉變換</p><p><b>  Ft=8000;</b></p><p><b>  Fp=1000;</b></p><p>  Fs=1200;</p><p>  wp=2*pi*Fp/Ft;</p><p>  ws=2*pi*Fs/Ft;

88、</p><p>  [n11,wn11]=buttord(wp,ws,1,50,'s'); %低通濾波器的階數(shù)和截止頻率</p><p>  [b11,a11]=butter(n11,wn11,'s'); %S域頻率響應(yīng)的參數(shù) </p><p>  [num11,den11]=bilinear(b11,a

89、11,0.5); %利用雙線性變換實(shí)現(xiàn)頻率響應(yīng)S域到Z域的變換</p><p>  z11=filter(num11,den11,s); %直接濾波器實(shí)現(xiàn)</p><p>  sound(z11,fs,nbits);</p><p>  m11=fft(z11); %求濾波后的信號(hào)</p><p&

90、gt;  subplot(2,2,1);</p><p>  plot([-fs/2:derta_fs:fs/2-derta_fs],abs(fftshift(S)*2/n)); </p><p>  title('濾波前信號(hào)的頻譜');</p><p><b>  grid;</b></p><p> 

91、 subplot(2,2,2);</p><p>  plot([-fs/2:derta_fs:fs/2-derta_fs],abs(fftshift(m11)*2/n));</p><p>  title('濾波后信號(hào)的頻譜');</p><p><b>  grid;</b></p><p>  su

92、bplot(2,2,3);</p><p><b>  plot(s); </b></p><p>  title('濾波前信號(hào)的波形');</p><p><b>  grid;</b></p><p>  subplot(2,2,4);</p><p> 

93、 plot(z11); </p><p>  title('濾波后的信號(hào)波形’)</p><p><b>  高通</b></p><p>  [y,fs,nbits]=wavread ('E:\GQQQ\WOMAN');</p><p>  n = length (y) ;

94、 %求出語音信號(hào)的長(zhǎng)度</p><p>  derta_fs = fs/length(y);</p><p>  noise=0.001*randn(n,2); %隨機(jī)函數(shù)產(chǎn)生噪聲</p><p>  s=y+noise; %語音信號(hào)加入噪聲</p>&

95、lt;p>  S=fft(s); %傅里葉變換</p><p><b>  Fp1=300;</b></p><p><b>  Fs1=1000;</b></p><p><b>  Ft=8000;</b></p><

96、p>  wp1=tan(pi*Fp1/Ft);</p><p>  ws1=tan(pi*Fs1/Ft);</p><p><b>  wp=1;</b></p><p>  ws=wp1*wp/ws1;</p><p>  [n13,wn13]=cheb1ord(wp,ws,1,50,'s');

97、 %模擬的低通濾波器階數(shù)和截止頻率</p><p>  [b13,a13]=cheby1(n13,1,wn13,'s'); %S域的頻率響應(yīng)的參數(shù)</p><p>  [num,den]=lp2hp(b13,a13,wn13); %S域低通參數(shù)轉(zhuǎn)為高通的</p><p>  [num13,den13]=bil

98、inear(num,den,0.5); %利用雙線性變換實(shí)現(xiàn)頻率響應(yīng)S域到Z域轉(zhuǎn)換</p><p>  z13=filter(num13,den13,s);</p><p>  sound(z13);</p><p>  m13=fft(z13); %求濾波后的信號(hào)</p><p>  sub

99、plot(2,2,1);</p><p>  plot([-fs/2:derta_fs:fs/2-derta_fs],abs(fftshift(S)*2/n)); </p><p>  title('濾波前信號(hào)的頻譜');</p><p><b>  grid;</b></p><p>  subplot

100、(2,2,2);</p><p>  plot([-fs/2:derta_fs:fs/2-derta_fs],abs(fftshift(m13)*2/n));</p><p>  title('濾波后信號(hào)的頻譜');</p><p><b>  grid;</b></p><p>  subplot(2,

101、2,3);</p><p><b>  plot(s); </b></p><p>  title('濾波前信號(hào)的波形');</p><p><b>  grid;</b></p><p>  subplot(2,2,4);</p><p>  plot(z1

102、3); </p><p>  title('濾波后的信號(hào)波形');</p><p><b>  帶通:</b></p><p>  [y,fs,nbits]=wavread ('E:\GQQQ\WOMAN');</p><p>  n = length (y) ;

103、 %求出語音信號(hào)的長(zhǎng)度</p><p>  derta_fs = fs/length(y);</p><p>  Noise=0.05*randn(n,2); %隨機(jī)函數(shù)產(chǎn)生噪聲</p><p>  s=y+Noise; %語音信號(hào)加入噪聲</p><p> 

104、 S=fft(s); %傅里葉變換</p><p><b>  Ft=8000;</b></p><p><b>  Fp=1000;</b></p><p><b>  Fs=1200;</b></p><p>  wp=2

105、*Fp/Ft;</p><p>  ws=2*Fs/Ft;</p><p><b>  rp=1;</b></p><p><b>  rs=50;</b></p><p>  p=1-10.^(-rp/20); %通帶阻帶波紋</p><p>  q=10

106、.^(-rs/20);</p><p>  fpts=[wp ws];</p><p>  mag=[1 0];</p><p>  dev=[p q];</p><p>  [n12,wn12,beta,ftype]=kaiserord(fpts,mag,dev);%由kaiserord求濾波器的階數(shù)和截止頻率</p>&

107、lt;p>  b12=fir1(n12,wn12,kaiser(n12+1,beta)); %設(shè)計(jì)濾波器</p><p>  z12=fftfilt(b12,s);</p><p>  sound(z12,fs,nbits);</p><p>  m12=fft(z12); %求濾波后的信號(hào)</p&

108、gt;<p>  subplot(2,2,1);</p><p>  plot([-fs/2:derta_fs:fs/2-derta_fs],abs(fftshift(S)*2/n)); </p><p>  title('濾波前信號(hào)的頻譜');</p><p><b>  grid;</b></p>

109、<p>  subplot(2,2,2);</p><p>  plot([-fs/2:derta_fs:fs/2-derta_fs],abs(fftshift(m12)*2/n));</p><p>  title('濾波后信號(hào)的頻譜');</p><p><b>  grid;</b></p>&l

110、t;p>  subplot(2,2,3);</p><p><b>  plot(s); </b></p><p>  title('濾波前信號(hào)的波形');</p><p><b>  grid;</b></p><p>  subplot(2,2,4);</p>

111、<p>  plot(z12); </p><p>  title('濾波后的信號(hào)波形');</p><p><b>  課程設(shè)計(jì)總結(jié):</b></p><p><b>  陳康:</b></p><p>  為期兩周的課程設(shè)計(jì)讓我們對(duì)于數(shù)字信號(hào)處理以及MATLAB軟件有

112、了更深的了解,讓我們將課堂上學(xué)到的知識(shí)融會(huì)貫通起來。同時(shí)也讓我們首先真實(shí)地感受到matlab功能的強(qiáng)大,它幾乎可以完成任何數(shù)學(xué)計(jì)算;而在整個(gè)課程設(shè)計(jì)過程中,自己也體會(huì)到了自主學(xué)習(xí)的樂趣和意義。遇到問題,自己想都不想就直接問別人,或者干脆放棄是一種解決辦法;而自己先思考,實(shí)在不會(huì)再問別人然后舉一反三是另外一種解決方案;而這其中的區(qū)別不僅僅是自己的態(tài)度,而且決定了你是不是真的通過課程設(shè)計(jì)學(xué)到了一些東西。遇到挫折,這是在所難免的,題目不會(huì)、資

113、料找不到、運(yùn)行之后提示錯(cuò)誤等等這些已經(jīng)是課程設(shè)計(jì)中的“家常便飯”了,但是只要我們有興趣,肯去學(xué),就能夠搞定這些障礙,因?yàn)槿魏问虑槎际怯刹粫?huì)到會(huì),所以做課程設(shè)計(jì)也是鍛煉自己的耐心的一個(gè)過程。 </p><p><b>  詹筱珊:</b></p><p>  本次課程設(shè)計(jì)應(yīng)用MATLAB驗(yàn)證時(shí)域采樣定理,主要側(cè)重于某些理論知識(shí)的靈活運(yùn)用,以及一些關(guān)鍵命令的掌握理解與分析

114、,初步掌握線性系統(tǒng)的設(shè)計(jì)方法,培養(yǎng)獨(dú)立的工作能力。加深理解時(shí)域采樣定理的概念,掌握利用MATLAB分析系統(tǒng)頻率響應(yīng)的方法,計(jì)算在臨界采樣·過采樣·欠采樣三種不同條件下恢復(fù)信號(hào)的誤差,并總結(jié)采樣頻率對(duì)信號(hào)恢復(fù)產(chǎn)生誤差的影響,從而驗(yàn)證時(shí)域采樣定理。一·在上述實(shí)驗(yàn)當(dāng)中,首先定義信號(hào)時(shí)采用了該信號(hào)的函數(shù)表達(dá)式形式。二·在MATLAB中求連續(xù)信號(hào)的頻譜,應(yīng)用的是傅里葉變換,這樣實(shí)際運(yùn)算的仍是對(duì)連續(xù)信號(hào)的采樣

115、結(jié)果,這里給予了足夠高的采樣頻率,把其作為連續(xù)信號(hào)來考慮。三·實(shí)際中對(duì)模擬信號(hào)進(jìn)行采樣,需要根據(jù)最高截止頻率fmax,按照采樣定理的要求選擇采樣頻率的兩倍,即fs>2fmax。設(shè)計(jì)結(jié)果中對(duì)三種頻率時(shí)采樣分析總結(jié):(1)欠采樣即fs<2fmax,時(shí)域波形恢復(fù)過程中已經(jīng)不能完整表示原信號(hào),有了失真,從頻譜上也可看出,同的頻譜帶互相重疊,已經(jīng)不能體現(xiàn)原信號(hào)頻譜的特點(diǎn)了,從而無法得到原來的信號(hào)。(2)臨界采樣即fs=2fmax,時(shí)域波

116、形仍然不能恢復(fù)完整的原信號(hào),信號(hào)只恢復(fù)過程中恢復(fù)了低頻信號(hào)</p><p><b>  郭前:</b></p><p>  此次MATLAB課程設(shè)計(jì)至此已經(jīng)完全結(jié)束了。在這兩周里,遇到了好多問題,比如,在編寫函數(shù)的傅里葉變換時(shí),由于網(wǎng)絡(luò)上好多錯(cuò)誤的程序?qū)е挛覀冏隽撕芏酂o用功,不過經(jīng)過自己的查詢與嘗試,終于將這個(gè)問題解決了,還有男女變聲的問題。女生的聲音很容易就變成了男

117、生的聲音,但是男生的聲音卻很難變成女生的聲音。設(shè)計(jì)回聲時(shí),效果不怎么明顯,于是就延遲了更久的時(shí)間,使得回聲聽的很明顯。當(dāng)然,設(shè)計(jì)過程中,老師幫助了我很多,在老師的細(xì)心指導(dǎo)下,使得這次課程設(shè)計(jì)完美結(jié)束。</p><p><b>  丁睿智:</b></p><p>  本次試驗(yàn)利用載波進(jìn)行調(diào)制解調(diào),同時(shí),在進(jìn)行相干解調(diào)時(shí),使用FIR低通濾波器對(duì)調(diào)制信號(hào)進(jìn)行解調(diào),是的語音

118、信號(hào)的噪音得到抑制。通過實(shí)驗(yàn)我懂得了調(diào)制和解調(diào)的意義:當(dāng)有兩段語音信號(hào),為使得兩段語音信號(hào)在傳輸過程中不相互干擾,這時(shí)我們可以考慮對(duì)這兩段信號(hào)分別進(jìn)行幅度調(diào)制,但載波的頻率相距較遠(yuǎn),然后分別對(duì)調(diào)制以后的信號(hào)進(jìn)行傳輸,到接收端以后再將這兩短信號(hào)進(jìn)行解調(diào),然后就可以分別得到這兩短信號(hào)了。</p><p><b>  吳亞明:</b></p><p>  在這次課程設(shè)計(jì)中

119、,我設(shè)計(jì)制作了加噪語音信號(hào)濾波提取的系統(tǒng),綜合運(yùn)用了之前幾次實(shí)驗(yàn),尤其是濾波器設(shè)計(jì)方面的MATLAB知識(shí),并最后得到了比較理想的效果。通過這次課程設(shè)計(jì),我加深了對(duì)濾波器方面知識(shí)的理解。用自己設(shè)計(jì)的各種濾波器對(duì)污染信號(hào)進(jìn)行處理,也讓我更加清楚的理解了濾波器的濾波特性,比較并找到最合適的濾波器。 設(shè)計(jì)是一個(gè)不小的挑戰(zhàn),通過不斷的學(xué)習(xí)和嘗試,最終制作完成,在這個(gè)過程中我也有了很多的提高和收獲。比如,如何在語音信號(hào)中添加噪聲,如何把噪聲

120、和原聲加在一起運(yùn)行,如何把各部分程序綜合運(yùn)用,如何靈活的利用各種濾波器對(duì)語音信號(hào)進(jìn)行處理。其中,印象最深的就是濾波器的設(shè)計(jì),我要設(shè)計(jì)三種濾波器,要選擇合適的參數(shù),還要適合所選的音頻文件,這個(gè)耗費(fèi)我大量的時(shí)間,通過查找書籍和資料,以及詢問老師和同學(xué),我才將它完成。還有就是畫圖部分的設(shè)計(jì),要設(shè)計(jì)頻率,橫軸,縱軸,圖像點(diǎn),通過這次設(shè)計(jì),我學(xué)到了很多東西。當(dāng)然,這次設(shè)計(jì)也讓我認(rèn)識(shí)到自身的不足,比如編程經(jīng)驗(yàn)欠缺,知識(shí)聯(lián)系能力不強(qiáng)等。但是通過不斷的

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲(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)論