基于MATLAB的语音信号滤波处理和程序设计_第1页
基于MATLAB的语音信号滤波处理和程序设计_第2页
基于MATLAB的语音信号滤波处理和程序设计_第3页
基于MATLAB的语音信号滤波处理和程序设计_第4页
基于MATLAB的语音信号滤波处理和程序设计_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

1、郑州轻工业学院MATLAB课程设计题目: 基于MATLAB的语音信号滤波处理和程序设计 姓 名: XXX 院 (系): 电气信息工程 专业班级: 电信11-01 学 号: XXXXXXXXX 指导教师: 任景英 成 绩: 时间:2014年6月09日至 2014年6月13日目录摘要11、绪论21.1语音信号分析技术21.2数字滤波技术21.3主要内容和基本要求32、实验内容42.1语音信号的采集42.2语音信号的频谱分析42.3构建干扰信号52.4信号合成72.5用数字滤波器对加噪的语音信号进行滤波8心得体会11参考文献12基于MATLAB的语音信号滤波处理和程序设计摘要语音信号处理属于信息科学

2、的一个重要分支,大规模集成技术的高度发展和计算机技术的飞速前进,推动了这一技术的发展。Matlab是一种数据分析和处理功能十分强大的计算机应用软件,信号处理是Matlab重要应用的领域之一。本设计是基于Matlab对语音信号进行处理,先完成语音信号的采集,利用MATLAB对所录制的信号进行时域和频域分析;构建一个干扰信号,把语音信号和干扰信号叠加,利用MATLAB对干扰后的语音信号进行时域和频域分析,对干扰后的信号进行滤波,画出滤波后的信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化。关键词 MATLAB 语音信号 干扰信号 滤波 信号叠加1、绪论1.1语音信号分析技术语音信号

3、分析是语音信号处理的前提和基础,只有分析出可表示语音信号本质特征的参数,才有可能利用这些参数进行高效的语音通信、语音合成和语音识别等处理。而且,语音合成的音质好坏,语音识别率的高低,也都取决于对语音信号分桥的准确性和精确性。因此语音信号分析在语音信号处理应用中具有举足轻重的地位。 根据所分析出的参数的性质的不同,可将语音信号分析分为时域分析、频域分析、倒领域分析等;时域分析方法具有简单、计算量小、物理意义明确等优点,但由于语音信号最重要的感知特性反映在功率谱中,而相位变化只起着很小的作用,所以相对于时域分析来说频域分析更为重要。通过对大量语音信号的观察和分析发现,语音信号主要有下面两个特点:在

4、频域内,语音信号的频谱分量主要集中在3003400Hz的范围内。利用这个特点,可以用一个防混迭的带通滤波器将此范围内的语音信号频率分量取出,然后按8kHz的采样率对语音信号进行采样,就可以得到离散的语音信号。在时域内,语音信号具有“短时性”的特点,即在总体上,语音信号的特征是随着时间而变化的,但在一段较短的时间间隔内,语音信号保持平稳。在浊音段表现出周期信号的特征,在清音段表现出随机噪声的特征。1.2数字滤波技术 数字滤波是数字信号处理的重要基础,数字信号处理主要是研究用数字或符号的序列来表示信号波形,并用数字的方式去处理这些序列,把它们改变成在某种意义上更希望的形式,以便估计信号的特征参量,

5、或削弱信号中的多余分量和增强信号中的有用分量。数字滤波器在对信号的过滤、检测与参数估计等处理过程中,是使用最为广泛的一种线性系统。 数字滤波器(Digital Filter,简称为DF)是指完成信号滤波处理功能的、用有限精度算法实现的离散时间线性非时变系统。数字滤波器的数学运算通常有两种实现方式。一种是频域法,即利用FFT快速运算办法对输入信号进行离散傅立叶变换,分析其频谱,然后根据希望的频率特性进行滤波,再利用傅立叶反变换恢复出时域信号。这种方法具有较好的频域选择特性和灵活性,并且由于信号频率与所希望的频谱特性是简单的相乘关系,所以它比计算等价的时域卷积要快得多。另一种方法是时域法,这种方法

6、是通过对离散抽样数据作差分数学运算来达到滤波目的的。 数字滤波器的输入是一组(由模拟信号取样和量化的)数字量,其输出是经过数字变换的另一组数字量。数字滤波器具有稳定性高、精度高、灵活性大等突出优点。随着数字技术的发展,用数字技术实现滤波器的功能愈来愈受到人们的重视,并得到了广泛的应用。数字信号处理学科的一项重大进展是关于数字滤波器设计方法的研究。60年代中期,开始形成关于数字滤波器的一套完整的正规理论。这一时期,提出了各种各样的数字滤波器结构,有的以运算误差最小为特点,有的则以运算速度高见长;出现了数字滤波器的各种逼近方法和实现方法,对递归和非递归两类滤波器作了全面的比较;统一了数字滤波器的基

7、本概念和理论,对有限冲激响应(IIR)和无限冲激响应(FIR)的认识有了完整理论。70年代后,科学技术蓬勃发展,数字信号处理开始与大规模和超大规模集成电路技术、微处理技术等新工艺新技术结合起来,并引进计算机辅助设计方法,大大丰富了数字滤波器的分析与设计,各种新的数字信号处理系统,也都能用专用数字硬件实时加以实现。相信在未来,随着电子仪器与电子技术应用系统朝着数字化、小型化、自动化以及多功能化等方向发展,包括数字滤波器在内的数字信号处理技术会有以惊人的速度进行飞跃式发展。1.3主要内容和基本要求主要内容:要求用Windows下的录音机,录制一段自己的话语“大家好”。利用MATLAB对所录制的信号

8、进行时域和频域分析;构建一个干扰信号,把语音信号和干扰信号叠加,利用MATLAB对干扰后的语音信号进行时域和频域分析,对干扰后的信号进行滤波,画出滤波后的信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化。基本要求:1、 掌握在MATLAB环境下语音信号的采集方法。2、 构建的干扰信号为f(t)=10sin(4000 t)。3、 掌握数字信号处理的基本概念、基本理论、基本方法。4、 利用MATLAB设计滤波器对干扰的语音信号进行滤波。5、 掌握MATLAB的程序设计方法。2、实验内容2.1语音信号的采集利用Windows下的录音机,录制一句自己的话,保存为“大家好.wav”文件。

9、然后在Matlab软件平台下,利用函数wavread对语音信号进行采样,记住采样频率和采样点数。使用y,fs,bits=wavread();读取音频文件。录制的音频文件为wam格式,需转换为wav格式的文件。2.2语音信号的频谱分析首先画出语音信号的时域波形,然后对语音信号进行频谱分析。在Matlab 中,可以利用函数fft对信号进行快速傅里叶变换,得到信号的频谱特性。程序:y,fs,bits=wavread('C:UsersAdministratorDesktopmatlab资料大家好.wav');n=length(y) y_p=fft(y,n); %对n点进行傅里叶变换到频

10、域f=fs*(0:n/2-1)/n; % 对应点的频率figure(1)subplot(2,1,1);plot(y); %语音信号的时域波形图title('原始语音信号时域波形');xlabel('时间')ylabel('幅度')subplot(2,1,2);plot(f,abs(y_p(1:n/2); %语音信号的频谱图axis(0 20000 0 600);title('原始语音信号频谱图');xlabel('频率Hz');ylabel('幅度');图1 原始语音信号波形图2.3构建干扰信号构建

11、的干扰信号为f(t)=10sin(4000 t),此信号为正弦信号。程序:y,fs,bits=wavread('C:UsersAdministratorDesktopmatlab资料大家好.wav');n=1000t=(0:n-1)/100000;f=fs*(0:n/2-1)/n; y1=10*sin(2*pi*2000*t );y2=fft(y1,10*n);subplot(2,1,1);plot(y1) %干扰信号的时域图title('干扰信号时域图');xlabel('时间')ylabel('幅度')subplot(2,1,

12、2);plot(f,abs(y2(1:n/2); % 干扰信号的频谱图title('干扰信号频谱图');xlabel('频率');ylabel('幅度');图2 干扰信号波形图2.4信号合成用MATLAB将干扰信号和原始信号进行合成。程序:L=length(y) t=(0:L-1)/30000;A=10;f=4000;noise=A*sin(f*pi*t)' %产生等长正弦干扰信号y_z=y+noise noise ; %合成新的信号sound(y_z,fs); %对加噪后的信号进行分析n=length(y); y_zp=fft(y_z,

13、n); f=fs*(0:n/2-1)/n; figure(2)subplot(2,1,1);plot(y_z); %加噪语音信号的时域波形图axis(0 50 -12 12);title('加噪信号时域波形');xlabel('时间')ylabel('幅度')subplot(2,1,2);plot(f,abs(y_zp(1:n/2); %加噪语音信号的频谱图axis(0 5000 0 1000);title('加噪信号频谱图');xlabel('频率');ylabel('幅度');图3 加噪信号2.

14、5用数字滤波器对加噪的语音信号进行滤波这里采用FIR数字滤波器,设计FIR数字滤波器的基本方法有窗函数法、频率抽样法、波纹切比雪夫逼近法等,在此使用基于窗函数法设计FIR数字滤波器及其MATLAB。在FIR滤波器的设计中,加窗是非常重要的一环,选用不同形状的窗函数都是为了得到平坦的幅度响应和较小的阻带波纹,一般希望窗函数满足两项要求:窗谱主瓣尽可能地窄,以获得较陡的过渡带;尽量减少窗谱的最大旁瓣的相对幅度,即能量尽量集中于主瓣,使肩峰和波纹减小,从而增大阻带的衰减。在几种常用的窗函数中,Kasier窗可以通过调整参数值来折中选择主瓣宽度和旁瓣衰减,因此,Kasier窗具有较大的灵活性。程序:%

15、低通滤波器程序fp=1500;fc=1700;As=100;Ap=1; wc=2*pi*fc/fs; wp=2*pi*fp/fs;wdel=wc-wp;beta=0.112*(As-8.7);N=ceil(As-8)/2.285/wdel);wn= kaiser(N+1,beta);ws=(wp+wc)/2/pi;b=fir1(N,ws,wn);figure(3);freqz(b,1); %除噪声信号的程序x=fftfilt(b,y_z);X=fft(x,n);figure(4);subplot(2,2,1);plot(f,abs(y_zp(1:n/2);axis(0 5000 0 600);

16、title('滤波前信号频谱');subplot(2,2,2);plot(f,abs(X(1:n/2);axis(0 2000 0 600);title('滤波后信号频谱');subplot(2,2,3);plot(y_z);title('滤波前信号波形')axis(0 200 -12 12);subplot(2,2,4);plot(x);axis(0 85000 -0.2 0.2);title('滤波后信号波形')图4 数字滤波器图4 滤波前后信号比较心得体会 这次的课程设计虽然时间比较短,但我还是受益匪浅的。通过与小伙伴们的共

17、同努力,我们终于完成了这次的课程设计。通过此次课程设计,我对MATLAB的使用更加熟练,掌握了许多以前没有学好的知识,对FIR滤波器和窗函数等知识有了更加深刻的理解。加深了我对数字信号处理的基本概念、基本理论和基本方法的理解 ,更加全面的掌握了MATLAB设计FIR数字滤波器的方法,从而进行语音信号采集以及时域、频域分析,也加深了我对于用MATLAB设计系统界面的理解。知道了数字滤波是数字信号分析中最重要的组成部分之一,与模拟滤波相比,它具有精度和稳定性高、系统函数容易改变、灵活性强、便于大规模集成和可实现多维滤波等优点。参考文献1. 程佩青. 数字信号处理教程(第三版). 清华大学出版社. 2007.2 2. 陈后金.&

温馨提示

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

评论

0/150

提交评论