有噪声的语音信号分析与处理设计.docx
- 文档编号:5025201
- 上传时间:2022-12-12
- 格式:DOCX
- 页数:29
- 大小:804.85KB
有噪声的语音信号分析与处理设计.docx
《有噪声的语音信号分析与处理设计.docx》由会员分享,可在线阅读,更多相关《有噪声的语音信号分析与处理设计.docx(29页珍藏版)》请在冰豆网上搜索。
有噪声的语音信号分析与处理设计
DSP应用课程设计(学年论文)
说明书
课题名称:
DSP应用课程设计
学生学号:
专业班级:
通信01班
学生姓名:
学生成绩:
指导教师:
课题工作时间:
2011.6.13至2011.6.24
武汉工程大学教务处制
填写说明:
1.一、二、三项由指导教师在课程设计(学年论文)开始前填写并交由学生保管;
2.四、五两项由学生在完成课程设计后填写,并将此表与课程设计一同装订成册交给指导教师;
3.成绩评定由指导教师按评定标准评分。
4.此表格填写好后与正文一同装订成册。
一、课程设计的任务或学年论文的基本要求:
《数字信号处理》课程是一门理论和技术都发展十分迅速、应用非常广泛和前沿性学科,它的理论性和实践性都很强,学生在学习这门课程时,普遍感到数字信号处理的概念抽象,对其中的分析方法与基本理论不能很好地理解与掌握。
因此,如何帮助学生理解与掌握课程中的基本概念、基本原理、基本分析方法以及综合应用所学知识解决实际问题的能力,是本课程教学中所要解决的关键问题。
为了是配合《数字信号处理》专业基础课的理论教学,安排《数字信号处理》课程设计,它是针对《数字信号处理》的基础理论和算法进行实践环节的一个综合训练,以便学习巩固所学的知识,加强理论和实际结合的能力,培养学生的综合设计能力与实际工作能力。
课程设计要求2—3人组成设计小组,在指定范围内选定题目,每组选一题。
学生可从下列题目中任选一个作为DSP课程设计题目,也可自拟题目进行设计。
一、基于MATLAB的声音信号频谱分析
为了巩固所学的数字信号处理理论知识,使学生对信号的采集、处理、传输、显示和存储等有一个系统的掌握和理解,为此安排课程设计的内容。
选择一个wav文件作为分析的对象,或录制一段各人自己的语音信号,对其进行频谱分析,根据信号的频谱特点重构语音信号。
二、基于MATLAB的简单语音处理系统设计
为了巩固所学的数字信号处理理论知识,使学生对信号的采集、处理、传输、显示和存储等有一个系统的掌握和理解,为此安排了课程设计的内容:
确定一音乐语音信号并对音乐信号进行采样;画出采样后音乐信号的时域波形和频谱图;给定滤波器的性能指标,采用窗函数法和双线性变换设计一组滤波器,并画出滤波器的频率响应;然后用自己设计的滤波器组对采集的信号进行滤波;回放语音信号。
三、使用FFT实现任意三个同频带信号的频分复用
选择三个不同频段的信号对其进行频谱分析,根据信号的频谱特征设计三个不同的数字滤波器,将三路信号合成为一路信号,分析合成信号的时域和频域特点,然后将合成信号分别通过设计好的三个数字滤波器,分离出原来的三路信号,分析得到的三路信号的时域波形和频谱,与原始信号进行比较说明频分复用的特点。
四、基于MATLAB的语音信号简单的特技处理——延时和混响
选择一个语音信号作为分析的对象,或录制一段各人自己的语音信号,对其进行频谱分析,然后在时域用数字信号处理方法将信号加入延时和混响,再分析其频谱,并与原始信号频谱进行比较。
五、基于MATLAB的有噪声的语音信号的处理
选择一个语音信号作为分析的对象,或录制一段各人自己的语音信号,对其进行频谱分析;利用MATLAB中的随机函数产生噪声加入到语音信号中,模仿语音信号被污染,对其进行频谱分析;设计FIR和IIR数字滤波器,并对被噪声污染的语音信号进行滤波,分析滤波后信号的时域和频域特征,回放语音信号。
3、设计报告要求
设计报告应提供以下内容:
设计任务书、题目、摘要(中英文)、正文、参考文献(3种以上)。
其中正文应包含:
设计思路、原理图设计文件、程序文件、设计与调试过程、模拟仿真结果和设计结论。
指导教师签字:
杨述斌教研室主任签字:
熊开盛
2011年5月25日2011年6月02日
二、进度安排:
17周(2011.6.13-2011.6.19):
周一:
选择课程设计题目,明确课程设计目的和任务。
周二、周三:
查看参考资料。
周四、周五:
原理图与程序设计。
18周(2011.6.20-2011.6.24):
周一、周二:
上机调试原理图与程序。
周三:
整理所有任务资料,答辩。
周四、周五:
撰写课程设计报告。
三、应收集资料及主要参考文献:
1.邹彦,DSP原理及应用,第1版,电子工业出版社,2006;
2.张雄伟,DSP集成开发与应用实例,第1版,电子工业出版社,2002;
3.张洪涛等,数字信号处理,第一版,华中科技大学出版社,2007
4.彭启琮等,DSP技术的发展与应用,第二版,高等教育出版社,2007
5.杨述斌等,数字信号处理实践教程,第一版,华中科技大学出版社,2007
四、课程设计(学年论文)摘要(中文):
随着信息技术的发展,现代信息处理正想着数字化、软件化方向发展。
滤波器设计是信号处理的重要组成部分,而研究语音信号的滤波器设计是现代信息处理的基本内容。
本设计利用计算机WINDOWS下录的一句语音信号,用MATLAB软件对其进行频谱分析,然后加一以干扰信号,利用设计好的滤波器将干扰信号去除,最后对各部分的频谱进行分析比较。
关键词:
语音信号;滤波器;MATLAB
五、课程设计(学年论文)摘要(英文):
Abstract
Alongwiththeinformationtechnologydevelopmentmodernsignalprocessingtothedigitization,thesoftwaredirectionisdeveloping.Theimportantcomponentofthesignalprocessingisthewavefilterdesign.Whilestudyingthedesignofthesignalwavefilterisfundamentalcontentofmoderninformationprocessing.InthisdesignofcomputersoundrecorderofWINDOWSisused.Firstlettherecorderrememberasoundsignal.ThenuseMATLABtoanalysisthisfrequencyspectrumandaddadisturbedsignal.Inthistimeusethedesignedwavefiltertogetridofdisturbedsignal.Atlastanalysisandcomparewitheverypartoffrequencyspectrum.
Keywords:
soundsignal;processing;MATLAB
六、成绩评定:
指导教师评语:
指导教师签字:
2011年月日
项目
评价
项目
评价
调查论证
工作量、工作态度
实践能力
分析、解决问题能力
质量
创新
得分
七、答辩记录:
答辩意见及答辩成绩
答辩小组教师(签字):
2011年月日
总评成绩:
(教师评分×75%+答辩成绩×25%)
课程设计评审标准(指导教师用)
评价内容
具体要求
权重
调查论证
能独立查阅文献和从事其他调研;能提出并较好地论述课题的实施方案;有收集、加工各种信息及获得新知识的能力。
0.1
实践能力
能正确选择研究(实验)方法,独立进行研究工作。
如装置安装、调试、操作。
0.2
分析解决问题能力
能运用所学知识和技能去发现与解决实际问题;能正确处理实验数据;能对课题进行理论分析,得出有价值的结论。
0.2
工作量、工作态度
按期圆满完成规定的任务,工作量饱满,难度较大,工作努力,遵守纪律;工作作风严谨务实。
0.2
质量
综述简练完整,有见解;立论正确,论述充分,结论严谨合理;实验正确,分析处理科学;文字通顺,技术用语准确,符号统一,编号齐全,书写工整规范,图表完备、整洁、正确;论文结果有应用价值。
0.2
创新
工作中有创新意识;对前人工作有改进或独特见解。
0.1
武汉工程大学
电气信息学院
课程设计报告
课程名称:
基于MATLAB的有噪声的语音信号的处理
班级:
通信01班
学号:
0804140127
姓名:
叶莹莹
指导教师:
杨述斌
完成时间:
一、课程设计目的
综合运用数字信号处理的理论知识对语音信号进行时频分析和滤波器设计,通过理论推导得出相应结论,再利用MATLAB作为编程工具进行计算机实现,从而加深对所学知识的理解,建立概念。
二、课程设计要求
1)学会MATLAB的使用,掌握MATLAB的程序设计方法。
2)掌握在Windows环境下语音信号采集的方法。
3)掌握数字信号处理的基本概念、基本理论和基本方法。
4)掌握MATLAB设计FIR和IIR数字滤波器的方法。
5)学会用MATLAB对信号进行分析和处理。
三、详细设计过程
1.原理
2,过程:
语音信号的采集
利用计算机上的收音机和WINDOWS操作系统可以进行数字信号的采集。
如果是简单的录音,可用“开始——程序——附件——娱乐——录音机”,然后再打开windowsmedia任选一首歌,进行录音。
这种录音时间默认时间是1分钟,如果想录长一些的话,可在正要录到1分钟时,再点一下录音,如此反复可延长录音时间。
录好以后命名保存入D:
\MATLAB\work中。
可以看到,文件存储器的后缀默认为.wav,这是WINDOWS操作系统规定的声音文件存的标准。
语音信号的时频分析
利用MATLAB中的“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中。
接下来,对语音信号speechoff.wav进行采样。
其程序如下:
[y,fs,nbits]=wavered(‘speechoff.wav’);
功能说明:
把语音信号加载入Matlab仿真软件平台中
然后,画出语音信号的时域波形,再对语音信号进行频谱分析。
MATLAB提供了快速傅里叶变换算法FFT计算DFT的函数fft,其调用格式如下:
Xk=fft(xn,N)
参数xn为被变换的时域序列向量,N是DFT变换区间长度,当N大于xn的长度时,fft函数自动在xn后面补零。
,当N小于xn的长度时,fft函数计算xn的前N个元素,忽略其后面的元素。
语音信号加噪与频谱分析
MATLAB中产生高斯白噪声非常方便,有两个产生高斯白噪声的两个函数。
我们可以直接应用两个函数:
一个是WGN,另一个是AWGN。
WGN用于产生高斯白噪声,AWGN则用于在某一信号中加入高斯白噪声。
也可直接用randn函数产生高斯分布序列。
在本次课程设计中,我们是利用MATLAB中的随机函数(rand或randn)产生噪声加入到语音信号中,模仿语音信号被污染,并对其频谱分析。
Randn函数有两种基本调用格式:
Randn(n)和Randn(m,n),前者产生n×n服从标准高斯分布的随机数矩阵,后者产生m×n的随机数矩阵。
在这里,我们选用Randn(m,n)函数。
设计FIR和IIR数字滤波器
IIR滤波器和FIR滤波器的设计方法完全不同。
IIR滤波器设计方法有间接法和直接法,间接法是借助于模拟滤波器的设计方法进行的。
其设计步骤是:
先设计过渡模拟滤波器得到系统函数H(s),然后将H(s)按某种方法转换成数字滤波器的系统函数H(z)。
FIR滤波器比鞥采用间接法,常用的方法有窗函数法、频率采样发和切比雪夫等波纹逼近法。
对于线性相位滤波器,经常采用FIR滤波器。
对于数字高通、带通滤波器的设计,通用方法为双线性变换法。
可以借助于模拟滤波器的频率转换设计一个所需类型的过渡模拟滤波器,再经过双线性变换将其转换策划那个所需的数字滤波器。
具体设计步骤如下:
(1)确定所需类型数字滤波器的技术指标。
(2)将所需类型数字滤波器的边界频率转换成相应的模拟滤波器的边界频率,转换公式为Ω=2/Ttan(0.5ω)
(3)将相应类型的模拟滤波器技术指标转换成模拟低通滤波器技术指标。
(4)设计模拟低通滤波器。
(5)通过频率变换将模拟低通转换成相应类型的过渡模拟滤波器。
(6)采用双线性变换法将相应类型的过渡模拟滤波器转换成所需类型的数字滤波器。
我们知道,脉冲响应不变法的主要缺点是会产生频谱混叠现象,使数字滤波器的频响偏离模拟滤波器的频响特性。
为了克服之一缺点,可以采用双线性变换法。
利用模拟滤波器设计IIR数字低通滤波器的步骤:
(1)确定数字低通滤波器的技术指标:
通带边界频率、通带最大衰减,阻带截止频率、阻带最小衰减。
(2)将数字低通滤波器的技术指标转换成相应的模拟低通滤波器的技术指标。
(3)按照模拟低通滤波器的技术指标设计及过渡模拟低通滤波器。
(4)用双线性变换法,模拟滤波器系统函数转换成数字低通滤波器系统函数。
如前所述,IIR滤波器和FIR滤波器的设计方法有很大的区别。
下面我们着重介绍用窗函数法设计FIR滤波器的步骤。
如下:
(1)根据对阻带衰减及过渡带的指标要求,选择串窗数类型(矩形窗、三角窗、汉宁窗、哈明窗、凯塞窗等),并估计窗口长度N。
先按照阻带衰减选择窗函数类型。
原则是在保证阻带衰减满足要求的情况下,尽量选择主瓣的窗函数。
(2)构造希望逼近的频率响应函数。
(3)计算h(n).。
(4)加窗得到设计结果。
接下来,我们根据语音信号的特点给出有关滤波器的技术指标:
①低通滤波器的性能指标:
fp=1000Hz,fc=1200Hz,As=50db,Ap=1dB
②高通滤波器的性能指标:
fp=3500Hz,fc=4000Hz,As=50dB,Ap=1dB;
在Matlab中,可以利用函数fir1设计FIR滤波器,利用函数butter,cheby1和ellip设计IIR滤波器,利用Matlab中的函数freqz画出各步步器的频率响应。
hn=fir1(M,wc,window),可以指定窗函数向量window。
如果缺省window参数,则fir1默认为哈明窗。
其中可选的窗函数有RectangularBarlrttHammingHannBlackman窗,其相应的都有实现函数。
MATLAB信号处理工具箱函数buttpbuttorbutter是巴特沃斯滤波器设计函数,其有5种调用格式,本课程设计中用到的是[N,wc]=butter(N,wc,Rp,As,’s’),该格式用于计算巴特沃斯模拟滤波器的阶数N和3dB截止频率wc。
MATLAB信号处理工具箱函数cheblap,cheblord和cheeby1是切比雪夫I型滤波器设计函数。
我们用到的是cheeby1函数,其调用格式如下:
[B,A]=cheby1(N,Rp,wpo,’ftypr’)
[B,A]=cheby1(N,Rp,wpo,’ftypr’,’s’)
函数butter,cheby1和ellip设计IIR滤波器时都是默认的双线性变换法,所以在设计滤波器时只需要代入相应的实现函数即可。
用滤波器对加噪语音信号进行滤波
用自己设计的各滤波器分别对加噪的语音信号进行滤波,在Matlab中,FIR滤波器利用函数fftfilt对信号进行滤波,IIR滤波器利用函数filter对信号进行滤波。
函数fftfilt用的是重叠相加法实现线性卷积的计算。
调用格式为:
y=fftfilter(h,x,M)。
其中,h是系统单位冲击响应向量;x是输入序列向量;y是系统的输出序列向量;M是有用户选择的输入序列的分段长度,缺省时,默认的输入向量的重长度M=512。
函数filter的调用格式:
yn=filter(B,A.xn),它是按照直线型结构实现对xn的滤波。
其中xn是输入信号向量,yn输出信号向量。
用自己设计的各滤波器分别对语音信号进行滤波,在Matlab中,FIR滤波器利用函数fftfilt对信号进行滤波,IIR滤波器利用函数filter对信号进行滤波。
1.双线性变换法:
1)低通滤波器z11=filter(num11,den11,s);
2)带通滤波器z12=filter(num12,den12,s);
3)高通滤波器z13=filter(num13,den13,s);
2.窗函数法
1)低通滤波器z21=fftfilt(b21,s);
2)带通滤波器z22=fftfilt(b22,s);
3)高通滤波器z23=fftfilt(b23,s);
回放语音信号
经过以上的加噪声处理后,可在Matlab中用函数sound对声音进行回放。
其调用格式:
sound(y,Fs),sound(y)和sound(y,Fs,bits)。
可以察觉滤波前后的声音有明显的变化。
设计系统界面
系统界面设计工具—GUI概述
图形用户界面(graphicaluserinterfaces,GUI)则是由窗口、光标、按键、菜单、文字说明等对象(objects)构成的一个用户界面。
用户通过一定的方法(如鼠标或键盘)选择、激活这些图形对象,使计算机产生某种动作或变化,比如实现计算、绘图等。
在MATLAB中GUI是一中包含多种对象的图形窗口,并为GUI开发提供一个方便高效的集成开发环境GUIDE。
GUIDE主要是一个界面设计工具集,MAYLAB将所有GUI支持度控件都集成在这个环境中,并提供界面外观、属性和行为响应方式的设置方法。
GUIDE将设计好的GUI保存在一个FIG文件中,同时生成M文件框架。
FIG文件:
包括GUI图形窗口及其所有后裔的完全描述,包括所有对象属性的属性值。
它是一个二进制文件调用hsave课保存图形窗口时将生车该文件。
M文件包括GUI设计、控件函数以及定义为子函数的用户控件回调函数,主要用于控制GUI展开时的各种特征。
GUI创建包括界面设计和控件编程两部分,主要步骤如下。
第一步:
通过设置GUIDE应用程序的选项来运行GUIDE;第二步:
使用界面设计编辑器进行面设计;第三步:
编写控件行为响应控制(即回调函数)代码。
2.方案选择及设计
本设计主要是对语音信号的时频进行分析,并对语音信号加噪后设计滤波器对其进行滤波处理,对话音信号加噪声前后的频谱进行比较分析,对合成语音信号滤波前后进行频谱的分析比较。
首先用PC机WINDOWS下的录音机录制一段3S长的语音信号,并保存入MATLAB软件的根目录下文件名为“123”,再运行MATLAB仿真软件把录制好的语音信号用wavread函数加载入MATLAB仿真软件的工作环境中,输入命令对语音信号进行时域,频谱变换。
再在MATLAB中用命令设计一段噪声信号,对噪声信号进行频谱变换。
把设计的噪声信号加入到录制的语音信号中,用命令可以得到其频谱图。
对该段合成的语音信号,用命令在MATLAB中设计一个恰当的滤波器对其进行滤波处理,此处用BW带阻滤波器对其进行滤波,滤波后用命令可以绘制出其频谱图,回放语音信号。
对原始语音信号、合成的语音信号和经过滤波器处理的语音信号进行频谱的比较分析。
设计:
1、选录好的“123.wav”声音作为语音信号。
2、对语音信号加噪声。
3、分别设计IIR滤波器和FIR滤波器,对被污染的语音信号进行滤波,滤掉相应的噪音信号,得到符合要求的语音信号。
3.程序设计流程图
四、调试分析
遇到的问题:
1,、刚开始是准备用自己录的音作为需要的音频信号,可是在加噪声这一环节出现问题了,这一个环节花的时间比较多。
在网上查找资料后才发现我录的音是单音道的,要用双音道的音频才能顺利完成加噪,改了之后才运行成功。
2、在做滤波器的时候也出现一些问题,明明是一样的代码却提示我输入的滤波的代码有几个字母没有定义,经过检查思考之后才发现我应该先写滤波器特性的代码,运行出来之后才能再写滤波的代码,问题解决了。
3、紧接着就是做GUI界面了,我个人认为是最难的部分。
首先遇到的问题是,回调函数的代码不知道加在哪里。
经过查找资料,加上反复的摸索和失败之后我才模模糊糊的知道每个回调函数要加在对应的按钮的功能函数下面。
这是初步的成功。
4、初步的成功之后遇到了更大的困难,就是界面只能运行滤波器特性的代码,而真正滤波的代码却运行不出来,好像是滤波的代码与源代码有冲突。
这个无论我怎么修改都不能成功,预备放弃了。
可是有天晚上看教学视频的时候脑子里突然闪过一个念头,我的代码有问题。
于是,我在滤波的代码前面加上了相应的滤波器特性的代码,运行成功了!
这种喜悦的感觉无法形容。
5、最大的问题是我的图在axes里面不能完整运行,我没有办法了,决定放弃。
调试程序图:
五、结果分析与体会
分析:
加入噪声后回放的声音与原始的语音信号有明显的不同,其伴随较尖锐的干扰啸叫声。
从含噪语音信号的频谱图中可以看出是含噪的语音信号的频谱,在整个频域范围内分布均匀,这正是干扰所造成的。
通过滤波前后的对比,低通滤波后效果最好,高通滤波后的效果最差。
由此可见,语音信号主要分布在低频,而噪声主要分布在高频。
IIR数字滤波器采用递归型结构,即结构上带有反馈环路。
IIR滤波器运算结构通常由延时、乘以系数和相加等基本运算组成,可以组合成直接型、正准型、级联型、并联型四种结构形式,都具有反馈回路。
由于运算中的舍入处理,使误差不断累积,有时会产生微弱的寄生振荡。
(1)IIR数字滤波器的相位特性不好控制,对相位要求较高时,需加相位校准网络。
FIR滤波器则要求较低。
(2)与FIR滤波器的设计不同,IIR滤波器设计时的阶数不是由设计者指定,而是根据设计者输入的各个滤波器参数(截止频率、通带滤纹、阻带衰减等),由软件设计出满足这些参数的最低滤波器阶数。
在MATLAB下设计不同类型IIR滤波器均有与之对应的函数用于阶数的选择。
(3)IIR单位响应为无限脉冲序列FIR单位响应为有限的
(4)IIR幅频特性精度很高,不是线性相位的,可以应用于对相位信息不敏感的音频信号上;
(5)FIR幅频特性精度较之于iir低,但是线性相位,就是不同频率分量的信号经过FIR滤波器后他们的时间差不变。
这是很好的性质。
(6)IIR滤波器有噪声反馈,而且噪声较大,FIR滤波器噪声较小。
(7)IIR滤波器运算误差大,有可能出现极限环振荡,FIR相比之下运算误差较小,不会出现极限环振荡。
IIR幅频特性精度很高,不是线性相位的,可以应用于对相位信息不敏感的音频信号上;
FIR幅频特性精度较之于iir低,但是线性相位,就是不同频
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 噪声 语音 信号 分析 处理 设计
