数字信号处理课程设计报告语音信号的采集与处理.doc

上传人:sccc 文档编号:4874480 上传时间:2023-05-20 格式:DOC 页数:45 大小:2.10MB
返回 下载 相关 举报
数字信号处理课程设计报告语音信号的采集与处理.doc_第1页
第1页 / 共45页
数字信号处理课程设计报告语音信号的采集与处理.doc_第2页
第2页 / 共45页
数字信号处理课程设计报告语音信号的采集与处理.doc_第3页
第3页 / 共45页
数字信号处理课程设计报告语音信号的采集与处理.doc_第4页
第4页 / 共45页
数字信号处理课程设计报告语音信号的采集与处理.doc_第5页
第5页 / 共45页
点击查看更多>>
资源描述

《数字信号处理课程设计报告语音信号的采集与处理.doc》由会员分享,可在线阅读,更多相关《数字信号处理课程设计报告语音信号的采集与处理.doc(45页珍藏版)》请在三一办公上搜索。

1、数字信号处理课程设计报告课设题目:语音信号的采集与处理学 院:专 业:班 级:姓 名:学 号:指导教师:2011 年7月1日 课程设计报告撰写要求1、页面设置纸张大小设置为纵向A4,页边距设置为:上3.8厘米,下 3.5厘米,左3厘米,右3厘米,页眉设置为3厘米,页脚设置为2.7厘米,文档网络设置为指定行和字符网格,每行34字,每页34行。2、段落及字体设置除各级标题外,首行缩进2字符;图、表及图题、表题首行不缩进,居中放置;图表不应超出版心范围;行距采用单倍行距。正文中文采用小四号宋体,英文采用新罗马字体(Times New Roman),段前0磅,断后0磅;一级标题采用小二号黑体,段前12

2、磅,段后12磅二级标题采用小三号黑体,段前6磅,段后6磅三级标题采用四号黑体,段前6磅,段后0磅3、装订要求采用左侧装订,订两钉。1. 不要删除行尾的分节符,此行不会被打印哈尔滨工业大学(威海)课程设计报告目 录一. 课程设计任务1二. 课程设计原理及设计方案2三. 课程设计的步骤和结果3四. 课程设计总结4五. 设计体会5六. 参考文献6 - 42 -哈尔滨工业大学(威海)课程设计报告一. 课程设计任务1、语音信号的采集 利用Windows下的录音机,录制一段自己的话音,时间在1s内,然后在Matlab软件平台下,利用函数wavread对语音信号进行采样,记住采样频率和采样点数。2、语音信号

3、的频谱分析 在Matlab中,可以利用函数fft对信号进行快速傅立叶变换,得到信号的频谱特性,要求学生首先画出语音信号的时域波形,然后对语音信号进行频谱分析。3、设计数字滤波器和画出其频率响应给出各滤波器的性能指标; 给定滤波器的性能指标如下: (1)低通滤波器的性能指标:fb=1000Hz,fc=1200Hz,As=100dB,Ap=1dB. (2)高通滤波器的性能指标:fc=4800Hz,fb=5000Hz,As=100dB,Ap=1dB. (3)带通滤波器的性能指标:fb1=1200Hz, fb2=3000Hz,fc1=1000Hz, fc2=3200Hz,As=100dB,Ap=1dB

4、. 采用窗函数法和双线性变换法设计上面要求的3种滤波器,并画出滤波器的频率响应; 4、用滤波器对信号进行滤波 然后用自己设计的滤波器对采集到的信号进行滤波,画出滤波后信号的时域波形及频谱,并对滤波前后的信号进行对比,分析信号的变化; 5、回放语音信号,分析滤波前后的语音变化; 6、设计系统界面 为了使编制的程序操作方便,设计处理系统的用户界面,在所设计的系统界面上可以选择滤波器的类型,输入滤波器的参数、显示滤波器的频率响应,选择信号等。二. 课程设计原理及设计方案1用窗函数法设计FIR滤波器根据过渡带宽及阻带衰减要求,选择窗函数的类型并估计窗口长度N(或阶数M=N-1),窗函数类型可根据最小阻

5、带衰减As独立选择,因为窗口长度N对最小阻带衰减As没有影响,在确定窗函数类型以后,可根据过渡带宽小于给定指标确定所拟用的窗函数的窗口长度N,设待求滤波器的过渡带宽为w,它与窗口长度N近似成反比,窗函数类型确定后,其计算公式也确定了,不过这些公式是近似的,得出的窗口长度还要在计算中逐步修正,原则是在保证阻带衰减满足要求的情况下,尽量选择较小的N,在N和窗函数类型确定后,即可调用MATLAB中的窗函数求出窗函数wd(n)。根据待求滤波器的理想频率响应求出理想单位脉冲响应hd(n),如果给出待求滤波器频率应为Hd,则理想的单位脉冲响应可以用下面的傅里叶反变换式求出:在一般情况下,hd(n)是不能用

6、封闭公式表示的,需要采用数值方法表示;从w=0到w=2采样N点,采用离散傅里叶反变换(IDFT)即可求出。用窗函数wd(n)将hd(n)截断,并进行加权处理,得到如果要求线性相位特性, 则h(n)还必须满足:根据上式中的正、 负号和长度N的奇偶性又将线性相位FIR滤波器分成四类。 要根据所设计的滤波特性正确选择其中一类。 例如, 要设计线性相位低通特性可选择h(n)=h(N-1-n)一类,而不能选h(n)=-h(N-1-n)一类。 验算技术指标是否满足要求,为了计算数字滤波器在频域中的特性,可调用freqz子程序,如果不满足要求,可根据具体情况,调整窗函数类型或长度,直到满足要求为止。2.用双

7、线性变换法设计IIR数字滤波器脉冲响应不变法的主要缺点是产生频率响应的混叠失真。这是因为从S平面到平面是多值的映射关系所造成的。为了克服这一缺点,可以采用非线性频率压缩方法,将整个频率轴上的频率范围压缩到-/T/T之间,再用z=esT转换到Z平面上。也就是说,第一步先将整个S平面压缩映射到S1平面的-/T/T一条横带里;第二步再通过标准变换关系z=es1T将此横带变换到整个Z平面上去。这样就使S平面与Z平面建立了一一对应的单值关系,消除了多值变换性,也就消除了频谱混叠现象,映射关系如图1所示。图1双线性变换的映射关系为了将S平面的整个虚轴j压缩到S1平面j1轴上的-/T到/T段上,可以通过以下

8、的正切变换实现 (1)式中,T仍是采样间隔。当1由-/T经过0变化到/T时,由-经过0变化到+,也即映射了整个j轴。将式(1)写成将此关系解析延拓到整个S平面和S1平面,令j=s,j1=s1,则得再将S1平面通过以下标准变换关系映射到Z平面z=es1T从而得到S平面和Z平面的单值映射关系为: (2) (3)式(2)与式(3)是S平面与Z平面之间的单值映射关系,这种变换都是两个线性函数之比,因此称为双线性变换式(1)与式(2)的双线性变换符合映射变换应满足的两点要求。首先,把z=ej,可得 (4)即S平面的虚轴映射到Z平面的单位圆。其次,将s=+j代入式(4),得因此由此看出,当0时,|z|0时

9、,|z|1。也就是说,S平面的左半平面映射到Z平面的单位圆内,S平面的右半平面映射到Z平面的单位圆外,S平面的虚轴映射到Z平面的单位圆上。因此,稳定的模拟滤波器经双线性变换后所得的数字滤波器也一定是稳定的。双线性变换法优缺点双线性变换法与脉冲响应不变法相比,其主要的优点是避免了频率响应的混叠现象。这是因为S平面与Z平面是单值的一一对应关系。S平面整个j轴单值地对应于Z平面单位圆一周,即频率轴是单值变换关系。这个关系如式(4)所示,重写如下:上式表明,S平面上与Z平面的成非线性的正切关系,如图2所示。由图2看出,在零频率附近,模拟角频率与数字频率之间的变换关系接近于线性关系;但当进一步增加时,增

10、长得越来越慢,最后当时,终止在折叠频率=处,因而双线性变换就不会出现由于高频部分超过折叠频率而混淆到低频部分去的现象,从而消除了频率混叠现象。图2双线性变换法的频率变换关系但是双线性变换的这个特点是靠频率的严重非线性关系而得到的,如式(4)及图2所示。由于这种频率之间的非线性变换关系,就产生了新的问题。首先,一个线性相位的模拟滤波器经双线性变换后得到非线性相位的数字滤波器,不再保持原有的线性相位了;其次,这种非线性关系要求模拟滤波器的幅频响应必须是分段常数型的,即某一频率段的幅频响应近似等于某一常数(这正是一般典型的低通、高通、带通、带阻型滤波器的响应特性),不然变换所产生的数字滤波器幅频响应

11、相对于原模拟滤波器的幅频响应会有畸变,如图3所示。图3双线性变换法幅度和相位特性的非线性映射对于分段常数的滤波器,双线性变换后,仍得到幅频特性为分段常数的滤波器,但是各个分段边缘的临界频率点产生了畸变,这种频率的畸变,可以通过频率的预畸来加以校正。也就是将临界模拟频率事先加以畸变,然后经变换后正好映射到所需要的数字频率上。三. 课程设计的步骤和结果1、语音信号的采集 利用Windows下的录音机,录制一段自己的话音,时间在1s内,然后在Matlab软件平台下,利用函数wavread对语音信号进行采样,记住采样频率和采样点数。程序: y,fs,nbits=wavread( E:matlab_yu

12、yinmy voice.wav )得到:fs = 22050nbits = 16由此可知,采样频率为22050Hz,采样点数为16bit2、语音信号的频谱分析 在Matlab中,利用函数fft对信号进行快速傅立叶变换,得到信号的频谱特性,首先画出语音信号的时域波形,然后对语音信号进行频谱分析。程序:y,fs,nbits=wavread(E:matlab_yuyinmy voice.wav);sound(y,fs,nbits);y = y - mean(y); %去直流成分Y = fftshift(abs(fft(y);w = linspace(-fs/2,fs/2,length(Y);subp

13、lot(2,1,1),plot(y);title(原始信号波形);subplot(2,1,2),plot(w,Y);title(原始信号频谱);axis(0,2000,-inf,inf);3、设计数字滤波器和画出其频率响应给出各滤波器的性能指标; 给定滤波器的性能指标如下: (1)低通滤波器的性能指标:fb=1000Hz,fc=1200Hz,As=100dB,Ap=1dB. (2)高通滤波器的性能指标:fc=4800Hz,fb=5000Hz,As=100dB,Ap=1dB. (3)带通滤波器的性能指标:fb1=1200Hz, fb2=3000Hz,fc1=1000Hz, fc2=3200Hz,

14、As=100dB,Ap=1dB. 采用窗函数法和双线性变换法设计上面要求的3种滤波器,并画出滤波器的频率响应; 4、用滤波器对信号进行滤波 用自己设计的滤波器对采集到的信号进行滤波,画出滤波后信号的时域波形及频谱,并对滤波前后的信号进行对比,分析信号的变化; 窗函数法设计FIR滤波器:(1) 低通滤波器clear all;Ft=22050;Fp=1000;Fs=1200;y,fs,nbits=wavread(my voice.wav);%sound(y,fs,nbits);y=y-mean(y);wp=2*Fp/Ft;ws=2*Fs/Ft;As=100;wdel = ws - wp; %过渡带

15、宽N= ceil( 8*pi/wdel );%取整Wn = (wp + ws)/2 %截止频率即Wc% N取奇数if mod(N,2)=0 N= N + 1; %若为偶数则加1endfcuts=1000*2/Ft 1200*2/Ft; %归一化频率mags=1 0;devs=1-10(1/-20) 10(40/-20);N,Wn,beta,ftype=kaiserord(fcuts,mags,devs); %计算出凯塞窗N,beta的值b= fir1(N,Wn,ftype,kaiser(N+1,beta),noscale); freq_axis = 0:pi/512:pi-pi/512; fr

16、eq_norm = 0:511/512; %归一化的频率轴 H= freqz( b);%变成频率响应 %b为hn系数,1表示无极点(因为是FIR),512表示点数)subplot(2,1,1);plot( freq_norm,20*log10(abs(H) ); %画对数幅度谱hold on;xlabel( 归一化频率w/pi ); ylabel( 幅度(dB) );title( FIR-幅度响应);subplot(2,1,2);plot( freq_norm,angle(H) ); hold on;xlabel( 归一化频率w/pi ); ylabel( 相位 );title( FIR-相位

17、响应);f2=filter(b,1,y); %滤波figure(2)subplot(2,1,1)plot(y)title(FIR低通滤波器滤波前的时域波形);subplot(2,1,2)plot(f2);title(FIR低通滤波器滤波后的时域波形);sound(f2); %播放滤波后的语音信号F0=fftshift(abs(fft(f2);figure(3)y2 = fftshift(abs(fft(y);w = linspace(-Ft/2,Ft/2,length(y2);subplot(2,1,1);plot(w,y2);title(FIR低通滤波器滤波前的频谱)xlabel(频率/Hz

18、);ylabel(幅值);w = linspace(-Ft/2,Ft/2,length(F0);subplot(2,1,2)plot(w,F0);title(FIR低通滤波器滤波后的频谱)xlabel(频率/Hz);ylabel(幅值);分析:由频率响应可看出为低通,与题目要求的fp1=1000,fs1=1200基本吻合,阻带衰减近似为100,且为线性相位。 比较滤波前和滤波后的频谱可发现通过了低频成分,滤掉了高频成分。(2) 高通滤波器clear all;Ft=22050;Fp=5000;Fs=4800;y,fs,nbits=wavread(my voice.wav);%sound(y,fs

19、,nbits);y=y-mean(y);wp=2*Fp/Ft;ws=2*Fs/Ft;As=100;wdel = wp - ws; %过渡带宽N= ceil( 8*pi/wdel );%取整Wn = (wp + ws)/2 %截止频率即Wc% N取奇数if mod(N,2)=0 N= N + 1; %若为偶数则加1endfcuts=4800*2/Ft 5000*2/Ft; %归一化频率mags=0 1;devs=1-10(1/-20) 10(40/-20);N,Wn,beta,ftype=kaiserord(fcuts,mags,devs); %计算出凯塞窗N,beta的值b= fir1(N,W

20、n,ftype,kaiser(N+1,beta),noscale); freq_axis = 0:pi/512:pi-pi/512; freq_norm = 0:511/512; %归一化的频率轴 H= freqz( b);%变成频率响应 %b为hn系数,1表示无极点(因为是FIR),512表示点数)subplot(2,1,1);plot( freq_norm,20*log10(abs(H) ); %画对数幅度谱hold on;xlabel( 归一化频率w/pi ); ylabel( 幅度(dB) );title( FIR-幅度响应);subplot(2,1,2);plot( freq_nor

21、m,angle(H) ); hold on;xlabel( 归一化频率w/pi ); ylabel( 相位 );title( FIR-相位响应);f2=filter(b,1,y);figure(2)subplot(2,1,1)plot(y)title(FIR高通滤波器滤波前的时域波形);subplot(2,1,2)plot(f2);title(FIR高通滤波器滤波后的时域波形);sound(f2); %播放滤波后的语音信号F0=fftshift(abs(fft(f2);figure(3)y2 = fftshift(abs(fft(y);w = linspace(-Ft/2,Ft/2,lengt

22、h(y2);subplot(2,1,1);plot(w,y2);title(FIR高通滤波器滤波前的频谱)xlabel(频率/Hz);ylabel(幅值);w = linspace(-Ft/2,Ft/2,length(F0);subplot(2,1,2)plot(w,F0);title(FIR高通滤波器滤波后的频谱)xlabel(频率/Hz);ylabel(幅值);分析:由频率响应可看出为高通,与题目要求的fp1=5000,fs1=4800基本吻合,阻带衰减近似为100,且为线性相位。 比较滤波前和滤波后的频谱可发现通过了高频成分,滤掉了低频成分。(3) 带通滤波器clear all;Ft=2

23、2050;Fp1=1200;Fp2=3000;Fs1=1000;Fs2=3200;y,fs,nbits=wavread(my voice.wav);%sound(y,fs,nbits);y=y-mean(y);wp1=2*Fp1/Ft;wp2=2*Fp2/Ft;ws1=2*Fs1/Ft;ws2=2*Fs2/Ft;As=100;wp=(wp1 + ws1)/2;ws=(wp2 + ws2)/2;wdel = wp1 - ws1; %过渡带宽N= ceil( 8*pi/wdel );%取整Wn = wp ws; %截止频率即Wc% N取奇数if mod(N,2)=0 N= N + 1; %若为偶数

24、则加1endfcuts=1000*2/Ft 1200*2/Ft 3000*2/Ft 3200*2/Ft; %归一化频率mags=0 1 0;devs=0.01 0.1087 0.01;N,Wn,beta,ftype=kaiserord(fcuts,mags,devs); %计算出凯塞窗N,beta的值b= fir1(N,Wn,ftype,kaiser(N+1,beta),noscale); freq_axis = 0:pi/512:pi-pi/512; freq_norm = 0:511/512; %归一化的频率轴 H= freqz( b);%变成频率响应 %b为hn系数,1表示无极点(因为是

25、FIR),512表示点数)subplot(2,1,1);plot( freq_norm,20*log10(abs(H) ); %画对数幅度谱hold on;xlabel( 归一化频率w/pi ); ylabel( 幅度(dB) );title( FIR-幅度响应);subplot(2,1,2);plot( freq_norm,angle(H) ); hold on;xlabel( 归一化频率w/pi ); ylabel( 相位 );title( FIR-相位响应);f2=filter(b,1,y);figure(2)subplot(2,1,1)plot(y)title(FIR带通滤波器滤波前的

26、时域波形);subplot(2,1,2)plot(f2);title(FIR带通滤波器滤波后的时域波形);sound(f2); %播放滤波后的语音信号F0=fftshift(abs(fft(f2);figure(3)y2 = fftshift(abs(fft(y);w = linspace(-Ft/2,Ft/2,length(y2);subplot(2,1,1);plot(w,y2);title(FIR带通滤波器滤波前的频谱)xlabel(频率/Hz);ylabel(幅值);w = linspace(-Ft/2,Ft/2,length(F0);subplot(2,1,2)plot(w,F0);

27、title(FIR带通滤波器滤波后的频谱)xlabel(频率/Hz);ylabel(幅值);分析:由频率响应可看出为带通,与题目要求的fp1=1200,fp2=3000,fs1=1000,fs2=3200基本吻合,阻带衰减近似为100,且为线性相位。 比较滤波前和滤波后的频谱可发现通过了通带中的频率成分,滤掉了低频和高频成分。双线性变换法设计IIR滤波器(1)低通滤波器clear all;Ft=22050;Fp=1000;Fs=1200;y,fs,nbits=wavread(my voice.wav);%sound(y,fs,nbits);y=y-mean(y);as=100;ap=1;wp=

28、2*pi*Fp/Ft;ws=2*pi*Fs/Ft;fs1=1;fp=2*tan(wp/2);fs=2*tan(ws/2);n11,wn11=ellipord(wp,ws,ap,as,s);b11,a11=ellip(n11,ap,as,wn11,low,s);num11,den11=bilinear(b11,a11,fs1);h,w=freqz(num11,den11,512,Ft);subplot(2,1,1);plot( w,20*log10(abs(h) ); %画对数幅度谱hold on;xlabel( 归一化频率w/pi ); ylabel( 幅度(dB) );title( IIR-

29、幅度响应);subplot(2,1,2);plot( w,angle(h) ); hold on;xlabel( 归一化频率w/pi ); ylabel( 相位 );title( IIR-相位响应);f1=filter(num11,den11,y);figure(2)subplot(2,1,1)plot(y) %画出滤波前的时域图title(IIR低通滤波器滤波前的时域波形);subplot(2,1,2)plot(f1); %画出滤波后的时域图title(IIR低通滤波器滤波后的时域波形);sound(f1); %播放滤波后的信号F0=fftshift(abs(fft(f1);w = lins

30、pace(-Ft/2,Ft/2,length(F0);figure(3)y2=fftshift(abs(fft(y);subplot(2,1,1);plot(w,y2); %画出滤波前的频谱图title(IIR低通滤波器滤波前的频谱)xlabel(频率/Hz);ylabel(幅值);w = linspace(-Ft/2,Ft/2,length(y2);subplot(2,1,2)plot(w,abs(F0); %画出滤波后的频谱图title(IIR低通滤波器滤波后的频谱)xlabel(频率/Hz);ylabel(幅值);分析:由频率响应可看出为低通,与题目要求的fp1=1000,fs1=120

31、0基本吻合,阻带衰减近似为100,但非线性相位。 比较滤波前和滤波后的频谱可发现通过了低频成分,滤掉了高频成分。(2)高通滤波器clear all;Ft=22050;Fp=5000;Fs=4800;y,fs,nbits=wavread(my voice.wav);%sound(y,fs,nbits);y=y-mean(y);as=100;ap=1;wp=2*pi*Fp/Ft;ws=2*pi*Fs/Ft;fs1=1;fp=2*tan(wp/2);fs=2*tan(ws/2);n11,wn11=ellipord(wp,ws,ap,as,s);b11,a11=ellip(n11,ap,as,wn11

32、,high,s);num11,den11=bilinear(b11,a11,fs1);h,w=freqz(num11,den11,512,Ft);subplot(2,1,1);plot( w,20*log10(abs(h) ); %画对数幅度谱hold on;xlabel( 归一化频率w/pi ); ylabel( 幅度(dB) );title( IIR-幅度响应);subplot(2,1,2);plot( w,angle(h) ); hold on;xlabel( 归一化频率w/pi ); ylabel( 相位 );title( IIR-相位响应);f1=filter(num11,den11

33、,y);figure(2)subplot(2,1,1)plot(y) %画出滤波前的时域图title(IIR高通滤波器滤波前的时域波形);subplot(2,1,2)plot(f1); %画出滤波后的时域图title(IIR高通滤波器滤波后的时域波形);sound(f1); %播放滤波后的信号F0=fftshift(abs(fft(f1);w = linspace(-Ft/2,Ft/2,length(F0);figure(3)y2=fftshift(abs(fft(y);subplot(2,1,1);plot(w,y2); %画出滤波前的频谱图title(IIR高通滤波器滤波前的频谱)xlab

34、el(频率/Hz);ylabel(幅值);w = linspace(-Ft/2,Ft/2,length(y2);subplot(2,1,2)plot(w,abs(F0); %画出滤波后的频谱图title(IIR高通滤波器滤波后的频谱)xlabel(频率/Hz);ylabel(幅值);分析:由频率响应可看出为高通,与题目要求的fp1=5000,fs1=4800基本吻合,阻带衰减近似为100,但非线性相位。 比较滤波前和滤波后的频谱可发现通过了高频成分,滤掉了低频成分。(3)带通滤波器clear all;Ft=22050;Fp1=1200;Fp2=3000;Fs1=1000;Fs2=3200;y,

35、fs,nbits=wavread(my voice.wav);%sound(y,fs,nbits);y=y-mean(y);Fp=Fp1,Fp2;Fs=Fs1,Fs2;as=100;ap=1;T=2;wp1=2*pi*Fp1/Ft;wp2=2*pi*Fp2/Ft;ws1=2*pi*Fs1/Ft;ws2=2*pi*Fs2/Ft;Wp1=(2/T)*tan(wp1/2);Wp2=(2/T)*tan(wp2/2);Ws1=(2/T)*tan(ws1/2);Ws2=(2/T)*tan(ws1/2)W0=Wp1*Wp2;w0=sqrt(W0);BW=Wp2-Wp1; %带通滤波器的通带宽度lp=1; %

36、归一化处理ls=Ws1*BW/(W0-Ws12);N,Wn=ellipord(lp,ls,ap,as,s);B,A=ellip(N,1,40,Wn,s);BT,AT=lp2bp(B,A,w0,BW);num,den=bilinear(BT,AT,0.5);z,p,k=tf2zp(num,den);h,w=freqz(num,den,512,Ft);figure(1)subplot(2,1,1);plot( w,20*log10(abs(h) ); %画对数幅度谱hold on;xlabel( 频率w/pi ); ylabel( 幅度(dB) );title( IIR-幅度响应);subplot

37、(2,1,2);plot( w,angle(h) ); hold on;xlabel( 频率w/pi ); ylabel( 相位 );title( IIR-相位响应);f1=filter(num,den,y);figure(2)subplot(2,1,1)plot(y) %画出滤波前的时域图title(IIR带通滤波器滤波前的时域波形);subplot(2,1,2)plot(f1); %画出滤波后的时域图title(IIR带通滤波器滤波后的时域波形);sound(f1); %播放滤波后的信号F0=fftshift(abs(fft(f1);w = linspace(-Ft/2,Ft/2,leng

38、th(F0);figure(3)y2=fftshift(abs(fft(y);subplot(2,1,1);plot(w,y2); %画出滤波前的频谱图title(IIR带通滤波器滤波前的频谱)xlabel(频率/Hz);ylabel(幅值);w = linspace(-Ft/2,Ft/2,length(y2);subplot(2,1,2)plot(w,abs(F0); %画出滤波后的频谱图title(IIR带通滤波器滤波后的频谱)xlabel(频率/Hz);ylabel(幅值);分析:由频率响应可看出为带通,与题目要求的fp1=1200,fp2=3000,fs1=1000,fs2=3200基

39、本吻合,阻带衰减近似为100,但非线性相位。 比较滤波前和滤波后的频谱可发现通过了通带中的频率成分,滤掉了低频和高频成分。此外,还可以利用matlab自带的fdatool工具来设计已知fp,fs和衰减的滤波器,例1(IIR滤波器设计):设计巴特沃斯高通滤波器,性能指标为Fs=22050Hz,fs=4800Hz,fp=5000Hz,Ap=1,As=100。在fdatool界面中输入参数,并生成相应的.m文件,然后求得滤波器的频率响应输出。程序:%function Hd = fdatool_butter_high%FDATOOL_BUTTER_HIGH Returns a discrete-tim

40、e filter object.% M-File generated by MATLAB(R) 7.8 and the Signal Processing Toolbox 6.11.% Generated on: 05-Jul-2011 21:16:59% Butterworth Highpass filter designed using FDESIGN.HIGHPASS.% All frequency values are in Hz.Fs = 22050; % Sampling FrequencyFstop = 4800; % Stopband FrequencyFpass = 5000

41、; % Passband FrequencyAstop = 100; % Stopband Attenuation (dB)Apass = 1; % Passband Ripple (dB)match = stopband; % Band to match exactly% Construct an FDESIGN object and call its BUTTER method.h = fdesign.highpass(Fstop, Fpass, Astop, Apass, Fs);Hd = design(h, butter, MatchExactly, match);H = freqz(

42、Hd);w = linspace(0,Fs/2,length(H);subplot(2,1,1);plot(w,20*log10(abs(H);%画对数幅度谱hold on;xlabel( 归一化频率w/pi ); ylabel( 幅度(dB) );title( IIR-幅度响应);subplot(2,1,2);plot( w,angle(H) ); hold on;xlabel( 归一化频率w/pi ); ylabel( 相位 );title( IIR-相位响应);% EOF可得到频率响应如下图:例2(FIR滤波器设计):设计凯撒高通滤波器,性能指标为Fs=22050Hz,fs=4800Hz,fp=5000Hz,Ap=1,As=100。则关键程序为:N,Wn,BETA,TYPE = kaiserord(Fstop Fpass/(Fs/2), 0 1, Dpass Dstop);% Calculate the coefficients using the FIR1 function.b = fir1(N, Wn, TYPE, kaiser(N+1, BETA), flag);Hd = dfilt.dffir(b);H= freqz( b);%变成频率响应 %b为hn系数,1表示无极点(因为是FIR)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号