数字信号处理课程设计语音信号的处理与滤波

上传人:1666****666 文档编号:39483679 上传时间:2021-11-11 格式:DOC 页数:10 大小:119KB
返回 下载 相关 举报
数字信号处理课程设计语音信号的处理与滤波_第1页
第1页 / 共10页
数字信号处理课程设计语音信号的处理与滤波_第2页
第2页 / 共10页
数字信号处理课程设计语音信号的处理与滤波_第3页
第3页 / 共10页
点击查看更多>>
资源描述
工学院数字信号处理课程设计说 明 书设计题目 语音信号的处理与滤波系 别 计算机工程系专业班级 通信061学生姓名 学 号 指导教师 日 期 日摘要: 本文主要利用MATLAB工具采用双线性法和窗函数法设计IIR滤波器和FIR数字滤波器,并通过所设计的滤波器进行语音信号滤波分析,初步学会信号处理的过程和分析问题的能力。关键词:MATLAB 滤波器设计 一引言随着信息时代和数字世界的到来,数字信号处理已成为今一门极其重要的学科和技术领域。数字信号处理在通信语音、图像、自动控制、雷达、军事、航空航天、医疗和家用电器等众多领域得到了广泛的应用。在数字信号处理应用中,数字滤波器十分重要并已获得广泛应用。二MATLAB工具简介1MATLAB是矩阵实验室(MatrixLaboratory)之意,现已发展成为适合多学科,多种工作平台的功能强大的大型软件,已经成为线性代数,自动控制理论,数理统计,数字信号处理,时间序列分析,动态系统仿真等高级课程的基本教学工具;2MATLAB的语言特点(1)。语言简洁紧凑,使用方便灵活,库函数极其丰富。MATLAB程序书写形式自由,利用起丰富的库函数避开繁杂的子程序编程任务,压缩了一切不必要的编程工作。由于库函数都由本领域的专家编写,用户不必担心函数的可靠性。(2)运算符丰富。由于MATLAB是用C语言编写的,MATLAB提供了和C语言几乎一样多的运算符,灵活使用MATLAB的运算符将使程序变得极为简短。 (3)MATLAB既具有结构化的控制语句(如for循环,while循环,break语句和if语句),又有面向对象编程的特性。 (4)程序限制不严格,程序设计自由度大。例如,在MATLAB里,用户无需对矩阵预定义就可使用。 (5)程序的可移植性很好,基本上不做修改就可在各种型号的计算机和操作系统上运行。 (6)MATLAB的图形功能强大。在FORTRAN和C语言里,绘图都很不容易,但在MATLAB里,数据的可视化非常简单。MATLAB还具有较强的编辑图形界面的能力。 (7)MATLAB的缺点是,它和其他高级程序相比,程序的执行速度较慢。由于MATLAB的程序不用编译等预处理,也不生成可执行文件,程序为解释执行,所以速度较慢。 (8)功能强大的工具箱是MATLAB的另一特色。MATLAB包含两个部分:核心部分和各种可选的工具箱。核心部分中有数百个核心内部函数。其工具箱又分为两类:功能性工具箱和学科性工具箱。功能性工具箱主要用来扩充其符号计算功能,图示建模仿真功能,文字处理功能以及与硬件实时交互功能。功能性工具箱用于多种学科。而学科性工具箱是专业性比较强的,如control,toolbox,signlproceessingtoolbox,commumnicationtoolbox等。(9)源程序的开放性。开放性也许是MATLAB最受人们欢迎的特点。除内部函数以外,所有MATLAB的核心文件和工具箱文件都是可读可改的源文件,用户可通过对源文件的修改以及加入自己的文件构成新的工具箱。三设计目的通过对课程设计,对信号的采集,处理,传输,显示,存储和分析等有一个系统的掌握和理解。巩固和运用在数字信号处理课程中所学的理论知识和实验技能,掌握最基本的数字信号处理的理论和方法,培养发现问题,分析问题和解决问题的能力。四设计理论依据采样频率,采样位数的概念,采样定理;时域信号的DFT,FFT及频谱分析;数字滤波器的设计原理和方法。五设计过程(设计步骤)1语音信号的采集及频谱分析用WINDOWS下的录音机,用单声道录制一段音乐或声音,时间在5S内。然后MATLAB软件平台下,利用函数WAVREAD对语音信号进行采样,记住采样频率和采样点数。对语音信号进行快速傅立叶变换,在一个窗口同时画出信号的时域波形图和频谱图,分析语音信号的频谱特点。程序如下:y,fs,bits=wavread(music.wav,1024 61500);sound(y,fs,bits);Y=fft(y); plot(y);figure(1); title(语音信号的时域波形);gridfigure(2); plot(abs(Y); title(语音信号的频谱特性);grid图形如下:2:设计数字滤波器给出个滤波器的性能指标:(1)低通滤波器性能指标 fb=1000HZ,fc=1200HZ,As=100dB,Ap=1dB(2) 高通滤波器性能指标 fb=2800HZ,fc=3000HZ,As=100dB,Ap=1dB(3)带通滤波器性能指标 fb1=1200HZ,fc1=1000HZ, fb2=2800HZ,fc2=3000HZ As=100dB,Ap=1dB用窗函数法和双线性变换法设计以上要求的3种数字滤波器绘制个滤波器的频率响应。IIR低通滤波器,程序如下:Ap=1; As=100; fs=4000;fb=1000;fc=1200;%频率预畸wb=(fb/fs)*2*pi;%临界频率采用角频率表示wc=(fc/fs)*2*pi;%临界频率采用角频率表示OmegaP=2*fs*tan(wb/2);OmegaS=2*fs*tan(wc/2);n,wn=buttord(OmegaP,OmegaS,Ap,As,s);b,a=butter(n,wn,s);bz,az=bilinear(b,a,fs);%映射为数字的H,W=freqz(bz,az);%绘出频率响应plot(W*fs/(2*pi),abs(H);title(IIR低通滤波器);IIR高通滤波器,程序如下:fs=22050;Ap=1;As=100;fb=5000;fc=4800;wb=(fb/fs)*2*pi;%临界频率采用角频率表示wc=(fc/fs)*2*pi;%临界频率采用角频率表示OmegaP=2*fs*tan(wb/2);OmegaS=2*fs*tan(wc/2);n,wn=cheb1ord(OmegaP,OmegaS,Ap,As,s);b,a=cheby1(n,Ap,wn,high,s); bz,az=bilinear(b,a,fs);%映射为数字的H,W=freqz(bz,az);%绘出频率响应f=W/pi*11025; plot(f,20*log10(abs(H);title(IIR高通滤波器);IIR带通滤波器,程序如下:fb1=1200;fb2=3000;fc1=1000;fc2=3200;Ap=1;As=100;fs=8000;wb1=(fb1/fs)*2*pi; wb2=(fb2/fs)*2*pi;wc1=(fc1/fs)*2*pi; wc2=(fc2/fs)*2*pi;OmegaP1=2*fs*tan(wb1/2); OmegaP2=2*fs*tan(wb2/2);OmegaS1=2*fs*tan(wc1/2); OmegaS2=2*fs*tan(wc2/2);n,wn=cheb1ord(OmegaP1,OmegaP2,OmegaS1,OmegaS2,Ap,As,s);b,a=cheby1(n,Ap,wn,bandpass,s);bz,az=bilinear(b,a,fs);%映射为数字的H,W=freqz(bz,az);%绘出频率响应f=fs*W/pi/2;plot(f,20*log10(abs(H);title(IIR带通滤波器);FIR低通滤波器,程序如下:fb=1000;fc=1200;fs=22050;beta=10.056;wb=2*pi*fb/fs;wc=2*pi*fc/fs;width=wc-wb;wn=(wb+wc)/2;n=ceil(12.8/width*pi);b=fir1(n,wn/pi,kaiser(n+1,beta);H,W=freqz(b);f=fs*W/pi/2;plot(f,20*log10(abs(H);grid on;FIR高通滤波器,程序如下:fb=5000;fc=4800;fs=22050;n,Wn,beta,typ=kaiserord(fc, fb,0 1,0.001 0.001,fs);b=fir1(n,Wn,typ,kaiser(n+1,beta),noscale);H,W=freqz(b);f=fs*W/pi/2;%f=W/pi*(fs/2);plot(f,20*log10(abs(H);title(FIR高通滤波器); grid on;FIR带通滤波器,程序如下:fs=12000;fcuts=1000,1200,3000,3200;mags=0,1,0;devs=0.01,0.0078,0.01;n,wn,beta,ftype=kaiserord(fcuts,mags,devs,fs);n=n+rem(n,2);b=fir1(n,wn,ftype,kaiser(n+1,beta),noscale);H,W=freqz(b,1,1024,fs);plot(W,abs(H);title(FIR带通滤波器);各滤波器的图形如下: 3:用滤波器对信号进行滤波IIR低通滤波器滤波,程序如下:Ap=1; As=100; fs=4000;fb=1000;fc=1200;%频率预畸wb=(fb/fs)*2*pi;%临界频率采用角频率表示wc=(fc/fs)*2*pi;%临界频率采用角频率表示OmegaP=2*fs*tan(wb/2);OmegaS=2*fs*tan(wc/2);n,wn=buttord(OmegaP,OmegaS,Ap,As,s);b,a=butter(n,wn,s);bz,az=bilinear(b,a,fs);%映射为数字的H,W=freqz(bz,az);%绘出频率响应plot(W*fs/(2*pi),abs(H);title(IIR低通滤波器);y,fs,bits=wavread(music.wav);x=filter(bz,az,y);plot(x);title(滤波后的波形);grid onX=fft(x);plot(abs(X);title(滤波后的频谱);grid onIIR高通滤波器滤波,程序如下:fs=22050;Ap=1;As=100;fb=5000;fc=4800;wb=(fb/fs)*2*pi;%临界频率采用角频率表示wc=(fc/fs)*2*pi;%临界频率采用角频率表示OmegaP=2*fs*tan(wb/2);OmegaS=2*fs*tan(wc/2);n,wn=cheb1ord(OmegaP,OmegaS,Ap,As,s);b,a=cheby1(n,Ap,wn,high,s); bz,az=bilinear(b,a,fs);%映射为数字的H,W=freqz(bz,az);%绘出频率响应f=W/pi*11025; plot(f,20*log10(abs(H);title(IIR高通滤波器);grid on;y,fs,bits=wavread(music.wav);x=filter(bz,az,y);plot(x);title(滤波后的波形);grid onX=fft(x);plot(abs(X);title(滤波后的频谱);grid on IIR带通滤波器滤波,程序如下:fb1=1200;fb2=3000;fc1=1000;fc2=3200;Ap=1;As=100;fs=8000;wb1=(fb1/fs)*2*pi; wb2=(fb2/fs)*2*pi;wc1=(fc1/fs)*2*pi; wc2=(fc2/fs)*2*pi;OmegaP1=2*fs*tan(wb1/2); OmegaP2=2*fs*tan(wb2/2);OmegaS1=2*fs*tan(wc1/2); OmegaS2=2*fs*tan(wc2/2);n,wn=cheb1ord(OmegaP1,OmegaP2,OmegaS1,OmegaS2,Ap,As,s);b,a=cheby1(n,Ap,wn,bandpass,s);bz,az=bilinear(b,a,fs);%映射为数字的H,W=freqz(bz,az);%绘出频率响应f=fs*W/pi/2;plot(f,20*log10(abs(H);title(IIR带通滤波器);grid on;y,fs,bits=wavread(music.wav);x=filter(bz,az,y);plot(x);title(滤波后的波形);grid onX=fft(x);plot(abs(X);title(滤波后的频谱);grid on FIR低通滤波器滤波,程序如下:fb=1000;fc=1200;fs=22050;beta=10.056;wb=2*pi*fb/fs;wc=2*pi*fc/fs;width=wc-wb;wn=(wb+wc)/2;n=ceil(12.8/width*pi);b=fir1(n,wn/pi,kaiser(n+1,beta);H,W=freqz(b);f=fs*W/pi/2;%f=W/pi*(fs/2);plot(f,20*log10(abs(H);title(FIR低通滤波器);grid on;y,fs,bits=wavread(music.wav);x=fftfilt(b,y);plot(x);title(滤波后的波形);grid onX=fft(x);plot(abs(X);title(滤波后的频谱);grid on FIR高通滤波器滤波,程序如下:fb=5000;fc=4800;fs=22050;n,Wn,beta,typ=kaiserord(fc, fb,0 1,0.001 0.001,fs);b=fir1(n,Wn,typ,kaiser(n+1,beta),noscale);H,W=freqz(b);f=fs*W/pi/2;%f=W/pi*(fs/2);plot(f,20*log10(abs(H);title(FIR高通滤波器); grid on;y,fs,bits=wavread(music.wav);x=fftfilt(b,y);plot(x);title(滤波后的波形);grid onX=fft(x);plot(abs(X);title(滤波后的频谱);grid on FIR带通滤波器滤波,程序如下:fs=12000;fcuts=1000,1200,3000,3200;mags=0,1,0;devs=0.01,0.0078,0.01;n,wn,beta,ftype=kaiserord(fcuts,mags,devs,fs);n=n+rem(n,2);b=fir1(n,wn,ftype,kaiser(n+1,beta),noscale);H,W=freqz(b,1,1024,fs);plot(W,abs(H);title(FIR带通滤波器);y,fs,bits=wavread(music.wav);x=fftfilt(b,y);plot(x);title(滤波后的波形);grid onX=fft(x);plot(abs(X);title(滤波后的频谱);grid on 4:回放语音信号对语音信号进行回放,感觉滤波前后语音信号的变化。Sound(x,fs,bits);五.总结与分析通过本次课程设计,使我们对信号的采集,处理,传输,显示,存储和分析等有一个系统的掌握和理解。同时可以看到滤波器在语音处理的重要性,学到了很多滤波器的设计方法,对MATLAB这个软件有了进一步的了解,巩固和运用在数字信号处理课程中所学的理论知识和实验技能,掌握最基本的数字信号处理的理论和方法,提高了自己的发现问题,分析问题和解决问题的能力。参考文献:1 张威 编. MATLAB基础与编程入门. 西安:西安电子科技大学出版社,20052 邹鲲,袁俊泉,编著. MATLAB 6.x信号处理. 北京:清华大学出版社,20043 楼天顺,李博菡,编著. 基于MATLAB的系统分析与设计信号处理. 西安电子科技大学出版社
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸下载 > CAD图纸下载


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!