基于MATLAB的语音信号录制采集和窗函数法滤波器设计Word文档下载推荐.docx
- 文档编号:21528507
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:10
- 大小:217.01KB
基于MATLAB的语音信号录制采集和窗函数法滤波器设计Word文档下载推荐.docx
《基于MATLAB的语音信号录制采集和窗函数法滤波器设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于MATLAB的语音信号录制采集和窗函数法滤波器设计Word文档下载推荐.docx(10页珍藏版)》请在冰豆网上搜索。
从实践上初步实现对数字信号的处理。
关键词语音处理/抽样/频谱分析/滤波器
绪论
MATLAB是matrix&
laboratory两个词的组合,意为矩阵工厂(矩阵实验室),是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。
它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
MATLAB和Mathematica、Maple并称为三大数学软件。
它在数学类科技应用软件中在数值计算方面首屈一指。
MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
在开发环境中,使用户更方便地控制多个文件和图形窗口;
在编程方面支持了函数嵌套,有条件中断等;
在图形化方面,有了更强大的图形标注和处理功能,包括对性对起连接注释等;
在输入方面,可以直接向Excel和HDF5进行连接。
1课程设计方案提出
1.1设计要求
要求录制一段自己的语音信号后,在MATLAB软件中采集语音信号、回放语音信号并画出语音信号的时域波形和频谱图;
对所采集的信号加入干扰噪声,对加入噪声进行播放,并进行时域和频谱分析;
对比及早前后的时域图和频谱图,分析讨论采用什么的滤波器进行滤除噪声。
1.2设计方案
Windows自带的录音机
声音
麦克风
声卡
滤波
采样
A/D转换
Wav
图1.1语音信号录制流程图
首先,录制一段语音信号(如图1.1);
然后,利用MATLAB中的wavread命令来读入(采集)语音信号,将它赋值给某一向量。
再将该向量看作一个普通的信号,对其进行FFT变换实现频谱分析;
随后,利用MATLAB中的随机函数(rand或randn)产生噪声加入到语音信号中,模仿语音信号被污染,并对其频谱分析,在讨论用什么滤波器去除噪声。
2语音信号的采集及加噪
2.1语音信号的录制
利用PC机上的声卡和WINDOWS操作系统可以进行数字信号的采集。
将话筒输入计算机的语音输入插口上,启动录音机。
按下录音按钮,接着对话筒说话“语音信号处理”,说完后停止录音,屏幕左侧将显示所录声音的长度,点击放音按钮,可以实现所录音的重现。
以文件名“shijiebei”保存入D:
\MATLAB\work中。
文件存储器的后缀默认为.wav,这是WINDOWS操作系统规定的声音文件存的标准。
具体操作如下:
a.打开开始/程序/附件/娱乐/录音机(如图2.1);
图2.1
b.用windowsmediaplayer播放一首音乐并用MIC对着耳机录音或自已说话录音(按
键),到10秒时停止(按
键)(如图2.2);
图2.2
c.将录制文件加存为D:
/MATLAB7/work中,文件名为shijiebei.wav(如图2.2、图2.3);
图2.3
2.2语音信号的时域分析
在MATLAB软件平台下,利用MATLAB中的“wavread”命令来读入(采集)语音信号,将它赋值给某一向量。
再对其进行采样,记住采样频率和采样点数。
通过使用wavread函数,可以深入理解采样频率、采样位数等概念,下面介绍Wavread函数几种调用格式。
(1)y=wavread(file);
读取file所规定的wav文件,返回采样值放在向量y中。
(2)[y,fs,nbits]=wavread(file);
采样值放在向量y中,fs表示采样频率(hz),nbits表示采样位数。
(3)y=wavread(file,N);
读取钱N点的采样值放在向量y中。
(4)y=wavread(file,[N1,N2]);
读取从N1到N2点的采样值放在向量y中。
接下来,对语音信号shijiebei.wav进行采样。
其采样程序如下:
[y,fs,nbits]=wavered(‘E:
\sheji\shijiebei’);
即把语音信号加载入Matlab仿真软件平台中。
然后,画出语音信号的时域波形,再对语音信号进行频谱分析。
MATLAB提供了快速傅里叶变换算法FFT计算DFT的函数fft,其调用格式如下:
Xk=fft(xn,N)
参数xn为被变换的时域序列向量,N是DFT变换区间长度,当N大于xn的长度时,fft函数自动在xn后面补零。
,当N小于xn的长度时,fft函数计算xn的前N个元素,忽略其后面的元素。
在本次设计中,我们利用fft对语音信号进行快速傅里叶变换,就可以得到信号的频谱特性。
其程序如下:
[y,fs,nbits]=wavread('
shijiebei'
);
sound(y,fs,nbits);
%回放语音信号
N=length(y);
%求出语音信号的长度
Y=fft(y,N);
%傅里叶变换
subplot(2,1,1);
plot(y);
title('
原始信号波形'
subplot(2,1,2);
plot(abs(Y));
原始信号频谱'
)
程序运行结果如下图:
图2.4原始信号波形及频谱
2.3语音信号加噪和频谱分析
MATLAB中产生高斯白噪声非常方便,有两个产生高斯白噪声的两个函数。
我们可以直接应用两个函数:
一个是WGN,另一个是AWGN。
WGN用于产生高斯白噪声,AWGN则用于在某一信号中加入高斯白噪声。
也可直接用randn函数产生高斯分布序列。
在本次课程设计中,我们是利用MATLAB中的随机函数(rand或randn)产生噪声加入到语音信号中,模仿语音信号被污染,并对其频谱分析。
Randn函数有两种基本调用格式:
Randn(n)和Randn(m,n),前者产生n×
n服从标准高斯分布的随机数矩阵,后者产生m×
n的随机数矩阵。
在这里,我们选用Randn(m,n)函数。
语音信号添加噪声及其频谱分析的主要程序如下:
shijiebei’);
N=length(y);
%求出语音信号的长度
Noise=0.01*randn(n,2);
%随机函数产生噪声
Si=y+Noise;
%语音信号加入噪声
sound(Si);
plot(Si);
加噪语音信号的时域波形'
S=fft(Si);
%傅里叶变换
plot(abs(S));
title('
加噪语音信号的频域波形'
图2.5加噪后的波形及频谱分析
3滤波器的选择
3.1滤波器的基本概念
3.1.1滤波器的功能
滤波器的功能是对输入信号进行滤波以增强所需信号部分,抑制不要的部分。
3.1.2四种基本的滤波器
四种基本滤波器为低通(LP)、高通(HP)、带通(BP)和带阻滤波器(BRP),这四种滤波器特性如下图3-1所示:
图3.1
3.2数字滤波器的基本知识
数字滤波器分为FIR数字滤波器和IIR数字滤波器两种,即有限冲激响应滤波器(FIR,FiniteImpulseResponse)滤波器和无线冲激响应(IIR,InfiniteImpulseResponse)滤波器。
3.2.1FIR数字滤波器
(1)FIR的特点:
(3-1)
不存在极点(z=0除外),系统函数|z>
0|处收敛。
系统单位冲激响应在有限个n值处不为零。
结构上主要是非递归结构,没有输出到输入的反馈。
故只能用较高的阶数达到高的选择性。
FIR数字滤波器的幅频特性精度较之于IIR数字滤波器低,但是线性相位即不同频率分量的信号经过FIR数字滤波器后他们的时间差不变。
FIR数字滤波器具有系统稳定,易实现相位控制,允许设计多带通滤波器等优点。
(2)FIR结构
FIR数字滤波器的结构有四种:
横截性;
级联型结构;
频率采样型结构;
线性相位FIR滤波器的结构。
3.2.2IIR数字滤波器
1、IIR数字滤波器的特点
电位冲激响应h(n)是无限长的;
系统函数H(z)在有限z平面上(0<
|z|<
∞)有极点存在;
结构上存在着输出到输入的反馈,也就是结构上是递归型的。
IIR滤波器运算结构通常由延时、乘以系数和相加等基本运算组成。
2、有限阶IIR的表达式:
(3-2)
(3-3)
3、IIR滤波器的四种结构
IIR数字滤波器的结构也有四种:
直接I型;
直接II型—典范型;
级联型;
并联型。
3.3数字滤波器的选取
由图2.4和图2.5可以看出,语音信号的能量集中在低频部分,所以根据滤波器的特性和功能,所选择的滤波器应该具有滤除无用的高频成分的作用,所以可以选用低通滤波器。
又由于IIR数字滤波器的输出不但取决于过去和现在的输入,还取决于过去的输出,所以,选择IIR数字滤波器比选择FIR数字滤波器要好。
通过徐靖涛.基于MATLAB的语音信号分析与处理[J].重庆科技学院学报2008,1中的2.4的阅读,可知,本语音信号的滤波选取椭圆型数字低通滤波器效果最好。
心得体会
这次课程设计历时一个星期,可以说是苦多于甜,但是可以学的到很多很多的东西,同时不仅可以巩固以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。
通过这次设计,进一步加深了对数字信号处理的了解,让我对它有了更加浓厚的兴趣。
但是在编写程序时,也遇到了不少问题,特别是程序语法,总是有错误,在细心的检查下,终于找出了错误和警告,排除困难后,程序编译就通过了,心里终于舒了一口气。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能提高自己的实际动手能力和独立思考的能力。
同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。
总的来说,这次课程设计还是比较成功的,在设计中遇到了很多问题,最后在老师的辛勤的指导下,终于游逆而解,有点小小的成就感,终于觉得平时所学的知识有了实用的价值,达到了理论与实际相结合的目的,不仅学到了不少知识,而且锻炼了自己的能力,使自己对以后的路有了更加清楚的认识,同时,对未来有了更多的信心。
最后,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢。
致谢
大四的这次课程设计,无论在知识还是能力方面,我从中受益匪浅,使我们真正地学会了如何正确地使用各种电子元器件,并在完成之后,进行验证设计是否合格,并一步一步地检测调试直至测试程序能够正常运行,各种功能得以实现。
同时九人一组,也增强了我们的团队协作能力,是我们认识到团队精神是成功的必不可缺的法宝。
在此我要向帮助我的指导老师耿鑫耿老师表示衷心的感谢!
课程设计中,有不懂的地方您总能不厌其烦、和蔼可亲地讲解,让我感受到您们的敬业和对学生们的关爱。
同时要感谢同学们的帮助!
他们的帮助让我的这次课程设计进行的相当顺利,并从中获益颇多。
最后再次感谢耿老师的悉心指导!
使我掌握到了焊接设计、调试等方面的本领,并再次感谢帮助过我的同学,使我感到了他们的对人无私帮助的温暖。
参考文献
[1]陈怀琛.MATLAB及在电子信息课程中的应用[M].北京:
电子工业出版设,2008.1
[2]张文.基于MATLAB的语音信号的滤波与实现[J].山西电子技术出版社.2008.2
[3]徐靖涛.基于MATLAB的语音信号分析与处理[J]重庆科技学院学报2008.1
[4]黄文填,李金平.基于MATLAB的语音信号的分析和滤波处理[J].北京联合大学信息学院.2009,45
[5]胡航.语音信号处理[M].哈尔滨:
哈尔滨工业大学出版社,2002
[6]张威.MATLAB基础和编程入门[M].西安电子科技大学出版社,2006
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 MATLAB 语音 信号 录制 采集 函数 滤波器 设计