基于MATLAB的语音信号采集与处理课程设计报告
基于Matlab的对语音信号采集处理及滤波器的设计

目录摘要 (2)1 课程设计实现 (3)1.1整体设计思路 (3)1.2整体实现过程 (3)1.2.1 信号的采样 (3)1.2.2 语音信号的读取 (5)1.2.3 语音信号的频谱分析 (6)1.2.4 噪声信号的构建 (7)1.2.5 加入噪声的语音信号的频谱 (8)2 数字滤波器的设计 (9)2.1滤波器的设计原理 (9)2.2滤波器的性能指标 (10)2.3IIR数字滤波器设计 (10)2.4FIR数字滤波器设计 (12)2.5滤波器对信号滤波 (13)2.6语音信号回放 (17)3 心得体会 (17)4 主要参考资料.............................................................. 错误!未定义书签。
附录.................................................................................... 错误!未定义书签。
摘要MATLAB 语言是一种数据分析和处理功能十分强大的计算机应用软件 ,它可以将声音文件变换为离散的数据文件 , 然后利用其强大的矩阵运算能力处理数据 ,如数字滤波、傅里叶变换、时域和频域分析、声音回放以及各种图的呈现等 , 信号处理是MATLAB 重要应用的领域之一。
本课程设计介绍了基于Matlab的对语音信号采集、处理及滤波器的设计,并使之实现的过程。
理解与掌握课程中的基本概念、基本原理、基本分析方法,用Matlab进行数字语音信号处理,并阐述了课程设计的具体方法、步骤和内容。
综合运用本课程的理论知识进行频谱分析以及滤波器设计,通过理论推导得出相应结论,并利用MATLAB作为工具进行实现,从而复习巩固课堂所学的理论知识,提高对所学知识的综合应用能力,并从实践上初步实现对数字信号的处理。
关键词: MATLAB 工具信号语音采集滤波器1 课程设计实现1.1整体设计思路Matlab 语言是一种数据分析和处理功能十分强大的计算机应用软件 ,它可以将声音文件变换为离散的数据文件 , 然后利用其强大的矩阵运算能力处理数据 ,如数字滤波、傅里叶变换、时域和频域分析、声音回放以及各种图的呈现等 , 信号处理是 Matlab 重要应用的领域之一。
基于MATLAB的语音信号分析与处理的实验报告

基于MA TLAB的语音信号分析与处理的实验报告数字信号课程设计,屌丝们有福了一.实验目的数字信号课程设计,屌丝们有福了综合计运用数字信号处理的理论知识进行频谱分析和滤波器设计,通过理论推导得出相应的结论,培养发现问题、分析问题和解决问题的能力。
并利用MATLAB作为工具进行实现,从而复习巩固课堂所学的理论知识,提高对所学知识的综合应用能力,并从实践上初步实现对数字信号的处理。
此外,还系统的学习和实现对语音信号处理的整体过程,从语音信号的采集到分析、处理、频谱分析、显示和储存。
二.实验的基本要求数字信号课程设计,屌丝们有福了1.进一步学习和巩固MATLAB的使用,掌握MATLAB的程序设计方法。
2.掌握在windows环境下语音信号采集的方法。
3.掌握数字信号处理的基本概念、基本理论、原理和基本方法。
4.掌握MATLAB设计FIR和IIR数字滤波器的方法。
5.学会用MATLAB对信号进行分析和处理。
三.实验内容录制一段自己的语音信号,(语音信号声音可以理解成由振幅和相位随时间缓慢变化的正弦波构成。
人的听觉对声音的感觉特征主要包含在振幅信息中,相位信息一般不起作用。
在研究声音的性质时,往往把时域信息(波形图)变换得到它的频域信息(频谱),通过研究频谱和与频谱相关联的特征获得声音的特性。
)并对录制的信号进行采样;画出采样后语音信号的时域波形和频谱图;给定滤波器的性能指标,采用窗函数法或者双线性变换设计滤波器,并画出滤波器的频率响应;然后用自己设计的滤波器对采集的信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号发生的变化;回放语音信号。
数字信号课程设计,屌丝们有福了四.实验的实现(1).语音信号的采集采用windows下的录音机或者手机、其他的软件,录制一段自己的话音,时间控制在一分钟左右;然后在MATLAB软件平台下,利用函数wavread对自己的话音进行采样,记住采样的频率和采样的点数。
基于MATLAB的语音信号录制采集和分析的程序设计

1 绪论1.1 课题的背景与意义通过语音传递倍息是人类最重要、最有效、最常用和最方便的交换信息的形式。
语言是人类持有的功能.声音是人类常用的工具,是相互传递信息的最主要的手段。
因此,语音信号是人们构成思想疏通和感情交流的最主要的途径。
并且,由于语言和语音与人的智力活动密切相关,与社会文化和进步紧密相连,所以它具有最大的信息容量和最高的智能水平。
现在,人类已开始进入了信息化时代,用现代手段研究语音信号,使人们能更加有效地产生、传输、存储、获取和应用语音信息,这对于促进社会的发展具有十分重要的意义。
让计算机能听懂人类的语言,是人类自计算机诞生以来梦寐以求的想法。
随着计算机越来越向便携化方向发展,随着计算环境的日趋复杂化,人们越来越迫切要求摆脱键盘的束缚而代之以语音输人这样便于使用的、自然的、人性化的输人方式。
作为高科鼓应用领域的研究热点,语音信号采集与分析从理论的研究到产品的开发已经走过了几十个春秋并且取得了长足的进步。
它正在直接与办公、交通、金融、公安、商业、旅游等行业的语音咨询与管理.工业生产部门的语声控制,电话、电信系统的自动拨号、辅助控制与查询以及医疗卫生和福利事业的生活支援系统等各种实际应用领域相接轨,并且有望成为下一代操作系统和应用程序的用户界面。
可见,语音信号采集与分析的研究将是一项极具市场价值和挑战性的工作。
我们今天进行这一领域的研究与开拓就是要让语音信号处理技术走人人们的日常生活当中,并不断朝更高目标而努力。
语音信号采集与分析之所以能够那样长期地、深深地吸引广大科学工作者去不断地对其进行研究和探讨,除了它的实用性之外,另一个重要原因是,它始终与当时信息科学中最活跃的前沿学科保持密切的联系.并且一起发展。
语音信号采集与分析是以语音语言学和数字信号处理为基础而形成的一门涉及面很广的综合性学科,与心理、生理学、计算机科学、通信与信息科学以及模式识别和人工智能等学科都有着非常密切的关系。
对语音信号采集与分析的研究一直是数字信号处理技术发展的重要推动力量。
MATLAB语音信号采集与处理

MATLAB课程设计报告课题:语音信号采集与处理目录一、实践目的 (3)二、实践原理: (3)三、课题要求: (3)四、MATLAB仿真 (4)1、频谱分析: (4)2、调制与解调: (5)3、信号变化: (8)快放: (8)慢放: (8)倒放: (8)回声: (8)男女变声: (9)4、信号加噪 (10)5、用窗函数法设计FIR滤波器 (11)FIR低通滤波器: (12)FIR高通滤波器: (13)FIR带通滤波: (14)一、实践目的本次课程设计的课题为《基于MATLAB的语音信号采集与处理》,学会运用MATLAB的信号处理功能,采集语音信号,并对语音信号进行滤波及变换处理,观察其时域和频域特性,加深对信号处理理论的理解,并为今后熟练使用MATLAB进行系统的分析仿真和设计奠定基础。
此次实习课程主要是为了进一步熟悉对matlab软件的使用,以及学会利用matlab对声音信号这种实际问题进行处理,将理论应用于实际,加深对它的理解。
二、实践原理:利用MATLAB对语音信号进行分析和处理,采集语音信号后,利用MATLAB软件平台进行频谱分析;并对所采集的语音信号加入干扰噪声,对加入噪声的信号进行频谱分析,设计合适的滤波器滤除噪声,恢复原信号。
语音信号的“短时谱”对于非平稳信号, 它是非周期的, 频谱随时间连续变化, 因此由傅里叶变换得到的频谱无法获知其在各个时刻的频谱特性。
如果利用加窗的方法从语音流中取出其中一个短断, 再进行傅里叶变换, 就可以得到该语音的短时谱。
三、课题要求:○1利用windows 自带的录音机或者其它录音软件,录制几段语音信号(要有几种不同的声音,要有男声、女声)。
○2对录制的语音信号进行频谱分析,确定该段语音的主要频率范围,由此频率范围判断该段语音信号的特点(低沉or 尖锐)。
○3利用采样定理,对该段语音信号进行采样,观察不同采样频率(过采样、欠采样、临界采样)对信号的影响。
基于matlab的语音信号的采集和处理

电子科技大学课程设计报告课程名称:信号与系统设计名称:语音信号的采集和处理姓名:肖燕平学号: *************班级:通信九班指导教师:**起止日期:2012.12.15-2012.12.20基于MATLAB的语音信号的采集和处理摘要:本文介绍了一种基于matlab的语音信号的采集和处理设计实现方案。
声音是由物体的振动产生,以声波的形式在介质中传播,介质主要可分为固体,液体以及气体。
声波振动内耳的听小骨,这些振动被转化为微小的电子脑波,它就是我们觉察到的声音。
内耳采用的原理与麦克风捕获声波或扬声器的发音一样,它是移动的机械部分与气压波之间的关系。
在国际标准中,人声的频率范围是300Hz~3400Hz,不同的人或乐器产生的声音频率不一致,通过对声音信号的研究能够更好的处理声音信号的处理以及传输。
Matlab 作为一款主要面对科学计算、可视化以及交互式程序设计的高科技计算软件,能够很好的完成对声音信号的分析和处理,快速的得出声音信号的时域图以及频域图。
关键字:声音|、频率、时域图、频域图1绪论1.1课题研究目的及意义掌握语音信号采集的方法掌握一种语音信号基音周期提取方法了解Matlab的编程方法1.2本课题的设计要求及设计方案概述一:使用wavrecord录入自己的语音信号,使用save函数进行保存后使用wavplay 函数进行播放。
二:使用plot再画出该语音信号的时域波形,对原始波形进行用fft函数傅里叶变换后,使用plot画出其频谱。
三:设计切比雪夫的低通,高通,带通滤波器对原始信号进行滤波。
四:画出滤波后的信号时域、频域图五:考虑到国际标准人声的频率范围在300Hz~3400Hz,于是给原始语音信号加入3800hz的正弦高频噪声,再分析语音信号的特点。
六:设计低通计滤波器将高频噪声滤除。
2设计过程2.1本课题的设计要求1,使用wavrecord录入自己的语音信号,保存到一个数组后,再使用save函数进行保存文件,后使用wavplay函数进行播放。
MATLAB课程设计---基于MATLAB的语音信号处理

MATLAB课程设计---基于MATLAB的语音信号处理武汉理工大学《基于MATLAB的语音信号处理》课程设计说明书课程设计任务书学生姓名:陈欢专业班级: 通信0902班指导教师:徐文君工作单位: 信息工程学院题目: 基于MATLAB的语音信号处理设计任务与要求:1、Matlab的基本运算(1) 极限的计算、微分的计算、积分的计算、级数的计算、求解代数方程、求解常微分方程;(2) 矩阵的最大值、最小值、均值、方差、转置、逆、行列式、特征值的计算、矩阵的相乘、右除、左除、幂运算;2、基于MATLAB的语音信号处理(1)完成语音信号的采集,利用windows自带的录音机或其他软件,录制一段午语音,时间在1s以内,并对信号进行采样,画出采样信号的时域和频域波、(2)要求用窗函数法和双线性变换法设计三种数字滤波器(3)用设计好滤波器的对语音信号进行滤波处理,画出处理后的时域和频域波形。
(4)对滤波前后的语音信号频谱进行对比,并对设计结果进行分析。
参考文献:1、易克初,田斌,付强.语音信号处理.北京:国防工业出版社,2000年2、贾永红.数字图像处理.武汉大学出版社,2003年9月时间安排:第16周安排任务,分组。
第17周设计仿真,撰写报告。
第18周完成设计,提交报告,答辩。
指导教师签名: 2011 年月日系主任(或责任教师)签名: 2011 年月日1武汉理工大学《基于MATLAB的语音信号处理》课程设计说明书目录摘要 ..................................................................... .. (1)ABSTRACT ........................................................... ................................................... 2 1 课程设计的基本原理 ..................................................................... ...................... 3 1.1 设计要求 ..................................................................... .. (3)1.1.1 采用MATLAB基本运算如下 (3)1.1.2 基于MATLAB的语音信号处理 (3)1.2.Matlab的基本运算 ..................................................................... .. (4)1.2.1极限的计算 ..................................................................... . (4)1.2.2微分的计算 ..................................................................... . (4)1.2.3积分的计算 ..................................................................... . (5)1.2.4 级数的计算 ..................................................................... (5)1.2.5 求解代数方程 ..................................................................... (5)1.2.6 求解常微分方程 ..................................................................... .. (6)1.2.7 矩阵的基本运算 ..................................................................... .. (6)1.2.8 多项式的基本运算 ..................................................................... ....... 6 1.3 语音信号的录入与打开 ..................................................................... ......... 8 1.4 时域信号的FFT分析 ..................................................................... ............ 8 1.5 数字滤波器设计原理 ..................................................................... . (8)1.5.1 用窗函数法设计FIR滤波器 (9)1.5.2 用双线性变换法设计IIR数字滤波器 (9)2 语音信号分析和处理过程 ..................................................................... ..............10 2.1 语音信号的采集 ..................................................................... ...................10 2.2 窗函数法设计 ..................................................................... .. (11)2.2.1窗函数法低通滤波器 ..................................................................... (11)2.2.2 窗函数法高通滤波器 ..................................................................... ..142.2.3 窗函数法带通滤波器 ..................................................................... ..15 2.3双极性变换法设计 ..................................................................... . (16)2.3.1 双极性变换法设计低通滤波器 (18)2.3.2 双极性变换法设计高通滤波器 (20)2.3.3 双极性变换法设计带通滤波器 (24)2.4 结果分析 ..................................................................... ...............................26 3 总结 ..................................................................... ................................................27 参考文献 ..................................................................... .. (28)2武汉理工大学《基于MATLAB的语音信号处理》课程设计说明书摘要MATLAB是矩阵实验室(Matrix Laboratory)的简称,和Mathematica、Maple并称为三大数学软件。
基于MATLAB的语音信号分析与处理的课程设计实验报告1

%估算巴特沃思滤波器的阶数 N 和 3dB 截
止频率 Wc。
[num,den]=butter(N,Wc);
%求传输函数的分子和分母多项式的系
数。
else
%选择 radiobutton2,则制做切比雪夫
Ⅰ型滤波器。
[N,Wc]=cheb1ord(wp,ws,rp,rs);
%估算切比雪夫Ⅰ型滤波器的阶数 N 和
在做课程设计之前觉得内容挺难的,但经过查阅图书馆的资料和同学们的努力 与帮助,最后还是以比较短的时间完成了这次课程设计。以前学 MATLAB 的时候, 最后的大作业也是用 GUI 设计了一个可视化界面,所以在本次设计中可视化界面的 设计也没有觉得很难。但是看到其他同学有用到 Edit Text 控件来作滤波器参数的 输入,感觉到自己的能力还是很有限,所以还需要加强学习。但最重要的还是感觉 到通过课程设计能够学以致用,并且运用以前学过的工具来更好的理解所学的内 容,收获还是挺大的。
二、设计过程
1、 打 开 GUI 窗 口 : File → New → GUI → Create New GUI → Blank GUI(Default) →OK
2、 控件设计:在控件布局设计区放置四个 Axes 控件、六个 Push Button 控件、 一个 Button Group 控件和两个 Radio Button 控件、四个 Static Text 控件。
2
wp=2*fp/fc;ws=2*fs/fc; if get(handles.radiobutton1,'value') [N,Wc]=buttord(wp,ws,rp,rs); [num,den]=butter(N,Wc,'high'); else [N,Wc]=cheb1ord(wp,ws,rp,rs); [num,den]=cheby1(N,rp,Wc,'high'); end x=filter(num,den,y); sound(x,fc,bits); X=fft(x); axes(handles.axes3);plot(x); axes(handles.axes4);plot(abs(X)); [h,f]=freqz(num,den,256,fc); axes(handles.axes5);plot(f,abs(h),'k');
基于MATLAB的语音信号录制采集和分析的程序设计

摘要现代图像、语声、数据通信对线性相位的要求是普遍的。
正是此原因,使得具有线性相位的FIR数字滤波器得到大力发展和广泛应用。
MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,它包含了丰富的工具箱函数,能容易地解决在系统仿真领域教学与研究中遇到的问题;数字信号处理是将信号以数字方式表示并处理的理论和技术。
数字信号处理的目的是对真实世界的连续模拟信号进行测量或滤波。
关键词:MATLAB 数字信号处理窗函数目录摘要 (I)第一章带通滤波器基本知识简介 (1)第一节滤波器简介 (1)第二节IIR滤波器的设计简介 (1)第三节FIR滤波器的设计简介 (2)第二章参数计算 (5)第一节给定技术指标 (5)第二节参数计算 (5)第三章 FIR带通滤波器设计 (6)第一节FIR带通滤波器设计原理 (6)第二节MATLAB编程设计 (6)第三节带通滤波器波形图 (8)第四章双线性变换法设计 (10)第一节双线性变换法设计的基本思想 (10)第二节基于MATLAB的双线性法设计程序 (10)第五章心得体会 (12)参考文献 (13)附录 (14)第一章 带通滤波器基本知识简介第一节 滤波器简介滤波器是需要的有用的信号无失真地通过,而把不需要的信号和干扰阻挡掉。
大多数情况下,有用的信号和干扰信号是在不同的频段上,此时,把滤波器的频率特性进行精心的设计并实现就能达到这个目的。
滤波器按处理的信号分为模拟滤波器和数字滤波器。
按通过信号的频段分为低通滤波器、高通滤波器、带通滤波器和带阻滤波器。
其中数字滤波器是一个离散系统,其系统函数一般可表示为1-z 的有理多项式形式,即()∑∑-=-+=ii M J j jz a z b z H 10 (1 - 1) 当i a 都为0时,式(1 - 1)描述的系统称为有限脉冲响应数字滤波器,简称FIR 数字滤波器。
当系数i a 中至少有一个是非0时,式(1-1)描述的系统称为无限脉冲响应数字滤波器,简称IIR 数字滤波器。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MATLAB 课程设计报告书课题名称 基于MATLAB 的语音信号采集与处理姓 名学 号院、系、部 专 业 指导教师2009年 5月 31日※※※※※※※※※ ※※※※※※ 2007级学生MATLAB 课程设计基于MATLAB的语音信号采集与处理一、实践的目的和要求1. MATLAB软件功能简介MATLAB的名称源自Matrix Laboratory,1984年由美国Mathworks公司推向市场。
它是一种科学计算软件,专门以矩阵的形式处理数据。
MATLAB将高性能的数值计算和可视化集成在一起,并提供了大量的内置函数,从而被广泛的应用于科学计算、控制系统和信息处理等领域的分析、仿真和设计工作。
MATLAB软件包括五大通用功能,数值计算功能(Nemeric)、符号运算功能(Symbolic)、数据可视化功能(Graphic)、数字图形文字统一处理功能(Notebook)和建模仿真可视化功能(Simulink)。
其中,符号运算功能的实现是通过请求MAPLE内核计算并将结果返回到MATLAB命令窗口。
该软件有三大特点,一是功能强大;二是界面友善、语言自然;三是开放性强。
目前,Mathworks公司已推出30多个应用工具箱。
MATLAB在线性代数、矩阵分析、数值及优化、数值统计和随机信号分析、电路与系统、系统动力学、次那好和图像处理、控制理论分析和系统设计、过程控制、建模和仿真、通信系统以及财政金融等众多领域的理论研究和工程设计中得到了广泛应用。
MATLAB在信号与系统中的应用主要包括符号运算和数值计算仿真分析。
由于信号与系统课程的许多内容都是基于公式演算,而MATLAB借助符号数学工具箱提供的符号运算功能,能基本满足信号与系统课程的需求。
例如解微分方程、傅里叶正反变换、拉普拉斯正反变换和z正反变换等。
MATLAB在信号与系统中的另一主要应用是数值计算与仿真分析,主要包括函数波形绘制、函数运算、冲击响应与阶跃响应仿真分析、信号的时域分析、信号的频谱分析、系统的S域分析和零极点图绘制等内容。
数值计算仿真分析可以帮助学生更深入地理解理论知识,并为将来使用MATLAB进行信号处理领域的各种分析和实际应用打下基础。
2. 本题目的意义本次课程设计的课题为《基于MATLAB的语音信号采集与处理》,学会运用MATLAB 的信号处理功能,采集语音信号,并对语音信号进行滤波及变换处理,观察其时域和频域特性,加深对信号处理理论的理解,并为今后熟练使用MATLAB进行系统的分析仿真和设计奠定基础。
此次实习课程主要是为了进一步熟悉对matlab软件的使用,以及学会利用matlab对声音信号这种实际问题进行处理,将理论应用于实际,加深对它的理解。
二、实践原理:1.理论原理利用MATLAB对语音信号进行分析和处理,采集语音信号后,利用MATLAB软件平台进行频谱分析;并对所采集的语音信号加入干扰噪声,对加入噪声的信号进行频谱分析,设计合适的滤波器滤除噪声,恢复原信号。
语音信号的“短时谱”对于非平稳信号, 它是非周期的, 频谱随时间连续变化, 因此由傅里叶变换得到的频谱无法获知其在各个时刻的频谱特性。
如果利用加窗的方法从语音流中取出其中一个短断, 再进行傅里叶变换, 就可以得到该语音的短时谱。
2. 具体流程(1). 语音信号的采集及分析基于声卡进行数字信号的采集。
将话筒插入计算机的语音输入插口上,启动录音机。
按下录音按钮,对话筒说话,说完后停止录音。
要保存文件时,利用了计算机上的A/D转换器,把模拟的声音信号变成了离散的量化了的数字信号,放音时,它又通过D/A转换器,把保存的数字数据恢复为原来的模拟的声音信号。
在 Matlab软件平台下可以利用函数wavread对语音信号进行采样,得到了声音数据变量x1,同时把x1的采样频率fs=22050Hz和数据位Nbits=16Bit放进了MATALB的工作空间。
图figure 1为原始语音信号的时域图形。
从图中可以看出在时域环境下,信号呈现出6不规则的信号峰值。
通过freqz函数绘制原始语音信号的频率响应图figure 2 。
然后对语音信号进行频谱分析,在Matlab中可以利用函数fft 对信号行快速傅里叶变换,得到信号的频谱图figure 3,从图中可以看出对各个频点上的随机信号在频域进行抽样 ,抽样频率为 22050Hz。
(2). 给原始信号加上一个高频噪声在Matlab中人为设计一个固定频率5500Hz的噪声干扰信号。
噪声信号通常为随机序列,在本设计中用正弦序列代替,干扰信号构建命令函数为d=[Au*sin(2*pi*5500*t)]',给出的干扰信号为一个正弦信号,针对上面的语音信号 ,采集了其中一段。
再对噪音信号进行频谱变换得到其频谱图,从图中可以看出干扰信号,在4000Hz和 6000Hz频点处有一高峰 ,其中5500Hz 正是本设计所要利用的。
(3). 设计一个滤波器,滤除高频噪声由模拟滤波器变换为数字滤波器时,采用的是双线性变换法, 它保留的是从模拟到数字域的系统函数表示。
在滤波器的选取时, 由于设计方法的侧重点不同, 作出比较是困难的。
如果FIR滤波器情况下,最优的设计将是椭圆滤波器。
用双线性变换法设计低通滤波器。
的本设计是用双线性变换法设计BW带阻型滤波器。
在 MATLAB中 ,可以利用函数 butterworth,设计FIR滤波器,利用 MATLAB 中的函数freqz 画出各滤波器的频率响应。
用设计好的带阻滤波器对含噪语音信号进行滤波,在Matlab中 FIR滤波器利用函数fftfilt对信号进行滤波,FIR滤波器利用函数filter对信号进行滤波。
在一个窗口同时画出滤波前后的波形及频谱。
从图中可以看出 ,5500Hz看到的高峰消失了 ,语音信号与开始的一样 ,滤波器成功的滤除了干扰信号。
利用MATLAB对语音信号进行分析和处理,采集语音信号后,利用MATLAB软件平台进行频谱分析;并对所采集的语音信号加入干扰噪声,对加入噪声的信号进行频谱分析,设计合适的滤波器滤除噪声,恢复原信号。
三、实践步骤1.用MATLAB对原始语音信号进行分析,画出它的时域波形和频谱程序:fs=22050; %语音信号采样频率为22050x1=wavread('C:\Documents and Settings\Administrator\桌面\声音文件.wav');%读取语音信号的数据,赋给变量x1,sound(x1,22050); %播放语音信号y1=fft(x1,1024); %对信号做1024点FFT变换f=fs*(0:511)/1024; %将0到511,步长为1的序列的值与fs相乘并除以1024的值,赋值给ffigure(1) %创建图形窗1plot(x1) %做原始语音信号的时域图形title('原始语音信号');xlabel('time n'); %x轴的名字是“time n”ylabel('fuzhi n'); %y轴的名字是“fuzhi n”figure(2)freqz(x1) %绘制原始语音信号的频率响应图title('频率响应图')figure(3)subplot(2,1,1); %创建两行一列绘图区间的第1个绘图区间plot(abs(y1(1:512))) %做原始语音信号的FFT频谱图title('原始语音信号FFT频谱')subplot(2,1,2);plot(f,abs(y1(1:512))); %abs是绝对值,plot是直角坐标下线性刻度曲线title('原始语音信号频谱')xlabel('Hz');ylabel('幅值');时域波形和频谱:图1 原始语音信号图2 语音信号频率响应图图3 原始语音信号FFT与信号频谱2. 给原始的语音信号加上一个高频余弦噪声,频率为5500hz。
对加噪后的语音进行分析,并画出其信号时域和频谱图。
程序:fs=22050;x1=wavread('C:\Documents and Settings\Administrator\桌面\声音文件.wav');%读取语音信号的数据,赋给变量x1f=fs*(0:511)/1024; %将0到511,步长为1的序列的值与fs相乘并除以1024的值,赋值给ft=0:1/fs:(length(x1)-1)/fs; %将0到x1的长度减1后的值除以fs的值,且步长为1/fs的值,的序列的值,赋予tAu=0.03; %噪声幅值d=[Au*sin(2*pi*5500*t)]'; %所加的噪声是正弦信号x2=x1+d; %将正弦信号噪声加在语音信号上sound(x2,22050); %播放语音信号y1=fft(x1,1024); %对信号y1做1024点FFT变换y2=fft(x2,1024); %对信号y2做1024点FFT变换figure(1); %创建图形窗1plot(t,x2); %做加噪后的信号时域图形(绘出t对x2的线性图)title('加噪后的信号');xlabel('time n'); %x轴的名字是“time n”ylabel('fuzhi n'); %y轴的名字是“fuzhi n”figure(2) %创建图形窗2subplot(2,1,1); % 创建两行一列绘图区间的第1个绘图区间plot(f,abs(y1(1:512))); %做原始语音信号的频谱图title('原始语音信号频谱');xlabel('Hz'); %x轴的名字是“time n”ylabel('fuzhi'); % y轴的名字是“fuzhi”subplot(2,1,2); %创建两行一列绘图区间的第2个绘图区间plot(f,abs(y2(1:512))); %做加噪后的语音信号的频谱图(abs是绝对值,plot是直角坐标下线性刻度曲线)title('加噪后的信号频谱');xlabel('Hz'); %x轴的名字是“time n”ylabel('fuzhi'); % y轴的名字是“fuzhi”时域波形和频谱:图4 加噪后的信号时域图图5 原始信号与加噪后信号频谱对比与原始信号对比,区别:先原始信号没加噪音之前0到2000有幅值,在4000到6000之间没有幅值,但是在加了噪音之后4000到6000之间出现最大幅值12,超出正常值。
如图5原始信号与加噪后信号频谱对比图所示。