语音信号处理 (2)_第1页
语音信号处理 (2)_第2页
语音信号处理 (2)_第3页
语音信号处理 (2)_第4页
语音信号处理 (2)_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、学号:0709121072 2009 - 2010学年 第 2学期 语音信号处理课 程 设 计 报 告题 目: 巴特沃斯低通滤波器的的设计 班 级: 07电信本 姓 名: 姚卫邦 指导教师: 冯锁 成 绩: 电气工程系2010年6 月20 日课 程 设 计 任 务 书学生班级: 07电信本 学生姓名: 姚卫邦 学号: 0709121072 设计名称: 巴特沃斯低通滤波器的的设计 起止日期: 2010.6.122010.6.20 指导教师: 冯锁 设计要求:1、 产生一个语音信号,画出时域波形及频谱2、 产生一个高频的余弦信号,频率自定义,画出时域波形及频谱3、 将语音信号与余弦信号叠加,画出时

2、域波形及频谱4、 利用设计的滤波器实现滤波,并画出时域波形及频谱5、 分析实验结果摘要巴特沃斯(Butterworth)滤波器是一种具有最大平坦幅度响应的低通滤波器,它在通信领域里已有广泛应用,在电测中也具有广泛的用途,可以作检测信号的滤波器。MATLAB语言是一种面向科学与工程计算的语言。它编程效率高,测试程序手段丰富,扩展能力强,内涵丰富。它的信号处理工具箱提供了设计巴特沃斯滤波器的函数,本文充分利用这些函数,进行了巴特沃斯滤波器的程序设计,并将其作为函数文件保存,可方便地进行调用。目录一、 前言.2 二、基本要求.2三、巴特沃斯低通IIR滤波器的设计.3四、具体步骤.3六、心得体会.7七

3、、参考文献.7一、前言巴特沃斯(Butterworth)滤波器是一种具有最大平坦幅度响应的低通滤波器,它在通信领域里已有广泛应用,在电测中也具有广泛的用途,可以作检测信号的滤波器。MATLAB语言是一种面向科学与工程计算的语言。它编程效率高,测试程序手段丰富,扩展能力强,内涵丰富。它的信号处理工具箱提供了设计巴特沃斯滤波器的函数,本文充分利用这些函数,进行了巴特沃斯滤波器的程序设计,并将其作为函数文件保存,可方便地进行调用。IR滤波器有以下几个特点: 1IIR数字滤波器的系统函数可以写成封闭函数的形式。 2IIR数字滤波器采用递归型结构,即结构上带有反馈环路。IIR滤波器运算结构通常由延时、乘

4、以系数和相加等基本运算组成,可以组合成直接型、正准型、级联型、并联型四种结构形式,都具有反馈回路。由于运算中的舍入处理,使误差不断累积,有时会产生微弱的寄生振荡。 3IIR数字滤波器在设计上可以借助成熟的模拟滤波器的成果,如巴特沃斯、契比雪夫和椭圆滤波器等,有现成的设计数据或图表可查,其设计工作量比较小,对计算工具的要求不高。在设计一个IIR数字滤波器时,我们根据指标先写出模拟滤波器的公式,然后通过一定的变换,将模拟滤波器的公式转换成数字滤波器的公式。 4IIR数字滤波器的相位特性不好控制,对相位要求较高时,需加相位校准网络。 在MATLAB下设计IIR滤波器可使用Butterworth函数设

5、计出巴特沃斯滤波器,使用Cheby1函数设计出契比雪夫I型滤波器,使用Cheby2设计出契比雪夫II型滤波器,使用ellipord函数设计出椭圆滤波器。下面主要介绍前两个函数的使用。 与FIR滤波器的设计不同,IIR滤波器设计时的阶数不是由设计者指定,而是根据设计者输入的各个滤波器参数(截止频率、通带滤纹、阻带衰减等),由软件设计出满足这些参数的最低滤波器阶数。在MATLAB下设计不同类型IIR滤波器均有与之对应的函数用于阶数的选择。 二、基本要求:l 产生一个语音信号,画出时域波形及频谱;l 产生一个高频的余弦信号,频率自定义,画出时域波形及频谱;l 将语音信号与余弦信号叠加,画出时域波形及

6、频谱;l 利用设计的滤波器实现滤波,并画出时域波形及频谱;分析实验结果三、巴特沃斯低通IIR滤波器的设计 在MATLAB下,设计巴特沃斯IIR滤波器可使用butter函数。 Butter函数可设计低通、高通、带通和带阻的数字和模拟IIR滤波器,其特性为使通带内的幅度响应最大限度地平坦,但同时损失截止频率处的下降斜度。在期望通带平滑的情况下,可使用butter函数。 butter函数的用法为: b,a=butter(n,Wn,/ftype/) 其中n代表滤波器阶数,Wn代表滤波器的截止频率,这两个参数可使用buttord函数来确定。buttord函数可在给定滤波器性能的情况下,求出巴特沃斯滤波器

7、的最小阶数n,同时给出对应的截止频率Wn。buttord函数的用法为: n,Wn= buttord(Wp,Ws,Rp,Rs) 其中Wp和Ws分别是通带和阻带的拐角频率(截止频率),其取值范围为0至1之间。当其值为1时代表采样频率的一半。Rp和Rs分别是通带和阻带区的波纹系数。 不同类型(高通、低通、带通和带阻)滤波器对应的Wp和Ws值遵循以下规则: 1高通滤波器:Wp和Ws为一元矢量且Wp>Ws; 2低通滤波器:Wp和Ws为一元矢量且Wp<Ws; 3带通滤波器:Wp和Ws为二元矢量且Wp<Ws,如Wp=0.2,0.7,Ws=0.1,0.8; 4带阻滤波器:Wp和Ws为二元矢量

8、且Wp>Ws,如Wp=0.1,0.8,Ws=0.2,0.7。 四、具体步骤1产生一个高频余弦信号:N =256; n = 1:256; x = fix(128 + (27 - 10) * con(2*pi*n/N); plot(x) fid = fopen('e:/sin.txt','wt'); fprintf(fid,'%xn',x);fclose(fid); 2高斯白噪声的产生:产生一个高斯白噪声,并且让MATLAB输出高斯的时域波形和频谱。让产生的高斯白噪声与一个语音信号叠加,画出叠加后的时域波形和频谱。并设计一个滤波器,滤除高斯白噪

9、声,画出滤波后的时域波形和频谱。 t = 0:.1:10;x = sawtooth(t); % Create sawtooth signal.y = awgn(x,10,'measured'); % Add white Gaussian noise.plot(t,x,t,y) % Plot both signals.legend('Original signal','Signal with AWGN'); 3语音信号的波形及频谱:fs=22050; %语音信号采样频率为22050x1=wavread('Windows Critical S

10、top.wav'); %读取语音信号的数据,赋给变量x1sound(x1,22050); %播放语音信号y1=fft(x1,1024); %对信号做1024点FFT变换f=fs*(0:511)/1024;figure(1)plot(x1) %做原始语音信号的时域图形title('原始语音信号');xlabel('time n');ylabel('fuzhi n');figure(2)freqz(x1) %绘制原始语音信号的频率响应图title('频率响应图')figure(3)subplot(2,1,1);plot(abs

11、(y1(1:512) %做原始语音信号的FFT频谱图title('原始语音信号FFT频谱')subplot(2,1,2);plot(f,abs(y1(1:512);title('原始语音信号频谱')xlabel('Hz');ylabel('fuzhi');4巴特沃斯低通滤波器的实现程序fs=22050; %语音信号采样频率为22050x1=wavread('Windows Critical Stop.wav'); %读取语音信号的数据,赋给变量x1t=0:1/22050:(size(x1)-1)/22050;y1=

12、fft(x1,1024); %对信号做1024点FFT变换f=fs*(0:511)/1024;x2=randn(1,length(x1); %产生一与x长度一致的随机信号sound(x2,22050);figure(1)plot(x2) %做原始语音信号的时域图形title('高斯随机噪声');xlabel('time n');ylabel('fuzhi n');randn('state',0);m=randn(size(x1);x2=0.1*m+x1;sound(x2,22050);%播放加噪声后的语音信号y2=fft(x2,1

13、024);figure(2)plot(t,x2)title('加噪后的语音信号');xlabel('time n');ylabel('fuzhi n');figure(3)subplot(2,1,1);plot(f,abs(y2(1:512);title('原始语音信号频谱');xlabel('Hz');ylabel('fuzhi');subplot(2,1,2);plot(f,abs(y2(1:512);title('加噪后的语音信号频谱');xlabel('Hz'

14、);ylabel('fuzhi');程序3:双线性变换法设计Butterworth滤波器fs=22050;x1=wavread('h:课程设计2shuzi.wav');t=0:1/22050:(size(x1)-1)/22050;Au=0.03;d=Au*cos(2*pi*5000*t)'x2=x1+d;wp=0.25*pi;ws=0.3*pi;Rp=1;Rs=15;Fs=22050;Ts=1/Fs;wp1=2/Ts*tan(wp/2); %将模拟指标转换成数字指标ws1=2/Ts*tan(ws/2); N,Wn=buttord(wp1,ws1,Rp,R

15、s,'s'); %选择滤波器的最小阶数Z,P,K=buttap(N); %创建butterworth模拟滤波器Bap,Aap=zp2tf(Z,P,K);b,a=lp2lp(Bap,Aap,Wn); bz,az=bilinear(b,a,Fs); %用双线性变换法实现模拟滤波器到数字滤波器的转换H,W=freqz(bz,az); %绘制频率响应曲线figure(1)plot(W*Fs/(2*pi),abs(H)gridxlabel('频率Hz')ylabel('频率响应幅度')title('Butterworth')f1=filte

16、r(bz,az,x2);figure(2)subplot(2,1,1)plot(t,x2) %画出滤波前的时域图title('滤波前的时域波形');subplot(2,1,2)plot(t,f1); %画出滤波后的时域图title('滤波后的时域波形');sound(f1,22050); %播放滤波后的信号F0=fft(f1,1024);f=fs*(0:511)/1024;figure(3)y2=fft(x2,1024);subplot(2,1,1);plot(f,abs(y2(1:512); %画出滤波前的频谱图title('滤波前的频谱')x

17、label('Hz');ylabel('fuzhi');subplot(2,1,2)F1=plot(f,abs(F0(1:512); %画出滤波后的频谱图title('滤波后的频谱')xlabel('Hz');ylabel('fuzhi');五、心得体会通过对课程设计,使学生对信号的采集,处理,传输,显示,存储和分析等有一个系统的掌握和理解。巩固和运用在数字信号处理课程中所学的理论知识和实验技能,掌握最基本的数字信号处理的理论和方法,培养学生发现问题,分析问题和解决问题的能力。利用本文的butterdesign函数就可以轻而易举地设计出满足性能指标的要求,并绘制出巴特沃斯滤波器的频率特性曲线,使得巴特沃斯滤波器的设计变得更加简单、快捷、直观。六、参考文献1 张殿龙,王福文巴特沃斯低通滤波器在电动机测试中的应用J电测与仪表,2001,38(424)2 王永初Buttworth滤波器在过程控制中的应用J工业仪表与自动化装置,1994,63 陈思巴特沃斯低通滤波器的简化快速设计J】信阳师范学院学报(自然科学版),1997,1o(3)4 楼顺天,李博菡基于A,T

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论