版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> MATLAB</b></p><p><b> 課程設(shè)計</b></p><p> 學(xué)院: 電氣信息工程學(xué)院 </p><p> 課題: 語音信號的采集與處理 </p><p> 班級: 電 信 1201
2、 </p><p> 語音信號的采集與處理</p><p><b> 一、實驗要求 </b></p><p> (1) 本課程設(shè)計要求掌握 MATLAB 語言特性、數(shù)學(xué)運算和圖形表示;掌握 MATLAB 程序設(shè)計方法在信息處理方面的一些應(yīng)用;掌握在 Windows 環(huán)境下,利用 MATLAB 進(jìn)行語音信號采集與處理的基本方法。 &l
3、t;/p><p> (2) 本課程設(shè)計分為基礎(chǔ)與綜合設(shè)計題目,其中基礎(chǔ)題目為 MATLAB 基本訓(xùn)練(必做) ;對于綜合設(shè)計題,需按照任務(wù)書要求,對設(shè)計過程所進(jìn)行的有關(guān)步驟進(jìn)行理論分析,并對完成的設(shè)計作出評價,總結(jié)自己整個設(shè)計工作中的經(jīng)驗教訓(xùn)、收獲;在課設(shè)最后一天提交課程設(shè)計報告,報告必須按照統(tǒng)一格式打印,裝訂成冊。</p><p><b> 二、實驗內(nèi)容</b>&l
4、t;/p><p> 1、利用 windows 自帶的錄音機或者其它錄音軟件,錄制幾段語音信號(要有幾種不同的聲音,要有男聲、女聲) 。 </p><p> 2、對錄制的語音信號進(jìn)行頻譜分析,確定該段語音的主要頻率范圍,由此頻率范圍判斷該段語音信號的特點(低沉 or 尖銳?) </p><p> 3、利用采樣定理,對該段語音信號進(jìn)行采樣,觀察不同采樣頻率(過采樣、欠
5、采樣、臨界采樣) 對信號的影響。 這里涉及到采樣下重采樣的問題, 請大家思考如何去做。 </p><p> 4、實現(xiàn)語音信號的快放、慢放、倒放、回聲、男女變聲。 </p><p> 5、對采集到的語音信號進(jìn)行調(diào)制與解調(diào),觀測調(diào)制與解調(diào)前后信號的變化。 </p><p> 6、 對語音信號加噪,然后進(jìn)行濾波,分析不同的濾波方式對信號的影響。 </p>
6、<p> 7、 如果精力和時間允許,鼓勵利用 MATLAB GUI 制作語音信號采集與分析演示系統(tǒng)。</p><p> 三、MATLAB仿真</p><p><b> 任務(wù)一(陳康負(fù)責(zé))</b></p><p><b> 利用頻譜的分析</b></p><p> 利用Wind
7、ows下的錄音機,錄制一段男生和女生的語音,存為*.WAV的文件。然后在Matlab軟件平臺下,利用函數(shù)wavread對語音信號進(jìn)行采樣,記住采樣頻率和采樣點數(shù)。首先畫出語音信號的時域波形;然后對語音號進(jìn)行快速傅里葉變換(FFT變換),得到信號的頻譜特性,分析語音信號頻譜。</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) ; %對加載
9、的語音信號進(jìn)行回放</p><p><b> figure(1)</b></p><p> plot(t,x) %做原始語音信號的時域圖形</p><p> title('原始語音信號');</p><p> xlabel('time n');&
10、lt;/p><p> ylabel('fuzhi n');</p><p> n=length(x); %求出語音信號的長度</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)); %做原始語音信號的FFT頻譜圖</p><p> title('原始語音信號FFT頻譜')</p><p><b>
12、 頻譜分析對比</b></p><p><b> 運行結(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> 利用采樣定理,對該段語音信號進(jìn)行采樣,觀察不同采樣頻率(過采樣、欠采樣、臨界采樣) 對信號的影響。 這里涉及到采樣下重采樣的問題, 請大家思考如何去做。 </p>
14、<p><b> 源程序:</b></p><p><b> clear;</b></p><p> [y,fs,bits]=wavread('E:\GQQQ\WOMAN'); %x語音數(shù)據(jù)fs采樣頻率bits采樣點數(shù) </p><p> sound(y,fs,bits); %話音回放
15、</p><p> n = length (y) ; %求出語音信號的長度</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('原始信號波形'); </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('原始信號頻譜');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) ; %求出語音信號的長度</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('過采樣信號波形'); </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('過采樣信號頻譜');grid</p><p> y2=decimate(y,4); %每4個取一個,采樣頻率為11025Hz接近臨界采樣</p><p><b> fs2=fs/4;</b></p><p> sound(y2,fs2,bits); %話音回放</p><p>
21、 n2 = length (y2) ; %求出語音信號的長度</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('臨界采樣信號波形'); </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('臨界采樣信號頻譜');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) ; %求出語音信號的長度</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('欠采樣信號波形'); </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;欠采樣信號頻譜');grid</p><p><b> 運行結(jié)果:</b></p><p><b> 任務(wù)三(郭前負(fù)責(zé))</b></p><p> 實現(xiàn)語音信號的快放、慢放、倒放、回聲、男女變聲</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個參數(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> 快放之后時間縮短。</b><
35、/p><p><b> 慢放:</b></p><p><b> 慢放之后時間變長。</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;%對加載的語音信號進(jìn)行回放</p><p> y=flipud(x) %對加載的語音信號實現(xiàn)翻轉(zhuǎn)函數(shù)</p><p><b> figure(1)</b&
37、gt;</p><p> subplot(2,1,1);</p><p> plot(x); %聲音的時域波形</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]; %延時50000個點</p><p> x1=[x;zeros(50000,1)]; %使原聲音長度與延時后相等</p><p> y1=x1+0.4*z; %原聲+延時衰
40、減</p><p><b> figure(2)</b></p><p> subplot(2,1,1);</p><p> plot(x); %聲音的時域波形</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個參數(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> %時長整合使語音文件恢復(fù)原來時長 </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> ?。?)調(diào)制:語音信號與高頻正弦載波相調(diào)制,比較其頻譜變化,回放信號,比較是與眾語音信號變化。將調(diào)制后的信號進(jìn)
61、行解調(diào),回放信號,比較時域中語音信號變化。</p><p> 所謂調(diào)制,就是在傳送信號的一方將所要傳送的信號附加在高頻振蕩上,再由天線發(fā)射出去。這里高頻振蕩波就是攜帶信號的運載工具,也叫載波。振幅調(diào)制,就是由調(diào)制信號去控制高頻載波的振幅,直至隨調(diào)制信號做線性變化。在線性調(diào)制系列中,最先應(yīng)用的一種幅度調(diào)制是全調(diào)幅或常規(guī)調(diào)幅,簡稱為調(diào)幅(AM)。在頻域中已調(diào)波頻譜是基帶調(diào)制信號頻譜的線性位移;在時域中,已調(diào)波包絡(luò)與
62、調(diào)制信號波形呈線性關(guān)系。</p><p> 設(shè)正弦載波為:c(t)=Acos()式中,A為載波幅度; 為載波角頻率; 為載波初始相位(假設(shè)=0).</p><p> 調(diào)制信號(基帶信號)為m(t)。根據(jù)調(diào)制的定義,振幅調(diào)制信號(已調(diào)信號)一般可以表示為 : </p><p> 設(shè)調(diào)制信號的頻譜為,則已調(diào)信號的頻譜為</p>
63、<p><b> ?。?lt;/b></p><p> 標(biāo)準(zhǔn)調(diào)幅波(AM)產(chǎn)生原理: </p><p> 調(diào)制信號是只來來自信源的調(diào)制信號(基帶信號),這些信號可以是模擬的,亦可以是數(shù)字的。為首調(diào)制的高頻振蕩信號可稱為載波,它可以是正弦波,亦可以是非正弦波(如周期性脈沖序列)。載波由高頻信號源直接產(chǎn)生即可,然后經(jīng)過高頻功率放大器進(jìn)行放大,作為調(diào)幅波的載波,
64、調(diào)制信號由低頻信號源直接產(chǎn)生,二者經(jīng)過乘法器后即可產(chǎn)生雙邊帶的調(diào)幅波。</p><p> 設(shè)載波信號的表達(dá)式為,調(diào)制信號的表達(dá)式為,則調(diào)幅信號的表達(dá)式為 </p><p><b> 解調(diào)</b></p><p> 從高頻已調(diào)信號中恢復(fù)出調(diào)制信號的過程稱為解調(diào)(demodulation ),又稱為檢波(detection )。對于振
65、幅調(diào)制信號,解調(diào)(demodulation )就是從它的幅度變化上提取調(diào)制信號的過程。解調(diào)(demodulation )是調(diào)制的逆過程。</p><p> 可利用乘積型同步檢波器實現(xiàn)振幅的解調(diào),讓已調(diào)信號與本地恢復(fù)載波信號相乘并通過低通濾波可獲得解調(dià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); %將多個圖畫到一個平面,2行1列,共2個子圖,定位第1個圖進(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('信息信號的時域波形'); %加標(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('信息信號的頻譜'); </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('載波信號的頻譜');</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)信號的頻譜');</p><p> sound(f3,fs,nbits); %播放語音信號</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)信號的頻譜');</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è)計線性相位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)信號時域波形');</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)信號頻譜');</p><p> 任務(wù)五(吳亞明負(fù)責(zé))</p><p> 對語音信號加噪,然后進(jìn)行濾波,分析不同的濾波方式對信號的影響</p><p><b> 加噪</b></p><p&
80、gt;<b> 源程序:</b></p><p> [y,fs,nbits]=wavread ('E:\GQQQ\WOMAN');</p><p> N = length (y) ; %求出語音信號的長度</p><p> derta_fs = fs/length(y);</p
81、><p> Noise=0.05*randn(N,2); %隨機函數(shù)產(chǎn)生噪聲</p><p> Si=y+Noise; %語音信號加入噪聲 </p><p> sound(Si,fs);</p><p> figure(1);</p><p&
82、gt; subplot(2,1,1);</p><p> plot(y);title('原語音信號的時域波形');</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('原語音信號的頻域波形');</p><p> figure(2);</p><p> subplot(2,1,1);</p><p> plot(Si);title('加噪語音信號的時域波形&
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、'加噪語音信號的頻域波形');</p><p><b> 低通:</b></p><p> [y,fs,nbits]=wavread ('E:\GQQQ\WOMAN');</p><p> n = length (y) ; %求出語音信號的長度</p><
86、;p> derta_fs = fs/length(y);</p><p> noise=0.05*randn(n,2); %隨機函數(shù)產(chǎn)生噪聲</p><p> s=y+noise; %語音信號加入噪聲</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); %利用雙線性變換實現(xiàn)頻率響應(yīng)S域到Z域的變換</p><p> z11=filter(num11,den11,s); %直接濾波器實現(xiàn)</p><p> sound(z11,fs,nbits);</p><p> m11=fft(z11); %求濾波后的信號</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('濾波前信號的頻譜');</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('濾波后信號的頻譜');</p><p><b> grid;</b></p><p> su
92、bplot(2,2,3);</p><p><b> plot(s); </b></p><p> title('濾波前信號的波形');</p><p><b> grid;</b></p><p> subplot(2,2,4);</p><p>
93、 plot(z11); </p><p> title('濾波后的信號波形’)</p><p><b> 高通</b></p><p> [y,fs,nbits]=wavread ('E:\GQQQ\WOMAN');</p><p> n = length (y) ;
94、 %求出語音信號的長度</p><p> derta_fs = fs/length(y);</p><p> noise=0.001*randn(n,2); %隨機函數(shù)產(chǎn)生噪聲</p><p> s=y+noise; %語音信號加入噪聲</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); %利用雙線性變換實現(xiàn)頻率響應(yīng)S域到Z域轉(zhuǎn)換</p><p> z13=filter(num13,den13,s);</p><p> sound(z13);</p><p> m13=fft(z13); %求濾波后的信號</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('濾波前信號的頻譜');</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('濾波后信號的頻譜');</p><p><b> grid;</b></p><p> subplot(2,
101、2,3);</p><p><b> plot(s); </b></p><p> title('濾波前信號的波形');</p><p><b> grid;</b></p><p> subplot(2,2,4);</p><p> plot(z1
102、3); </p><p> title('濾波后的信號波形');</p><p><b> 帶通:</b></p><p> [y,fs,nbits]=wavread ('E:\GQQQ\WOMAN');</p><p> n = length (y) ;
103、 %求出語音信號的長度</p><p> derta_fs = fs/length(y);</p><p> Noise=0.05*randn(n,2); %隨機函數(shù)產(chǎn)生噪聲</p><p> s=y+Noise; %語音信號加入噪聲</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è)計濾波器</p><p> z12=fftfilt(b12,s);</p><p> sound(z12,fs,nbits);</p><p> m12=fft(z12); %求濾波后的信號</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('濾波前信號的頻譜');</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('濾波后信號的頻譜');</p><p><b> grid;</b></p>&l
110、t;p> subplot(2,2,3);</p><p><b> plot(s); </b></p><p> title('濾波前信號的波形');</p><p><b> grid;</b></p><p> subplot(2,2,4);</p>
111、<p> plot(z12); </p><p> title('濾波后的信號波形');</p><p><b> 課程設(shè)計總結(jié):</b></p><p><b> 陳康:</b></p><p> 為期兩周的課程設(shè)計讓我們對于數(shù)字信號處理以及MATLAB軟件有
112、了更深的了解,讓我們將課堂上學(xué)到的知識融會貫通起來。同時也讓我們首先真實地感受到matlab功能的強大,它幾乎可以完成任何數(shù)學(xué)計算;而在整個課程設(shè)計過程中,自己也體會到了自主學(xué)習(xí)的樂趣和意義。遇到問題,自己想都不想就直接問別人,或者干脆放棄是一種解決辦法;而自己先思考,實在不會再問別人然后舉一反三是另外一種解決方案;而這其中的區(qū)別不僅僅是自己的態(tài)度,而且決定了你是不是真的通過課程設(shè)計學(xué)到了一些東西。遇到挫折,這是在所難免的,題目不會、資
113、料找不到、運行之后提示錯誤等等這些已經(jīng)是課程設(shè)計中的“家常便飯”了,但是只要我們有興趣,肯去學(xué),就能夠搞定這些障礙,因為任何事情都是由不會到會,所以做課程設(shè)計也是鍛煉自己的耐心的一個過程。 </p><p><b> 詹筱珊:</b></p><p> 本次課程設(shè)計應(yīng)用MATLAB驗證時域采樣定理,主要側(cè)重于某些理論知識的靈活運用,以及一些關(guān)鍵命令的掌握理解與分析
114、,初步掌握線性系統(tǒng)的設(shè)計方法,培養(yǎng)獨立的工作能力。加深理解時域采樣定理的概念,掌握利用MATLAB分析系統(tǒng)頻率響應(yīng)的方法,計算在臨界采樣·過采樣·欠采樣三種不同條件下恢復(fù)信號的誤差,并總結(jié)采樣頻率對信號恢復(fù)產(chǎn)生誤差的影響,從而驗證時域采樣定理。一·在上述實驗當(dāng)中,首先定義信號時采用了該信號的函數(shù)表達(dá)式形式。二·在MATLAB中求連續(xù)信號的頻譜,應(yīng)用的是傅里葉變換,這樣實際運算的仍是對連續(xù)信號的采樣
115、結(jié)果,這里給予了足夠高的采樣頻率,把其作為連續(xù)信號來考慮。三·實際中對模擬信號進(jìn)行采樣,需要根據(jù)最高截止頻率fmax,按照采樣定理的要求選擇采樣頻率的兩倍,即fs>2fmax。設(shè)計結(jié)果中對三種頻率時采樣分析總結(jié):(1)欠采樣即fs<2fmax,時域波形恢復(fù)過程中已經(jīng)不能完整表示原信號,有了失真,從頻譜上也可看出,同的頻譜帶互相重疊,已經(jīng)不能體現(xiàn)原信號頻譜的特點了,從而無法得到原來的信號。(2)臨界采樣即fs=2fmax,時域波
116、形仍然不能恢復(fù)完整的原信號,信號只恢復(fù)過程中恢復(fù)了低頻信號</p><p><b> 郭前:</b></p><p> 此次MATLAB課程設(shè)計至此已經(jīng)完全結(jié)束了。在這兩周里,遇到了好多問題,比如,在編寫函數(shù)的傅里葉變換時,由于網(wǎng)絡(luò)上好多錯誤的程序?qū)е挛覀冏隽撕芏酂o用功,不過經(jīng)過自己的查詢與嘗試,終于將這個問題解決了,還有男女變聲的問題。女生的聲音很容易就變成了男
117、生的聲音,但是男生的聲音卻很難變成女生的聲音。設(shè)計回聲時,效果不怎么明顯,于是就延遲了更久的時間,使得回聲聽的很明顯。當(dāng)然,設(shè)計過程中,老師幫助了我很多,在老師的細(xì)心指導(dǎo)下,使得這次課程設(shè)計完美結(jié)束。</p><p><b> 丁睿智:</b></p><p> 本次試驗利用載波進(jìn)行調(diào)制解調(diào),同時,在進(jìn)行相干解調(diào)時,使用FIR低通濾波器對調(diào)制信號進(jìn)行解調(diào),是的語音
118、信號的噪音得到抑制。通過實驗我懂得了調(diào)制和解調(diào)的意義:當(dāng)有兩段語音信號,為使得兩段語音信號在傳輸過程中不相互干擾,這時我們可以考慮對這兩段信號分別進(jìn)行幅度調(diào)制,但載波的頻率相距較遠(yuǎn),然后分別對調(diào)制以后的信號進(jìn)行傳輸,到接收端以后再將這兩短信號進(jìn)行解調(diào),然后就可以分別得到這兩短信號了。</p><p><b> 吳亞明:</b></p><p> 在這次課程設(shè)計中
119、,我設(shè)計制作了加噪語音信號濾波提取的系統(tǒng),綜合運用了之前幾次實驗,尤其是濾波器設(shè)計方面的MATLAB知識,并最后得到了比較理想的效果。通過這次課程設(shè)計,我加深了對濾波器方面知識的理解。用自己設(shè)計的各種濾波器對污染信號進(jìn)行處理,也讓我更加清楚的理解了濾波器的濾波特性,比較并找到最合適的濾波器。 設(shè)計是一個不小的挑戰(zhàn),通過不斷的學(xué)習(xí)和嘗試,最終制作完成,在這個過程中我也有了很多的提高和收獲。比如,如何在語音信號中添加噪聲,如何把噪聲
120、和原聲加在一起運行,如何把各部分程序綜合運用,如何靈活的利用各種濾波器對語音信號進(jìn)行處理。其中,印象最深的就是濾波器的設(shè)計,我要設(shè)計三種濾波器,要選擇合適的參數(shù),還要適合所選的音頻文件,這個耗費我大量的時間,通過查找書籍和資料,以及詢問老師和同學(xué),我才將它完成。還有就是畫圖部分的設(shè)計,要設(shè)計頻率,橫軸,縱軸,圖像點,通過這次設(shè)計,我學(xué)到了很多東西。當(dāng)然,這次設(shè)計也讓我認(rèn)識到自身的不足,比如編程經(jīng)驗欠缺,知識聯(lián)系能力不強等。但是通過不斷的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- matlab課程設(shè)計--語音信號的采集與處理
- matlab課程設(shè)計報告-語音信號的采集與處理
- 基于matlab語音信號采集課程設(shè)計
- matlab課程設(shè)計---基于matlab的語音信號處理
- 信號處理課程設(shè)計---基于matlab的語音信號處理
- 語音信號處理及matlab實現(xiàn)課程設(shè)計
- matlab課程設(shè)計--基于matlab有噪聲語音信號處理
- 信號處理課程設(shè)計基于matlab的語音信號分析和處理
- 基于 matlab 的語音信號分析與處理的課程設(shè)計
- matlab課程設(shè)計報告--基于matlab有噪聲語音信號處理
- 數(shù)字信號課程設(shè)計語音信號的采集、分析與處理
- 語音信號處理課程設(shè)計
- 數(shù)字信號處理課程設(shè)計---基于matlab的語音信號濾波處理
- 基于matlab的語音信號濾波處理——數(shù)字信號處理課程設(shè)計
- 基于matlab的語音信號濾波處理——數(shù)字信號處理課程設(shè)計
- 數(shù)字信號處理課程設(shè)計--基于matlab有噪聲語音信號處理
- matlab課程設(shè)計--利用matlab對語音信號進(jìn)行處理和分析
- 語音信號處理與濾波課程設(shè)計
- 基于matlab的有噪聲的語音信號處理的課程設(shè)計
- dsp語音信號處理課程設(shè)計
評論
0/150
提交評論