数字信号处理课程设计(3)

2020-02-21 15:31

[N,wc]=buttord(wap,was,rp,rs,'s'); [B,A]=butter(N,wc,'high','s'); [Bz,Az]=bilinear(B,A,Fs1); figure(1);

[h,w]=freqz(Bz,Az,512,Fs1*22050); plot(w,abs(h));

title('巴特沃斯高通滤波器');

xlabel('频率(HZ)');ylabel('耗损(dB)'); grid on;

图2.2巴特沃思高通滤波器

11

2.3设计巴特沃思带通滤波器

MATLAB程序如下。滤波器图如图3.7所示。 %带通滤波

fp=[1200,3000];fs=[1000,3200];Fs=8000; rp=1;rs=100; wp=2*pi*fp/Fs; ws=2*pi*fs/Fs; T=1;Fs1=1; wap=2*tan(wp/2); was=2*tan(ws/2);

[N,wc]=buttord(wap,was,rp,rs,'s'); [B,A]=butter(N,wc,'s'); [Bz,Az]=bilinear(B,A,Fs1); figure(4);

[h,w]=freqz(Bz,Az,512,Fs1*1000); plot(w,abs(h));

title('巴特沃斯带通滤波器');

xlabel('频率(HZ)');ylabel('耗损(dB)'); grid on;

12

图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


数字信号处理课程设计(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:(冀教版)六年级数学上册教案 测量旗杆高度

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: