鏁板瓧淇″彿澶勭悊璇剧▼璁捐.. - 鐧惧害鏂囧簱 联系客服

发布时间 : 星期六 文章鏁板瓧淇″彿澶勭悊璇剧▼璁捐.. - 鐧惧害鏂囧簱更新完毕开始阅读a8960f86a0c7aa00b52acfc789eb172dec639962

图2.3巴特沃思带通滤波器

3.将声音信号送入滤波器滤波

x=wavread('C:\\Users\\acer\\Desktop\\数字信号\\sound.wav');%播放原始信号

wavplay(x,fs); %播放原始信号 N=length(x);%返回采样点数 df=fs/N;%采样间隔 n1=1:N/2;

f=[(n1-1)*(2*pi/N)]/pi;%频带宽度 figure(4); subplot(4,2,1);

plot(x);%录制信号的时域波形

13

title('原始信号的时域波形');%加标题 ylabel('幅值/A');%显示纵坐标的表示意义 grid;%加网格

y0=fft(x);%快速傅立叶变换 subplot(4,2,3);

plot(f,abs(y0(n1)));%原始信号的频谱图 title('原始信号的频谱图');%加标题 xlabel('频率w/pi');%显示横坐标表示的意义 ylabel('幅值 ');%显示纵坐标表示的意义 title('原始信号的频谱图');%加标题 grid;%加网格

3.1低通滤波器滤波 fs=8000; beta=10.056; wc=2*pi*1000/fs; ws=2*pi*1200/fs; width=ws-wc;

wn=(ws+wc)/2; n=ceil(12.8*pi /width);

h=fir1(n,wn/pi,'band',kaiser(n+1,beta)); [h1,w]=freqz(h);

14

ys=fftfilt(h,x);%信号送入滤波器滤波,ys为输出 fftwave=fft(ys);%将滤波后的语音信号进行快速傅立叶变换 figure(4);

subplot(4,2,2);%在四行两列的第二个窗口显示图形 plot(ys);%信号的时域波形

title('低通滤波后信号的时域波形');%加标题 xlabel('频率w/pi');

ylabel('幅值/A');%显示标表示的意义 grid;%网格

subplot(4,2,4); %在四行两列的第四个窗口显示图形 plot(f, abs(fftwave(n1)));%绘制模值 xlabel('频率w/pi');

ylabel('幅值/A');%显示标表示的意义

title('低通滤波器滤波后信号的频谱图');%标题 grid;%加网格

wavplay(ys,8000); %播放滤波后信号

3.2高通滤波器滤波 fs=8000; beta=10.056; ws=2*5000/fs; wc=2*4800/fs;

15

width=ws-wc;

wn=(ws+wc)/2; n=ceil(12.8*pi/width);

h=fir1(n,wn/pi, 'high',kaiser(n+2,beta)); [h1,w]=freqz(h);

ys=fftfilt(h,x);%将信号送入高通滤波器滤波 subplot(4,2,5);%在四行两列的第五个窗口显示图形 plot(ys);%信号的时域波形 xlabel('频率w/pi');

ylabel('幅值/A');%显示标表示的意义 title('高通滤波后信号的时域波形');%标题 ylabel('幅值/A');%显示纵坐标的表示意义 grid;%网格

fftwave=fft(ys); %将滤波后的语音信号进行快速傅立叶变换 subplot(4,2,7);%在四行两列的第七个窗口显示图形 plot(f,abs(fftwave(n1)));%绘制模值 axis([0 1 0 50]); xlabel('频率w/pi');

ylabel('幅值/A');%显示标表示的意义

title('高通滤波器滤波后信号的频谱图');%标题 grid;%加网格

wavplay(ys,8000); %播放滤波后信号

16