语音信号滤波处理.doc_第1页
语音信号滤波处理.doc_第2页
语音信号滤波处理.doc_第3页
语音信号滤波处理.doc_第4页
语音信号滤波处理.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

成绩 数字信号处理课程设计 题 目 语音信号滤波处理 学生姓名 学 号 专 业 通信工程专业 班 级 指导教师 2012-6-1语音信号滤波处理摘要:随着信息技术的发展,现代信号处理正向着数字化、软件化方向发展。滤波器设计是信号处理的重要组成部分,而研究语音信号的滤波设计是现代信息处理的基本内容。本设计利用计算机WINDOWS下的录音机录入一句语音信号,用MATLAB软件对其进行频谱分析,然后加入一干扰信号,利用设计好的滤波器将干扰信号去除,最后对各部分的频谱进行分析比较。关键词:语音信号;滤波器;MATLAB1引言信号处理是现代信息处理的基本内容,数字信号的处理更是重中之重。数字信号处理的研究内容主要是语音信号和图像信号,而研究语音信号对于现代语音通信有着积极的意义。研究语音信号又分为时域和频域两个方面。(1)语音信号的时域分析处理:一类是进行语音信号分析,另一类是生成和变换各种调制信号,对信号平均累加器的动态范围进行压缩扩张,用门限方法进行噪声的抑制等等。前一类是属于时域中信号平均累加器的线性处理,主要通过信号的加减、时移、倍乘、卷积、求相关函数等来实现。而后一类,则属于非线性的变换和处理。(2)语音信号的频谱分析处理:信号的时域频谱分析通常是要结合在一起进行的。在数字设计系统中,任何信号处理器件都可以看成是一个滤波器,滤波器设计是数字信号处理的重要内容。滤波器就是在对信号进行分析的基础上,设计适当的系统,提取有用的信号,抑制噪声信号干扰。滤波器的设计通常是在频率域进行的。本设计是用MATLAB仿真软件设计滤波器对受干扰的语音信号进行滤波处理,并对各部分进行频谱分析。2设计任务与方案2.1设计目的1.了解语音信号的产生、采集,能绘制语音信号的频率响应曲线及频谱图;2.掌握GUI图形界面的运用;3.学会用MATLAB对语音信号进行分析和处理;4.掌握用滤波器去除语音信号噪声的方法,观察去噪前后的语音信号。2.2设计要求本设计是设计一个滤波器对话音信号进行滤波,具体要求如下:(1)语音信号的采集及频谱分析利用PC机WINDOW下的录音机,用单声道录制一句自己的声音。在MATLAB软件平台下用命令对语音信号进行时频变换、时频分析。(2)对合成信号时频分析录一段干扰语音信号,对其进行时频分析,再在MATLAB软件下加入录制的语音信号当中,并对合成的语音信号进行时频分析。(3)用滤波器对信号进行滤波用设计好的滤波器对加入噪声的语音信号进行滤波处理,绘制处理后的语音信号的频谱图,并对原始语音信号,加入噪声后的语音信号和去噪后的语音信号的频谱图进行比较分析。(5)回放语音信号在MATLAB软件下,对各个阶段的话音信号进行回放。(6)对语音进行变声处理 改变原信号的采样频率值,把声音分别变成沉稳的男声和小女生的声音。2.3设计方案采用MATLAB仿真软件对WINDOWS下录音机录制的语音信号进行采集,并设计恰当的滤波器,对合成的语音进行滤波处理,对前后滤波前后的频谱进行分析比较,其原理框图如图1所示。图1 语音信号的滤波原理示意图3 MATLAB简介MATLAB是MathWorks公司开发的一种跨平台的用于多种仿真的简单高效的数学语言。MATLAB语言是一种广泛应用于工程计算及数值分析领域的新型高级语言,MATLAB功能强大、简单易学、编程效率高,深受广大科技工作者的欢迎。特别是MATLAB还具有信号分析工具箱,不需具备很强的编程能力就可以很方便地进行信号分析、处理和设计。与其它计算机高级语言相比,其语言编程要简洁得多,编程语句更加接近数学描述,可读性好,其强大的图形功能和可视化数据处理能力也是其它高级语言不可比拟的。与其它高级语言相比较,MATLAB具有独特的优势。(1)MATLAB是一种跨平台的数学语言。采用MATLAB编写的程序可在目前所有的操作系统上运行(只要这些系统上安装了MATLAB软件仿真平台)。MATLAB程序不依赖于计算机类型和操作系统类型。(2)MATLAB是一种超高级语言。MATLAB平台本身是用C语言写成的,其中汇集了当前最新的数学库,是许多专业数学家和工程师学者多年的劳动结晶。使用MATLAB在编程效率、程序的可读性、可靠性和可移植上远远超过了常规的高级语言。(3)MATLAB具有强大的绘图功能。利用MATLAB的绘图功能,可以轻易的获得高质量的曲线图。具有多种形式来表达二维、三维图形。(4)MATLAB具有串口操作、声音输入输出等逻辑硬件操控能力。 本设计主要是利用MATLAB仿真的声音输出、图形绘制和滤波器设计。4设计过程4.1原理分析本设计主要是对语音信号的时频进行分析,并对语音信号加噪后设计滤波器对其进行滤波处理,对话音信号加噪声前后的频谱进行比较分析,对合成语音信号滤波前后进行频谱的分析比较。首先用PC机WINDOWS下的录音机录制一段语音信号,并保存入MATLAB软件的根目录下,再运行MATLAB仿真软件把录制好的语音信号用wavread函数加载入MATLAB仿真软件的工作环境中,输入命令对语音信号进行时域,频谱变换。利用正弦信号产生噪声信号,模拟信号sint经过采样,并且采样的长度必须要和原始语音信号长度一样长,才可以实现噪声信号与原始语音信号的叠加。把噪声信号加入到录制的语音信号中,用命令可以得到其频谱图。对该段合成的语音信号,用命令在MATLAB中设计一个恰当的滤波器对其进行滤波处理,此处带阻滤波器对其进行滤波,滤波后用命令可以绘制出其频谱图,回放语音信号。对原始语音信号、合成的语音信号和经过滤波器处理的语音信号进行频谱的比较分析。4.2语音信号的获取利用PC机上的硬件和WINDOWS操作系统可以很方便地进行数字信号的采样。打开电脑Windows窗口菜单中的附录子菜单里的录音机软件,录音机界面如图2所示。使用录音机录制一小段声音片段,然后点击菜单“文件”的子菜单-“属性”,利用“立即转换”修改其属性参数并保存文件名为“zhanglimei.wav”,修改后的音频文件属性如下图3。在Matlab中,y,fs,bits=wavread(Blip,N1 N2);用于读取语音,采样值放在向量y中,fs表示采样频率(Hz),bits表示采样位数。N1 N2表示读取从N1点到N2点的值(若只有一个N的点则表示读取前N点的采样值)。sound(x,fs,bits); 用于对声音的回放。向量y则就代表了一个信号(也即一个复杂的“函数表达式”)也就是说可以像处理一个信号表达式一样处理这个声音信号。 图2 录音机操作界面 图3 录音文件属性4.3 图形用户界面设计图形用户界面或图形用户接口(Graphical User Interface,GUI)是指采用图形方式显示的计算机操作环境用户接口。与早期计算机使用的命令行界面相比,图形界面对于用户来说更为简便易用。GUIDE是Matlab提供的图形用户界面开发环境,提供了一系列用于创建图形用户界面的工具,从而简化界面布局和编程工作。设计界面如下:4.4 GUI图形用户窗体程序设计4.4.1原语音信号分析程序设计 打开GUI窗体文件的M文件,在PushButton1模块中相应位置编写如下代码:12 x,fs,Nbit=wavread(zhanglimei.wav); sound(10*x,fs);N=length(x); t=0:1/fs:(N-1)*1/fs;X=fft(x,N);f=0:fs:(N-1)*fs;subplot(2,1,1);plot(t,x);title(原始信号波形);xlabel(t/s);ylabel(x(t);subplot(2,1,2);plot(f,abs(X);title(原始信号幅频特性);xlabel(f/HZ);ylabel(abs(X);4.4.2加噪声语音信号分析程序设计 在GUI窗体文件的M文件中的PushButton2模块中相应位置编写如下代码: x,fs,bits=wavread(zhanglimei); N=length(x); t=0:1/fs:(N-1)/fs;noise=sin(1000*pi*t);s=5*x+noise.; %语音信号加入噪声sound(s,fs);subplot(2,1,1);4.4.3对加噪声语音信号滤波处理并分析程序设计 在GUI窗体文件的M文件中的PushButton3模块中相应位置编写如下代码: x,fs,bits=wavread(zhanglimei.wav); N=length(x); t=0:1/fs:(N-1)/fs;noise=0.1*sin(6000*pi*N);s=5*x+noise.; %语音信号加入噪声wpz=0.097;wsz=0.12;Ts=1/fs; rp=1;rs=15;Nd,wdc=buttord(wpz,wsz,rp,rs); %选择滤波器的最小阶数Bdz,Adz=butter(Nd,wdc); %创建butterworth模拟滤波器 y=filter(Bdz,Adz,s); %用滤波器滤波sound(5*y,fs,bits); n=length(y); t=0:1/fs:(n-1)*1/fs;Y=fft(y,n); f=0:fs:(n-1)*fs;subplot(1,2,1);plot(t,y); title(滤波后信号波形);subplot(1,2,2);plot(f,abs(Y); title(滤波后信号幅频特性);5调试分析运行GUI窗口点击按钮,获得相应的时域与频域波形。如下图5.1 原语音信号的时域和频域波形图5.2 加噪声语音信号的时域和频域波形图5.3 对加噪声语音信号滤波后的时域和频域波形图5.4 全部信号的时域和频域波形图 5.5 回声效果 5.6声音倒放效果 5.7原信号的变声6结束语在完成本设计的过程中,指导老师给出了设计的具体思路。设计中信号的采集,滤波器的设计及滤波前后频谱的变化和滤波效果都是经过讨论、查阅资料、修改参数、多次仿真后最终完成的。通过设计,我对信号的采集、处理、传输、显示和滤波器的设计等有一个较系统的掌握和理解,加深了对课堂抽象知识的理解,巩固了数字信号处理的理论知识。参考文献:1 陈怀琛.数字信号处理教程MATLAB释义与实现.北京:电子工业出版社,2004.12:11-252 徐明远,邵玉斌.MATLAB仿真在通信与电子工程中的应用.西安:西安电子科技大学出版社,2005:47-583 唐建锋,游开明,陈列尊.基于MATLAB的数字滤波器设计研究型实验探讨.湖南:衡阳师范学院学报,2006:164-1664 雷学堂,徐火希.可直接感受的基于MATLAB的语音滤波.湖北:黄冈师范学院学报,2006:45-525 袁小平,王艳芬,史良.基于MATLAB的数字信号处理课程的实验教学J.上海:实验室研究与探索,2002:58-606 程佩青.数字信号处理教程M.北京:清华大学出版社,2002:158-2047 李永全. MATLAB在数字信号处理课程设计中的应用J.西安:现代电子技术,2004,27 (7):37-38. 8 陈怀琛,吴大正,高西全. MATLAB及其在电子信息课程中的应用M.北京:电子工业出版社,2002:19-259 陈后金.数字信号处理M.北京:高等教育出版社,2004:195-20010 刘敏,魏玲.Matlab通信仿真与应用M.北京:国防工业出版社,2001:15-1911高西全,丁玉美.数字信号处理.西安:西安电子科技大学出版社,2008附 录语音信号处理与分析代码:figurex,fs,Nbit=wavread(zhanglimei.wav); sound(10*x,fs);N=length(x);t=0:1/fs:(N-1)*1/fs;X=fft(x,N);f=0:fs:(N-1)*fs;subplot(3,2,1);plot(t,x);title(原始信号波形);xlabel(t/s);ylabel(x(t);subplot(3,2,2);plot(f,abs(X);title(原始信号幅频特性);xlabel(f/HZ);ylabel(abs(X);x,fs,bits=wavread(zhanglimei.wav); N=length(x); t=0:1/fs:(N-1)/fs;noise=abs(sin(6000*pi*t);s=5*x+noise.; %语音信号加入噪声sound(s,fs);subplot(3,2,3);plot(t,s);title(加噪信号时域波形)xlabel(t/s);ylabel(x(t);S=fft(s,N); %傅里叶变换f=0:fs:(N-1)*fs;subplot(3,2,4);plot(f,abs(S);title(加噪信号幅频特性)xlabel(f/HZ);ylabel(abs(S);x,fs,bits=wavread(zhanglimei.wav); N=length(x); t=0:1/fs:(N-1)/fs;noise=0.1*sin(6000*pi*N);s=5*x+noise.; %语音信号加入噪声wpz=0.097;wsz=0.12;Ts=1/fs;rp=1

温馨提示

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

评论

0/150

提交评论