语音信号的采集与频谱分析(附代码).docx
《语音信号的采集与频谱分析(附代码).docx》由会员分享,可在线阅读,更多相关《语音信号的采集与频谱分析(附代码).docx(22页珍藏版)》请在课桌文档上搜索。
1、信号与系统大作业语音信号的采集与频谱分析基于MatIab的语音信号处理XIDIANUNIVERSITY学生姓名:学号:专业班级:电子工程学院卓越班指导老师:2015年6月22日摘要本设计用苹果手机自带的录音设备采集了原始语音,并导入了电脑转成WaV格式,然后用MATLAB和Adobeaudition对其进行时域分析。接着利用傅里叶变换进行了频域分析,绘制频谱图,再录制一段加上歌曲的伴奏的语音与原唱进行了对比分析,得出了我与歌星在频域上的差别。本设计给信号加了两种噪声并通过观察加噪后的频谱和试听回放效果比较加噪前后的差别,最后,设计了FIR数字低通滤波器和带通滤波器,分析滤波前后的频谱。再次试听
2、回放效果,得出结论。关键词:语音、FFT、频谱图、噪声、滤波器AbstractThisdesignisbasedonthegeneralfunctionofMatlabandAdobeeditiontodealwithAudiosignals.TheoriginalsignalsarecollectedbyiPhone,sbuilt-inrecordingequipment.First,Icomparethefilegeneratedbymyselfwiththatofthesamesongsangbyafamoussinger.Theemphasisisgenerallylaidonanal
3、ysingthedifferenceinfrequncydomain,buttimedomainwillbeincludedtoo.Afterthat,twonoisesignalsareaddedtotheoriginalsignalrespectivelyandletthempassafiltertoanalyseit.Inthetwoprocessmentionedbefore,Imakecomparisonbetweenthebeforeandafterfrequencydomain.SamplingTheoremisthebaseofmydesign.ltisbysamplingwe
4、cangetdiscretesignalsfromtheoriginaloneanddrawtheimageintimedomain.Also,fastfouriertransformisemployed(FFT)togetthesignalsinfrequencydomain.Theayalysisoffrequencydomainisthehighlightofthisdesign.Throughthisdesign,IcandeepenmycomprehensionofprinciplesofaudiosignalsandIhaveIeamthowtodealwithit.Through
5、metwithmuchhindrance,!improvedmyskillsfinally.Keywords:audiosignalTTTnoise、filter1绪论1.1 课题的研究意义语音信号处理属于信息科学的一个重要分支,它是研究用数字信号处理技术对语音信号进行处理的一门新兴学科,同时又是综合性的多学科领域和涉及面很广的交叉学科,因此我们进行语言信号处理具有时代的意义。学会运用MATLAB的信号处理功能,采集语音信号,并对语音信号进行滤波及变换处理,观察其时域和频域特性,加深对信号处理理论的理解,这为今后熟练使用MATLAB进行系统的分析仿真和设计奠定基础。1.2 课题的目的与要求利用
6、Matlab和Adobeaudition对语音信号进行数字信号处理和分析,要求采集语音信号后,在软件平台进行频谱分析;并对所采集的语音信号加入干扰噪声,对加入噪声的信号进行频谱分析,设计合适的滤波器滤除噪声,再进行频谱分析和再播放来感受噪声滤除的效果。2.理论依据2. 采样频率、采样位数的概念,采样定理;时域信号的FFT分析;数字滤波器设计原理和方法,各种不同类型滤波器的性能比较。3. 1.时域信号的FFT分析FFT即为快速傅氏变换,是离散傅氏变换的快速算法,它是根据离散傅氏变换的奇、偶、虚、实等特性,对离散傅立叶变换的算法进行改进获得的。它利用“一分为二”的思想不断进行,点数越多,运算量的节
7、约就越大,这就是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;
8、若向量X的长度大于N,则函数截短X使之长度为N;若X为矩阵,按相同方法对X进行处理。3.1. 2采样定理采样定理,又称香农采样定律、奈奎斯特采样定律,是信息论,特别是通讯与信号处理学科中的一个重要基本结论。采样是将一个信号(即时间或空间上的连续函数)转换成一个数值序列(即时间或空间上的离散函数),这个数值序列即是一个数字信号。采样定理是将连续的模拟信号转变为离散的数字信号的方法。对于一个时域连续的信号f(t)利用开关函数s(t)进行采样,或者冲激函数序列进行采样(牛)。两种取样都具有一定的取样间隔,同时要求f(t)为频带带限信号,否则取样后将发生频谱混合重叠,破坏原信号。采样定理公式如下:/W
9、=f(nTdTS吟)=-O乙其中TS为采样间隔,设f(t)的频谱区间在(一纵3之誓间,即信号频带带2乃限,需满足的采样条件为:2卷,其中fs为采样频率,这样便完成了对于连续信号的采样形成离散的数字信号方便处理。2.1. 2数字滤波器数字滤波器是一个输入输出都是离散时间信号的特定功能装置。应用数字滤波器处理模拟信号(对应模拟频率)时,首先须对输入模拟信号进行限带、抽样和模数转换。数字滤波器输入信号的数字频率(2n*ffs,f为模拟信号的频率,fs为采样频率,注意区别于模拟频率),按照奈奎斯特取样定理,要使抽样信号的频谱不产生重叠,应小于折叠频率(ws2=),其频率响应具有以2兀为间隔的周期重复特
10、性,且以折叠频率即=点对称。为得到模拟信号,数字滤波器处理的输出数字信号须经数模转换。数字滤波器具有高精度、高可靠性、可程控改变特性或复用、便于集成等优点。数字滤波器有低通、高通、带通、带阻和全通等类型。它可以是时不变的或时变的、因果的或非因果的、线性的或非线性的。应用最广的是线性、时不变数字滤波器,以及FlR滤波器。从单位脉冲响应的角度,可以把数字滤波器分为:IIR滤波器(无限长单位冲激响应滤波器)和FIR滤波器(有限长单位冲激响应滤波器)3.设计思想3.1 语音信号的采集此次我选择的歌曲是赵薇的情深深雨蒙蒙,用苹果手机自带的录音功能(VoiCeMemos)录音,和WindOWS自带的录音机
11、程序相比,优点是方便,而且可以忽略电脑运行本身的噪声。然后将其导入到电脑,转换格式存为WaVe格式,并对从网上下载原唱的语音用同样的方式转换格式,并保存到正确的目录,以便以后能在matlab中打开。同时手机自带的录音功能还能完成简单的音频剪辑操作,减掉多余的不需要的部分。4. 2语音处理工具的选择 MatlabMatlab是大家都熟悉的一种科学计算软件,在信号与系统中运用很广泛,优点是可编程性强,且具有很好的可移植性和可扩展性,而且和专业信号与系统关联更大。但缺点是数据都以矩阵形式进行处理,对我来说不够直观。 AdobeauditionAdObeaUditiOn是一款专门处理音频的软件,可提供
12、先进的编辑、混音、控制和效果处理功能,优点是很方便,比如采样频率可以直接选择,处理效果很直观,缺点是和信号与系统相关性较小,可编程性差。这次设计的频谱分析主要是采用了matlab进行分析,但对原始语音频谱的分析以及由采样频率不同带来的变化中我同时采用了Biatlab和adobeaudition来分析。 .3噪声函数的选择rand函数产生随机噪声,具体语句将在下面的列表中列出高斯白噪声GaUSSianWhiteNoise此噪声在随机信号分析课程中已学过,此次向原始信号中加入此噪声,加强理解。3.4滤波器的选择设计中选择的是FIR有限长单位冲激响应滤波器,相比于IIR滤波器,它有如下的优点:FlR
13、滤波器,由于冲激响应有限长,可以用快速傅里叶变换,这样运算速度可以快很多;FlR滤波器可以做到严格的线性相位,而若要IIR得到严格的线性相位,则要大大增加滤波器的阶数,FlR滤波器主要采用非递归结构,因而从理论上以及时性从实际的有限精度的运算中,都是稳定的。有限精度运算误差也较小,HR滤波器必须采用递归的结构,极点必须在Z平面单位圆内,才能稳定,这种结构,运算中的四舍五人处理,有时会引起寄生振荡。但是IIR也有相同技术指标下阶数较少,存储单元少,运算次数少的有点,此处不再加以赘述。两种滤波器:低通巴特沃斯滤波器巴特沃斯滤波器的特点为的通频带频率响应最为平滑,阻带缓慢衰减。用窗函数法设计低通滤波
14、器,具体指标为fp=3000Hzfc=4000HzAp=IdBAs=100dB高通滤波器具体指标为:fp=35ooHzfc=4000HzAp=IdBAs=IOdB3. 5Matlab函数的选择(1) y,fs,bits-wavread(filename)wavread函数可读入语音信号y是采样获得的离散时域信号,fs是返回的采样频率,bits是采样位数,filename是音频信号的文件名。(2) wavwrite(y,fs,bits,fiIename,)wavwrite函数,改变采样频率,可以将22.05KHz或者IL025KHz的信号写回并观察这样的采样频率会产生什么样的结果。其中y是已经获
15、得的时域离散信号,fs为写回的频率,bits是写回的位数,filename为要写回的文件名。(3) sound(y,fs,bits)sound函数,播放存在的离散音频信号其中的三个参数同wavread中的相同(4) rnt=rand(a,b)rand函数,为产生随机噪声,从而在信号中加入噪声。改随机噪声是在(0,1)内的随机数,均值为0.5其中a、b为产生随机数矩阵的行和列。(5) fy=fft(y)y为离散时域信号,fft函数是所有程序分析的核心。fft函数提供了以快速傅立叶变换算法的离散傅里叶变换的计算,等于对一个离散信号进行DFT离散傅立叶变换。(6) yl=awgn(y,q,measu
16、red,)awgn函数,为向一个现有的离散信号加入高斯白噪声的函数,y为被添加噪声的信号,q为信噪比,一般要大于LIneaSUred是一种控制名称。(7) n,fo,ao,w=firpmord(f,a,dev,fs)firpmord函数,为设计滤波器阶数的函数,f是滤波器的参数,主要为带边沿的参数,低通滤波器则是通带与阻带截止频率。a是通带与止带的幅频响应的幅度,也是一个向量。dev是通带与止带的震荡幅度大小比例(介于0到1),也是一个向量,fs则是采样频率。左边的4个参数,n是滤波器阶数,f是频率向量,a是幅频特性向量,W是权重。这四个参数是用来下一步制作模拟滤波器的。(8) h=firpm
17、(n,fo,ao,w)firpm函数,利用firpmord所产生的参数制作模拟滤波器,后面四个参数是firpmord所计算出的。(9) ht,w=freqz(h)frcqz函数,对一个设计好的滤波器求冲激响应,h为前一步firmp设计好的滤波器,ht为频率响应,用abs取绝对值得到幅频特性,或者用log转化成dB作图。W是频率范围(归一化的)(10) yf=fftfilt(h,y)fftfilt函数,用设计好的滤波器滤波(数字信号)h为设计好的滤波器,y为待滤的信号。(11) h=firl(n,w,window)firl函数,用于使用做好的窗函数进行带通滤波器设计,做好窗函数如hanning窗
18、(MATLAB也有这个函数),根据相应其他参数做出带通滤波器。MndOw是已经做好的窗,n是滤波器阶数,w是通带范围(一定要在0到1之间),为一个向量(因为是带通滤波器)。(13) a=mean(y)mean函数,用于求一个离散序列的均值,在实验中求采样所得的音频信号的均值y是一个向量(数组),a是该数组的均值。(14) a=var(y)Var函数,用于求离散序列的方差,在实验中用于求采样所得音频信号的方差,y为一个数组,a为该数组的方差。4.课程设计的具体实现及仿真结果分析4.1 语音信号的采集、录入、与打开把我的原始语音信号保存为qingshenshen.wav保存在相应路径,此语音信号的
19、长度小于30so通过matIab的函数wavread()可读入一个.wav格式的音频文件,例如下面的语句y,fs,bits=wavread(iqingshenshen.wav,);读入WaV文件并放入向量y中,对于双声道的音频文件,y有两行,此处我们仅对一个声道的音频进行分析。fs为采样频率,.wav格式默认的采样频率为44.IKHz,下文将比较不同采样频率对语音信号的影响。回放声音:用SOUnd()函数,例如:sounf(x,fs,bits);此处我将我唱的歌和伴奏合起来保存为qingshenshen.wav(具体程序见附录一)运行结果如下原始语音信号时域频域图此时可在WorkSPaCe中看
20、到fs的值VaIUe为44100田fs4414410044100;通过调整放大第三章小图,可以看出我声音的频率范围主要集中在200-450hz之间属用Adobeaudition画出的频域图为,分析可得频域范围与MatIab分析所得很接近,只是Adobeaudition的横轴显示的标准不同。i频率解析XS线性查看自举:(JJ叵)LJ;-36;-72 ; dB HzHz 500010000150指针:10930 Hz, L-83.89 dB, R=-83.89 dB频率:L= 236.09 Hz (A#3 +22), R= 236.09 Hz (A.,区域加上扫描选区 高级II然后我将原唱赵薇的(
21、带伴奏)进行同样的分析,(具体程序见附录一)时域波形图原唱语音信号时域频域图原唱语音信号频域幅值图通过对比可以发现,赵薇的频域更宽,从几十到100Ohz都有较大的分布,算是个女高音吧,但大部分集中在几十到60OhZ这个区间段,看来我在高音部分与原唱有较大差距,怪不得唱她的歌的时候总有种唱不上去的感觉。特征值的分析:通过matlab函数mean()和var()的计算,可以得出原唱的均值与方差为:ml=1.0e-003*0.1372vl=0.8996而我的语音的均值与方差为:m2=l.0e-005*0.5838v2=0.0046比对可知,我唱的歌在均值和方差上和原唱差距都很差,说明我对歌曲的还原度
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语音 信号 采集 频谱 分析 代码

链接地址:https://www.desk33.com/p-787094.html