首页 椭圆滤波器滤波

椭圆滤波器滤波

举报
开通vip

椭圆滤波器滤波椭圆滤波器滤波 %%%%%%%%%%%%%%%%%%%%%%%%%%%% 参数初始化 %%%%%%%%%%%%%%%%%%%%%%%% clear all; % 关闭以往仿真的数据栈 [x, fs, Nbits] = wavread('dajiahao.wav') ; % 把语音信号进行加载入 Matlab 仿真软件平台中 %sound( x, fs) ; % 对加载的语音信号进行回放 n= length( x) ; % 求出语音信号的长度 1) /fs; % 得出频点 t= 0: 1/fs:( n- ...

椭圆滤波器滤波
椭圆滤波器滤波 %%%%%%%%%%%%%%%%%%%%%%%%%%%% 参数初始化 %%%%%%%%%%%%%%%%%%%%%%%% clear all; % 关闭以往仿真的数据栈 [x, fs, Nbits] = wavread('dajiahao.wav') ; % 把语音信号进行加载入 Matlab 仿真软件平台中 %sound( x, fs) ; % 对加载的语音信号进行回放 n= length( x) ; % 求出语音信号的长度 1) /fs; % 得出频点 t= 0: 1/fs:( n- figure(1); plot(t,x); xlabel('时间 (t)'); ylabel('幅度(X)'); title('语音信号的时域波形.' ) ; x1= fft( x, n) ; % 傅里叶变换 Fx1=abs(x1); f= 0: fs/ n: fs* ( n- 1) / n; % 得出频点 figure(2) plot( f, Fx1) ; xlabel('频率(f)'); ylabel('幅度(x1)'); title( '语音信号的频谱.' ) ; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 构造噪声 %%%%%%%%%%%%%%%%%%%%%%% A=5; %噪声的振幅 u1=0.01;%噪声振幅的衰减系数 u2=0.02; u3=0.03; f1=50;%多频噪声频率 f2=200; f3=800; y1=u1*A*sin(2*pi*f1*t)+u1*A*sin(2*pi*f2*t)%两两噪声相加 y2=u1*A*sin(2*pi*f3*t) y=y1+y2 figure(3) %画出噪声的时域图,取200个点 plot(t(1:200),y(1:200));grid on; xlabel('时间 (t)'); ylabel('幅度(y)'); title('噪声的时域图'); Fy=fft(y,n); %对噪声进行傅立叶变换 Fy1=abs(Fy); n1=floor(n/2); %对w求采样点数的一半 f=(0:n1)*fs/n; %域上的采样点数 figure(4) %画出噪声的频谱图 plot(f,Fy1(1:n1+1));grid on; )'); xlabel('频率(f ylabel(' 幅度(Fy1)'); title('噪声的频谱图'); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%信号合 成%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%% z= x'+y; % 噪声信号的叠加 w= fft( z, n) ; % 对叠加信号进行频谱变换 f= 0: fs/ n: fs* ( n- 1) / n; % 得出频点 figure(5); plot(t,z); xlabel('时间 (t)'); ylabel('幅度(Z)'); title('加噪声后的时域波形.' ) ; figure(6); xlabel('频率 (t)'); ylabel('幅度(w)'); plot( f, abs(w) ) ; % 绘出频谱图 axis( [ 0 8000 0 400] ) ; title( '含 噪 语音 信号 的 频谱. ') ; pause(10); % sound( z, fs) ; % %%%%%%%%%%%%%%%%%%% 加噪声前后的时域图比较 %%%%%%%%%%%%%%%%%%%% figure(7) %画出加噪声前后的时域比较图 subplot(2,1,1);plot(t,x);grid on; xlabel('时间 (t)'); ylabel('幅度(x)'); title('加噪声前的时域图'); subplot(2,1,2);plot(t,z);grid on; xlabel('时间 (t)'); ylabel('幅度(z)'); title('加噪声后的时域图'); % %%%%%%%%%%%%%%%%%%%%%%%%%% 加噪声前后的频域图比较 %%%%%%%%%%%% %%% figure(8) %画出加噪声前后的频域比较图 subplot(2,1,1); plot(f,Fx1);grid on; xlabel('频率(f)'); ylabel(' 幅度(Fx1)'); title('加噪声前的频谱图'); subplot(2,1,2); plot(f,abs(w));grid on; xlabel('频率(f)'); ylabel(' 幅度(w)'); title('加噪声后的频谱图'); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%构造椭圆滤波 器%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%% 构造800Hz的带阻滤波器 %%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% f0_stop1=800; % fc=20; % 设定过渡带的频率 Rp=1; % 通带区的波纹系数 Rs=30; % 阻带区的波纹系数 ws_stop1=[(f0_stop1-fc)/(fs/2) (f0_stop1+fc)/(fs/2)]; % 通带的 拐角频率 wp_stop1=[(f0_stop1-5*fc)/(fs/2) (f0_stop1+5*fc)/(fs/2)]; % 阻带的 拐角频率 [N_stop1,wn_stop1]=ellipord(wp_stop1,ws_stop1,Rp,Rs); % 求出椭圆 滤波器的阶数N及频率参数wc [num_stop1,den_stop1]=ellip(N_stop1,Rp,Rs,wn_stop1,'stop'); % 求出椭圆滤波器带阻数字滤波器的传递函数模型系数 [h_stop1,w_stop1]=freqz(num_stop1,den_stop1,fs) % 求出离 散系统频率响应的数值 figure(9); 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,z); %对含噪信号Y1进行带阻滤波 % pause(10); % sound(B_stop1,fs); % 读出滤去800Hz噪声后的采样信号 subplot(2,3,4); % 画出带阻滤波器滤去800Hz噪声后的时域图 plot(t,B_stop1); xlabel('时间 (t))');ylabel('幅度(B_stop1)');title('用带阻滤波器滤去800Hz噪声后的时域图');grid on; % %%%%%%%%%%%%%% 构造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,wn_stop2]=ellipord(wp_stop2,ws_stop2,Rp,Rs); % 求出椭圆滤波器的阶数N及频率参数wc [num_stop2,den_stop2]=ellip(N_stop2,Rp,Rs,wn_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('带阻滤波器在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('时间 (t))');ylabel('幅度(B_stop2)');title('带阻滤波器滤去800Hz和200Hz噪声后的时域图');grid on; %%%%%%%%%%%%%% 构造50Hz的带阻滤波器 %%%%%%%%%%%%%%%%%%%%%% f0_stop3=50 ws_stop3=(f0_stop3-fc)/(fs/2) % 阻带的拐角频率 wp_stop3=(f0_stop3+5*fc)/(fs/2) % 通带的拐角频率 Wws=0.0075; Wwp=0.0375; [N_stop3,wc_stop3]=ellipord(Wwp,Wws,Rp,Rs,'s'); % 求出椭圆滤波器的阶数N及频率参数wc [num_stop3,dem_stop3]=ellip(N_stop3,Rp,Rs,wc_stop3,'high'); % 求出椭圆滤波器高通数字滤波器的传递函数模型系数 [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); % 画出高通滤波器滤去800Hz和200Hz和50Hz噪声后的时域图 plot(t,B_stop3); xlabel('时间 (t))');ylabel('幅度(B_stop3)');title('滤去800Hz和200Hz和50Hz噪声后的时域图');grid on; % axis([0 10 -60000 60000]); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%用不同的滤波器滤去相应噪声频率后的时 域比较图 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% figure(10); subplot(2,2,1);plot(t,z);grid on; xlabel('时间 (t)');ylabel('幅度(z)');title('加噪声后的时域图'); subplot(2,2,2);plot(t,B_stop1); xlabel(' 时间 (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和200Hz和50Hz噪声后的时域图');grid on; %%%%%%%%%%%%%%%%%%%%%%%%%% 用不同的滤波器滤去相应噪声频率后的频域比较 %%%%%%%%%%%% figure(11); FY=fft(z,n); %对加噪声后的采样信号1进行傅立叶变换 FY1=abs(FY); n1=floor(n/2); f=(0:n1)*fs/n; FY_B_stop1=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( 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)');ylabel(' 幅度(FY1)'); title('加噪声后的频谱图'); subplot(2,2,2);plot(f, FY1_B_stop1(1:n1+1));grid on; xlabel('频率(f)');ylabel(' 幅度( 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噪声后的的频谱图'); subplot(2,2,4);plot(f, FY1_B_stop3(1:n1+1));grid on; xlabel('频率(f)');ylabel(' 幅度( FY1_B_stop3)'); title('用高通滤波器滤去800Hz和200Hz和50Hz噪声后的的频谱图'); pause(5); % 暂停5s %wavplay(B_stop3,fs); % 读出滤去800Hz和200Hz和50Hz噪声后的采样信号 %wavwrite(B_stop3,fs,16,'dajiahao椭圆滤波器滤波后的语音信号.wav');% 写出滤波后的语音信号
本文档为【椭圆滤波器滤波】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_212655
暂无简介~
格式:doc
大小:28KB
软件:Word
页数:10
分类:生活休闲
上传时间:2017-12-12
浏览量:26