欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载
     

    课程设计(论文)基于MATLAB的声音信号处理的初步实现.doc

    • 资源ID:3993367       资源大小:320.50KB        全文页数:22页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    课程设计(论文)基于MATLAB的声音信号处理的初步实现.doc

    课程设计任务书设计题目基于MATLAB的声音信号处理设计目的:1、 巩固所学的数字信号处理理论知识。2、 理解信号的采集、处理、传输、显示。加深学习Matlab软件。3、 综合应用专业及基础知识,增强解决实际工程技术问题的能力。4、学习资料的收集与整理,学会撰写课程设计报告。具体任务及要求:1、 选择一个语音信号作为分析对象,或自我录制一段语音,对其进行频谱分析;利用Matlab软件产生一个随机噪声进行加噪声后再对其分析;设计FIR或IIR数字滤波器对语音进行滤波,再分析其时域和频域。利用Matlab软件编写语音信号处理程序,完成对话音信号时域和频域的程序设计和分析。2、 利用课余时间去图书馆或者上网查阅相关课题资料,深入理解课题含义及设计要求,认真整理。在5月10日前完成预设计,并请指导教师审查、定稿。3、及时提交设计报告(纸质、电子稿),要求格式规范、内容完整、结论正确,正文数不少于3000字。课程设计进度安排:序号内容安排时间1获得题目后查阅资料并整理,完成预设计 3.25 -4.12设计总体方案,绘制流程图,编写代码并调试4.2-4.163总体测试,完善其功能4.17-5.14撰写设计报告,后交指导老师初审5.2-5.165修改、完善设计报告,定稿、提交设计报告 5.17-5.25课程设计参考文献:1 张德丰:MATLAB通信工程仿真,北京机械工业出版社,2010.1 2 王彬、于丹、汪洋:MATLAB数字信号处理,北京机械工业出版社,2010.5,3 孟志强、陈燕东、王同业、杨钰:MATLAB辅助现代工程数字信号处理,西安电子科技大学出版社,2010.7指导教师签字院长审核签字基于MATLAB的声音信号处理的初步实现内容摘要:数字滤波器是数字信号处理技术的基础, 用来对信号进行过滤、检测、与参数估计等处理。任何检测的信号都含有噪声,而滤波是去除噪声的基本手段,因此滤波器在数字信号处理中占有极其重要的地位。FIR数字滤波器和IIR数字滤波器是滤波器设计的重要组成部分。随着MATLAB软件及信号处理工具箱的不断完善,MATLAB很快成为应用学科等领域不可或缺的基础软件,它可以快速有效地实现数字滤波器的设计、分析和仿真,极大地减轻了工作量,有利于滤波器设计的最优化。本设计综合运用了数字信号处理的各种基本知识,对不带噪声音信号以及带噪声音信号进行频谱分析,并利用MATLAB信号处理工具箱有效快捷地设计IIR数字滤波器对带噪声音信号进行滤波处理。关键词:数字滤波器 MATLAB 滤波 仿真The preliminary implementation of voice signal processing based on MATLABAbstract: Digital filter is the basis of digital signal processing technology, which used for signal filtering, detecting, and parameter estimation. Any detection signal contains noise, and filtering is a basic means to remove the noise, so filter occupies an extremely important position in digital signal processing. FIR digital filter and IIR digital filter is an important part of the filter design. With MATLAB software and the continuous improvement of the signal processing toolbox, MATLAB application quickly became indispensable to areas such as basic software. It can quickly and efficiently for digital filter design, analysis and simulation, greatly reduce the workload, and it is advantageous to the optimization of filter design. This design is integrated used of all kinds of basic knowledge of digital signal processing to complete the analysis of frequency spectrum about speech noisy signal and speech signal, and it use the MATLAB signal processing toolbox effective shortcut to design IIRdigital filter with noise speech signal filter processing.Keywords:Digital Filter MATLAB Filtering Simulation目 录前 言11 绪论11.1 研究的目的和意义11.2 国内外研究的现状11.3 本课题研究的内容和方法22 MATLAB软件介绍22.1 MATLAB发展历程22.2 MATLAB组成32.2.1 MATLAB语言32.2.2 MATLAB的工作环境32.2.3 MATLAB数据函数库32.2.4 MATLAB应用程序接口32.2.5 图形句柄系统42.3 MATLAB的特点43 数字滤波器的设计53.1 数字滤波器概述53.2 数字滤波器设计的基本原理63.3 设计IIR数字滤波器63.3.1 IIR数字滤波器设计方法63.3.2 利用模拟滤波器设计IIR数字滤波器的步骤63.3.3 用双线性法设计IIR低通滤波器74 去噪和仿真的研究74.1 语言信号在MATLAB平台上的录入与打开74.2 原始语言信号频谱分析及仿真84.3 加噪语音信号频谱分析及仿真94.4 去噪及仿真104.5 回放语音信号115 结束语11附 录12附录1:IIR低通滤波器程序12附录2:产生原始语音信号波形、频谱、幅值、相位图程序12附录3:产生原始语音信号和加噪语音信号时域波形、频谱图程序13附录4:产生IIR滤波前和滤波后波形及频谱图程序14参考文献16基于MATLAB的声音信号处理的初步实现前 言声音信号的采集与分析处理在工程应用中是经常需要解决的问题,如何实时采集声音信号并对其分析处理,找出声音信号的特征在科学研究中是一项非常有意义的工作。1 绪论语音是语言的声学表现,是人类获取信息的重要来源和利用信息的重要手段。随着社会的进步和科学技术的发展,人类进入了信息化时代,用现代手段研究语音信号处理技术,是人们更加有效地产生、传输、存储和获取语音信息,者对促进社会发展具有重要意义,因此,语音信号处理越来越受到人们的关注和研究。1.1 研究的目的和意义 语言是人类交换信息最方便、最快捷的一种方式,在高度发达的信息社会中,用数字化的方法进行语音的传送、存储、识别、合成和增强等是整个数字化通信网中最重要、最基本的组成部分之一。语音信号处理作为一门涉及面很广的交叉学科,在数字电话通信、高音质的窄带语音通信系统、语言学习机、声控打字机、自动翻译机、智能机器人、新一代计算机语音智能终端及军事上都有应用。随着人类步入信息社会步伐的加快,越来越多的地方需要用到语音信号处理知识。所以语音信号研究无论是在科学领域上还是日常生活中都有其广泛而重要的意义。1.2 国内外研究的现状20世纪60年代中期形成的一系列数字信号处理的理论和算法,如数字滤波器、快速傅里叶变换(FFT)等是语言数字信号处理的理论和技术基础。20世纪70年代初,由于电子计算机和数字信号处理的发展,人们发现:声音信号,可以通过模数转换器(A/D)采样和量化,它们转换为数字信号后,能够送进计算机。这样就可以用数字计算方法,对语音信号进行处理和加工。例如数字滤波器可以用差分方程实现,频谱分析可以用傅里叶变换或快速傅里叶变换(FFT)实现,80年代初矢量量化技术(VQ)和隐马尔可夫模型(HMM)应用于语音处理中,隐马尔可夫模型(HMM)用于描述语音信号产生过程。近年来语音信号处理这门新学科发展很快,在各项领域都有应用,解决了很多用传统方法难以解决的问题,在信息科学中占有重要地位。1.3 本课题研究的内容和方法本设计主要介绍的是的语音信号的简单处理。本设计运用数字信号学基本原理实现语音信号的处理,在matlab7.14环境下综合运用信号提取,幅频变换以及傅里叶变换、滤波等技术来进行语音信号处理。我所做的工作就是采集一个语音信号作为分析对象,或自我录制一段语音,在matlab7.14软件上编写一个语音信号处理程序,对语音信号进行加噪去噪等处理,完成对语音信号时域和频域的分析和仿真,达到简单语音信号处理的目的。对语音信号的研究,本设计采用了设计IIR滤波器的基本研究方法来达到研究语音信号去噪的目的,最终结合图像以及对语音信号的回放,通过对比,得出结论。2 MATLAB软件介绍2.1 MATLAB发展历程MATLAB是由美国Mathwork公司开发的数值计算、符号计算和图形可视化三大基本功能于一体,功能强大、操作简单的语言。是国际公认的优秀数学应用软件之一。20世纪80年代初期,Cleve Moler与John Little等利用C语言开发了新一代的MATLAB语言,此时的MATLAB语言已同时具备了数值计算功能和简单的图形处理功能。1984年,Cleve Moler与John Little等正式成立了Mathwork公司,把MATLAB语言推向市场,并开始了对MATLAB工具箱等的开发设计。1993年,Mathwork公司推出了基于个人计算机的MATLAB4.0版本,到了1997年又推出了MATLAB5.X版本,并在2000年推出了MATLAB 6.0版本,2004年正式推出了MATLAB7.0版本,现在最新的版本是2012年推出的MATLAB7.14版本。现在,MATLAB已经发展成为适合多学科的大型软件,在世界各高校,MATLAB已经成为线性代数、数值分析、数理统计、优化方法、自动控制、数字信号处理、动态系统仿真等高级课程的基本教学工具。特别是最近几年,MATLAB在我国大学生数学建模竞赛中的应用,为参赛者在有限的时间内准确、有效地解决问题提供了有力的保证。2.2 MATLAB组成MATLAB作为Math Works产品家族的核心,它主要由5大部分组成,分别为MATLAB语言(the MATLAB Language)、MATLAB工作环境(the MATLAB Working Environment)、MATLAB数学函数库(the MATLAB Math Library )、MATLAB应用程序接口(the MATLAB Application Interface)和图形句柄系统(Handle Graphics)。下面对它们分别进行介绍。2.2.1 MATLAB语言MATLAB语言是一种以矩形(Matrix)和阵列(Array)为基本编程单元,拥有完整的控制语句、数据结构、函数编写与调用格式和输出功能,具有面向对象程序设计特征的高级程序语言。使用MATLAB语言不但可以方便快捷地完成小规模的算法验证、程序开发和调试工作,而且可以进行大规模、高效的复杂应用程序设计。2.2.2 MATLAB的工作环境简单来说,MATLAB工作环境就是一系列实用工具的集合,它不但包括了各种操作工作空间中变量的工具盒管理数据输入输出的方法,而且包括了开发调试M文件和MATLAB应用程序的集成环境,使用起来极为方便。2.2.3 MATLAB数据函数库MATLAB数据函数库是大量的各种形式的数学函数和算法的集合,它不仅包括了最基本的初等函数,如sum、sine、cosine和复数运算等,而且包含了大量复杂的高级函数和算法,如贝塞尔(Bassel)函数,快速傅里叶变换和矩阵求逆等。用户在编写自己的MATLAB程序时,可以轻松地调用这些函数和算法,从而极大地方便了算法的开发。2.2.4 MATLAB应用程序接口MATLAB的外部接口使得MATLAB可以与外部设备和程序实现数据交互和程序移植,可以扩充MATLAB强大的数值计算和图形显示功能,从而弥补了其执行效率较低的缺点,同时增强了其他应用程序进行软件开发的功能,提高了软件开发效率。MATLAB接口工具不仅使得MATLAB可以十分方便地与其他应用程序交换数据和信息还实现了与其他程序函数和算法的交互。所以,通过MATLAB的接口编程,可以充分利用现有资源,能更容易地编写出功能强大、结构简洁的应用程序。MATLAB主要提供了MEX文件、MAT文件、MATLAB计算引擎、COM和DDE、Web服务、硬件接口和Excel生成器、Java生成器和.NET生成器等形式的接口。2.2.5 图形句柄系统Handle Graphics为Math Work公司的注册商标,是MATLAB的图形系统。它在包含了大量高级的2D和3D数据可视化、图形显示、动画生成和图像处理命令的同时,还提供了许多低级的图形命令,允许用户按照自己的需求显示图形和定制应用程序图形用户接口,即方便又灵活。2.3 MATLAB的特点MATLAB是Math Work公司开发的跨平台的,用于矩阵数值计算的简单高效的数学语言,与其他计算机高级语言如C、C+、Fortran、Basic、Pascal等相比,MATLAB语言编程要简洁得多,编程语句更是其他高级语言望尘莫及的。与其他高级语言相比较,MATLAB具有以下独特的优势:a. MATLAB是一种跨平台的数学语言。采用MATLAB编写的程序可以在目前所有的操作系统上运行(只要这些系统上安装了MATLAB平台)。MATLAB程序不依赖于计算机类型和操作系统类型。b. MATLAB是一种超高级语言。MATLAB平台本身是用C语言写成的,其中汇集了当前最新的数学算法库,是许多专业数学家和工程学者多年的劳动结晶。使用MATLAB就意味着站在巨人的肩膀上观察和处理问题,所以在编程效率,程序的可读性、可靠性和可移植性上远远超过了常规的高级语言。c. MATLAB语法简单,编程风格接近数学语言描述,是数学算法开发和验证的最佳工具。MATLAB以复数矩阵运算为基础,其基本编程单位是矩阵,使得编程简单,而功能极为强大。而且,MATLAB中的数值算法是经过千锤百炼的,比用户自己编程实现的算法的可信度和可靠性都要高。d. MATLAB计算精度很高。MATLAB中的数据是以双精度存储的。一个实数采用8字节存储,而一个复数则采用16字节存储。矩阵运算的精度很高,完全能够满足一般工程和科学计算的需要。与其他语言相比,MATLAB对计算机内存、硬盘空间的要求也是比较高的。e. MATLAB具有强大的绘图功能。利用MATLAB的绘图功能,可以轻易地获得高质量的(印刷级)曲线图。具有多种形式来表达二维、三维图形,并具有强大的动画功能,可以非常直观地表现抽象的数值结果。f. MATLAB具有串口操作、声音输入/输出等硬件操控能力,随着版本的提高,这种能力还会不断加强,使得人们利用计算机和实际硬件相连接的半实物仿真的梦想得以轻易实现。g. MATLAB程序可以直接映射为DSP芯片可接受的代码,大大提高了现代电子通信设备的研发效率。h. MATLAB程序的执行效率比其他语言低。MATLAB程序通常是解释执行的,在执行效率和速率上低于其他高级语言。事实上,MATLAB自带的许多内部函数均是用C语言编写并编译的,因此利用MATLAB内部函数程序部分的运行速度并不比其他语言中的相应函数低。3 数字滤波器的设计3.1 数字滤波器概述数字滤波器是数字信号处理的基础部分,与模拟滤波器相比,数字滤波器具有精度高、可靠性高、灵活性高、便于大规模集成和多维过滤等特点,已广泛应用于现代各类工程领域。数字滤波器是具有一定传输特性的数字信号处理装置,它的输入和输出都是离散数字信号,它借助于数字器件和一定的数值计算方法,对输入信号进行处理,改变输入信号,进而去掉信号中的无用成分而保留有用成分。如果在数字处理系统前、后分别加上A/D转换器和D/A转换器,就可以处理模拟信号。数字滤波器的输入输出是一个时间序列。设H(n)为数字滤波器的系统函数,h(n)为其相应的脉冲序列,则在时域内有: y(n)=x(n)*h(n) (3-1)在z域内有:Y(z)=H(z)X(z) (3-2)式中X(z)和Y(z)分别为输入x(n)和输出y(n)的傅里叶变换。在频域内有:Y(jw)=H(jw)X(jw) (3-3)式中,H(jw)为数字滤波器的频率特性,X(jw)和Y(jw)分别为输入x(n)和输出y(n)的频谱。由此可见,一个合适的滤波器系统函H(z)数可以改变输入x(n)的频率特性,经数字滤波器处理后得到的信号y(n)可保留信号x(n)的有用成分,而去掉其中的无用成分。3.2 数字滤波器设计的基本原理数字滤波器是指完成信号滤波(根据有用信号和噪声的不同特性,消除或减弱噪声,提取有用信号的过程)功能的、用有限精度算法实现的离散时间线性时不变(LTI)系统。与模拟滤波器类似,数字滤波器也是一种选频器件,它对有用信号的频率分量的衰减很小,使之比较顺利通过,而对噪声等干扰信号的频率分量给予较大幅度的衰减,尽可能阻止它们通过。相比于模拟滤波器,数字滤波器稳定性高、精度高、灵活性强。滤波器总体可以分为经典滤波器和现代滤波器:经典滤波器即一般的选频滤波器;现代滤波器以随机信号处理的理论为基础,利用随机信号内部的统计特性对信号进行滤波。按照滤波器的实现方式方式分类,数字滤波器则可以分为无限冲激响应(IIR)和数字滤波器和有限冲激响应(FIR)数字滤波器。本设计采用的是IIR数字滤波器对加噪语音信号进行滤波。3.3 设计IIR数字滤波器3.3.1 IIR数字滤波器设计方法本设计在MATLAB平台上,设计了IIR数字滤波器,用于对加噪的语音信号进行滤波,对于IIR滤波器,它的极点可以在单位圆内的任何位置,实现IIR滤波器的阶次可以较低,所用的存储单元较少,效率高,又由于IIR数字滤波器能够保留一些模拟滤波器的优良特性,因此得到广泛应用。在IIR数字滤波器的设计过程中,通常将数字滤波器的设计指标转化为模拟低通滤波器的设计指标,然后设计满足这些指标的模拟低通滤波器的系统函数,再将它变成所需要的数字滤波器系统函数。此方法具有如下优点:模拟逼近技术非常成熟、通常能产生闭式解、模拟滤波器有大量的图标可查,因此充分利用这些已有的资源将会给数字滤波器设计带来很大的方便。一般,当着眼于滤波器的时域瞬态响应时,采用脉冲不变法较好,而其它情况下,对于IIR数字滤波器设计,大多采用双线性变换法。3.3.2 利用模拟滤波器设计IIR数字滤波器的步骤a.确定数字低通滤波器的技术指标:通带边界频率、通带最大衰减,阻带截止频率、阻带最小衰减。b.将数字低通滤波器的技术指标转换成相应的模拟低通滤波器的技术指标。c.按照模拟低通滤波器的技术指标设计及过渡模拟低通滤波器。d.用双线性变换法,模拟滤波器系统函数转换成数字低通滤波器系统函数。3.3.3 用双线性法设计IIR低通滤波器MATLAB信号处理工具箱函数cheblap,cheblord和cheeby1是切比雪夫I型滤波器设计函数。我们用到的是cheeby1函数。函数butter,cheby1和ellip设计IIR滤波器时都是默认的双线性变换法,所以在设计滤波器时只需要代入相应的实现函数即可。IIR低通滤波器程序见附录1。IIR低通滤波器图像如图3-1:图3-1 IIR低通滤波器4 去噪和仿真的研究4.1 语言信号在MATLAB平台上的录入与打开利用电脑上的声卡和windows操作系统可以进行语音信号的录入,语音信号的录入可以用麦克风直接录制人的语音,也可以通过音频线将收音机、电视机或磁带中的语音信号录入到计算机中,在录音机中可以进行简单的声音处理,如加大或降低音量,加速或减速,声音的反转或添加回音效果等。加速或减速的改变可以完成变音功能,反转可以达到对声音文件保密功能。本设计所录入的语音信号是在酷狗上把mp3进行格式转换为wav形式的语音信号。然后保存到MATLAB文件夹里面,命名为“login”。利用MATLAB中的wavread命令来读入(采集)语音信号,将它赋值给某一向量。4.2 原始语言信号频谱分析及仿真在MATLAB中,y,fs,bits=wavread(login,N1 N2);用于读取语音信号,采样值放在向量y中,fs表示采用频率(Hz),nbits表示采样位数,N1 N2表示读取的值从N1点到N2点的值。sound(y,fs,bits);用于声音的回放。向量y则代表了一个信号,也即一个复杂的“函数表达式”,也可以说像处理一个信号的表达式一样处理这个声音信号。下面是语音信号在MATLAB中的语言程序,它实现了语音的读入与打开,并绘制了语音信号的波形频谱图。在本次设计中,我们利用fft对语音信号进行快速傅里叶变换,就可以得到信号的频谱特性。程序见附录2。程序运行后得到的的波形如图4-1、图4-2、图4-3、图4-4。图4-1 原始信号波形图4-2 原始语音信号采样后频谱图图4-3 原始信号幅值图4-4 原始信号相位4.3 加噪语音信号频谱分析及仿真在本次课程设计中,我们是利用MATLAB中的随机函数(rand或randn)产生噪声加入到语音信号中,模仿语音信号被污染,并对其频谱分析。Randn函数有两种基本调用格式:Randn(n)和Randn(m,n),前者产生n×n服从标准高斯分布的随机数矩阵,后者产生m×n的随机数矩阵。下面一段程序实现了利用randn函数把一段随机噪音信号加入原始语音信号的信号处理过程,见附录3。加噪后语音信号的时域波形、频谱图如图4-5:图4-5 加噪语音信号时域波形和频谱图通过对两张图片的对比,很明显可以看加噪后的语音信号时域波形比原始语音信号浑浊了许多,在时间轴上可以明显看出00.5S的幅值增大了;通过对原始语音信号的频谱图与加噪后的语音信号频谱图的对比,也可以看出在频率5000Hz以后的频率幅值发生了明显的增加。4.4 去噪及仿真在Matlab中,IIR滤波器利用函数filter对信号进行滤波。函数filter的调用格式:yn=filter(B,A.xn),它是按照直线型结构实现对xn的滤波。其中xn是输入信号向量,yn输出信号向量。设计一个IIR低通滤波器对加噪语音信号进行滤波处理。程序见附录4。IIR滤波前和滤波后波形及频谱如图4-6:图4-6 IIR滤波前和滤波后波形及频谱4.5 回放语音信号 经过以上的加噪声处理后,可在Matlab中用函数sound对声音进行回放。其调用格式:sound(y,Fs),sound(y)和sound(y,Fs,bits)。可以察觉滤波前后的声音有明显的变化。5 结束语本设计采用了MATLAB软件,实现了语音信号的采集,圆满的完成了对加噪声语音信号的读取与打开,与课题的要求十分相符;也较好的完成了对原始语音信号和加噪声后的语音信号的频谱分析,通过fft变换,得出了语音信号的频谱图。课题的特色在于它将语音信号看作一个向量,于是就把语音数字化了。那么,就可以完全利用数字信号处理的知识来解决语音及加噪处理问题。我们可以像给一般信号做频谱分析一样,来对语音信号做频谱分析,也能较容易的用数字滤波器来对语音进行滤波处理。通过比较加噪前后,语音的频谱和语音回放,能明显的感觉到加入噪声后回放的声音与原始的语音信号有很大的不同,前者随较尖锐的干扰啸叫声。从含噪语音信号的频谱图中可以看出含噪声的语音信号频谱,在整个频域范围内分是布均匀。其实,这正是干扰所造成的。通过滤波前后的对比,可得出结论:语音信号主要分布在低频段,而噪声主要分布在高频段。附 录附录1:IIR低通滤波器程序Ft=8000;Fp=1000;Fs=1200;wp=2*pi*Fp/Ft;ws=2*pi*Fs/Ft;fp=2*Ft*tan(wp/2);fs=2*Fs*tan(wp/2);n11,wn11=buttord(wp,ws,1,50,'s'); %求低通滤波器的阶数和截止频率b11,a11=butter(n11,wn11,'s'); %求S域的频率响应的参数num11,den11=bilinear(b11,a11,0.5); %双线性变换实现S域到Z域变换h,w=freqz(num11,den11); %根据参数求出频率响应plot(w*8000*0.5/pi,abs(h);title('IIR低通滤波器');legend('用butter设计');grid;附录2:产生原始语音信号波形、频谱、幅值、相位图程序x,fs,bits=wavread('login');sound(x,fs,bits);X=fft(x,4096);magX=abs(X);angX=angle(X);subplot(221);plot(x);title('原始信号波形');subplot(222);plot(X); title('原始语音信号采样后的频谱图');subplot(223);plot(magX);title('原始信号幅值');subplot(224);plot(angX);title('原始信号相位');附录3:产生原始语音信号和加噪语音信号时域波形、频谱图程序y,fs,bits=wavread('login');sound(y,fs);n=length(y);y_p=fft(y,n);f=fs*(0:n/2-1)/n;figure(1)subplot(2,1,1);plot(y);title('原始语音信号采样后的时域波形');xlabel('时间轴');ylabel('幅值A');subplot(2,1,2);plot(f,abs(y_p(1:n/2);title('原始语音信号采样后的频谱图');xlabel('频率Hz');ylabel('频率幅值');L=length(y);noise=0.1*randn(L,2);y_z=y+noise;sound(y_z,fs);n=length(y);y_zp=fft(y_z,n);f=fs*(0:n/2-1)/n;figure(2)subplot(2,1,1);plot(y_z);title('加噪语音信号时域波形');xlabel('时间轴');ylabel('幅值A');subplot(2,1,2);plot(f,abs(y_zp(1:n/2);title('加噪语音信号频谱图');xlabel('频率Hz');ylabel('频率幅值');附录4:产生IIR滤波前和滤波后波形及频谱图程序Ft=8000;Fp=1000;Fs=1200;wp=2*pi*Fp/Ft;ws=2*pi*Fs/Ft;fp=2*Ft*tan(wp/2);fs=2*Fs*tan(wp/2);n11,wn11=buttord(wp,ws,1,50,'s'); %求低通滤波器的阶数和截止频率b11,a11=butter(n11,wn11,'s'); %求S域的频率响应的参数num11,den11=bilinear(b11,a11,0.5); %双线性变换实现S域到Z域变换h,w=freqz(num11,den11); %根据参数求出频率响应plot(w*8000*0.5/pi,abs(h);legend('用butter设计');grid;y,fs,nbits=wavread ('login');n = length (y); %求出语音信号的长度noise=0.01*randn(n,2); %随机函数产生噪声s=y+noise; %语音信号加入噪声S=fft(s); %傅里叶变换z11=filter(num11,den11,s);sound(z11);m11=fft(z11); %求滤波后的信号subplot(2,2,1);plot(abs(S),'g');title('滤波前信号的频谱');grid;subplot(2,2,2);plot(abs(m11),'r');title('滤波后信号的频谱');grid;subplot(2,2,3);plot(s);title('滤波前信号的波形');grid;subplot(2,2,4);plot(z11);title('滤波后的信号波形');参考文献1 张德丰:MATLAB通信工程仿真,北京机械工业出版社,2010.12 王彬、于丹、汪洋:MATLAB数字信号处理,北京机械工业出版社,2010.53 孟志强、陈燕东、王同业、杨钰:MATLAB辅助现代工程数字信号处理,西安电子科技大学出版社,2010.74 徐明远、邵玉斌:MATLAB仿真在通信与电子过程中的应用,西安电子科技大学出版社,2010.55 徐利民、舒君、谢优忠:基于MATLAB的信号与系统实验教程,清华大学出版社,2009.76 张磊、毕靖、郭莲英:MATLAB实用教程,人民邮电出版社,2008.127 周利清、苏菲:数字信号处理基础,北京邮电大学出版社,2005.98 刘泉、阙大顺:数字信号处理原理与实现,电子工业出版社,2005.8 9 景振毅、张泽兵、董 霖:MATLAB7.0实用宝典,中国铁道出版社,2008.1010 张雪英:数字语音处理及MATLAB仿真,电子工业出版社,2010.3

    注意事项

    本文(课程设计(论文)基于MATLAB的声音信号处理的初步实现.doc)为本站会员(文库蛋蛋多)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开