版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> DSP實(shí)驗(yàn)課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告</p><p> 姓名: 學(xué)號(hào): 班級(jí):</p><p><b> 課程設(shè)計(jì)題目:</b></p><p> 基于MATLAB的有噪聲的語(yǔ)音信號(hào)處理的課程設(shè)計(jì)。</p><p><b> 課程設(shè)計(jì)的目的:</b></p>
2、;<p> 綜合運(yùn)用數(shù)字信號(hào)處理的理論知識(shí)進(jìn)行頻譜分析和濾波器設(shè)計(jì),通過(guò)理論推導(dǎo)得出相應(yīng)的結(jié)論,再利用MATLAB做為編程工具進(jìn)行計(jì)算機(jī)實(shí)現(xiàn),從而加深對(duì)所學(xué)知識(shí)的理解,建立概念。</p><p><b> 課程設(shè)計(jì)的要求:</b></p><p> (1)熟悉離散信號(hào)和系統(tǒng)的時(shí)域特性。</p><p> (2)掌握序列快速
3、傅里葉變換FFT方法。</p><p> (3)學(xué)會(huì)MATLAB的使用,掌握MATLAB的程序設(shè)計(jì)方法。</p><p> (4)利用MATLAB對(duì)語(yǔ)音信號(hào)進(jìn)行頻譜分析。</p><p> (5)掌握MATLAB設(shè)計(jì)各種數(shù)字濾波器的方法和對(duì)信號(hào)進(jìn)行濾波的方法。</p><p><b> 課程設(shè)計(jì)的內(nèi)容:</b>&
4、lt;/p><p> 錄制一段語(yǔ)音信號(hào),對(duì)語(yǔ)音信號(hào)進(jìn)行頻譜分析,利用MATLAB中的隨機(jī)函數(shù)產(chǎn)生噪聲加入到語(yǔ)音信號(hào)中,使語(yǔ)音信號(hào)被污染,然后進(jìn)行頻譜分析,設(shè)計(jì)FIR和IIR數(shù)字濾波器,并對(duì)噪聲污染的語(yǔ)音信號(hào)進(jìn)行濾波,分析濾波后的信號(hào)的時(shí)域和頻域特征,回放語(yǔ)音信號(hào)。</p><p><b> 課程設(shè)計(jì)的步驟:</b></p><p> ?。?)語(yǔ)
5、音信號(hào)的獲取</p><p> 通過(guò)錄音軟件錄制一段語(yǔ)音“數(shù)字信號(hào)處理”,命名為“OriSound”,時(shí)長(zhǎng)大約1到2秒,在MATLAB中,通過(guò)使用wavread函數(shù),對(duì)語(yǔ)音進(jìn)行采樣:</p><p> [y,fs,nbits]=wavread('OriSound'); %語(yǔ)音信號(hào)的采集</p><p> 采樣值放在向量y中,采樣頻率
6、為fs,采樣位數(shù)為nbits。</p><p> ?。?)語(yǔ)音信號(hào)的頻譜分析</p><p> 畫(huà)出語(yǔ)音信號(hào)的時(shí)域波形,然后對(duì)語(yǔ)音信號(hào)進(jìn)行頻譜分析,在MATLAB中,通過(guò)使用fft函數(shù)對(duì)信號(hào)進(jìn)行快速傅里葉變換,得到信號(hào)的頻譜特性。</p><p> 因此采集語(yǔ)音并繪出波形和頻譜的模塊程序如下:</p><p> [y,fs,nbits]
7、=wavread('OriSound'); %語(yǔ)音信號(hào)的采集</p><p> sound(y,fs,nbits); %語(yǔ)音信號(hào)的播放</p><p> n=length(y) ; %計(jì)算語(yǔ)音信號(hào)的長(zhǎng)度</p><p> Y=fft(y,n);
8、 %快速傅里葉變換</p><p><b> figure;</b></p><p> subplot(2,1,1);%繪出時(shí)域波形</p><p><b> plot(y);</b></p><p> title('原始信號(hào)波形','
9、fontweight','bold');</p><p> axis([ 00000 80000 -1 1]);%通過(guò)嘗試確定合適的坐標(biāo)參數(shù)</p><p><b> grid;</b></p><p> subplot(2,1,2);%繪出頻域頻譜</p><p>
10、 plot(abs(Y));</p><p> title('原始信號(hào)頻譜','fontweight','bold');</p><p> axis([ 0 150000 0 4000]);%通過(guò)嘗試確定合適的坐標(biāo)參數(shù)</p><p><b> grid;</b></p>
11、<p><b> 結(jié)果如下:</b></p><p> 可以看到,語(yǔ)音信號(hào)的頻率集中在低頻部分。</p><p><b> ?。?)產(chǎn)生噪聲信號(hào)</b></p><p> 在MATLAB中,通過(guò)使用randn函數(shù)產(chǎn)生隨機(jī)噪聲信號(hào),并加到語(yǔ)音信號(hào)中得到被污染的語(yǔ)音信號(hào),回放語(yǔ)音信號(hào)。</p>
12、<p><b> 產(chǎn)生隨機(jī)噪聲:</b></p><p> Noise=0.2*randn(n,1);</p><p> 其中用0.2倍乘噪聲用來(lái)適當(dāng)削減噪聲的作用,便于對(duì)語(yǔ)音信號(hào)進(jìn)行處理并比較效果。</p><p> ?。?)污染信號(hào)頻譜分析</p><p> 對(duì)被污染的加噪信號(hào)進(jìn)行時(shí)域和頻域分析。
13、</p><p> 加噪聲并分析信號(hào)波形頻譜的模塊程序及說(shuō)明如下:</p><p> [y,fs,nbits]=wavread('OriSound.wav');%語(yǔ)音信號(hào)采集</p><p> sound(y,fs,nbits); %回放語(yǔ)音信號(hào)便于比較效果</p><p> n = lengt
14、h (y) ; %計(jì)算語(yǔ)音信號(hào)長(zhǎng)度</p><p> Noise=0.2*randn(n,1);%產(chǎn)生隨機(jī)噪聲信號(hào)Noise</p><p> s=y+Noise;%將Noise添加到原始信號(hào),得到污 染信號(hào)s</p><p> sound(s);%回放污染信號(hào)s&l
15、t;/p><p><b> figure;</b></p><p> subplot(2,1,1);%繪制加噪信號(hào)時(shí)域波形</p><p><b> plot(s);</b></p><p> title('加噪語(yǔ)音信號(hào)的時(shí)域波形','fontweigh
16、t','bold');</p><p> axis([ 00000 80000 -1 1]);</p><p><b> grid;</b></p><p> S=fft(s); %對(duì)s進(jìn)行快速傅里葉變換得到頻譜 </p><p> subp
17、lot(2,1,2);%繪制加噪信號(hào)頻域頻譜</p><p> plot(abs(S));</p><p> title('加噪語(yǔ)音信號(hào)的時(shí)域波形','fontweight','bold');</p><p> axis([ 0 150000 0 4000]);</p><p
18、><b> grid;</b></p><p><b> 結(jié)果如下:</b></p><p> 可以看到,隨機(jī)噪聲均勻的分布在整個(gè)頻譜范圍內(nèi)。</p><p> ?。?)設(shè)計(jì)FIR和IIR數(shù)字濾波器</p><p> 在MATLAB中,根據(jù)頻譜特征設(shè)計(jì)FIR和IIR濾波器。在Matla
19、b中,可以利用函數(shù)fir1設(shè)計(jì)FIR濾波器,利用函數(shù)butter,cheby1設(shè)計(jì)IIR濾波器,利用Matlab中的函數(shù)freqz畫(huà)出各步濾波器的頻率響應(yīng)。</p><p> 低通濾波器的性能指標(biāo):fp=1000Hz,fc=1200Hz,As=100db ,Ap=1dB</p><p> 高通濾波器的性能指標(biāo):fp=3500Hz,fc=4000Hz,As=100dB,Ap=1dB;&l
20、t;/p><p> 帶通濾波器的性能指標(biāo):fp1=1200Hz,fp2=3000hZ,fc1=1000Hz,fc2=3200Hz,As=100dB,Ap=1dB</p><p> 在MATLAB中,利用[N,wc]=butter(N,wc,Rp,As,'s')設(shè)計(jì)并計(jì)算巴特沃斯模擬濾波器的階數(shù)N和3dB截止頻率wc;[B,A]=cheby1(N,Rp,wpo,'ft
21、ypr')設(shè)計(jì)切比雪夫I型濾波器。</p><p> 在課程設(shè)計(jì)中,共設(shè)計(jì)了六種濾波器對(duì)信號(hào)進(jìn)行濾波:FIR低通,高通,帶通濾波器,IIR低通,高通,帶通濾波器。通過(guò)對(duì)原始信號(hào)和加噪信號(hào)的頻譜進(jìn)行觀察,原始語(yǔ)音信號(hào)頻譜集中在低頻段,而隨機(jī)噪聲接近均勻的分布在整個(gè)頻譜范圍內(nèi),因此推測(cè)選用低通濾波器去噪性能要好于高通和帶通濾波器。</p><p> ?。?)對(duì)污染信號(hào)進(jìn)行濾波<
22、/p><p> 在MATLAB中用FIR和IIR濾波器對(duì)加噪信號(hào)進(jìn)行濾波,其中通過(guò)利用函數(shù)fftfilt用FIR濾波器濾波,通過(guò)利用函數(shù)filter用IIR濾波器濾波。</p><p><b> ?。?)回放語(yǔ)音信號(hào)</b></p><p> 在MATLAB中,通過(guò)用sound函數(shù)對(duì)語(yǔ)音信號(hào)進(jìn)行回放,用以比較各濾波器的濾波效果。</p&g
23、t;<p> 各濾波器設(shè)計(jì)模塊的程序和說(shuō)明如下:</p><p> IIR低通濾波器設(shè)計(jì) </p><p> [y,fs,nbits]=wavread('OriSound.wav');%語(yǔ)音信號(hào)采集</p><p> n = length (y) ; %計(jì)算語(yǔ)音信號(hào)長(zhǎng)度</p><p
24、> Noise=0.2*randn(n,1);%產(chǎn)生隨機(jī)噪聲信號(hào)Noise</p><p> s=y+Noise;%將Noise添加到原始信號(hào),得到污 染信號(hào)s</p><p> S=fft(s); %快速傅里葉變換 </p><p><b> Ft=8
25、000;</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;</p><p> [n11,wn11]=buttord
26、(wp,ws,1,50,'s'); %低通濾波器的階數(shù)和截止頻率</p><p> [b11,a11]=butter(n11,wn11,'s'); %S域頻率響應(yīng)的參數(shù) </p><p> [num11,den11]=bilinear(b11,a11,0.5); %利用雙線性變換實(shí)現(xiàn)頻率響應(yīng)S域
27、到Z域的變換 </p><p> z11=filter(num11,den11,s);%濾波</p><p> sound(z11,fs,nbits);%回放濾波后的信號(hào)</p><p> m11=fft(z11); %濾波后的信號(hào)頻譜</p><p><b>
28、figure;</b></p><p> subplot(2,2,1);%繪出濾波前的信號(hào)頻譜</p><p> plot(abs(S),'g');</p><p> title('濾波前信號(hào)的頻譜','fontweight','bold');</p>
29、<p> axis([ 0 80000 0 4000]);</p><p><b> grid;</b></p><p> subplot(2,2,2);%繪出濾波后的信號(hào)頻譜</p><p> plot(abs(m11),'r');</p><p> title(&
30、#39;濾波后信號(hào)的頻譜','fontweight','bold');</p><p> axis([ 0 80000 0 4000]);</p><p><b> grid;</b></p><p> subplot(2,2,3);%繪出濾波前的信號(hào)波形</p>&
31、lt;p><b> plot(s);</b></p><p> title('濾波前信號(hào)的波形','fontweight','bold');</p><p> axis([00000 100000 -1 1]);</p><p><b> grid;</b>&l
32、t;/p><p> subplot(2,2,4);%繪出濾波后的信號(hào)波形</p><p> plot(z11);</p><p> title('濾波后的信號(hào)波形','fontweight','bold');</p><p> axis([00000 100000 -1 1
33、]);</p><p><b> grid;</b></p><p><b> 結(jié)果如下:</b></p><p> 可以看出,濾波后將非低頻部分的噪聲頻率濾掉,但還有一些高于原始語(yǔ)音信號(hào)的頻率沒(méi)有被去除。</p><p> IIR高通濾波器設(shè)計(jì)</p><p>
34、[y,fs,nbits]=wavread ('OriSound'); %語(yǔ)音信號(hào)采集</p><p> n = length (y) ; %計(jì)算語(yǔ)音信號(hào)的長(zhǎng)度</p><p> Noise=0.2*randn(n,1); %產(chǎn)生隨機(jī)噪聲</p><p> s=y+Noise;
35、%語(yǔ)音信號(hào)加入噪聲得到加噪信號(hào)</p><p> S=fft(s); %快速傅里葉變換</p><p><b> Fp1=1200;</b></p><p><b> Fs1=1000;</b></p><p><b> Ft=8000;</b>&
36、lt;/p><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
37、,'s'); %模擬的低通濾波器階數(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
38、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,fs,nbits);%回放濾波后的信號(hào)</p><p> m13=fft(z13); %濾波后的
39、信號(hào)頻譜</p><p><b> figure;</b></p><p> subplot(2,2,1);%繪出濾波前的信號(hào)頻譜</p><p> plot(abs(S),'g');</p><p> title('濾波前信號(hào)的頻譜','fontweight
40、','bold');</p><p> axis([0 80000 0 4000]);</p><p><b> grid;</b></p><p> subplot(2,2,2);%繪出濾波后的信號(hào)頻譜</p><p> plot(abs(m13),'r'
41、);</p><p> title('濾波后信號(hào)的頻譜','fontweight','bold');</p><p> axis([0 80000 0 4000]);</p><p><b> grid;</b></p><p> subplot(2,2,3);
42、%繪出濾波前的信號(hào)波形</p><p><b> plot(s);</b></p><p> title('濾波前信號(hào)的波形','fontweight','bold');</p><p> axis([00000 100000 -1 1]);</p><p&g
43、t;<b> grid;</b></p><p> subplot(2,2,4);%繪出濾波后的信號(hào)波形</p><p> plot(z13);</p><p> title('濾波后的信號(hào)波形','fontweight','bold');</p><p&
44、gt; axis([00000 100000 -1 1]);</p><p><b> grid;</b></p><p><b> 結(jié)果如下:</b></p><p> 可以看出,濾波后將原始信號(hào)絕大部分頻譜濾掉,剩下噪聲信號(hào),不能采用。</p><p> IIR帶通濾波器設(shè)計(jì)</
45、p><p> [y,fs,nbits]=wavread ('OriSound'); %語(yǔ)音信號(hào)采集</p><p> n = length (y) ; %計(jì)算語(yǔ)音信號(hào)的長(zhǎng)度</p><p> Noise=0.2*randn(n,1); %產(chǎn)生隨機(jī)噪聲</p><p> s=y+Nois
46、e; %語(yǔ)音信號(hào)加噪 </p><p> S=fft(s); %快速傅里葉變換</p><p><b> Ft=8000;</b></p><p><b> Fp=1000;</b></p><p><b> Fs
47、=1200;</b></p><p> wp=2*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);
48、 %通帶阻帶波紋</p><p> q=10.^(-rs/20);</p><p> fpts=[wp ws];</p><p> mag=[1 0];</p><p> dev=[p q];</p><p> [n21,wn21,beta,ftype]=kaiserord(fpts,mag,
49、dev);%由kaiserord求濾波器的階數(shù)和截止頻率</p><p> b21=fir1(n21,wn21,kaiser(n21+1,beta)); %設(shè)計(jì)濾波器</p><p> z21=fftfilt(b21,s);%濾波</p><p> sound(z21,fs,nbits);%
50、回放濾波后的信號(hào)</p><p> m21=fft(z21); %濾波后的信號(hào)頻譜</p><p> figure(4);</p><p> subplot(2,2,1);%繪出濾波前的信號(hào)頻譜</p><p> plot(abs(S),'g');</p><p
51、> title('濾波前信號(hào)的頻譜','fontweight','bold');</p><p> axis([0 80000 0 4000]);</p><p><b> grid;</b></p><p> subplot(2,2,2);%繪出濾波后的信號(hào)頻譜
52、</p><p> plot(abs(m21),'r');</p><p> title('濾波后信號(hào)的頻譜','fontweight','bold');</p><p> axis([0 80000 0 4000]);</p><p><b> grid;&
53、lt;/b></p><p> subplot(2,2,3);%繪出濾波前的信號(hào)波形</p><p><b> plot(s);</b></p><p> title('濾波前信號(hào)的波形','fontweight','bold');</p><p&
54、gt; axis([00000 100000 -1 1]);</p><p><b> grid;</b></p><p> subplot(2,2,4);%繪出濾波后的信號(hào)波形</p><p> plot(z21);</p><p> title('濾波后的信號(hào)波形',
55、9;fontweight','bold');</p><p> axis([00000 100000 -1 1]);</p><p><b> grid;</b></p><p><b> 結(jié)果如下:</b></p><p> 可以看出,大部分噪聲被去除,與低通IIR
56、濾波器的效果差不多,稍好于低通。</p><p><b> FIR低通濾波器</b></p><p> [y,fs,nbits]=wavread ('OriSound'); %語(yǔ)音信號(hào)采集</p><p> n = length (y) ; %計(jì)算語(yǔ)音信號(hào)的長(zhǎng)度</p><
57、;p> Noise=0.2*randn(n,1); %產(chǎn)生隨機(jī)噪聲</p><p> s=y+Noise; %語(yǔ)音信號(hào)加噪 </p><p> S=fft(s); %快速傅里葉變換</p><p><b> Ft=8000;</b></p&g
58、t;<p><b> Fp=1000;</b></p><p><b> Fs=1200;</b></p><p> wp=2*Fp/Ft;</p><p> ws=2*Fs/Ft;</p><p><b> rp=1;</b></p>&
59、lt;p><b> rs=50;</b></p><p> p=1-10.^(-rp/20); %通帶阻帶波紋</p><p> q=10.^(-rs/20);</p><p> fpts=[wp ws];</p><p> mag=[1 0];</p><p>
60、; dev=[p q];</p><p> [n21,wn21,beta,ftype]=kaiserord(fpts,mag,dev);%由kaiserord求濾波器的階數(shù)和截止頻率</p><p> b21=fir1(n21,wn21,kaiser(n21+1,beta)); %由fir1設(shè)計(jì)濾波器</p><p> z21
61、=fftfilt(b21,s);%濾波</p><p> sound(z21,fs,nbits);%回放濾波后的信號(hào)</p><p> m21=fft(z21); %濾波后的信號(hào)頻譜</p><p> figure(4);</p><p> subplot(2,2,1);%
62、繪出濾波前的信號(hào)頻譜</p><p> plot(abs(S),'g');</p><p> title('濾波前信號(hào)的頻譜','fontweight','bold');</p><p> axis([0 80000 0 4000]);</p><p><b>
63、; grid;</b></p><p> subplot(2,2,2);%繪出濾波后的信號(hào)頻譜</p><p> plot(abs(m21),'r');</p><p> title('濾波后信號(hào)的頻譜','fontweight','bold');</p>
64、<p> axis([0 80000 0 4000]);</p><p><b> grid;</b></p><p> subplot(2,2,3);%繪出濾波前的信號(hào)波形</p><p><b> plot(s);</b></p><p> title(
65、'濾波前信號(hào)的波形','fontweight','bold');</p><p> axis([00000 100000 -1 1]);</p><p><b> grid;</b></p><p> subplot(2,2,4);%繪出濾波后的信號(hào)波形</p>
66、<p> plot(z21);</p><p> title('濾波后的信號(hào)波形','fontweight','bold');</p><p> axis([00000 100000 -1 1]);</p><p><b> grid;</b></p><p
67、><b> 結(jié)果如下:</b></p><p> 可以看出:大部分的噪聲頻率被濾除,幾乎完整的保留了原始信號(hào)的頻譜,濾波效果最好,但是由于在低頻部分仍然有隨機(jī)信號(hào)的干擾,所以回放信號(hào)較原始信號(hào)音質(zhì)稍差。</p><p><b> FIR高通濾波器</b></p><p> [y,fs,nbits]=wavre
68、ad ('OriSound');%語(yǔ)音信號(hào)采集</p><p> n = length (y) ; %計(jì)算語(yǔ)音信號(hào)的長(zhǎng)度</p><p> Noise=0.2*randn(n,1); %產(chǎn)生隨機(jī)噪聲</p><p> s=y+Noise; %語(yǔ)音信號(hào)加噪 <
69、/p><p> S=fft(s); %快速傅里葉變換</p><p><b> Ft=8000;</b></p><p><b> Fp=4000;</b></p><p><b> Fs=3500;</b></p><
70、p> wp=2*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&
71、gt; q=10.^(-rs/20);</p><p> fpts=[ws wp];</p><p> mag=[0 1];</p><p> dev=[p q];</p><p> [n23,wn23,beta,ftype]=kaiserord(fpts,mag,dev);</p><p> b23=fi
72、r1(n23,wn23,'high',kaiser(n23+1,beta)); %由fir1設(shè)計(jì)濾波器</p><p> z23=fftfilt(b23,s);%濾波</p><p> sound(z23,fs,nbits);%回放濾波后的信號(hào)</p><p> m23=fft(z23); %濾
73、波后的信號(hào)頻譜</p><p><b> figure;</b></p><p> subplot(2,2,1);%繪出濾波前的信號(hào)頻譜</p><p> plot(abs(S),'g');</p><p> title('濾波前信號(hào)的頻譜','fontwe
74、ight','bold');</p><p> axis([0 80000 0 4000]);</p><p><b> grid;</b></p><p> subplot(2,2,2);%繪出濾波后的信號(hào)頻譜</p><p> plot(abs(m23),'r
75、');</p><p> title('濾波后信號(hào)的頻譜','fontweight','bold');</p><p> axis([0 80000 0 4000]);</p><p><b> grid;</b></p><p> subplot(2,2
76、,3);%繪出濾波前的信號(hào)波形</p><p><b> plot(s);</b></p><p> title('濾波前信號(hào)的波形','fontweight','bold');</p><p> axis([00000 100000 -1 1]);</p>&
77、lt;p><b> grid;</b></p><p> subplot(2,2,4);%繪出濾波后的信號(hào)波形</p><p> plot(z23);</p><p> title('濾波后的信號(hào)波形','fontweight','bold');</p>
78、<p> axis([00000 100000 -1 1]);</p><p><b> grid;</b></p><p><b> 結(jié)果如下:</b></p><p> 可以看到,濾波后只剩部分高頻噪聲頻率,原始語(yǔ)音信號(hào)頻率被濾除,因此無(wú)法恢復(fù)語(yǔ)音信號(hào)。</p><p>&l
79、t;b> FIR帶通濾波器</b></p><p> [y,fs,nbits]=wavread ('OriSound');%語(yǔ)音信號(hào)采集</p><p> n = length (y) ; %計(jì)算語(yǔ)音信號(hào)的長(zhǎng)度</p><p> Noise=0.2*randn(n,1); %產(chǎn)生隨
80、機(jī)噪聲</p><p> s=y+Noise; %語(yǔ)音信號(hào)加噪 </p><p> S=fft(s); %快速傅里葉變換</p><p><b> Fp1=1200;</b></p><p><b> Fp2=3000;</b
81、></p><p><b> Fs1=1000;</b></p><p><b> Fs2=3200;</b></p><p><b> Ft=2200;</b></p><p> wp1=tan(pi*Fp1/Ft); %帶通到低通濾波器參數(shù)轉(zhuǎn)換
82、</p><p> wp2=tan(pi*Fp2/Ft);</p><p> ws1=tan(pi*Fs1/Ft);</p><p> ws2=tan(pi*Fs2/Ft); </p><p> w=wp1*wp2/ws2;</p><p> bw=wp2-wp1;</p><p>&
83、lt;b> wp=1;</b></p><p> ws=(wp*wp2-w.^2)/(bw*w);</p><p> [n22,wn22]=buttord(wp,ws,1,50,'s'); %低通濾波器階數(shù)和截止頻率</p><p> [b22,a22]=butter(n22,wn22,'s');
84、 %S域的頻率響應(yīng)的參數(shù)</p><p> z22=fftfilt(b22,s);%濾波</p><p> sound(z22,fs,nbits);%回放濾波后的信號(hào)</p><p> m22=fft(z22); %濾波后的信號(hào)頻譜</p><p><b> figur
85、e;</b></p><p> subplot(2,2,1);%繪出濾波前的信號(hào)頻譜</p><p> plot(abs(S),'g');</p><p> title('濾波前信號(hào)的頻譜','fontweight','bold');</p><p&
86、gt; axis([0 80000 0 4000]);</p><p><b> grid;</b></p><p> subplot(2,2,2);%繪出濾波后的信號(hào)頻譜</p><p> plot(abs(m22),'r');</p><p> title('濾波后
87、信號(hào)的頻譜','fontweight','bold');</p><p> axis([0 80000 0 4000]);</p><p><b> grid;</b></p><p> subplot(2,2,3);%繪出濾波前的信號(hào)波形</p><p>
88、<b> plot(s);</b></p><p> title('濾波前信號(hào)的波形','fontweight','bold');</p><p> axis([00000 100000 -1 1]);</p><p><b> grid;</b></p>
89、<p> subplot(2,2,4);%繪出濾波后的信號(hào)波形</p><p> plot(z22);</p><p> title('濾波后的信號(hào)波形','fontweight','bold');</p><p> axis([00000 100000 -1 1]);</p
90、><p><b> grid;</b></p><p><b> 結(jié)果如下:</b></p><p> 可以看到,濾波器將部分低頻濾去,也就濾掉了部分原始信號(hào)頻率,因此無(wú)法正常恢復(fù)語(yǔ)音信號(hào)。</p><p> (8)設(shè)計(jì)GUI界面</p><p> 創(chuàng)建一個(gè)GUI界面,
91、可以方便的管理各個(gè)模塊。</p><p> 首先通過(guò)File-->New-->GUI創(chuàng)建一個(gè)GUI界面,然后對(duì)界面進(jìn)行設(shè)計(jì),最后對(duì)各個(gè)空間編寫(xiě)回調(diào)函數(shù)。</p><p><b> 效果如下:</b></p><p> 其中,“原始語(yǔ)音頻譜分析”可以對(duì)原始語(yǔ)音信號(hào)進(jìn)行波形和頻譜的顯示,“加噪后頻譜分析”可以對(duì)加噪后語(yǔ)音信號(hào)進(jìn)行波
92、形和頻譜的顯示,“濾波器對(duì)加噪語(yǔ)音信號(hào)進(jìn)行濾波模塊”中的各濾波器控件分別可以利用相應(yīng)的濾波器對(duì)加噪后的語(yǔ)音信號(hào)進(jìn)行濾波處理并回放。</p><p><b> 課程設(shè)計(jì)總結(jié):</b></p><p> 在這次課程設(shè)計(jì)中,我設(shè)計(jì)制作了加噪語(yǔ)音信號(hào)濾波提取的系統(tǒng),綜合運(yùn)用了之前幾次實(shí)驗(yàn),尤其是濾波器設(shè)計(jì)方面的MATLAB知識(shí),并最后得到了比較理想的效果。通過(guò)這次課程設(shè)計(jì)
93、,我加深了對(duì)濾波器方面知識(shí)的理解。用自己設(shè)計(jì)的各種濾波器對(duì)污染信號(hào)進(jìn)行處理,也讓我更加清楚的理解了濾波器的濾波特性,比較并找到最合適的濾波器。</p><p> 這次課程設(shè)計(jì)是一個(gè)不小的挑戰(zhàn),通過(guò)不斷的學(xué)習(xí)和嘗試,最終制作完成,在這個(gè)過(guò)程中我也有了很多的提高和收獲。比如,如何在語(yǔ)音信號(hào)中添加噪聲,如何靈活的利用各種濾波器對(duì)語(yǔ)音信號(hào)進(jìn)行處理,如何用MATLAB設(shè)計(jì)GUI界面并對(duì)控件添加回調(diào)函數(shù)等。其中,印象最深的
溫馨提示
- 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- matlab課程設(shè)計(jì)報(bào)告--基于matlab有噪聲語(yǔ)音信號(hào)處理
- 基于matlab的有噪聲的語(yǔ)音信號(hào)處理的課程設(shè)計(jì)
- 數(shù)字信號(hào)處理課程設(shè)計(jì)--基于matlab有噪聲語(yǔ)音信號(hào)處理
- 基于matlab的有噪聲語(yǔ)音信號(hào)處理畢設(shè)
- 數(shù)字信號(hào)處理課程設(shè)計(jì)-基于fir的有噪聲語(yǔ)音信號(hào)處理
- 基于matlab的有噪聲語(yǔ)音信號(hào)處理說(shuō)明書(shū)
- 數(shù)字信號(hào)處理課程設(shè)計(jì)--基于fir的有噪聲語(yǔ)音信號(hào)處理
- matlab課程設(shè)計(jì)---基于matlab的語(yǔ)音信號(hào)處理
- dsp應(yīng)用課程設(shè)計(jì)---有噪聲的語(yǔ)音信號(hào)分析與處理設(shè)計(jì)
- 信號(hào)處理課程設(shè)計(jì)---基于matlab的語(yǔ)音信號(hào)處理
- 信號(hào)處理課程設(shè)計(jì)基于matlab的語(yǔ)音信號(hào)分析和處理
- matlab課程設(shè)計(jì)---matlab語(yǔ)音信號(hào)的采集與處理
- 數(shù)字信號(hào)處理課程設(shè)計(jì)---基于matlab的語(yǔ)音信號(hào)濾波處理
- matlab課程設(shè)計(jì)--語(yǔ)音信號(hào)的采集與處理
- 基于 matlab 的語(yǔ)音信號(hào)分析與處理的課程設(shè)計(jì)
- 基于matlab的語(yǔ)音信號(hào)濾波處理——數(shù)字信號(hào)處理課程設(shè)計(jì)
- 基于matlab的語(yǔ)音信號(hào)濾波處理——數(shù)字信號(hào)處理課程設(shè)計(jì)
- matlab課程設(shè)計(jì)報(bào)告-語(yǔ)音信號(hào)的采集與處理
- 語(yǔ)音信號(hào)處理及matlab實(shí)現(xiàn)課程設(shè)計(jì)
- 基于matlab語(yǔ)音信號(hào)采集課程設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論