基于matlab的语音信号处理 下载本文

内容发布更新时间 : 2024/5/29 21:58:49星期一 下面是文章的全部内容请认真阅读。

第一章 绪论

大连理工大学2000级硕士蒋瑞艳也曾经做过一个振动,噪声处理系统,它是WINDOWS界面下的振动、噪声信号处理系统,它在专用模拟输入硬件(数据采集系统)支持下,可以完成振动、噪声信号的数据采集以及功率谱、倒谱、谱阵和传递函数分析等功能。能将数据转化成各种对应的图形,并具备ZOOM功能。它可以广泛应用于实验室、生产现场和教学中做振动、噪声的测试和分析,可以代替专用信号处理机的工作。 本系统软件采用先进的C++ Builder语言编制,在WINDOWS系统下运行。软件界面的设计以满足大多数用户为主,力求直观通俗,通过菜单驱动完成各个功能。

华中科技大学能源与动力工程学院就“基于MATLAB的噪声信号采集与分析系统研究”做过研究报告,他们利用MATLAB的数据采集工具箱(DAQ)和信号处理工具箱开发了一套声音信号采集分析系统,该系统不仅能够实现低成本、高精度的实时采集,还能将声音信号资料导入系统进行时域和频域分析。利用另外一个工具Compiler使编制的MATLAB程序能够独立运行从而提高了运行速度;配备了友好的图形用户界面(GUI),方便用户操作。最后给出了系统在内燃机噪声诊断方面的应用实例。

在机械方面,西北工业大学航海工程学院就“基于MATLAB的舰船辐射噪声信号小波消噪处理”做过研究报告,他们针对舰船辐射噪声信号的特点提出了小波消噪的方法,对小波消噪理论作了简要的阐述,并设计了一种消噪方案,最后利用MATLAB,在计算机上选用不同的小波基和阈值进行了实船信号的消噪处理试验,并对结果进行了简单的分析比较。试验结果表明,在选择了合适的小波基和阈值的情况下,利用小波变换的方法对舰船辐射噪声进行消噪处理可以取得良好的效果。

由此可见,MATLAB给噪声处理带来了极大“福音”。

2

第二章 课题研究方案的确定

第二章 课题研究方案的确定

2.1概要设计

2.1.1主要工作

本文简要介绍了语音信号采集与分析的发展史以及语音信号的特征、采集与分析方法,并通过手机录制自己的一段声音,运用Matlab进行仿真,最后对于声音中的噪声进行滤波处理,比较铝箔前后的变化以及介绍语音信号的特点与采集,仿真主要是验证奈奎斯特定理,对于语音信号进行时域、频域上的分析,率 谱,是对语音信号的综合分析,包括语音信号的调制和滤波。 2.1.2研究步骤 1.理论依据

根据设计要求分析系统功能,掌握设计中所需理论,阐明设计原理。 2.信号采集 采集语音信号并对其进行频谱分析,画出信号的时域波形图和频谱图。 3.构造受干扰信号并对其进行频谱分析 对所采集的语音信号假如干扰噪声,对语音信号进行回放,感觉加噪前后声音变化,分析原因,得出结论。并对其进行频谱分析,比较加噪前后语音信号的波形及频谱,对所的结果进行分析,阐明原因得出结论。 4.数字滤波器设计 根据待处理信号特点,设计合适数字滤波器,绘制所设计滤波器的幅频和相频特性

5.信号处理 用所设计的滤波器对含噪语音信号进行滤波。对滤波后的语音信号进行频谱分析。画出处理过程中所得各种波形及频谱图。 对语音信号进行回放,感觉滤波前后声音的变化。比较滤波前后语音信号的波形及频谱,对所得结果和滤波器性能进行频谱分析,阐明原因,得出结论。

2.2方案选择

2.2.1运行的环境

运行环境主要介绍了硬件环境和软件环境 硬件环境:

(1)处理器:Inter Core I3 (2)内存:4G

(3)硬盘空间:500G

(4)显卡:Nvidia GTX940 软件环境:

操作系统:Windos 8.1 开发环境:Matlab 2014a

3

第二章 课题研究方案的确定

2.2.2总体方案

用Matlab画出原始信号的波形图和频谱图,然后给原始语音信号加如噪声,并对其进行频谱分析,最后利用滤波器对被噪声污染的语音信号进行滤波并分析滤波后的时域和频域特性,最后建立GUI界面。

4

第三章 课题研究方案及内容

第三章课题研究内容

3.1Matlab简单介绍

MATLAB是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。

MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。

MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。

MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++ ,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。

MATLAB 的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。附加的工具箱(单独提供的专用 MATLAB 函数集)扩展了 MATLAB 环境,以解决这些应用领域内特定类型的问题

3.2语音信号的采样理论依据

3.2.1采样频率

采样频率是指计算机每秒钟采集多少个声音样本,是描述声音文件的音质、音调,衡量声卡、声音文件的质量标准。采样频率越高,即采样的间隔时间越短,则在单位时间内计算机得到的声音样本数据就越多,对声音波形的表示也越精确。采样频率与声音频率之间有一定的关系,根据奎斯特理论,只有采样频率高于声音信号最高频率的两倍时,才能把数字信号表示的声音还原成为原来的声音。这就是说采样频率是衡量声卡采集、记录和还原声音文件的质量标准。

3.2.2采样位数

采样位数即采样值或取样值,用来衡量声音波动变化的参数,是指声卡在采集和播放声音文件时所使用数字声音信号的二进制位数。采样频率是指录音设备

5

第三章 课题研究方案及内容

在一秒钟内对声音信号的采样次数,采样频率越高声音的还原就越真实越自然。

采样位数和采样率对于音频接口来说是最为重要的两个指标,也是选择音频接口的两个重要标准。无论采样频率如何,理论上来说采样的位数决定了音频数据最大的力度范围。每增加一个采样位数相当于力度范围增加了6dB。采样位数越多则捕捉到的信号越精确。对于采样率来说你可以想象它类似于一个照相机,44.1kHz意味着音频流进入计算机时计算机每秒会对其拍照达441000次。显然采样率越高,计算机摄取的图片越多,对于原始音频的还原也越加精确。 3.2.3采样定理

在进行模拟/数字信号的转换过程中,当采样频率fs.max大于信号中,最高频率fmax的2倍时,即:fs.max>=2fmax,则采样之后的数字信号完整地保留了原始信号中的信息,一般实际应用中保证采样频率为信号最高频率的5~10倍;采样定理又称奈奎斯特定理。

1924年奈奎斯特(Nyquist)就推导出在理想低通信道的最高大码元传输速率的公式:

理想低通信道的最高大码元传输速率=2W*log2 N (其中W是理想低通信道的带宽,N是电平强度)

3.3语音信号的采集

利用PC机上的声卡和WINDOWS操作系统可以进行数字信号的采集。将话筒输入计算机的语音输入插口上,启动录音机。按下录音按钮,接着对话筒说话“语音信号处理”,说完后停止录音,屏幕左侧将显示所录声音的长度。点击放音按钮,可以实现所录音的重现。以文件名“Orisound”保存入c :\\ MATLAB \\ work中。可以看到,文件存储器的后缀默认为. wav ,这是WINDOWS操作系统规定的声音文件存的标准。 3.4设计数字滤波器

3.4.1数字滤波器设计的基本思路

数字滤波器的实现有两个关键步骤:一个从数字域到模拟域间的变换,这个变换实现了数字滤波器技术指标到模拟滤波器技术指标的转换,同样也实现了模拟滤波器系统函数到数字滤波器系统函数的转换;另一个是从模拟滤波器技术指标到满足该指标的模拟滤波器的设计。

3.4.2IIR数字滤波器概述

IIR(Infinite Impulse Response)数字滤波器,又名“无限脉冲响应数字滤波器”,或“递归滤波器”。递归滤波器,也就是IIR数字滤波器,顾名思义,具有反馈,一般认为具有无限的脉冲响应。IIR滤波器有以下几个特点:

(1)封闭函数:IIR数字滤波器的系统函数可以写成封闭函数的形 式。

(2)IIR数字滤波器采用递归型结构:IIR数字滤波器采用递归型结构,即结构上带有反馈环路。IIR滤波器运算结构通常由延时、乘以系数和相加等基本

6