

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、封面作者: PanHongliang仅供个人学习北京理工大学珠海学院课程设计学院: 信息科学技术学院专业: 0606 级信息工程班级:信工 3 3 班姓名:谢明学号: 06013310070601331007基于 MATLABMATLAB 的语音信号滤波设计与实现一、 实验目的:(1) 完成对语音信号的采集、频谱分析及滤波。(2) 比较滤波前后语音信号的波形及频谱。二、 实验原理:三实验设计内容巴特沃思滤波器滤波%参数数初始化 %clear all。 %关闭以往仿真的数据栈A=5。噪声的振幅u1=0.01。噪声振幅的衰减系数u2=0.02ou3=0.03of 仁 50o%多频噪声频率f2=20
2、0of3=800oY,fs,bi ts=wavread(0601331007.wav) %读出信号 1,采样率和采样位数% sound(Y,fs% X,Fs,bits=wavread(0601331007.wav)o%读出信号 2,采样率和采样位数n=length(Y)o%求采样信号 1 的长度% m=length(X)。求采样信号 2 的长度t=0:1/fs:(n-1)/fso%求采样信号 1 时域上的采样点数% t1=0:1/Fs:(m-1)/fso%求采样信号 2 时域上的采样点数% % % % % % t=(0:n-1)/fs% % 构造噪声 % y1=u1*A*sin(2*pi*f1
3、*t)+u1*A*sin(2*pi*f2*t)% 两两噪声相加y2=u1*A*sin(2*pi*f3*t)y=y1+y2% % % % % % Z 仁 u1*A*sin(2*pi*f1*t1)+u1*A*sin(2*pi*f2*t1)% 两两噪声相加% % % % % % Z2=u1*A*sin(2*pi*f3*t1)% % % % % % Z=Z1+Z2% figure(1) %画出噪声的时域图,取200 个点% % % % % % % % % % plot(t。grid on。% plot(t(1:200),y(1:200) 。 grid on。% xlabel(时间(t)o% ylabe
4、l(幅度(y) o% title(噪声的时域图)o% Fy=fft(y,n)。 %对噪声进行傅立叶变换% Fy1=abs(Fy)% n1=floor(n/2) 。 %对 zhang 求采样点数的一半% n2=floor(m/2) 。 %对 zhanglow 求采样点数的一半% f=(0:n1)*fs/n 。 %时域上的采样点数% f1=(0:n2)*Fs/m。 %时域上的采样点数% figure(2)%画出噪声的频谱图% plot(f,Fy1(1:n1+1)ogrid on。% xlabel(频率(f) )o% ylabel( 幅度( Fy1 ) )。% title(噪声的频谱图)o% %加%
5、 噪声前后的时域图比较 %Y=Y(:,1) %此处假设声音是双声道的,只取单声道作分析% X=X(:,1) %此处假设声音是双声道的,只取单声道作分析Y1=y+Y %对采样信号进行转置再加上噪声% pause(10) % 暂停 10ssound(Y1,fs) % 读出加噪声后的采样信号% figure(3) %画出加噪声前后的时域比较图% subplot(2,1,1) plot(t,Y) grid on% plot(t(1:1000),Y(1:1000) grid on% xlabel(时间(t)o% ylabel(幅度(Y)o% title(加噪声前的时域图)o% subplot(2,1,2
6、) plot(t,Y1) grid on% % % % % % % % % % plot(t(1:1000),Y1(1:1000)grid on% xlabel(时间(t)o% ylabel(幅度(Y1)o% title(加噪声后的时域图)o% %加% 噪声前后的频域图比较 % % FY=fft(Y1,n)。 %对加噪声后的采样信号1 进行傅立叶变换% FY1=abs(FY。)% FY2=fft(Y,n。) %对加噪声前的采样信号1 进行傅立叶变换% FY3=abs(FY2。)% FX=fft(X,m)。 %对加噪声前的采样信号2 进行傅立叶变换% FX4=abs(FX。)% figure(4
7、) %画出加噪声前后的频域比较图% subplot(2,1,1) 。% plot(f,FY3(1:n1+1)。grid on。% xlabel(频率(f)。% ylabel( 幅度( FY3) )。% title(加噪声前的频谱图)。% subplot(2,1,2)。% plot(f,FY1(1:n1+1)。 grid on。% xlabel(频率(f)。% ylabel( 幅度( FY1) )。% title(加噪声后的频谱图)。% % %不同音调相同音量信号的频域、时域图比较% figure(5)% subplot(2,2,1)。 plot(f,FY3(1 :n1 +1 ) 。 grid
8、on。%xlabeI 频率(f) )。ylabel(幅度(FY3)。title(zhang 加噪声前的频谱图)。% subplot(2,2,3)。 plot(f1,FX4(1:n2+1)。 grid on。%xlabel 频率(f) )。ylabel(幅度(FX4) )。title(zhanglow 加噪声前的频谱图)。% subplot(2,2,2)。 plot(t,Y)。 grid on。%xlabel 时间(t)。ylabel(幅度(Y)。title(zhang 加噪声前的时域图)。% subplot(2,2,4)。 plot(t1,X)。 grid on。%xlabel 时间(t1)。
9、ylabel(幅度(X)。title(zhanglow 加噪声前的时域图)。% % sound(Y1,fs)。 %读出加噪后的信号 % 构 造 巴 特 沃 思 滤 波器 % figure(6) 。%画出 zhang 加噪声后的时域图plot(t,Y1)。xlabel(时间(t)。ylabel(幅度(Y1)。title(lishuai 加噪声后的时域图)。grid on。% axis(0.04 0.06 -3 3)。%构造 800Hz 的带阻滤波器 %f0_stop1=800 。fc=20。%设定过渡带的频率Rp=1。%通带区的波纹系数Rs=30。%阻带区的波纹系数wp_stop1=(f0_st
10、op1-fc)/(fs/2) (f0_stop1+fc)/(fs/2) 。% 通带的拐角频率ws_stop1=(f0_stop1-5*fc)/(fs/2) (f0_stop1+5*fc)/(fs/2)% 阻带的拐角频率N_stop1,wc_stop1=buttord(wp_stop1,ws_stop1,Rp,Rs,s) 。% 求出巴特沃思滤波器的阶数 N 及频率参数wcnum_stop1,den_stop1=butter(N_stop1,wc_stop1,stop) 。模型系数% 求出巴特沃斯带阻数字滤波器的传递函数h_stop1,w_stop1=freqz(num_stop1,den_sto
11、p1,fs)求出离散系统频率响应的数值figure(7)。subplot(2,3,1) 。%画出带阻滤波器的幅频特性图plot(w_stop1*fs/(2*pi),20*log10(abs(h_stop1) 。xlabel(频率(w_stop1 ) )。ylabel(幅度(h_stop1)。title(带阻滤波器在 800Hz 处的幅频特性图)。gridon。B_stop1=filter(num_stop1,den_stop1,Y1) 。%对含噪信号 Y1 进行带阻滤波% pause(10)。% sound(B_stop1,fs)。%读出滤去 800Hz 噪声后的采样信号subplot(2,3
12、,4)。画出带阻滤波器滤去 800Hz 噪声后的时域图plot(t,B_stop1) 。xlabel(时间)。ylabel(幅度(B_stop1)。title(用带阻滤波器滤去 800Hz 噪声后的时域图)。grid on % axis(0.040.06 -30 3)。%构造 200Hz 的带阻滤波器 %f0_stop2=200 。wp_stop2=(f0_stop2-fc)/(fs/2) (f0_stop2+fc)/(fs/2) 。ws_stop2=(f0_stop2-5*fc)/(fs/2) (f0_stop2+5*fc)/(fs/2)N_stop2,wc_stop2=buttord(wp
13、_stop2,ws_stop2,Rp,Rs,s)wcnum_stop2,den_stop2=butter(N_stop2,wc_stop2,stop) 数模型系数h_stop2,w_stop2=freqz(num_stop2,den_stop2,fs)subplot(2,3,2)。plot(w_stop2*fs/(2*pi),20*log10(abs(h_stop2) 。xlabel(频率(w_stop2) )。ylabel(幅度(h_stop2)。title(带阻滤波器在on。B_stop2=filter(num_stop2,den_stop2,B_stop1) 。 %对含噪信号 Y1 进行
14、带阻滤波% 通带的拐角频率% 阻带的拐角频率% 求出巴特沃思滤波器的阶数 N 及频率参数% 求出巴特沃斯带阻数字滤波器的传递函% 求出离散系统频率响应的数值200Hz 处的幅频特性图 )。 grid% pause(10)。% sound(B_stop2,fs)。%读出滤去 800Hz 和 200Hz 噪声后的采样信号subplot(2,3,5)。画出带阻滤波器滤去 800Hz 和 200Hz 噪声后的时域图plot(t,B_stop2) 。xlabel(时间)。ylabel(幅度(B_stop2)。title(带阻滤波器滤去 800Hz 和 200Hz 噪声后的时域图)。grid on %ax
15、is(0.04 0.06 -3 3)。 %构%造 50Hz 的带阻滤波器 % f0_stop3=50ws_stop3=(f0_stop3-fc)/(fs/2) % 阻带的拐角频率 wp_stop3=(f0_stop3+5*fc)/(fs/2) % 通带的拐角频率Wws=0.0075。Wwp=0.0375 。N_stop3,wc_stop3=buttord(Wwp,Wws,Rp,Rs,s) 。 % 求出巴特沃思滤波器的阶数 N 及频率参数 wcnum_stop3,dem_stop3=butter(N_stop3,wc_stop3,high) 。 % 求出巴特沃斯高通数字滤波器的传递函数 模型系数
16、h_stop3,w_stop3=freqz(num_stop3,dem_stop3,fs) 。 %求出离散系统频率响应的数值 subplot(2,3,3) 。 %画出高通滤波器的幅频特性图plot(w_stop3*fs/(2*pi),20*log10(abs(h_stop3) 。xlabel(频率(w_stop3) )。ylabel(幅度(h_stop3)。title(高通滤波器在 50Hz 处的幅频特性图)。grid on。B_stop3=filter(num_stop3,dem_stop3,B_stop2) 。subplot(2,3,6)。画出高通滤波器滤去 800Hz 和 200Hz 和
17、 50Hz 噪声后的时域图plot(t,B_stop3) 。xlabel(时间(t)。ylabel(幅度(B_stop3)。title(滤去 800Hz 和 200Hz 和 50Hz 噪声后的时域图)。grid on。% axis(0 10 -60000 60000)。%用%不%同的滤 波器滤去相噪声 频率后的 时域比较图 %figure(8)。subplot(2,2,1)。 plot(t,Y1)。 grid on。xlabel(时间(t)。ylabel(幅度(Y1)。title(加噪声后的时域图)。subplot(2,2,2)。 plot(t,B_stop1) 。xlabel( 时间 (t)
18、 ) ) 。 ylabel( 幅度( B_stop1)。title(用带阻滤波器滤去 800Hz 噪声后的时域图)。grid on。subplot(2,2,3) 。 plot(t,B_stop2) 。xlabel( 时间 (t) ) ) 。 ylabel( 幅度( B_stop2) 。title(带阻滤波器滤去 800Hz 和 200Hz 噪声后的时域图)。grid on。subplot(2,2,4)。 plot(t,B_stop3) 。xlabel( 时间 (t) ) ) 。 ylabel( 幅度( B_stop3) 。title(高通滤波器滤去 800Hz 和 200Hz 和 50Hz 噪
19、声后的时域图)。grid on。%用% 不 同 的 滤 波 器 滤 去 相 应 噪 声 频 率 后 的 频 域比 较 %figure(9)。FY=fft(Y1,n)。%对加噪声后的采样信号1 进行傅立叶变换FY1=abs(FY。)n1=floor(n/2) 。f=(0:n1)*fs/n 。FY_B_stop 仁 fft(B_stop1,n)。对滤去 800Hz 噪声后的采样信号进行傅立叶变换FY1_B_stop1=abs( FY_B_stop1。)FY_B_stop2=fft(B_stop2,n)。对滤去 800Hz 和 200Hz 噪声后的采样信号进行傅立叶变换FY1_B_stop2=abs
20、( FY_B_stop2。)FY_B_stop3=fft(B_stop3,n)。 %对滤去 800Hz 和 200Hz 和 50Hz 噪声后的采样信号进行傅立叶变换FY1_B_stop3=abs( FY_B_stop3。)%画%出%用不同的滤波器滤去相应噪声频率后的频 域比较图 %subplot(2,2,1) 。 plot(f, FY1(1:n1+1)。 grid on。xlabel(频率(f) )oylabel(幅度(FY1) )。title(加噪声后的频谱图)。subplot(2,2,2)。 plot(f, FY1_B_stop1(1:n1+1)。 grid on。xlabel(频率(f)
21、 )oylabel(幅度(FY1_B_stop1) )。title(用带阻滤波器滤去800Hz 噪声后的的频谱图)。subplot(2,2,3)。 plot(f, FY1_B_stop2(1:n1+1)。 grid on。xlabel(频率(f) )。ylabel(幅度(FY1_B_stop2) )。title(用带阻滤波器滤去 800Hz 和 200Hz 噪声后的的 频谱图 )osubplot(2,2,4)oplot(f, FY1_B_stop3(1:n1+1)ogrid onoxlabel(频率(f) )。ylabel(幅度(FY1_B_stop3)。title(用高通滤波器滤去 800H
22、z 和 200Hz 和 50Hz 噪 声后的的频谱图 )。%读% 出 和 写 出 滤 波 后 的 语 音 信号 %pause(5)o%暂停 5swavplay(B_stop3,fs)。% 读出滤去 800Hz 和 200Hz 和 50Hz 噪声后的采样信号wavwrite(B_stop3,fs,16,0601331007 巴特沃思滤波器滤波后的语音信号 .wav)o% 写出滤波后的语音信号切比雪夫 I 型滤波器滤波%参%数%初始化 %clear allo% 关闭以往仿真的数据栈A=5o%噪声的振幅u1=0.01o%噪声振幅的衰减系数u2=0.02ou3=0.03of1=50o%多频噪声频率f2
23、=200of3=800oY,fs,bits=wavread(0601 331 007.wav)o%读出信号 1,采样率和采样位数% sound(Y,fs)o% X,Fs,bits=wavread(zhanglow.wav)o%读出信号 2,采样率和采样位数n=length(Y)o%求采样信号 1 的长度% m=length(X)o%求采样信号 2 的长度t=0:1/fs:(n-1)/fso%求采样信号 1 时域上的采样点数% t1=0:1/Fs:(m-1)/fso%求采样信号 2 时域上的采样点数% % % % % %t=(0:n-1)/fso% % 构造噪声 % y1=u1*A*sin(2*
24、pi*f1*t)+u1*A*sin(2*pi*f2*t)% 两两噪声相加y2=u1*A*sin(2*pi*f3*t)y=y1+y2% % % % % % Z1=u1*A*sin(2*pi*f1*t1)+u1*A*sin(2*pi*f2*t1)% 两两噪声相加% % % % % % Z2=u1*A*sin(2*pi*f3*t1)% % % % % % Z=Z1+Z2% figure(1) %画出噪声的时域图,取200 个点% % % % % % % % % % plot(t。grid on。% plot(t(1:200),y(1:200) 。 grid on。% xlabel(时间(t)o% y
25、label(幅度(y) o% title(噪声的时域图)o% Fy=fft(y,n)。 %对噪声进行傅立叶变换% Fy1=abs(Fy)% n1=floor(n/2) 。 %对 zhang 求采样点数的一半% n2=floor(m/2) 。 %对 zhanglow 求采样点数的一半% f=(0:n1)*fs/n 。 %时域上的采样点数% f1=(0:n2)*Fs/m。 %时域上的采样点数% figure(2)%画出噪声的频谱图% plot(f,Fy1(1:n1+1)ogrid on。% xlabel(频率(f) )o% ylabel( 幅度( Fy1 ) )。% title(噪声的频谱图)o%
26、 %加%噪声前后的时域图比较%Y=Y(:,1) %此处假设声音是双声道的,只取单声道作分析% X=X(:,1) %此处假设声音是双声道的,只取单声道作分析Y1=y+Y%对采样信号进行转置再加上噪声sound(Y1,fs)% figure(3) %画出加噪声前后的时域比较图% subplot(2,1,1) plot(t,Y) grid on% plot(t(1:1000),Y(1:1000) grid on% xlabel(时间(t)o% ylabel(幅度(Y)o% title(加噪声前的时域图)o% subplot(2,1,2) plot(t,Y1) grid on% % % % % % %
27、 % % % plot(t(1:1000),Y1(1:1000)grid on% xlabel(时间(t)o% ylabel(幅度(Y1)o% title(加噪声后的时域图)o% %加%噪%声前后的频域图比较 % FY=fft(Y1,n)。 %对加噪声后的采样信号1 进行傅立叶变换% FY1=abs(FY。)% FY2=fft(Y,n。) %对加噪声前的采样信号1 进行傅立叶变换% FY3=abs(FY2。)% FX=fft(X,m)。 %对加噪声前的采样信号2 进行傅立叶变换% FX4=abs(FX。)% figure(4) %画出加噪声前后的频域比较图% subplot(2,1,1) 。%
28、 plot(f,FY3(1:n1+1)。grid on。% xlabel(频率(f)。% ylabel( 幅度( FY3) )。% title(加噪声前的频谱图)。% subplot(2,1,2)。% plot(f,FY1(1:n1+1)。 grid on。% xlabel(频率(f)。% ylabel( 幅度( FY1) )。% title(加噪声后的频谱图)。% %不%同%音调相同音量信号的频域、时域图比较% figure(5)% subplot(2,2,1)。 plot(f,FY3(1 :n1 +1 ) 。 grid on。%xlabeI 频率(f) )。ylabel(幅度(FY3)。t
29、itle(zhang 加噪声前的频谱图)。% subplot(2,2,3)。 plot(f1,FX4(1:n2+1)。 grid on。%xlabel 频率(f) )。ylabel(幅度(FX4) )。title(zhanglow 加噪声前的频谱图)。% subplot(2,2,2)。 plot(t,Y)。 grid on。%xlabel 时间(t)。ylabel(幅度(Y)。title(zhang 加噪声前的时域图)。% subplot(2,2,4)。 plot(t1,X)。 grid on。%xlabel 时间(t1)。ylabel(幅度(X)。title(zhanglow 加噪声前的时域
30、图)。% % sound(Y1,fs)。 %读出加噪后的信号% % 构 造 切 比 雪 夫 I 型 滤 波器 % figure(6) 。 %画出 zhang 加噪声后的时域图plot(t,Y1)。xlabel(时间(t)。ylabel(幅度(Y1)。title(0601331007 加噪声后的时域图)。grid on。% axis(0.04 0.06 -3 3)。%构造 800Hz 的带阻滤波器 %设定过渡带的频率%通带区的波纹系数%阻带区的波纹系数 ws_stop1=(f0_stop1-fc)/(fs/2) (f0_stop1+fc)/(fs/2) 。 % 通带的拐角频f0_stop1=80
31、0fc=20。Rp=1。Rs=30。率 wp_stop1=(f0_stop1-5*fc)/(fs/2) (f0_stop1+5*fc)/(fs/2) 。 % 阻带的拐角频率N_stop1,wn_stop1=cheb1ord(wp_stop1,ws_stop1,Rp,Rs) 。% 求出切比雪夫 I 型滤波器的阶数 N 及频率参 数 wcnum_stop1,den_stop1=cheby1(N_stop1,Rp,wn_stop1,stop) 。 % 求出切比雪夫 I 型带阻数字滤波器的传 递函数模型系数h_stop1,w_stop1=freqz(num_stop1,den_stop1,fs) %
32、求出离散系统频率响应的数值 figure(7)。subplot(2,3,1) 。%画出带阻滤波器的幅频特性图plot(w_stop1*fs/(2*pi),20*log10(abs(h_stop1) 。xlabel(频率(w_stop1 ) )。ylabel(幅度(h_stop1)。title(带阻滤波器在 800Hz 处的幅频特性图)。grid on。B_stop1=filter(num_stop1,den_stop1,Y1) 。%对含噪信号 Y1 进行带阻滤波% pause(10)。% sound(B_stop1,fs)。%读出滤去 800Hz 噪声后的采样信号subplot(2,3,4)。
33、画出带阻滤波器滤去 800Hz 噪声后的时域图plot(t,B_stop1) 。xlabel(时间)。 ylabel(幅度(B_stop1)。 title(用带阻滤波器滤去 800Hz 噪声后的时域图)。 grid on。% axis(0.040.06 -30 3)。% %构造 200Hz 的带阻滤波器 %f0_stop2=200 。ws_stop2=(f0_stop2-fc)/(fs/2) (f0_stop2+fc)/(fs/2) 。% 通带的拐角频率wp_stop2=(f0_stop2-5*fc)/(fs/2) (f0_stop2+5*fc)/(fs/2)。% 阻带的拐角频率N_stop2
34、,wn_stop2=cheb1ord(wp_stop2,ws_stop2,Rp,Rs)。% 求出切比雪夫 I 型滤波器的阶数 N 及频率参数 wcnum_stop2,den_stop2=cheby1(N_stop2,Rp,wn_stop2,stop) 。% 求出切比雪夫 I 型带阻数字滤波器的传递函数模型系数h_stop2,w_stop2=freqz(num_stop2,den_stop2,fs)% 求出离散系统频率响应的数值subplot(2,3,2)。plot(w_stop2*fs/(2*pi),20*log10(abs(h_stop2) 。xlabel(频率(w_stop2)。ylabe
35、l(幅度(h_stop2)。title(带阻滤波器在 200Hz 处的幅频特性图)。grid on。B_stop2=filter(num_stop2,den_stop2,B_stop1) 。 %对含噪信号 Y1 进行带阻滤波% pause(10)。% sound(B_stop2,fs)。%读出滤去 800Hz 和 200Hz 噪声后的采样信号subplot(2,3,5)。画出带阻滤波器滤去 800Hz 和 200Hz 噪声后的时域图plot(t,B_stop2) 。xlabel(时间)。ylabel(幅度(B_stop2)。title(带阻滤波器滤去 800Hz 和 200Hz 噪声后的时域图
36、)。gridon。% axis(0.04 0.06 -3 3)。%构造 50Hz 的带阻滤波器 %f0_stop3=50ws_stop3=(f0_stop3-fc)/(fs/2) % 阻带的拐角频率 wp_stop3=(f0_stop3+5*fc)/(fs/2) % 通带的拐角频率Wws=0.0075。Wwp=0.0375 。N_stop3,wc_stop3=cheb1ord(Wwp,Wws,Rp,Rs,s) 。 % 求出切比雪夫 I 型滤波器的阶数 N 及频率参数 wcnum_stop3,dem_stop3=cheby1(N_stop3,Rp,wc_stop3,high) 。 % 求出切比雪
37、夫 I 型滤波器高通数字滤 波器的传递函数模型系数h_stop3,w_stop3=freqz(num_stop3,dem_stop3,fs) 。%求出离散系统频率响应的数值subplot(2,3,3) 。 %画出高通滤波器的幅频特性图plot(w_stop3*fs/(2*pi),(abs(h_stop3) 。xlabel(频率(w_stop3) )。ylabel(幅度(h_stop3)。title(高通滤波器在 50Hz 处的幅频特性图)。grid on。B_stop3=filter(num_stop3,dem_stop3,B_stop2) 。subplot(2,3,6)。画出高通滤波器滤去
38、800Hz 和 200Hz 和 50Hz 噪声后的时域图plot(t,B_stop3) 。xlabel(时间(t)。ylabel(幅度(B_stop3)。title(滤去 800Hz 和 200Hz 和 50Hz 噪声后的时域图)。gridon。% axis(0 10 -60000 60000)。%用%不同的滤波器滤去相应噪声频率后的时域比较图%figure(8)。subplot(2,2,1)。 plot(t,Y1)。 grid on。xlabel(时间(t)。ylabel(幅度(Y1)。title(加噪声后的时域图)。subplot(2,2,2)。 plot(t,B_stop1) 。xlab
39、el( 时间 (t) ) ) 。 ylabel( 幅度( B_stop1)。title(用带阻滤波器滤去800Hz 噪声后的时域图)。grid on。subplot(2,2,3) 。 plot(t,B_stop2) 。xlabel( 时间 (t) ) ) 。 ylabel( 幅度( B_stop2) 。title(带阻滤波器滤去 800Hz 和 200Hz 噪声后的时域图)。grid on。 subplot(2,2,4)。 plot(t,B_stop3) 。xlabel( 时间 (t) ) ) 。 ylabel( 幅度( B_stop3) 。title(高通滤波器滤去 800Hz 和 200H
40、z 和 50Hz 噪声后的时域图)。grid on。%用% 不 同 的 滤 波 器 滤 去 相 应 噪 声 频 率 后 的 频 域比 较 %figure(9)。FY=fft(Y1,n)。%对加噪声后的采样信号1 进行傅立叶变换FY1=abs(FY。) n1=floor(n/2) 。 f=(0:n1)*fs/n 。FY_B_stop 仁 fft(B_stop1,n)。对滤去 800Hz 噪声后的采样信号进行傅立叶变换FY1_B_stop1=abs( FY_B_stop1。)FY_B_stop2=fft(B_stop2,n)。对滤去 800Hz 和 200Hz 噪声后的采样信号进行傅立叶变换FY1
41、_B_stop2=abs( FY_B_stop2。)FY_B_stop3=fft(B_stop3,n)。对滤去 800Hz 和 200Hz 和 50Hz 噪声后的采样信号进行傅立叶变换FY1_B_stop3=abs( FY_B_stop3。)%画%出%用不同的滤波器滤去相应频率后的频域比 较图 %subplot(2,2,1) 。 plot(f, FY1(1:n1+1)。 grid on。xlabel(频率(f) )oylabel(幅度(FY1) )。title(加噪声后的频谱图)。subplot(2,2,2)。 plot(f, FY1_B_stop1(1:n1+1)。 grid on。xlab
42、el(频率(f) )oylabel(幅度(FY1_B_stop1) )。title(用带阻滤波器滤去800Hz 噪声后的的频谱图)。subplot(2,2,3)。 plot(f, FY1_B_stop2(1:n1+1)。 grid on。xlabel(频率(f) )。ylabel(幅度(FY1_B_stop2) )。title(用带阻滤波器滤去 800Hz 和 200Hz 噪声后的的频谱图 )osubplot(2,2,4)oplot(f, FY1_B_stop3(1:n1+1)ogrid onoxlabel(频率(f) )。ylabel(幅度(FY1_B_stop3)。title(用高通滤波器
43、滤去800Hz 和 200Hz 和 50Hz噪声后的的频谱图 )。pause(5)o%暂停 5swavplay(B_stop3,fs)。% 读出滤去 800Hz 和 200Hz 和 50Hz 噪声后的采样信号wavwrite(B_stop3,fs,bits,0601331007 切比雪夫 I 型滤波器滤波后的语音信号.wav)。%写出滤波后的语音信 号% 参数初始化 %clear all。 % 关闭以往仿真的数据栈A=5。 %噪声的振幅u1=0.01 。%噪声振幅的衰减系数u2=0.02 。u3=0.03 。f 仁 50。多频噪声频率f2=200。f3=800。Y,fs,bits=wavrea
44、d(0601 331 007.wav) 。 %读出信号 1,采样率和采样位数% sound(Y,fs)。% X,Fs,bits=wavread(0601 331 007.wav)。 %读出信号 2,采样率和采样位数n=length(Y)。 %求采样信号 1 的长度% m=length(X)。 %求采样信号 2 的长度t=0:1/fs:(n-1)/fs 。 %求采样信号 1 时域上的采样点数% t1=0:1/Fs:(m-1)/fs。 %求采样信号 2 时域上的采样点数%t=(0:n-1)/fs。%构造噪声 % y1=u1*A*sin(2*pi*f1*t)+u1*A*sin(2*pi*f2*t)%
45、 两两噪声相加y2=u1*A*sin(2*pi*f3*t)y=y1+y2% % % % % % Z1=u1*A*sin(2*pi*f1*t1)+u1*A*sin(2*pi*f2*t1)% 两两噪声相加% % % % % % Z2=u1*A*sin(2*pi*f3*t1)% % % % % % Z=Z1+Z2% figure(1) %画出噪声的时域图,取 200 个点% % % % % % % % % % plot(t ,y)grid on。% plot(t(1:200),y(1:200) 。 grid on 。% xlabel( 时间 (t) 。% ylabel(幅度(y)。% title(噪
46、声的时域图)。% Fy=fft(y,n)。 %对噪声进行傅立叶变换% Fy1=abs(Fy。)% n1=floor(n/2)。对 zhang 求采样点数的一半% n2=floor(m/2) 。 %对 zhanglow 求采样点数的一半% f=(0:n1)*fs/n 。 %时域上的采样点数% f1 =(0:n2)*Fs/m 。 %时域上的采样点数% figure(2)%画出噪声的频谱图% plot(f,Fy1(1:n1+1)。 grid on。% xlabel(频率(f)。% ylabel( 幅度( Fy1 ) )。% title(噪声的频谱图)。% %加%噪声前后的时域图比较 %Y=Y(:,1
47、)。 %此处假设声音是双声道的,只取单声道作分析% X=X(:,1)。 %此处假设声音是双声道的,只取单声道作分析Y1=y+Y。 %对采样信号进行转置再加上噪声sound(Y1,fs)。% figure(3) %画出加噪声前后的时域比较图% subplot(2,1,1)。 plot(t,Y)。 grid on。% plot(t(1:1000),Y(1:1000)。 grid on。% xlabel(时间(t)。% ylabel(幅度(Y)。% title(加噪声前的时域图)。% subplot(2,1,2)。 plot(t,Y1)。 grid on。% % % % % % % % % % pl
48、ot(t(1:1000),Y1(1:100Q) grid on。% xlabel(时间(t)。% ylabel(幅度(Y1)。% title(加噪声后的时域图)。% %加%噪声前后的频域图比较 % FY=fft(Y1,n)。 %对加噪声后的采样信号1 进行傅立叶变换% FY1=abs(FY。)% FY2=fft(Y,n。) %对加噪声前的采样信号1 进行傅立叶变换% FY3=abs(FY2。)% FX=fft(X,m)。 %对加噪声前的采样信号2 进行傅立叶变换% FX4=abs(FX。)% figure(4) %画出加噪声前后的频域比较图% subplot(2,1,1) 。% plot(f,
49、FY3(1:n1+1)。grid on。% xlabel(频率(f)。% ylabel( 幅度( FY3) )。% title(加噪声前的频谱图)。% subplot(2,1,2)。% plot(f,FY1(1:n1+1)。 grid on。% xlabel(频率(f)。% ylabel( 幅度( FY1) )。% title(加噪声后的频谱图)。% % %不同音调相同音量信号的频域、时域图比较% figure(5)% subplot(2,2,1)。 plot(f,FY3(1 :n1 +1 ) 。 grid on。%xlabeI 频率(f) )。ylabel(幅度(FY3)。title(zhang 加噪声前的频谱图)。% subplot(2,2,3)。 plot(f1,FX4(1:n2+1)。 grid on。%xlabel 频率(f) )。y
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 楼梯抹灰合同协议书
- 融资协议借款合同
- 纸箱采购协议合同
- 机构跟老师协议合同
- 农村农田转让合同
- 2024年应急维修施工合同
- 2024年农艺师考试挑剔试题及答案
- 职业教育复试题目及答案
- 园艺师创新项目评审试题及答案
- 农艺师考试自我评估试题及答案
- 国家开放大学2025年《管理学基础》形考作业1-4答案
- 2025年全民国家安全教育日知识竞赛考试题库500题(含答案)
- 跨境电商网站的设计挑战试题及答案
- 2024中国山东省集中供热行业发展趋势预测及投资战略咨询报告
- 肯德基店面试试题及答案
- 2023国家卫健委中国结直肠癌诊疗规范
- 深信服下一代防火墙技术白皮书20231120
- 广州市白云区2025年招考社区居委会专职人员高频重点模拟试卷提升(共500题附带答案详解)
- 2025年辽宁省大连市高考语文一模试卷
- 统编版语文七年级下第18课《井冈翠竹》公开课一等奖创新教学设计
- 苏教版六年级数学下册第三单元《解决问题的策略(1)》课件
评论
0/150
提交评论