语音信号的处理与滤波_第1页
语音信号的处理与滤波_第2页
语音信号的处理与滤波_第3页
语音信号的处理与滤波_第4页
语音信号的处理与滤波_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

广西科技大学数字信号处理课程设计题目:语音信号的处理与滤波(难度系数:0.8)系别:计算机工程学院专业:通信工程班级:学号:姓名:指导教师:日期:目录摘要: 3一.设计容 3二.设计目的 4三.基本步骤 4四、相关原理知识 5五、实现过程 91.录制声音 92.分别取8000个和16000个数据进行频谱分析,得到幅度和相位谱,比较二者异同并分析原因 113.滤波器的设计 134.对声音进行滤波 145.把处理后的所有数据存储为声音文件,与原始声音进行比较 15六、心得体会 16七、参考文献 17摘要:本次设计主要是利用MATLAB工具对自己的语音进行录制,然后设计IIR滤波器,并通过所设计的滤波器进行语音信号滤波以及分析等,对以前所学的知识进行一个系统的归纳和进一步理解,并且在实际应用操作当中体会我们《数字信号处理》这门课程的相关知识点。一、设计容1.设计题目一:语音信号的处理与滤波(难度系数:0.8)1.熟悉并掌握MATLAB中有关声音(wave)录制、播放、存储和读取的函数。2.在MATLAB环境中,使用声音相关函数录制2秒左右自己的声音,抽样率是8000Hz/s。(考虑如何解决一个实际问题:录制刚开始时,常会出现实际发出声音落后录制动作半拍的现象,如何排除对这些无效点的采样?)3.画出语音信号的时域波形;然后对语音信号进行FFT,得到信号的频谱特性,然后分别取8000个和16000个数据进行频谱分析,得到幅度和相位谱,比较二者异同并分析原因。4.针对信道(最高3500Hz),设计一个FIR或IIR滤波器进行滤波,把抽样率转变为7000Hz/s,并进行频谱分析,得到幅度和相位谱。5.用自己设计的IIR滤波器分别对采集的信号进行滤波比较滤波前后语音信号的波形及频谱..画出滤波前后的波形和频谱.加深对滤波器的了解.6.把处理后的所有数据储存为声音文件,与原始声音进行比较。7.保存滤波后的语音 二、设计目的综合运用本课程的理论知识进行频谱分析以及滤波器设计,通过理论推导得出相应结论,并利用MATLAB作为工具进行实现,从而复习巩固课堂所学的理论知识,提高对所学知识的综合应用能力,并从实践上初步实现对数字信号的处理。三、基本步骤1.语音信号的采集熟悉并掌握MATLAB中有关声音(wave)录制、播放、存储和读取的函数,在MATLAB环境中,使用声音相关函数录制3秒左右自己的声音。(考虑如何解决一个实际问题:录制刚开始时,常会出现实际发出声音落后录制动作半拍的现象,如何排除对这些无效点的采样?)2.语音信号的频谱分析要求首先画出语音信号的时域波形;然后对语音号进行快速傅里叶变换,得到信号的频谱特性,从而加深对频谱特性的理解。3.设计数字滤波器并画出其频率响应给出各滤波器的性能指标:(1)低通滤波器性能指标:fb=1000Hz,fc=1200Hz,As=100dB,Ap=1dB。(2)高通滤波器性能指标:fc=4800Hz,fb=5000HzAs=100dB,Ap=1dB。(3)带通滤波器性能指标:fp1=1200Hz,fp2=3000Hz,fsc1=1000Hz,fsc2=3200Hz,As=100dB,Ap=1dB。要求用窗函数法和双线性变换法设计上面要求的3种滤波器。在Matlab中,使用函数butter,cheby1等函数设计IIR滤波器;利用Matlab中的函数freqz画出各滤波器的频率响应。4.用滤波器对信号进行滤波要求用自己设计的各种滤波器分别对采集的信号进行滤波,在Matlab中,FIR滤波器利用函数fftfilt对信号进行滤波,IIR滤波器利用函数filter对信号进行滤波。5.比较滤波前后语音信号的波形及频谱要求在一个窗口同时画出滤波前后的波形及频谱。6.回放语音信号在Matlab中,使用相关声音函数对声音进行回放。辨别滤波前后的声音有何变化。四、相关原理知识1.录音原理Matlab中有两个函数可以用于实现录音功能,一个是waverecord函数调用windows音频设备进行录音,主要用于实时语音采集。第二个是使用Matlab中的wavread函数也可以进行语音采集。不过wavread函数只能读取计算机中已经有的“.wav”文件,也就是说必须事先使用windows的录音机等设备把有关的语音资料录制并存储为“.wav”文件。显然wavread函数不能用于实时语音信号采集。另外语音采集的频率和精度不能改变。回放时也有两个函数可以选用。Sound函数和wavplay,只不过后者的功能没有前者强大。不过在本设计中主要是对已有的信号进行处理,所以选用wavread录放。同时,由于信号的时域描述只能反映信号的幅值随时间的变化情况,除只有一个频率分量的简谐波外一般很难明确揭示信号的频率组成和各频率分量的大小,因此,我们要把它转换成频域来分析,它能够提供比时域信号波形更直观,丰富的信息。2、滤波器的设计原理及设计方法FIR滤波器的设计问题在于寻求一系统函数,使其频率响应逼近滤波器要求的理想频率响应,其对应的单位脉冲响应。1、用窗函数设计FIR滤波器的基本方法设计思想:从时域从发,设计逼近理想。设理想滤波器的单位脉冲响应为。以低通线性相位FIR数字滤波器为例。一般是无限长的,且是非因果的,不能直接作为FIR滤波器的单位脉冲响应。要想得到一个因果的有限长的滤波器h(n),最直接的方法是截断,即截取为有限长因果序列,并用合适的窗函数进行加权作为FIR滤波器的单位脉冲响应。按照线性相位滤波器的要求,h(n)必须是偶对称的。对称中心必须等于滤波器的延时常数,即用矩形窗设计的FIR低通滤波器,所设计滤波器的幅度函数在通带和阻带都呈现出振荡现象,且最大波纹大约为幅度的9%,这个现象称为吉布斯(Gibbs)效应。为了消除吉布斯效应,一般采用其他类型的窗函数。2、典型的窗函数(1)矩形窗(RectangleWindow)其频率响应和幅度响应分别为:,(2)三角形窗(BartlettWindow)其频率响应为:(3)汉宁(Hanning)窗,又称升余弦窗其频率响应和幅度响应分别为:(4)汉明(Hamming)窗,又称改进的升余弦窗其幅度响应为:(5)布莱克曼(Blankman)窗,又称二阶升余弦窗其幅度响应为:(6)凯泽(Kaiser)窗其中:β是一个可选参数,用来选择主瓣宽度和旁瓣衰减之间的交换关系,一般说来,β越大,过渡带越宽,阻带越小衰减也越大。I0(·)是第一类修正零阶贝塞尔函数。若阻带最小衰减表示为,β的确定可采用下述经验公式:若滤波器通带和阻带波纹相等即δp=δs时,滤波器节数可通过下式确定:式中:3.利用窗函数设计FIR滤波器的具体步骤如下:(1)按允许的过渡带宽度△ω及阻带衰减AS,选择合适的窗函数,并估计节数N:其中A由窗函数的类型决定。(2)由给定的滤波器的幅频响应参数求出理想的单位脉冲响应。(3)确定延时值(4)计算滤波器的单位取样响应,。(5)验算技术指标是否满足要求。3.IIR数字滤波器IIR数字滤波器的系统是Z的有理数,可表示为系统的设计就是要确定系数,以使滤波器达到要求.设计方法为,用模拟滤波器理论来设计数字滤波器.在IIR数字滤波器的设计中较多的采用这种方法.用计算机助设计,优化技术设计.针对信道我们可以设计一个IIR低通滤波器来滤我们录制的语音,用fftfilt函数可以把我们录制的语音放到设计好的滤波器进行滤波.然后angle函数求出滤波后语音的相位谱,用abs求出幅度谱.然后再用wavwrite对滤波后的语音保存为声音文件.五、实现过程1.录制自己的声音文件(wav格式),容为“数字信号课程设计,邓国望”程序如下:fs=8000;%抽样频率channel=1;%1信道t=3;%设定录音时间为3秒钟fprintf('按任意键后开始%d秒录音:',t);pause;%文字提示%暂停命令fprintf('录音中...');%提示当前正在录音当中x=wavrecord(t*fs,fs,channel,'double');%录制自己的声音信号fprintf('录音结束\n');%提示录音已经结束wavwrite(x,fs,'F:\新建文件夹\dgw.wav');%存储录音信号fprintf('按任意键后回放:');pause;wavplay(x,fs);%播放录制的声音下面读取原始声音,并且画出它的时域图形,程序如下:y=wavread('F:\新建文件夹\dgw.wav',[120000]);%读取声音plot(y);%画出声音时域图形title('原始声音信号时域图形');%标题xlabel('时间');%x轴坐标ylabel('幅值');%y轴坐标grid;%添加网格线通过观察图形,发现在录音过程中出现了这样一个现象:录制刚开始时,出现一些无效的点,后面也出现一些无效的点。出现这种现象的原因主要是录音开始时,人的反应慢了半拍,导致出现了一些无效点,而后面出现的无效的点,主要是已经没有声音的动作。我们首先要想办法要去掉这些无效点,可以这样操作:截取有效点程序如下:y=wavread('F:\新建文件夹\dgw.wav',[300018000]);%从3000点开始截取到18000点结束plot(y);%重新画出截取后的图形title('截取后的声音时域图形');%标题xlabel('时间');%x轴坐标ylabel('幅值');%y轴坐标grid;%添加网格线2.分别取8000个和16000个数据进行频谱分析,得到幅度和相位谱,比较二者异同并分析原因。取8000点频谱分析y=wavread('F:\新建文件夹\dgw.wav');%读取原始语音信号d=fft(y,8000);%对语音信号做8000点的FFT变换subplot(2,2,1);%分割窗口plot(abs(d));%绘出语音信号的幅度谱xlabel('频率');%加X轴说明ylabel('幅值');%加Y轴说明title('8000点幅度谱');%加图形说明grid;%添加网格subplot(2,2,2);%分割窗口plot(angle(d));%绘出语音信号的相位谱xlabel('频率');%加X轴说明ylabel('angle(d)');%加Y轴说明title('8000点相位谱');%加图形说明grid;%添加网格%取16000点进行频谱分析y=wavread('F:\新建文件夹\dgw.wav');%读取原始语音信号d=fft(y,16000);%对语音信号做16000点的FFT变换subplot(2,2,3);%分割窗口plot(abs(d));%绘出语音信号的幅度谱xlabel('频率');%加X轴说明ylabel('幅值');%加Y轴说明title('16000点幅度谱');%加图形说明grid;%添加网格subplot(2,2,4);%分割窗口plot(angle(d));%绘出语音信号的相位谱xlabel('频率');%加X轴说明ylabel('angle(d)');%加Y轴说明title('16000点相位谱');%加图形说明grid观察两图可以看出,取8000点进行频谱分析和取16000点进行频谱分析所得的幅度谱和相位谱的图形基本上是相同的;不同之处是8000点图形线比16000点的图形线梳,原因是在同样的抽样频率下,对不同点数进行频谱分析得出的幅度谱和相位谱线疏密不同,点数越多,线越密。3.滤波器的设计:针对信道我们设计一个IIR低通滤波器对我们录制的语音进行滤波,具体程序如下:%低通滤波器设计wp=2*1200/7000;%归一化通带数字频率wpws=2*2000/7000;%归一化阻带数字截止频率wsRp=0.5;%通带波纹系数RpRs=60;%最小阻带衰减Rs[N,Wn]=buttord(wp,ws,Rp,Rs);%求阶数N和滤波器截止频率Wn[num,den]=butter(N,Rp);%传输分子和分母的系数[h,w]=freqz(num,den);%求频率响应subplot(2,1,1);%窗口分成2行1列绘图区,第1个区为当前活动区plot(w/pi,abs(h));%二维连续图形grid;%添加网格title('巴特沃思型低通滤波器的幅频响应');%加图形说明xlabel('\omega/\pi');%加X轴说明(/后表示转义字符)ylabel('振幅(幅值)');%加Y轴说明subplot(2,1,2);%窗口分成2行1列绘图区,第2个区为当前活动区plot(w/pi,20*log10(abs(h)));%二维连续图形grid;%添加网格title('巴特沃思型低通滤波器的幅频响应');%加图形说明xlabel('\omega/\pi');%加X轴说明(/后表示转义字符)ylabel('振幅(分贝)');%加Y轴说明4.对声音进行滤波:把我们上面录制的语音放到滤波器里进行滤波,具体程序如下:%滤滤后的幅度、相位谱图fs=8000;y=wavread('F:\新建文件夹\dgw.wav');%读取原始语音信号f=filter(num,den,y);%滤波f1=fft(f,1024);subplot(2,1,1)plot(abs(f1));%画出滤波后的时域图title('滤波后的幅度谱');grid;subplot(2,1,2)plot(angle(f1));%画出滤波后的时域图title('滤波后的相位谱');grid;wavwrite(f,fs,'F:\新建文件夹\dgw1.wav');5.把处理后的所有数据存储为声音文件,与原始声音进行比较程序如下:%原始语音与滤波后的信号比较fs=8000;y=wavread('F:\新建文件夹\dgw.wav');%读取原始语音信号y1=wavread('F:\新建文件夹\dgw1.wav');%读取滤波后语音信号yx=fft(y);yx1=fft(y1);subplot(2,1,1)plot(20*log10(abs(yx)));title('滤波前的相对幅度谱');subplot(2,1,2);plot(20*log10(abs(yx1)));title('滤波后的相对幅度谱');结论:通过滤波前后两种信号的比

温馨提示

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

评论

0/150

提交评论