语音信号的去噪处理_第1页
语音信号的去噪处理_第2页
语音信号的去噪处理_第3页
语音信号的去噪处理_第4页
语音信号的去噪处理_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本科毕业论文(设计)题 目: 语音信号的去噪处理 学 生: 学号: 学 院: 专业: 入学时间: 20 年 月 日指导教师: 职称: 完成日期: 20 年 月 日 语音信号的去噪处理作者: 学号: 指导老师: 摘要:伴随着计算机普及以及计算机技术的发展,数字信号与信息处理理论作为一门新兴学科在日常生活和科学研究变得越来越重要。信号采样和频谱分析是信号分析的重要内容,它是研究语音信号的基础。本次毕业设计详细介绍了信号采集和频谱搬移以及加噪声去噪声的相关知识,以及基于mat lab的低通 高通 带通滤波器的设计和实现。在本次设计中分3个大部分,设计低通滤波器以及滤除高频噪声,设计高通滤波器以及滤除低频噪声,设计带通滤波器以及滤除通带上的噪声,每次设计有分3小节,先进行语音信号的提取以及时域和频域的分析,再对语音信号进行加噪处理,并对语音信号进行频域分析,设计滤波器滤除噪声,对比加噪前和加噪后语音信号的变化。在文章的最后,总结本次设计所遇到的问题及解决方案,附上mat lab程序。关键词: 滤波器设计;噪声; matlab;频谱搬移;频率调制 Denoising processing of speech signalsName: Jin Huaibo Student ID: 201040620222 Instructor: jiacheng wangAbstract: With the development of computer literacy and computer technology, digital signal processing and information theory as a new discipline has become increasingly important in daily life and scientific research. Signal sampling and analysis is an important part of the spectrum of the signal analysis, which is the basis of study of the speech signal. This paper describes the move as well as signal acquisition and spectrum plus noise to noise-related knowledge, as well as the design and implementation mat lab-based high-pass, low-pass band-pass filter. In this design, carve three parts, the design of the low-pass filter and filter out high frequency noise, and a high-pass filter designed to filter out low frequency noise, band-pass filter design and noise filter passband, each design partakers of three sections, the first for the extraction and analysis of time-domain and frequency-domain speech signal, and then add noise to the speech signal processing, frequency domain analysis and voice signals, the former design filters out noise, contrast, noise and after the speech signal plus noise changes. In the last article, summed up this design problems encountered and solutions, attach mat lab procedures.Keywords : noise; filter design ;matlab ;spectrum move ; fm目录1 引言11.1研究的背景11.2 研究的意义11.3 研究的目标12 系统的总体描述22.1 方案选择22.1.1采集声音信号22.1.2 添加噪声信号32.1.3选用合适的滤波器32.1.4 设计滤波器52.2系统框图103系统的软件设计11 3.1开发环境113.2 开发工具介绍113.3开发环境设置113.4软件设计114软件调试124.1 滤除高频噪声124.1.1 声音的提取124.1.2 声音的加噪124.1.3 噪声的去除134.2 滤除低频噪声154.2.1 声音的提取154.2.2 声音的加噪164.2.3 噪声的去除164.3 滤除语音信号噪声干扰184.3.1 声音的提取194.3.2 声音的加噪194.3.3 噪声的去除205结束语22参考文献:23致谢24附录:25I语音信号的去噪处理1 引言1.1研究的背景信号分析与处理的理论和技术为新的学科因为随着计算机的普及和计算机技术而到广阔的发展和应用,越来越多的专家关注着信号分析与处理技术。人通过观察自然界以及对自然界信息的提取,通过对有价值的信息的分析和处理获得的信息,从而对自然进行改造。电子、通信、测量、自动控制、计算机系统的主要任务是对信号的提取、加功和变换,以实现特定的功能转化。从广义上讲,自然,工程和社会科学,信号以其独特的形式无处不在。一个信号(signa)或f(t)函数(function)或序列(sequence),都可以代表的物理信号。并且在运动状态的变化,也可以通过信号来表示。信号的概念各个广泛的领域,其中以其特有各种形式表达各种特定的信息。 古代的战场把击鼓作为前进或后退的命令信号,并且用烽火作为信号传达敌人进犯紧急情况。在近现代,信号更在电,热,声,光,电等诸多方面表现出其特有的重要性。信息通过信号表现,信号蕴含着信息的内容。在众多信号的表现形式中,电信号因为可以快熟传输还可以远距离传输并能够十分方便地对其进行加工变换从而获得广泛应用。所以,科学研究和做工程项目中常常把非电信号通过传感器转换为电信号,通过对电信号的研究从而达到对非电信号的研究。在日常生活和科学研究中人们往往使用一些传统的高级语言来解决一些繁重的数学计算和数值分析,通常这都需要使用着需要很强的编程能力。此外,对于大多数的科学家和一些初学者,利用这些高级语言的分析和计算图形处理的可视化的计算结果,也不是一件容易的事情。matlab恰是在这样的背景下产生的一种数学应用软件。1.2 研究的意义 21世纪,许多学校正在对传统的教学内容进行改革,电子类,通信类与测量类的某些专业,迫切需要较多的与信号相关的知识。信号分析与处理,尤其是在频域信号分析与处理方面已经成为一个热门经常被用来讨论和分析。在技术和应用软件中,matlab的出现给科学研究带来了方便已经得到广大科研人员的认可。 随着不断提高的释放, matlab的功能也越来越强大,越来越广泛的应用,目前已被广泛应用于信号处理,图像处理,系统仿真,自动控制领域,小波分析和神经网络。1.3 研究的目标本次设计的总目标是做一个基于matlab的声音的除燥处理,利用matlab显示声音信号的频谱,(1)再使用modulate函数产生搬移员噪声产生高频噪声,分别听取加噪声前和加噪声后区别,设计低通滤波器滤去高频信号,还原声音信号。(2)同理使用modulate函数产生搬移员噪声产生低频噪声,分别听取加噪声前和加噪声后区别,设计高通滤波器滤去低频信号,还原声音信号。(3)利用rand函数产生随机噪声,将噪声信号加入到整个通带里,设计带通滤波器,滤去高频和低频成份,还原声音信号。2 系统的总体描述2.1 方案选择 本次设计分3个模块:(1)采集声音信号,并用matlab显示其信号图与频谱图。(2)产生噪声信号并添加到原信号。(3)设计合适的滤波器,还原音乐信号,并画出其时域图与频域图,并与原始信号比较,且回放音乐信号。2.1.1采集声音信号 (1)本次设计采用的是一款网上下载的一款名叫灵者录音机的软件,打开软件,设置采样率为22050,点击录制,录一段10s的声音片段,保存的e盘的根目录中,名字命名为jinhuaibo。(2)语音信号的时频分析使用MATLAB函数库中的“wavread”命令来采集语音信号,并将其分配给一个矢量。继而对其进行采样。以下是wavread函数几个的调用形式。(1)y=wavread(file,N1,N2):读取从N1到N2点的采样值并将得到的采样值放在向量y中。(2)y=wavread(file,N):读取前N点的采样值并将得到的采样值放在向量y中。 (3)y=wavread(file):wav文件读取指定的文件,则返回值被放置在样品中的向量y。(4)y,fs,nbits=wavread(file) :将得到的采样值放在向量y中,其中fs表示采样频率(hz),nbits表示采样位数。然后,利用mat lab画出语音信号的时域波形,再画出语音信号进行频波形。matlab中用FFT计算DFT函数fft,其使用方式如下:Xk=fft(xn,N)参数xn是被变换的时域序列向量,N是DFT变换区间长度。在本次论文设计中,我们利用fft对语音信号进行快速傅里叶变换,就可以得到信号的频谱特性。2.1.2 添加噪声信号 以高频噪声为例,本次设计利用matlab中modulate函数的fm调制,将原来声音信号搬移到高频处,再将产生后的高频信号加入到原始信号。所谓调制,就是用调制信号去控制载波的参数的过程,使载波的某一个或几个参数按照调制信号规律而变化。在调制时,若载波频率随调制信号变化,称为频率调制(fm)。所谓频率调制,是指瞬时频率偏移随调制信号吗m(t)成比例变化,即: 式中:Kf为调频灵敏度(rad/(s.v))这时相位偏移为代入上式的即可得到调频信号为:得到高频信号后,利用matlab中的函数把原声音信号和高频噪声信号加到一起。 同理,使用fm频率调制将原来的声音信号移到低频处,再将原声音信号和低频噪声信号相加。分别将高频和低频信号加到原信号。 利用sound函数分别听取加噪声和没有加噪声信号的区别。2.1.3选用合适的滤波器 根据信号的特点,选择合适的过滤器,一个给定的归一化性能的过滤器。通常,数字滤波器是由加法器、乘法器、和延时器组成,通常一般是用来对输入离散信号的数字代码进行运算处理,以便来改变信号频谱。因此,它本身是一种硬件装配成的完成给定运算的专用数字计算机,所需的操作可以被编译成程序,以便通用计算机来执行。传统的数字滤波器具有灵活性特别高,精确度也很高等优点。伴随着数字技术的快速发展,数字化技术实现数字滤波器的功能收到越来越多的重视,并的到人们广泛的使用和快速发展。(1)一般常用滤波器的性能指标 滤波器性能通常使用系统频率特性来表明,常常使用滤波器性能参数主要有以下3个:1. 幅度平方函数该参数指标主要用来说明系统的幅频特性。2.相位函数其中:该参数主要用来说明系统的相位特性。3.群延时定义为负相位角频率的导数,过滤器的平均延时的不同频率成分。当在通带内的群时延需要是恒定的,滤波器的相位响应特性曲线通常应该是线性的。(2)实际滤波器的频率特性现实中的滤波器低通滤波器频率特性与理想的低通滤波器频率特性是不一样的,我们以低通滤波器的频率特性为例。1. 理想滤波器的特性:假设在滤波器输入信号为,并在信号中混入噪音,使该滤波器有不同的频率。假设滤波器的单位脉冲响应为。则该理想滤波器输出为: (1)对上式作傅里叶变换得: (2)假设除去噪声信号,即 (3)并将(3)式代入(2)式整理后得:假定信号频率成分为:,噪音频率成分为。则完整的理想低通滤波器的滤波特性:图1-1 理想低通滤波器频率特性h(t)t图1-2 理性滤波器的单位脉冲响应() (4)即 则该系统的单位脉冲响应为: (5)理想低通滤波器的频率特性如上图1-1所示,单位脉冲响应的波形上如图1-2所示。通 带阻带过渡带图1-3 实际滤波器特性2. 实际滤波器特性工程技术上通常是用脉冲响应为有限长的、因果的、稳定的线性时不变系统或具有连续频率特性的线性时不变系统来逼近理想特性以实现低通滤波器。一般在一定的误差范围内设计实际低通滤波器。因此我们设计实际的低通滤波器特性如图1-3所示。其中截止频率阻带起始频率过渡带宽在通带内幅度响应以的误差接近于1,即为阻带起始频率,在阻带内幅度响应以小于的误差接近于零,即为了成功的使用逼近法来实现理想的低通滤波器,我们需要提供一带宽为的不为零的过渡带。并在这个过渡带内,该滤波器的幅频响应需要平滑的从通带内下到阻带。3 常用的数字滤波器设计方法主要有以下2种: 1. 使用模拟滤波器函数转换的方法;首先设计模拟滤波器H(s),再将模拟滤波器转化为数字滤波器H(z)。 2. 直接设计法:在z平面内,我们根据零、极点对系统特性的影响,从而来调整零极点位置然后得H(z)。2.1.4 设计滤波器N=41 N=10N=210.707图1-4巴特沃思低通滤波器特性(1)一般模拟滤波器幅频响应都使用“幅度平方函数”表示。 (6) 式中是模拟滤波器的系统函数。是该模拟滤波器稳态响应,通常又被叫为滤波器的频率响应。是该模拟滤波器的稳态振幅特性。(2)巴特沃斯低通滤波器: 巴特沃斯低通滤波器的幅度平方函数定义为 (7)式中C为常数,N为 巴特沃斯低通滤波器阶数,为归一化后低通截止频率。巴特沃斯低通滤波器的振幅频率特性如图1-4所示。假设归一化后巴特沃斯低通滤波器的归一化频率为,归一化传递函数为,其中,则由(6)式和(7)式得:由于1 (8)所以我们一般把巴特沃斯滤波器划分全极点滤波器。1、常用设计巴特沃斯低通滤波器指标:通带截止频率;:通带衰减,单位:dB;:阻带起始频率;:阻带衰减,单位:dB。 图1-5巴特沃斯低通滤波器指标说明: (1)衰减是以分贝(dB)为单位;即 (2)当时为通常意义上的截止频率。(3)在滤波器设计中常选用归一化的频率,即2、巴特沃斯低通滤波器设计实质我们根据设计指标,确定归一化后巴特沃斯低通滤波器待定系数C和巴特沃斯低通滤波器的阶数N;最后再确定巴特沃斯低通滤波器的传递函数H(s)。(1)实际频率归一化后得,然后根据已知的,幅度平方函数 确定C和N。(2)求C和N由并带入 ,得 即因为,所以由两边取对数得:其中这样可以求出C和N。注意:当时,即C=1,此时巴特沃斯滤波器只剩下一个参数N。(3)确定巴特沃斯低通滤波器的传递函数H(p)。由于由,解得极点为:将p左半平面的极点赋予即其中 (4)最后去除归一化产生的影响,以上设计时候采用归一化的频率,但是在实际中截止频率为,所以我们需要再进行如下的变量代换:即 最后,我们总结出设计巴特沃斯低通滤波器的方法:(a)计算归一化频率,。(b) 我们在依据最后设计木匾按照和其中计算巴特沃斯滤波器的参数C和阶次N;(c)然后再使用N查表查出滤波器的系统函数;(d)在令中的得到截止频率为的巴特沃斯低通滤波器的系统函数。 3从模拟滤波器到数字滤波器的方法:双线性变换法 (1)变换原理双线性变换法为了使数字滤波器的频率响应和模拟滤波器的频率响应相似的一种变换方法。双线性变换法使S平面和Z平面值一一对应,S平面的虚竹和Z平面的单位圆对应,和数字滤波器频率响应并终止折叠频率处,因此双线性变换不存在混叠效应,其基本原理如图1-6所示。将s平面整个平面压缩到平面的到,可采用以下的变换关系 (9)其中C为常数;这样经(9)式变为,变为,可将上式写成图1-6双线性变换法的映射关系令,则可得 (10)再将平面通过以下标准变化关系映射到z平面 (11)这样(10)式可表示为 (12) (13)2 模拟滤波器的数字化因为在双线性变换法中s和在有代数关系,根据代数关系我们可以使用代数置换可以直接得到数字滤波器的系统函数。即 由此可得数字滤波器和模拟滤波器的极点数相同。我们也可直接置换频率响应得到如下关系 通过上式于滤波器的数字指标转换为模拟指标 2.2系统框图 如图1-7所示,我们可以很清晰的看出本次设计的主要内容和步骤。 本次设计的重点就是设计滤波器,先在语音信号中加入不同类型的噪声,设计不同类型的滤波器滤除噪声,还原出原来的语音信号。本次设计的滤波器都是以巴特沃思低通滤波器为原型,通过双线性变换法分别变成不同类型的数字滤波器。声音除燥采集声音信号,显示频谱声音信号中加入低频噪声声音信号中加入高频噪声整个通带上加上噪声设计带通滤波器,滤除通带上的噪声设计高通滤波器,滤除低频噪声设计低通滤波器,滤除高频噪声整个通带中加入噪声还原声音信号 图1-7 系统框图 图1-7 系统框图3系统的软件设计3.1开发环境 1、微型电子计算机(PC);2、安装Windows 7以上操作系统,MATLAB 7.0等开发工具。3.2 开发工具介绍 The MathWorks公司的matlabB是一种专业商业数学软件,主要用于算法开发,数据可视化,数据分析和数值计算的高级技术计算语言和交互式环境,主要包括matlab和Simulink两部分。MATLAB应用非常广泛。它的数值分析,矩阵运算,科学数据可视化和建模和仿真非线性动力系统,以及许多其他强大的功能都集成在一个易于使用的Windows环境,并为科研,并且需要有效的数值了大量的科学区域提供了一个全面的解决方案matlab接近标准的Windows界面,人机交互更强大,操作更简单。MATLAB的新版本提供了一个完整的在线查询,帮助系统,极大地方便了用户。简单的编程环境提供了一个比较完整的调试系统,程序可以直接编译无需经过运行,并及时报告的错误可以出现,并找出错误并对错误进行分析。3.4开发环境设置Matlab只能在正确的外部环境中才能正常运行,在计算机机上安装matlab时需注意正确选取并安装matlab组件。Matlab常用窗口包括:指令窗口、历史指令窗口 、工作空间浏览器、当前目录浏览器 、m文件编辑调试器等等,其中m文件浏览器在这次设计中的作用尤其重要,对于简单一次性的问题,可以通过在指令窗口直接输入一组指令组去求解,当所需指令较多或需要重复使用一组指令,就要用到M脚本编程。M文件有2类:命令文件盒函数文件,他们的扩展名均为.m。M函数参数的调用与参数传递 :在matlab中,按照自顶向下 逐步求解的结构化程序设计。M函数可以使用程序模块化,且可通过函数调用实现控制转移和相互的参数传递。3.4软件设计在软件环境搭建好了之后,我们便可以开始着手程序的编写。先写出读取语音信号的代码,画出语音信号的频谱图,在写出加入噪声的代码,再根据语音信号频谱的特点设计合适的滤波器,滤除噪声信号。其中,滤波器设计一巴特沃思低通滤波器为原型,再利用双线性变换法将模拟的低通滤波器转化成数字的低通、高通、带通滤波器。编写代码过程中要注意参数的设定,已达到最佳效果,还原出原来的语音信号。4软件调试4.1 滤除高频噪声 4.1.1 声音的提取 程序如下: fs=22050 x1=wavread(e:jinhuaibo.wav); sound(x1,22050); Y1=fft(x1,1024); f=fs*(0:511)/1024; figure(1) plot(x1) title(原始语音信号); figure(2) plot(f,abs(Y1(1:512); title(原始语音信号频谱) xlabel(Hz); ylabel(fuzhi); 运行结果如下: 图 4-1 原始语音信号时域 图 4-2 原始语音信号频域 解释说明:先读取语音信号,再对语音信号做1024点FFT变换最后绘制出该语音信号时域和频域的频谱图。4.1.2 声音的加噪 程序如下: fc=10000; y2=modulate(x1,fc,fs,fm); Y2=fft(y2,1024); f=fs*(0:511)/1024;plot(f,abs(Y2(1:512); title(调制后信号频谱)sound(y2,22050); y3=x1+y2;% 调制信号+原始信号 sound(y3,22050); Y3=fft(y3,1024); figure(4); plot(f,abs(Y3(1:512); title(调制信号+原始信号频谱) 运行结果如下: 图4-3 加噪后信号频谱 图4-4 加噪信号和原始信号的频域 解释说明:本次设计利用频率调制的方法,将该语音信号调制到高频处,在将调制后的信号加到原来的语音信号,以造成对原来语音信号的干扰。听取加噪前和加噪后语音信号的变化。 4.1.3 噪声的去除程序如下:wp=0.6*pi;ws=0.8*pi;Rp=1;Rs=15;Fs=22050;Ts=1/Fs;wp1=2/Ts*tan(wp/2); %将模拟指标转换成数字指标ws1=2/Ts*tan(ws/2); N,Wn=buttord(wp1,ws1,Rp,Rs,s); %选择滤波器的最小阶数Z,P,K=buttap(N); %创建butterworth模拟滤波器Bap,Aap=zp2tf(Z,P,K);b,a=lp2lp(Bap,Aap,Wn); bz,az=bilinear(b,a,Fs); %用双线性变换法实现模拟滤波器到数字滤波器的转换H,W=freqz(bz,az); %绘制频率响应曲线figure(5)plot(W*Fs/(2*pi),abs(H)gridxlabel(频率Hz)ylabel(频率响应幅度)title(Butterworth)f1=filter(bz,az,y3);figure(6)subplot(2,1,1)plot(y3); %画出滤波前的时域图title(滤波前的时域波形);subplot(2,1,2)plot(f1); %画出滤波后的时域图title(滤波后的时域波形);sound(f1,22050); %播放滤波后的信号F0=fft(f1,1024);f=fs*(0:511)/1024;figure(7)y2=fft(y3,1024);subplot(2,1,1);plot(f,abs(y2(1:512); %画出滤波前的频谱图title(滤波前的频谱)xlabel(Hz);ylabel(fuzhi);subplot(2,1,2)F1=plot(f,abs(F0(1:512); %画出滤波后的频谱图title(滤波后的频谱)xlabel(Hz);ylabel(fuzhi)运行结果如下: 图4-5 低通滤波器 图4-6 滤波前和滤波后时域 图4-7 滤波前和滤波后频域解释说明:先设计低通滤波器,根据语音信号的频谱设计滤波器的参数,已达到最佳效果,再用滤波器滤除高频部分,还原出原来的语音信号,听取滤波前和滤波器后声音的变化。4.2 滤除低频噪声4.2.1 声音的提取 由于声音提取的时候,与滤除高频噪声音提取时相同,为了节省篇幅,这就不做仔细介绍,程序和运行结果如:4.1.1 4.2.2 声音的加噪 程序如下: fc=500; y2=modulate(x1,fc,fs,fm); Y2=fft(y2,1024); f=fs*(0:511)/1024; figure(3); plot(f,abs(Y2(1:512); title(调制后信号频谱) sound(y2,22050); y3=x1+y2;% 调制信号+原始信号波形 Y3=fft(y3,1024);sound(y3,22050); figure(4); plot(f,abs(Y3(1:512); title(调制信号+原始信号频谱)程序运行结果如下: 图4-8 调制后信号频域 图4-9调制信加原始信号的频域 解释说明:本次设计利用频率调制的方法,将该语音信号调制到低频处,在将调制后的信号加到原来的语音信号,以造成对原来语音信号的干扰。听取加噪前和加噪后语音信号的变化。4.2.3 噪声的去除 程序如下:wp=0.2*pi;ws=0.05*pi;Rp=1;Rs=40;Fs=22050;Ts=1/Fs;wp1=2/Ts*tan(wp/2); %将模拟指标转换成数字指标ws1=2/Ts*tan(ws/2); N,Wn=buttord(wp1,ws1,Rp,Rs,s); %选择滤波器的最小阶数Z,P,K=buttap(N); %创建butterworth模拟滤波器Bap,Aap=zp2tf(Z,P,K);b,a=lp2hp(Bap,Aap,Wn); bz,az=bilinear(b,a,Fs); %用双线性变换法实现模拟滤波器到数字滤波器的转换H,W=freqz(bz,az); %绘制频率响应曲线figure(5)plot(W*Fs/(2*pi),abs(H)gridxlabel(频率Hz)ylabel(频率响应幅度)title(Butterworth)f1=filter(bz,az,y3);figure(6)subplot(2,1,1)plot(y3); %画出滤波前的时域图title(滤波前的时域波形);subplot(2,1,2)plot(f1); %画出滤波后的时域图title(滤波后的时域波形);sound(f1,22050); %播放滤波后的信号F0=fft(f1,1024);f=fs*(0:511)/1024;figure(7)y2=fft(y3,1024);subplot(2,1,1);plot(f,abs(y2(1:512); %画出滤波前的频谱图title(滤波前的频谱)xlabel(Hz);ylabel(fuzhi);subplot(2,1,2)F1=plot(f,abs(F0(1:512); %画出滤波后的频谱图title(滤波后的频谱)xlabel(Hz);ylabel(fuzhi)程序运行结果如下: 图4-10 高通滤波器 图4-11 滤波前和滤波后时域 图4-12 滤波前和滤波后频域解释说明:先设计高通滤波器,根据语音信号的频谱设计滤波器的参数,已达到最佳效果,再用滤波器滤除低频部分,还原出原来的语音信号,听取滤波前和滤波器后声音的变化。4.3 滤除语音信号的噪声干扰 4.3.1 声音的提取 由于声音提取的时候,与滤除高频噪声音提取时相同,为了节省篇幅,这就不做仔细介绍,程序和运行结果如:4.1.1 4 .3.2 声音的加噪 程序如下: n=length (x1) y2=0.2*randn(n,1); Y2=fft(y2,1024); f=fs*(0:511)/1024; figure(3); plot(f,abs(Y2(1:512); title(加噪后信号频谱) %sound(y2,22050); y3=x1+y2;% 加噪信号+原始信号波形 sound(y3,22050); Y3=fft(y3,1024); figure(4); plot(f,abs(Y3(1:512); title(加噪信号+原始信号频谱)程序运行结果如下: 图4-13 加噪后频域 图4-14加噪加原始信号的频域解释说明:本次使用rand函数产生随机噪声,将产生得到的随机噪声加人到原来的语音信号里,听取加噪前和加噪后语音信号的变化。4.3.3 噪声的去除 程序如下:wp1=0.05*pi; wp2=0.15*pi;ws1=0.01*pi; ws2=0.25*pi;Fs=22050;Rp=1; Rs=40;Wp1=tan(wp1/2); Wp2=tan(wp2/2);Ws1=tan(ws1/2); Ws2=tan(ws2/2);BW=Wp2-Wp1; W0=Wp1*Wp2; W00=sqrt(W0);WP=1; WS=WP*(W02-Ws12)/(Ws1*BW);N,Wn=cheb1ord(WP,WS,Rp,Rs,s);B,A=cheby1(N,Rp,Wn,s);BT,AT=lp2bp(B,A,W00,BW);num,den=bilinear(BT,AT,0.5);H,W=freqz(num,den,64);figure(5)plot(W*Fs/(2*pi),abs(H)gridxlabel(频率Hz)ylabel(频率响应幅度)title(Butterworth)f1=filter(num,den,y3);figure(6)subplot(2,1,1)plot(y3); %画出滤波前的时域图title(滤波前的时域波形);subplot(2,1,2)plot(f1); %画出滤波后的时域图title(滤波后的时域波形);sound(f1,22050); %播放滤波后的信号F0=fft(f1,1024);f=fs*(0:511)/1024;figure(7)Y4=fft(y3,1024);subplot(2,1,1);plot(f,abs(Y4(1:512); %画出滤波前的频谱图title(滤波前的频谱)xlabel(Hz);ylabel(fuzhi);subplot(2,1,2)F1=plot(f,abs(F0(1:512); %画出滤波后的频谱图title(滤波后的频谱)xlabel(Hz);ylabel(fuzhi)程序运行结果如下: 图4-15 带通滤波器 图4-16 滤波前和滤波后时域 图4-17 滤波前和滤波后频域解释说明:根据原始语音信号频谱的特点,设计出合适的带通滤波器,滤除原始语音信号以外的噪声干扰,听取滤波前和滤波器后语音信5结束语 两个多月说长不长,说短也不算短,自己终于完成了这个毕业设计的论文。其实在我开始接受到了这个题目时,自己心里还是比较怀疑的,不是那么的自信,但一路挺来,每一个小小的难点,对我来说,都是一个巨大的挑战,当然很惭愧的说,这也是我大学四年来,完成过的最大的项目。这段时间里,最大的一个感受就是自己以前学到的东西真的很有限,每次碰到一个不会的知识点都会让自己很为难,都要去查很多的相关资料和书籍,在不断的学习过程中,自己的也不知在什么时候已经开始慢慢地成长起来,从对matlab模糊阶段,现在在自己心中也有了一个明确的框架,甚至都有一些自己对matlab的见解。当然在每一次改进的过程中,当程序按照自己的思路一步步实现的时候,自己心中也有了自信和自豪感。每一次试验的成功都会让我兴奋好一段时间。经历了这次毕业设计以后,我相信在以后的学习中,我就会懂得了,一定要注重理论知识和实践相结合的原理。伟人说的话确实很对:实践是检验真理的唯一标准。所以今后不论干什么,我都会按照这个思路去努力,争取在下次做的更好。由于自己以前并不是很努力,故在理论知识上能力很欠缺,就使的该程序的很多功能没能实现,以及在方法设计上也不是那么的完美,如果以后还有机会,饿哦一定会多向身边的高手去多多请教,多多加强自己在matlab方面的编程水平。其实在这次开发的过程中,我也学习到了很多东西,不仅仅有一些实际编程方面的知识,更主要的对我今后的成长有很大的帮助。回头看看整个编程过程,总结来看,过程是很不顺利的,总是会出现这样或那样的问题,有时候调试一段代码竟花费了我整整一天的时间,这正是应中了那句话,写代码容易,调试很难。在开发的过程中,我也发现了我想要实现的噪声处理以及设计合适的滤波器之间的关系,当然,通过我的错误,改正,错误,再改正。我的程序最后运行成功了。水平所限,致使程序实现的功能在方法上也许不是很完美,但我以后会多向老师请教,自己也要加强对matlab 的学习。努力进一步提高自己的编程水平。通过这几个月查看的大量参考资料,我所设计的噪声处理系统基本上实现了去除噪声的功能。从整个大学来看,我很难得有这样亲力亲为地去进行一次实践,去提高我的个人能力的机会。与此同时,我也亲身感受到一款软件从开发到最后的成功,是怎样一个过程。另外,此次设计的过程中,也使我的能力得到提高得为我今后的工作,攒下了很好的经验。参考文献:1张威MATLAB基础与编程入门【M】西安电子科技大学出版社,20062樊昌信通信原理第6版【M】北京:国防工业出版社,2005.3丁玉美高西全数字信号处理【M】.西安电子科技大学出版社,20064吴镇扬,数字信号处理【M】北京:高等教育出版社,20045胡航语音信号处理【M】哈尔滨:哈尔滨工业大学出版社,20026林福宗多媒体技术基础【M】北京:清华大学出版社,20007何强,何英MATLAB扩展编程【M】北京:清华大学出版社,2002:293-298朱学芳,徐建平计算机语音信号处理与语音识别系统J南京邮电学院学报,1998,18(56):113119胡广书,数字信号处理导论【M】北京:清华大学出版社,200410苏涛等,高性能数字信号处理器与高速信号处理【M】西安电子科技大学出版社,1999 致谢大学的生活快要结束了,这次的毕业设计也已经快要结束,作为一个缺乏经验的大学生来说,突然给我一个这样的任务,也会让我措手不及,当然也就会有很多没有考虑到的地方,由此,我不得不提到我的老师和同学,如果没有指导老师的细心的帮助,同学多多的支持,让我独自一人来完成这样一个毕业设计,想想就会知道难度有多大。本次设计是在王家成老师精心指导下完成的,他循循善诱的教导,更是给了我很大的启发,在老师的悉心教导下,我阅读并学习了许多课外教材来完成本设计。在开拓我视野的同时,也提高了我的理论知识和实践操作能力,总之,这次的毕业设计让我受益匪浅。所以我要衷心感谢老师,感谢他对我毕业设计的指导。当然在学习matlab和设计程序的过程中还得到了指导老师的辛勤指导,为我解答了不少的疑问。同时,在王老师身上我学到了很多实用的东西,在此表示衷心的感谢!同时,还要感谢帮助过我的同学!才能有现在这个软件的成功运行,在这里请再次接受我诚挚的谢意。32附录:1滤除高频噪声 fs=22050 x1=wavread(e:jinhuaibo.wav); sound(x1,22050); Y1=fft(x1,1024); f=fs*(0:511)/1024; figure(1) plot(x1) title(原始语音信号); figure(2) plot(f,abs(Y1(1:512); title(原始语音信号频谱) xlabel(Hz); ylabel(fuzhi); fc=10000; y2=modulate(x1,fc,fs,fm); Y2=fft(y2,1024); f=fs*(0:511)/1024; figure(3); plot(f,abs(Y2(1:512); title(调制后信号频谱) sound(y2,22050); y3=x1+y2;% 调制信号+原始信号波形 sound(y3,22050); Y3=fft(y3,1024); figure(4); plot(f,abs(Y3(1:512);title(调制信号+原始信号频谱)wp=0.6*pi;ws=0.8*pi;Rp=1;Rs=15;Fs=22050;Ts=1/Fs;wp1=2/Ts*tan(wp/2); %将模拟指标转换成数字指标ws1=2/Ts*tan(ws/2); N,Wn=buttord(wp1,ws1,Rp,Rs,s); %选择滤波器的最小阶数Z,P,K=buttap(N); %创建butterworth模拟滤波器Bap,Aap=zp2tf(Z,P,K);b,a=lp2lp(Bap,Aap,Wn); bz,az=bilinear(b,a,Fs); %用双线性变换法实现模拟滤波器到数字滤波器的转换

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论