编辑: yyy888555 2013-06-07

%返回采样点数 t=(1:N)/fs;

df=fs/N;

%采样间隔 n1=1:N;

f=(n1-1)*df;

%频带宽度 双线性变换法设计低通滤波器*** wp=2000*pi/fs;

ws=2400*pi/fs;

[n,wn]=buttord(wp,ws,1,10);

[b,a]=butter(n,wn/pi);

[H,m]=freqz(b,a);

figure(1);

plot(m,abs(H));

title('

IIR低通滤波器的频率响应'

);

xlabel('

频率W(rad)'

);

ylabel('

幅值'

);

grid;

figure(2);

y3=fft(x);

%原信号进行快速傅立叶变换 ys=filter(b,a,x);

%信号送入滤波器滤波,ys为输出 yz=fft(ys);

subplot(2,1,1);

plot(f,abs(y3));

title('

原信号的频谱图'

);

xlabel('

频率'

);

ylabel('

幅值'

);

subplot(2,1,2);

plot(f,abs(yz));

title('

IIR低通滤波器滤波后的信号频谱图'

);

xlabel('

频率'

);

ylabel('

幅值'

);

%声音信号时域波形 figure(3);

subplot(2,1,1);

plot(t,x);

title('

声音信号时域波形'

);

subplot(2,1,2);

plot(t,ys);

title('

滤波后声音信号时域波形'

);

sound(ys,fs);

实验结果: (5)、IIR高通滤波器: function[]=iirhighpass();

[x,fs,bits]=wavread('

yuyin.wav'

);

N=length(x);

%返回采样点数 t=(1:N)/fs;

df=fs/N;

%采样间隔 n1=1:N;

f=(n1-1)*df;

%频带宽度 双线性变换法设计高通滤波器* wp=2*5000*pi/fs;

ws=2*4800*pi/fs;

[n,wn]=buttord(wp,ws,1,20);

[b,a]=butter(n,wn/pi,'

high'

);

H=freqz(b,a);

figure(1);

plot(abs(H));

title('

巴特沃斯滤波器的频率响应'

);

xlabel('

频率W(rad)'

);

ylabel('

幅值'

);

grid;

figure(3);

ys=filter(b,a,x);

%信号送入滤波器滤波,ys为输出 ya=fft(ys);

%将滤波后的语音信号进行快速傅立叶变换 y3=fft(x);

%原信号进行快速傅立叶变换 subplot(2,1,1);

plot(f,abs(y3));

title('

原信号的频谱图'

);

xlabel('

频率'

);

ylabel('

幅值'

);

subplot(2,1,2);

plot(f,abs(ya));

title('

IIR高通滤波器滤波后的信号频谱图'

);

xlabel('

频率'

);

ylabel('

幅值'

);

figure(2) subplot(2,1,1);

plot(t,x);

title('

原信号时域图'

);

subplot(2,1,2);

plot(t,ys);

title('

滤波后信号时域图'

);

sound(ys,fs);

实验结果: (6)、IIR低通滤波器: function[]=iirbandpass();

[x,fs,bits]=wavread('

yuyin.wav'

);

N=length(x);

%返回采样点数 t=(1:N)/fs;

df=fs/N;

%采样间隔 n1=1:N;

f=(n1-1)*df;

%频带宽度 双线性变换法设计带通滤波器*** wp1=2400*pi/fs;

ws1=2000*pi/fs;

wp2=6000*pi/fs;

ws2=6400*pi/fs;

[n,wn]=buttord([wp1 wp2],[ws1 ws2],1,10);

[b,a]=butter(n,wn);

[H,m]=freqz(b,a);

figure(1);

plot(m*fs/(2*pi),abs(H));

title('

巴特沃斯滤波器的频率响应'

);

xlabel('

频率W(rad)'

);

ylabel('

幅值'

);

grid;

figure(2);

ys=filter(b,a,x);

%信号送入滤波器滤波,ys为输出 ya=fft(ys);

%将滤波后的语音信号进行快速傅立叶变换 y3=fft(x);

%原信号进行快速傅立叶变换 subplot(2,1,1);

plot(f,abs(y3));

title('

原信号的频谱图'

);

xlabel('

频率........

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题