语音信号的采集与分析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
南昌工程学院
《语音信号的采集与分析》
课程设计
题目语音信号的采集与分析
课程名称语音信号处理
系院信息工程学院
专业通信工程
班级 10通信工程2班
学生姓名刘敏
学号 2010103362
设计地点电子信息楼
指导教师邹宝娟
设计起止时间:2013年12月9日至2013年12月20日
目录
一、需求分析 (4)
1.1选题背景及意义 (4)
1.2设计要求 (4)
二、系统总体设计 (4)
2.1 系统设计思路 (4)
2.2 功能结构图及功能说明 (4)
2.3 工作原理 (6)
三、系统详细设计 (6)
3.1 语音信号的matlab仿真的数据分析 (6)
3.2 程序代码分析 (12)
四、调试与维护 (14)
4.1 调试过程的问题与维护 (14)
五、结束语 (15)
六、参考文献 (16)
七、指导教师评阅(手写) (17)
一、需求分析
1.1选题背景及意义
该设计主要是介绍语音信号的采集与分析方法,通过PC机录制自己的一段声音,运用Matlab提供的函数进行仿真分析,并画出采样后语音信号的时域波形和频谱图,对所采集的语音信号加入干扰随机高斯噪声,对加入噪声的信号进行播放,并进行时域和频谱分析;对比加噪前后的时域图和频谱图,分析讨论采用什么样的滤波器进行滤除噪声。
1.2设计要求
(1)通过PC机录制自己的一段声音“南昌工程学院刘敏”;
(2)运用MATLAB中信号处理相关的函数对语音信号进行时域、频域上的分析,如
短时能量,短时平均过零率,语谱图等;
(3)运用MATLAB对语音信号进行综合与分析,包括语音信号的调制,叠加,
和滤波等。
二、系统总体设计
2.1 系统设计思路
系统的整体设计思路包括语音信号的录制,语音信号的采集,语音信号的分析,其中语音信号的分析又包括了语音信号的时域分析和频域分析,语音信号的加噪处理和滤噪设计分析。
2.2 功能结构图及功能说明
实际工作中,我们可以利用windows自带的录音机录制语音文件,声卡可以完成语音波形的A/D转换,获得WAVE文件,为后续的处理储备原材料。调节录音机保存界面的“更改”选项,可以存储各种格式的WAVE文件。
图2.1为PC机的语音信号录制过程
图2.1 PC机的语音信号录制过程
图2.2为录制过程:
图2.2 PC自带的录音机录音
本设计录制自己的一段语音,内容:“南昌工程学院刘敏”,时长4s,保存在C盘桌面文件夹,命名为“刘敏.wav”
图2.3为语音信号采集框图
图2.3 语音信号采集框图
信号采集过程是将采集到的数据用matlab仿真出来。
2.3 工作原理
运用MATLAB中信号处理相关的函数对语音信号进行时域、频域上的分析,如
短时能量,短时平均过零率,语谱图等;运用MATLAB对语音信号进行综合与分析,包
括语音信号的调制,叠加,和滤波等。
三、系统详细设计
系统的详细设计主要包括matlab仿真的数据分析和程序代码设计的分析
3.1 语音信号的matlab仿真的数据分析
3.1.1 语音信号时域分析
语音信号的时域分析就是分析和提取语音信号的时域参数。进行语音分析时,最先接触到并且也是最直观的是它的时域波形。语音信号本身就是时域信号,因而时域分析是最早使用,也是应用最广泛的一种分析方法,这种方法直接利用语音信号的时域波形。时域分析通常用于最基本的参数分析及应用,如语音的分割、预处理、大分类等。这种分析方法的特点是:①表示语音信号比较直观、物理意义明确。②实现起来比较简单、运算且少。③可以得到语音的一些重要的参数。④只使用示波器等通用设备,使用较为简单等。
ATLAB数据采集箱中提供的函数命令进行图像分析的函数命令:
wavrecord:wavrecord利用Windows音频输入设备记录声音,其调用形式为:wavrecord(n,fs,ch)。利用Windows音频输入设备记录n个音频采样,频率为fs Hz,通道数为ch。采样值返回到一个大小为n*ch的矩阵中。缺省时,fs=11025,ch=1。
waveplay:waveplay利用Windows音频输出设备播放声音,其调用形为:waveplay(y,fs)。以采样频率fs向Windows音频设备发送向量信号。标准的音频采样率有:8000、11025、22050和44100Hz。
wavread:wavread用于读取Microsoft的扩展名为“.wav”的声音文件。其调用形式为:y=wavread(file)。其作用是从字符串file所指的文件路径读取wave文件,将读取的采样数据送到y中。Y的取值范围:[-1,1]。
sound:音频信号是以向量的形式表示声音采样的。sound函数用于将向量转换为声音,其调用形式为:sound(y,fs),作用是向扬声器送出向量y中的音频信号(采样频率为fs)。
通过Wavread 和plot(x)函数即可显示图像的时域波形。
00.51 1.52
2.53
3.54x 104-0.8-0.6
-0.4
-0.2
0.2
0.4
0.6
0.8
原始语音信号
time(s)幅值
图3.1.1 原始语音信号的时域波形
3.1.2语音信号频域分析
语音信号的频域分析就是分析语音信号的频域持征。从广义上讲,语音信号的频域分析包括语音信号的频谱、功率谱、倒频谱、频谱包络分析等,而常用的频域分析方法有带通滤波器组法、傅里叶变换法、线件预测法等几种。本文介绍的是语音信号的傅里叶分析法。因为语音波是一个非平稳过程,因此适用于周期、瞬变或平稳随机信号的标准傅里叶变换不能用来直接表示语音信号,而应该用短时傅里叶变换对语音信号的频谱进行分析,相应的频谱称为“短时谱 ”
FFT 即为快速傅氏变换,是离散傅氏变换的快速算法,它是根据离散傅氏变换的奇、偶、虚、实等特性,对离散傅立叶变换的算法进行改进获得的。
在MATLAB 的信号处理工具箱中函数FFT 和IFFT 用于快速傅立叶变换和逆变换。函数FFT 用于序列快速傅立叶变换,其调用格式为y=fft(x),其中,x 是序列,y 是序列的FFT ,x 可以为一向量或矩阵,若x 为一向量,y 是x 的FFT 且和x 相同长度;若x 为一矩阵,则y 是对矩阵的每一列向量进行FFT 。如果x 长度是2的幂次方,函数fft 执行高速基-2FFT 算法,否则fft 执行一种混合基的离散傅立叶变换算法,计算速度较慢。函数FFT 的另一种调用格式为y=fft(x,N),式中,x ,y 意义同前,N 为正整数。函数执行N 点的FFT ,若x 为向量且长度小于N ,则函数将x 补零至长度N ;若向量x 的长度大于N ,则函数截短x 使之长度为N ;