:基于MATLAB的IIR滤波器的语音信号去噪.
- 格式:doc
- 大小:225.00 KB
- 文档页数:24
应用Matlab对含噪声语音信号进行频谱分析及滤波应用Matlab对含噪声的语音信号进行频谱分析及滤波一、实验内容录制一段个人自己的语音信号,并对录制的信号进行采样;画出采样后语音信号的时域波形和频谱图;在语音信号中增加正弦噪声信号(自己设置几个频率的正弦信号),对加入噪声信号后的语音信号进行频谱分析;给定滤波器的性能指标,采用窗函数法和双线性变换设计数字滤波器,并画出滤波器的频率响应;然后用自己设计的滤波器对采集的信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比试听,分析信号的变化。
二、实现步骤1.语音信号的采集利用Windows下的录音机,录制一段自己的话音,时间在1 s内。
然后在Matlab软件平台下,利用函数wavread对语音信号进行采样,(可用默认的采样频率或者自己设定采样频率)。
2.语音信号的频谱分析要求首先画出语音信号的时域波形;然后对语音号进行快速傅里叶变换,得到信号的频谱特性。
在采集得到的语音信号中加入正弦噪声信号,然后对加入噪声信号后的语音号进行快速傅里叶变换,得到信号的频谱特性。
并利用sound试听前后语音信号的不同。
分别设计IIR和FIR滤波器,对加入噪声信号的语音信号进行去噪,画出并分析去噪后的语音信号的频谱,并进行前后试听对比。
3.数字滤波器设计给出数字低通滤波器性能指标:如,通带截止频率fp=10000 Hz,阻带截止频率fs=12000 Hz(可根据自己所加入噪声信号的频率进行阻带截止频率设置),阻带最小衰减Rs=50 dB,通带最大衰减Rp =3 dB(也可自己设置),采样频率根据自己语音信号采样频率设定。
报告内容一、实验原理含噪声语音信号通过低通滤波器,高频的噪声信号会被过滤掉,得到清晰的无噪声语音信号。
二、实验内容录制一段个人自己的语音信号,并对录制的信号进行采样;画出采样后语音信号的时域波形和频谱图;在语音信号中增加正弦噪声信号(自己设置几个频率的正弦信号),对加入噪声信号后的语音信号进行频谱分析;给定滤波器的性能指标,采用窗函数法和双线性变换设计数字滤波器,并画出滤波器的频率响应;然后用自己设计的滤波器对采集的信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比试听,分析信号的变化。
题目:基于Matlab的有噪声语音信号处理摘要滤波器设计在数字信号处理中占有极其重要的地位,FIR数字滤波器和IIR滤波器是滤波器设计的重要组成部分。
利用MATLAB信号处理工具箱可以快速有效地设计各种数字滤波器。
课题基于MATLAB有噪音语音信号处理的设计与实现,综合运用数字信号处理的理论知识对加噪声语音信号进行时域、频域分析和滤波。
通过理论推导得出相应结论,再利用MATLAB 作为编程工具进行计算机实现。
在设计实现的过程中,使用窗函数法来设计FIR数字滤波器,用巴特沃斯、切比雪夫和双线性变法设计IIR数字滤波器,并利用MATLAB 作为辅助工具完成设计中的计算与图形的绘制。
通过对所设计滤波器的仿真和频率特性分析,可知利用MATLAB信号处理工具箱可以有效快捷地设计FIR和IIR数字滤波器,过程简单方便,结果的各项性能指标均达到指定要求。
关键词:数字滤波器MATLAB 窗函数法巴特沃斯切比雪夫双线性变换目录1、绪论 (4)2、作业内容与要求 (5)3、作业设计的具体实现 (6)3.1 语音信号的采集 (6)3.2 语音信号的时频分析 (6)3.3 语音信号加噪与频谱分析 (8)3.4 设计FIR和IIR数字滤波器 (9)3.5 用滤波器对加噪语音信号进行滤波 (20)3.6 比较滤波前后语音信号的波形及频谱 (21)3.7 回放语音信号 (31)3.8 设计GUI界面 (31)4、队员贡献及民主评价 (34)5、小结 (34)6、致谢 (35)1、绪论数字信号处理是利用计算机或专用处理设备,以数值计算的方法对信号进行采集、抽样、变换、综合、估值与识别等加工处理,借以达到提取信息和便于应用的目的。
它在语音、雷达、图像、系统控制、通信、航空航天、生物医学等众多领域都获得了极其广泛的应用。
具有灵活、精确、抗干扰强、设备尺寸小、造价低、速度快等优点。
数字滤波器, 是数字信号处理中及其重要的一部分。
随着信息时代和数字技术的发展,受到人们越来越多的重视。
matlab去除录音噪声的方法下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。
文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!本店铺为大家提供各种类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you! In addition, this shop provides you with various types of practical materials, such as educational essays, diary appreciation, sentence excerpts, ancient poems, classic articles, topic composition, work summary, word parsing, copy excerpts, other materials and so on, want to know different data formats and writing methods, please pay attention!如何使用 MATLAB 去除录音噪声导言录音噪声是在声音录制过程中常见的问题之一,它可能来自环境因素、录音设备本身或信号传输过程中的干扰。
【精品】基于Matlab的语音滤波处理一、前言在语音信号的处理中,滤波处理是一个非常重要的环节。
语音信号在传输过程中,常常会受到各种各样的干扰,如噪声干扰、语音失真等,这些干扰会严重影响到语音信号的质量和可靠性。
因此,在语音信号的处理中,采取适当的滤波处理,能够有效地提高语音信号的质量和可靠性。
本文主要介绍了基于Matlab的语音滤波处理,在Matlab中采用了多种常用的滤波算法,并给出了相关的实验结果。
二、基本概念1. 信号的概念信号是一种表达信息的方式,包括语音信号、图像信号等。
在数字信号处理中,常把信号表示为序列,即时间序列或空间序列。
滤波是一种对信号进行处理的方法,主要是为了消除信号中的噪声和干扰,并且可以突出信号中某些频率成分。
滤波可以分为低通滤波、高通滤波、带通滤波和带阻滤波等。
三、常用的滤波算法1. IIR滤波器IIR滤波器是指具有无限冲激响应的滤波器。
在数字信号处理中,IIR滤波器的数字实现主要采用了差分方程的形式,其中,a和b是滤波器的参数。
在Matlab中使用IIR滤波器进行语音信号滤波的代码如下:% 定义一个IIR滤波器[b, a] = butter(6, 1000/8000, 'low');% 对语音信号进行滤波处理s_out = filter(b, a, s_in);3. 中值滤波中值滤波是一种基于排序的滤波方法,主要通过对信号进行排序,然后选取中间值作为结果。
中值滤波对于消除脉冲噪声等干扰有很好的效果。
% 对语音信号进行中值滤波处理s_out = medfilt1(s_in, 5);四、实验结果下面通过实验来验证所述的滤波算法的效果。
实验中选取了一个3秒钟的女性英语读数字的录音,采样率为8kHz,位深为16bit。
对所采集的语音信号进行了多种滤波处理,然后通过听音比较的方法,判断不同滤波算法的效果。
下图是经过IIR低通滤波器处理后的音频波形图:经过听音比较,可以发现经过IIR滤波后的语音信号在音质方面有所提升,噪声和杂音等干扰被有效消除,使得语音信号更加清晰。
基于MatlabGUI的语音信号去噪处理作者:郭思梦张培玲来源:《中小企业管理与科技·下旬刊》2017年第05期【摘要】应用数字滤波器的理论和设计方法,在Matlab软件开发环境下分别通过脉冲响应不变法和双线性变换法设计出了无限长单位冲激响应(IIR)数字滤波器,并借助Matlab图形用户界面(GUI)设计了IIR数字滤波器人机交互界面,使得该系统平台界面简洁直观,操作方便且功能齐全,最终实现了对加有噪声语音信号的去噪处理。
通过对比仿真结果表明:切比雪夫Ⅱ型低通滤波器对加有噪的语音去噪效果最佳。
【Abstract】By using the theory and design method of digital filter, the IIR digital filter is designed by impulse response method and bilinear transformation method in Matlab software development environment, and with the help of Matlab GUI, the human-computer interaction interface of IIR digital filter is designed, the system interface is simple and intuitive, easy to be operated and complete function, and de-nosing process of voice signal is realized. Comparing the simulation results, the results show that Chebyshev Ⅱ type has much more function of de-nosing process of voice signal.【关键词】Matlab GUI ;IIR数字滤波器;语音信号;去噪【Keywords】Matlab GUI;IIR digital filter; voice signal; de-noising【中图分类号】TN912 【文献标志码】A 【文章编号】1673-1069(2017)05-0147-021 引言基于Matlab的M文件对语音信号的分析具有程序修改复杂、不直观等缺点。
数字信号处理课程设计课程名称数字信号处理基于MATLAB 的语音去噪处理题目名称专业班级13级通信工程本一学生姓名学号指导教师二○一五年十二月二十七日引言滤波器设计在数字信号处理中占有极其重要的地位,FIR数字滤波器和IIR滤波器是滤波器设计的重要组成部分。
利用MATLAB信号处理工具箱可以快速有效地设计各种数字滤波器。
课题基于MATLAB有噪音语音信号处理的设计与实现,综合运用数字信号处理的理论知识对加噪声语音信号进行时域、频域分析和滤波。
通过理论推导得出相应结论,再利用MATLAB 作为编程工具进行计算机实现。
在设计实现的过程中,使用窗函数法来设计FIR数字滤波器,用巴特沃斯、切比雪夫和双线性变法设计IIR数字滤波器,并利用MATLAB 作为辅助工具完成设计中的计算与图形的绘制。
通过对对所设计滤波器的仿真和频率特性分析,可知利用MATLAB信号处理工具箱可以有效快捷地设计FIR和IIR数字滤波器,过程简单方便,结果的各项性能指标均达到指定要求。
关键词数字滤波器 MATLAB 窗函数法巴特沃斯切比雪夫双线性变换目录1 绪论 (4)2 课程设计内容 (5)3 课程设计的具体实现 (5)3.1 语音信号的采集 (4)3.2 语音信号的时频分析 (4)3.3 语音信号加噪与频谱分析 (6)3.4 利用双线性变换法设计低通滤波器 (8)3.5 用滤波器对加噪语音信号进行滤波 (9)3.6 分析滤波前后语音信号波形及频谱的变化 (10)3.7回放语音信号 (10)3.8小结 (11)结论 ···········································································错误!未定义书签。
基于matlab的语音信号的降噪处理编程你好呀,说到语音信号的降噪处理,这可是一门科学啊,咱们四川话儿得用得上嘞。
咱们得基于Matlab这个软件儿来搞这个编程,那咱就来说道说道。
首先啊,咱得明白啥子是语音信号的降噪处理。
就像咱陕西的老乡说的一样,就是给那语音信号洗个澡,把噪音这个脏东西给洗掉。
咱得用些技术手段,把这些噪音给滤掉,让语音信号听起来更清晰、更干净。
那在Matlab里头咋弄呢?咱们得用些算法来处理这些信号。
比如说,咱们可以用个小波变换啊,或者滤波器啥的。
这些小工具就像咱们四川的辣椒酱和花椒粉,虽然看起来不起眼,但用得好,那味道可就出来了。
咱先来说说小波变换吧。
小波变换就像咱们陕西方言里头的“细水长流”,它能把语音信号分解成不同频率的小波,咱们就可以针对这些不同频率的小波进行降噪处理。
这样一来,咱们就能把噪音给滤掉,保留住语音信号的有用部分。
再来说说滤波器吧。
滤波器就像咱们四川话里头的“筛子”,能把语音信号里头的噪音给筛掉。
咱们可以设定一个阈值,超过这个阈值的信号咱就认为是噪音,就给它滤掉。
这样一来,咱们就能得到一个比较干净的语音信号了。
当然啦,这些只是些基本的处理方法,实际上还有很多高级的技术可以用。
不过咱今天就先说到这里吧,免得说得太多你听不懂。
总之啊,基于Matlab的语音信号降噪处理编程,就像咱们做菜一样,得用心去做,才能做出好吃的菜来。
你得把各种方法和技术都用上,才能得到一个满意的降噪效果。
就像咱们陕西人说的,“功夫不负有心人”,只要你努力去做,就一定能够成功!。
在Matlab平台上实现对语音信号的去噪研究和仿真作者姓名:王青天专业班级:电子1班指导教师:钟晓玲摘要语音信号在数字信号处理中占有极其重要的地位,因此选择通过对语音信号的研究来巩固和掌握数字信号处理的基本能力十分具有代表性。
对数字信号处理离不开滤波器,因此滤波器的设计在信号处理中占有极其重要的地位。
而MATLAB软件工具箱提供了对各种数字滤波器的设计。
本论文“在MATLAB平台上实现对语音信号的去噪研究与仿真”综合运用了数字信号处理的各种基本知识,进而对不带噪语音信号进行谱分析以及带噪语音信号进行谱分析和滤波处理。
通过理论推导得出相应的结论,再通过利用MATLAB作为编程工具来进行计算机实现比价已验证推导出来的结论。
在设计过程中,通过设计FIR数字滤波器和IIR数字滤波器来完成滤波处理。
在设计过程中,运用了MATLAB对整个设计中的图形的绘制和一些数据的计算以及仿真。
关键字滤波器;MATLAB;仿真;滤波Speech signle denoising and simulation inMATLAB platformABSTRACTDigital signal processing can not be separated from the filter,the filter design occupies an extremely important role in signal processing.The MATLAB software toolbox provides a variety of digital filter design.The subject of the use of basic knowledge of digital signal processing,speech signal and the noisy speech signal specctral snalysis and filtering,By the theoretical derivation of the corresponding conclusions,then to the computer through the use of MATLAB as a programming tool To achieve parity to verify the conclusions derived.In the design process,using the windoow function design FIR digital filter,IIR digital filter using cut design than Chebyshev,Butterworth and bilinear variation method.In the design process,the use of computer and simulation of MATLAB the entire design,graphics rendering,and some date.Key words filter;MATLAB;simulation;filtering目录摘要 (I)ABSTRACT (II)第1章前言 (1)1.1研究的意义 (1)1.2国内外研究现状 (1)1.3研究的内容 (2)第2章语音信号去噪方法的研究 (4)2.2去噪的原理 (4)2.2.1采样定理 (4)2.2.2采样频率 (5)2.2去噪的方法 (5)FIR滤波器基本结构: (7)IIR数字滤波器的设计 (8)第3章滤波器的设计及实现 (10)3.1数字滤波器设计的基本原理 (10)3.3IIR数字滤波器的设计及实现 (13)第四章去噪及仿真的研究 (16)4.1语音文件在MATLAB平台上的录入与打开 (16)4.2原始语音信号频谱分析及仿真 (16)4.3加噪语音信号频谱分析及仿真 (20)(1)正弦波信号加入原始语音信号 (20)4.4去噪及仿真 (23)4.5结合去噪后的频谱图对比两种方式滤波的优缺点 (25)总结 (27)致谢 (28)参考文献 (29)第1章前言1.1研究的意义语音是语言的声学表现,是人类交流信息最自然、最有效、最方便的手段。
基于MATLAB的语音信号去噪方法应用韩长军【摘要】以MATLAB为平台,利用滤波器去噪方法对含噪声的语音信号进行去噪处理,并从频域角度利用IIR和FIR两种滤波器去噪方法进行去噪,并对结果进行了对比分析,为加强程序的友好性和可视性,采用GUI编程的方法设计了语音信号去噪系统用户界面.实验结果证明,该方法能够实现对夹杂噪声的语音信号进行有效提取,有助于在噪声下提取微弱信号的研究.【期刊名称】《辽东学院学报(自然科学版)》【年(卷),期】2017(024)001【总页数】6页(P72-76,封3)【关键词】语音信号;MATLAB;滤波器;去噪;频域【作者】韩长军【作者单位】辽东学院信息工程学院, 辽宁丹东 118003【正文语种】中文【中图分类】TN912语言是人们获得各类有效信息的主要途径,而语音是语言的表现形式[1]。
语音在一定程度上可影响人们的生活,因此,语音信号的研究对科学领域和人们日常生活具有一定的研究价值和意义。
噪声广泛存在于生活,信号在传输过程中不可避免会受到各类噪声的干扰,降低了信号的可读性,因此对携带噪声的信号进行去噪处理十分必要[2-4]。
语音信号是一种特殊的信号,其在传输过程中,由于外界环境和设备的影响不可避免会被噪声干扰,一定程度上影响了人们所接收信息的准确性。
人们提出了各种语音去噪方法[5,6],其中,常用的有滤波器去噪法、小波分析去噪法以及小波包分析去噪法[7]。
MATLAB是一种功能强大,具有很好的交互性的数值计算和可视化计算高级语言,其强大的矩阵运算,数值分析以及信号处理功能使其广泛应用于众多科学领域中[8]。
因此作者使用MATLAB作为设计工具软件来进行语音信号去噪处理。
作者在MATLAB环境下应用滤波器去噪方法对加噪声的语音信号进行时域、频域的分析和滤波。
通过MATLAB编程对语音信号被噪声污染进行仿真处理,并对加噪声前后的频谱图进行对比;然后根据语音信号特点设计各类滤波器;最后将所设计的滤波器分别应用于含噪声的语音信号,并对其频谱图进行对比分析,确定最优化方法。
基于MATLAB的语音信号去噪声处理研究与仿真作者:苏家辉来源:《中国新通信》 2018年第15期【摘要】噪声的存在严重影响了语音信号沟通功能的发挥。
基于此,本文分别从FIR 滤波器去噪声方面、IIR 滤波器去噪声方面,分析基于MATLAB 的语音信号去噪声处理;最后以FIR 滤波器为例,对其在基于MATlAB 语音信号去噪声中的应用进行仿真分析,以期为语音信号去噪声处理提供良好的理论参照。
【关键词】 MATLAB 语音信号去噪声处理前言:作为一门高新技术,语音处理技术具有多学科融合特征,其以模式识别、数字信号处理等为主要内容。
在语音信号传输过程中,噪声的存在可对语音信息接收准确性产生干扰作用。
MATLAB 作为一种交互性的高级语言,其在信号处理功能、矩阵预算等方面的优势使其在各科学领域得到了较为广泛的应用。
因此,分析基于MATLAB 的语音信号去噪声处理与仿真具有一定的现实意义。
一、基于MATLAB 的语音信号去噪声处理基于MATLAB 的语音信号去噪声处理方法主要包含以下几种:1.1 FIR 滤波器去噪声FIR 滤波器的应用优势主要体现在易设计、线性相位2方面。
在信号去噪实践中,如需线性相位,则需优先选用FIR 滤波器进行去噪。
FIR 滤波器的设计常采用窗函数法,具体设计流程如下:第一,设定理想FIR 滤波器的频率响应参数,即H1。
第二,确立单位脉冲响应参数h2。
h2 的计算方法选用序列傅里叶反变换法。
对该参数的计算,添加窗函数的功能为:在时域使用窗函数与所获信号相乘以实现截断信号的目的[1]。
第三,h2 转换。
在利用窗函数法设计FIR滤波器的过程中,由于h2 属于一种无限长的序列,且为非因果序列,为了确保FIR滤波器去噪声功能的发挥,需采用加窗函数法实现h2 向H3的转换。
第四,序列变换。
运用序列的傅里叶变换将H3 转换为实际滤波器的频率响应H4,通过对H4 与H3 的比较,评估所设计FIR 滤波器是否合理。
创作时间:二零二一年六月三十日课程设计(论文)之南宫帮珍创作题目基于IIR数字滤波器的有噪语音信号的处置课程设计(论文)任务书学院:电气工程学院题目:基于IIR数字滤波器的有噪语音信号的处置起止时间:2016年10月25日至16年11月20日学生姓名:专业班级:指导教师:教研室主任:院长:2016年 11 月 20 日摘要:滤波器设计在数字信号处置中占有极其重要的位置, IIR滤波器是滤波器设计的重要组成部份.课题基于MATLAB有噪音语音信号处置的设计与实现, 综合运用数字信号处置的理论知识对加噪声语音信号进行时域, 频域分析和滤波.通过理论推导得出相应结论, 再利用MATLAB 作为编程工具进行计算机实现.在设计实现的过程中, 用巴特沃斯、切比雪夫和双线性变法设计IIR数字滤波器, 并利用MATLAB 作为辅助工具完成设计中的计算与图形的绘制.通过对对所设计滤波器的仿真和频率特性分析, 可知利用MATLAB信号处置工具处置工具箱可以有效快捷地设计IIR数字滤波器, 结果的各项性能指标均到达指定要求.关键词:MATLAB;IIR滤波器;有噪音语音信号Abstract: filter design plays an important role in digital signal processing, IIR filter is an important part of the filter design. Research based on MATLAB design and implementation of the noise processing of speech signal, the theory of knowledge of the integrated use of digital signal processing in time domain of speech signal plus noise, frequency domain analysis and filtering. Through theoretical derivation corresponding conclusion using MATLAB as a programming tool for computer implementation. In the design process, with Butterworth, Chebyshev and bilinear method of IIR digital filter design, and use MATLAB as a tool Complete the drawing calculation and graphic design. Through the simulation and frequency characteristic analysis on the design of filter, MATLAB signal processing tools processing toolbox can effectively and quickly design IIR digital filter based on the results of the performance indicators to meet the specified requirements.Keywords: MATLAB; IIR filter; noisy speech signal目录1. 绪论12. 基于滤波器的语音信号的处置13. 滤波器的设计24. 仿真及结果分析65. 课题结论146. 参考文献167. 谢辞178. 附录18附录1:IIR数字滤波器的主要法式18附录2:比力滤波前后语音信号的波形及频谱191.绪论数字滤波器, 是数字信号处置中及其重要的一部份.随着信息时代和数字技术的发展, 受到人们越来越多的重视.数字滤波器可以通过数值运算实现滤波, 所以数字滤波器处置精度高、稳定、体积小、重量轻、灵活不存在阻抗匹配问题, 可以实现模拟滤波器无法实现的特殊功能.IIR滤波器采纳递归型结构, 即结构上带有反馈环路.IIR滤波器运算结构通常由延时、乘以系数和相加等基本运算组成, 可以组合成直接型、正准型、级联型、并联型四种结构形式, 都具有反馈回路.同时, IIR数字滤波器在设计上可以借助成熟的模拟滤波器的功效, 如巴特沃斯、契比雪夫和椭圆滤波器等, 有现成的设计数据或图表可查, 在设计一个IIR数字滤波器时, 我们根据指标先写出模拟滤波器的公式, 然后通过一定的变换, 将模拟滤波器的公式转换成数字滤波器的公式.本设计研究的主要内容中是先进行语音信号的收集, 然后对语音信号进行频谱分析, 再利用IIR两种滤波器对语音信号进行过滤和频谱分析, 画出滤波之后的频谱图与时域波形, 并对信号滤波前后进行分析比力, 分析信号的变动, 得出滤波性能.2. 基于滤波器的语音信号的处置选择一个语音信号作为分析的对象, 或录制一段语音信号, 对其进行频谱分析;利用MATLAB中的随机函数发生噪声加入到语音信号中, 模仿语音信号被污染, 并对其进行频谱分析;设计IIR数字滤波器, 并对被噪声污染的语音信号进行滤波, 分析滤波后信号的时域和频域特征, 最后回放语音信号.2.1语音信号的采样理论依据采样频率是指计算机每秒钟收集几多个声音样本, 是描述声音文件的音质、音调, 衡量声卡、声音文件的质量标准.采样频率越高, 即采样的间隔时间越短, 则在单元时间内计算机获得的声音样本数据就越多, 对声音波形的暗示也越精确.采样频率与声音频率之间有一定的关系, 根据奎斯特理论, 只有采样频率高于声音信号最高频率的两倍时, 才华把数字信号暗示的声音还原成为原来的声音.这就是说采样频率是衡量声卡收集、记录和还原声音文件的质量标准.位数采样位数即采样值或取样值, 用来衡量声音摆荡变动的参数, 是指声卡在收集和播放声音文件时所使用数字声音信号的二进制位数.采样频率是指录音设备在一秒钟内对声音信号的采样次数, 采样频率越高声音的还原就越真实越自然.采样位数和采样率对音频接口来说是最为重要的两个指标, 也是选择音频接口的两个重要标准.无论采样频率如何, 理论上来说采样的位数决定了音频数据最年夜的力度范围.每增加一个采样位数相当于力度范围增加了6dB.采样位数越多则捕捉到的信号越精确.对采样率来说你可以想象它类似于一个照相机, 44.1kHz意味着音频流进入计算机时计算机每秒会对其拍照达441000次.显然采样率越高, 计算机摄取的图片越多, 对原始音频的还原也越加精确.理在进行模拟/数字信号的转换过程中, 当采样频率fs.max年夜于信号中, 最高频率fmax的2倍时, 即:fs.max>=2fmax,则采样之后的数字信号完整地保管了原始信号中的信息, 一般实际应用中保证采样频率为信号最高频率的5~10倍;采样定理又称奈奎斯特定理.1924年奈奎斯特(Nyquist)就推导出在理想低通信道的最高年夜码元传输速率的公式:理想低通信道的最高年夜码元传输速率=2W*log2 N (其中W是理想低通信道的带宽,N是电平强度)的收集利用WINDOWS 把持系统可以进行数字信号的收集.将话筒输入计算机的语音输入插口上,启动录音机.按下录音按钮,接着对话筒说话“语音信号处置”,说完后停止录音,屏幕左侧将显示所录声音的长度.点击放音按钮,可以实现所录音的重现.以文件名“speech”保管入g :\ MATLAB \ work 中.可以看到,文件存储器的后缀默认为. wav ,这是WINDOWS 把持系统规定的声音文件存的标准.3. 滤波器的设计概述数字滤波器的实现有两个关键步伐:一个从数字域到模拟域间的变换, 这个变换实现了数字滤波器技术指标到模拟滤波器技术指标的转换, 同样也实现了模拟滤波器系统函数到数字滤波器系统函数的转换;另一个是从模拟滤波器技术指标到满足该指标的模拟滤波器的设计.用模拟—数字变换法设计IIR数字滤波器, 首先必需设计一个模拟滤波器, 它有许多分歧的类型, 主要有以下两种类型:①巴特沃思(Botterworth简写BW)滤波器.BW滤波器是根据幅频特性在通带内具有最拼图特性而界说的滤波器, 对一个N阶低通滤波器来说, 所谓最平坦ω=处都为零.BW滤波器的另一个特特性就是模拟函数的前(2N-1)阶导数在0性是在通带和阻带内的幅频特性始终是频率的单调下降函数, 且其模拟函数随阶次N 的增年夜而更接近于理想低通滤波器.②切比雪夫(Chbyshev简写为CB)滤波器.CB低通滤波器的模拟函数由切比雪夫多项式界说, 且在通带内的幅频响应是摆荡的, 在阻带则单调变动.概述IIR(Infinite Impulse Response)数字滤波器, 又名“无限脉冲响应数字滤波器”, 或“递归滤波器”.递归滤波器, 也就是IIR数字滤波器, 顾名思义, 具有反馈, 一般认为具有无限的脉冲响应.IIR滤波器有以下几个特点:(1)封闭函数:IIR数字滤波器的系统函数可以写成封闭函数的形式.(2)IIR数字滤波器采纳递归型结构:IIR数字滤波器采纳递归型结构, 即结构上带有反馈环路.IIR滤波器运算结构通常由延时、乘以系数和相加等基本运算组成, 可以组合成直接型、正准型、级联型、并联型四种结构形式, 都具有反馈回路.由于运算中的舍入处置, 使误差不竭累积, 有时会发生微弱的寄生振荡. (3)借助成熟的模拟滤波器的功效:IIR数字滤波器在设计上可以借助成熟的模拟滤波器的功效, 如巴特沃斯、契比雪夫和椭圆滤波器等, 有现成的设计数据或图表可查, 其设计工作量比力小, 对计算工具的要求不高.在设计一个IIR数字滤波器时, 我们根据指标先写出模拟滤波器的公式, 再通过一定的变换, 将模拟滤波器的公式转换成数字滤波器的公式.(4)需加相位校准网络:IIR数字滤波器的相位特性欠好控制, 对相位要求较高时, 需加相位校准网络.波器设计无论是数字滤波器还是模拟滤波器, 他们技术指标的建立都是以所谓的“固有衰减”参数为参照.以数字滤波器为例, 固有衰减参数界说为A(w)=-20lg|H(e jw)|-20lg|H(e j0)|目前IIR数字滤波器设计的最通用的方法是借助于模拟滤波器的设计方法.模拟滤波器设计已经有了一套相当作熟的方法, 它不单有完整的设计公式, 而且还有较为完整的图表供查询, 因此, 充沛利用这些已有的资源将会给数字滤波器的设计带来很年夜方便.IIR数字滤波器的设计步伐是:①按一定例则将给出的数字滤波器的技术指标转换为模拟低通滤波器的技术指标;②根据转换后的技术指标设计模拟低通滤波器() G s;③再按一定例则将G(s)转换成H(z).若设计的数字滤波器是低通的, 那么上述设计工作可以结束, 若所设计的是高通, 带通或带阻滤波器, 那么还有步伐④;④将高通、带通、或带阻数字l不去的技术指标先转化为低通模拟滤波器的技术指标, 然后依照上述步伐②设计出低通()G s, 再将()G s转换为所需的H(z).下面我们总结一下利用模拟滤波器设计IIR数字低通滤波器的步伐:(1)确定命字低通滤波器的技术指标:通带鸿沟频率、通带最年夜衰减, 阻带截止频率、阻带最小衰减.(2)将数字低通滤波器的技术指标转换成相应的模拟低通滤波器的技术指标. (3)依照模拟低通滤波器的技术指标设计及过渡模拟低通滤波器.(4)用双线性变换法, 模拟滤波器系统函数转换成数字低通滤波器系统函数.接下来, 我们根据语音信号的特点给出有关滤波器的技术指标:低通滤波器的性能指标:fp=1000Hz, fc=1200Hz, As=100db ,Ap=1dB在Matlab中, 利用函数butter,cheby1和ellip设计IIR滤波器, 利用Matlab中的函数freqz画出各步步器的频率响应.MATLAB信号处置工具箱函数buttp buttor butter是巴特沃斯滤波器设计函数, 其有5种调用格式, 本课程设计中用到的是[N,wc]=butter(N,wc,Rp,As,’s’),该格式用于计算巴特沃斯模拟滤波器的阶数N和3dB截止频率wc.MATLAB信号处置工具箱函数cheblap,cheblord和cheeby1是切比雪夫I型滤波器设计函数.我们用到的是cheeby1函数, 其调用格式如下:[B,A]=cheby1(N,Rp,wpo,’ftypr’)函数butter,cheby1和ellip设计IIR滤波器时都是默认的双线性变换法, 所以在设计滤波器时只需要代入相应的实现函数即可.下面我们以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’); [num11,den11]=bilinear(b11,a11,0.5); [h,w]=freqz(num11,den11); figure;plot(w*8000*0.5/pi,abs(h));legend(‘IIR 低通滤波器’,’Location ’,’NorthWest ’); grid;法式结果如下图:0.20.40.60.811.21.4图用设计的各滤波器分别对加噪的语音信号进行滤波, 在Matlab 中, IIR 滤波器利用函数filter 对信号进行滤波. 函数fftfilt 用的是重叠相加法实现线性卷积的计算.调用格式为:y=fftfilter(h,x,M).其中, h 是系统单元冲击响应向量;x 是输入序列向量;y 是系统的输出序列向量;M 是有用户选择的输入序列的分段长度, 缺省时, 默认的输入向量的重长度M=512.函数filter 的调用格式:yn=filter(B, A.xn), 它是依照直线型结构实现对xn的滤波.其中xn是输入信号向量, yn输出信号向量.4 . 仿真及结果分析利用MATLAB中的“wavread”命令来读入(收集)语音信号, 将它赋值给某一向量.再对其进行采样, 记住采样频率和采样点数.下面介绍Wavread 函数几种调用格式.(1)y=wavread(file)功能说明:读取file所规定的wav文件, 返回采样值放在向量y中.(2)[y,fs,nbits]=wavread(file)功能说明:采样值放在向量y中, fs暗示采样频率(hz), nbits暗示采样位数.(3)y=wavread(file, N)功能说明:读取钱N点的采样值放在向量y中.(4)y=wavread(file, [N1,N2])功能说明:读取从N1到N2点的采样值放在向量y中.接下来, 对语音信号OriSound.wav进行采样.其法式如下:>> [y,fs,nbits]=wavered (‘OriSound’); %把语音信号加载入Matlab 仿真软件平台中然后, 画出语音信号的时域波形, 再对语音信号进行频谱分析.MATLAB提供了快速傅里叶变换算法FFT计算DFT的函数fft,其调用格式如下:Xk=fft(xn,N) 参数xn为被变换的时域序列向量, N是DFT变换区间长度, 当N年夜于xn的长度时, fft函数自动在xn后面补零, 当N小于xn的长度时, fft函数计算xn的前N个元素, 忽略其后面的元素.在本次设计中, 我们利用fft对语音信号进行快速傅里叶变换, 就可以获得信号的频谱特性.法式如下:[y,fs,nbits]=wavread(‘OriSound’); %语音信号的收集sound(y,fs,nbits); %语音信号的播放n=length(y) ;Y=fft(y,n); %快速傅里叶变换figure;subplot(2,1,1);plot(y);title(‘原始信号波形’,’fontweight’,’bold’);axis([ 78000 80000 -1 1]);grid;subplot(2,1,2);plot(abs(Y));title(‘原始信号频谱’,’fontweight’,’bold’);axis([ 0 150000 0 4000]);grid;法式结果如下图:7.87.827.847.867.887.97.927.947.967.988x 104-1-0.500.51原始信号波形51015x 10401000200030004000原始信号频谱原始信号波形及频谱的语音信号及其频谱分析利用MATLAB 中的随机函数(rand 或randn)发生噪声加入到语音信号中, 模仿语音信号被污染, 并对其频谱分析.Randn 函数有两种基本调用格式:Randn(n)和Randn (m,n ), 前者发生n×n 服从标准高斯分布的随机数矩阵, 后者发生m×n 的随机数矩阵.在这里, 我们选用Randn (m,n )函数.加噪法式如下所示:[y,fs,nbits]=wavread('OriSound'); sound(y,fs,nbits); n = length (y) ; Noise=0.2*randn(n,2); s=y+Noise; sound(s); figure;subplot(2,1,1); plot(s);title('加噪语音信号的时域波形','fontweight','bold'); axis([ 78000 80000 -1 1]); grid;S=fft(s); subplot(2,1,2); plot(abs(S));title('加噪语音信号的频域波形','fontweight','bold'); axis([ 0 150000 0 4000]); grid;x 104-1-0.500.51加噪语音信号的时域波形51015x 10401000200030004000加噪语音信号的频域波形加噪语音信号时域及频域波形为了验证滤波器的可使用性, 我们用经常使用的sin函数来进行验证.其具体法式及运行结果如下:t=[0:1/1023:1];s=sin(2*pi*t);N=length(s);y=s+0.5*rand(1,N);subplot(2,1,1);plot(y);title('加噪语音信号的时域波形','fontweight','bold');S=fft(y);subplot(2,1,2);plot(abs(S));title('加噪语音信号的频域波形','fontweight','bold');Ft=8000;Fp=1000;Fs=1200;wp=2*pi*Fp/Ft;ws=2*pi*Fs/Ft;[n11,wn11]=buttord(wp,ws,1,50,'s'); %求低通滤波器的阶数和截止频率[b11,a11]=butter(n11,wn11,'s'); %求S域的频率响应的参数[num11,den11]=bilinear(b11,a11,0.5); %利用双线性变换实现频率响应S域到Z域的变换z11=filter(num11,den11,s);sound(z11);m11=fft(z11); %求滤波后的信号figure;subplot(2,2,1);plot(abs(S),'g');title('滤波前信号的频谱','fontweight','bold'); grid;subplot(2,2,2);plot(abs(m11),'r');title('滤波后信号的频谱','fontweight','bold'); grid;subplot(2,2,3);plot(y);title('滤波前信号的波形','fontweight','bold'); grid;subplot(2,2,4);plot(z11);title('滤波后的信号波形','fontweight','bold'); grid;滤波前信号的频谱滤波后信号的频谱滤波前信号的波形滤波后的信号波形波前后语音信号的波形及频谱用自己设计的各滤波器分别对加噪的语音信号进行滤波, 在Matlab 中, FIR 滤波器利用函数fftfilt 对信号进行滤波, IIR 滤波器利用函数filter 对信号进行滤波. 函数fftfilt 用的是重叠相加法实现线性卷积的计算.调用:y=fftfilter(h,x,M).其中, h 是系统单元冲击响应向量;x 是输入序列向量;y 是系统的输出序列向量;M 是有用户选择的输入序列的分段长度, 缺省时, 默认的输入向量的重长度M=512.函数filter 的调用格式:yn=filter(B, A.xn), 它是依照直线型结构实现对xn 的滤波.其中xn 是输入信号向量, yn 输出信号向量.[y,fs,nbits]=wavread (‘OriSound’); %IIR 低通 n = length (y) ; %求出语音信号的长度 Noise=0.2*randn(n,2); %随机函数发生噪声 s=y+Noise; %语音信号加入噪声 S=fft(s); Ft=8000;Fp=1000;Fs=1200;wp=2*pi*Fp/Ft;ws=2*pi*Fs/Ft;[n11,wn11]=buttord(wp,ws,1,50,’s’);%求低通滤波器的阶数和截止频率[b11,a11]=butter(n11,wn11,’s’); %求S域的频率响应的参数[num11,den11]=bilinear(b11,a11,0.5); %利用双线性变换实现频率响应S域到Z域的变换z11=filter(num11,den11,s);sound(z11);m11=fft(z11); %求滤波后的信号figure;subplot(2,2,1);plot(abs(S),’g’);title(‘滤波前信号的频谱’,’fontweight’,’bold’);axis([ 0 150000 0 4000]);grid;subplot(2,2,2);plot(abs(m11),’r’);title(‘滤波后信号的频谱’,’fontweight’,’bold’);axis([ 0 150000 0 4000]);grid;subplot(2,2,3);plot(s);title(‘滤波前信号的波形’,’fontweight’,’bold’);axis([95000 100000 -1 1]);grid;subplot(2,2,4);plot(z11);title(‘滤波后的信号波形’,’fontweight’,’bold’); axis([95000 100000 -1 1]); grid;法式结果如下图:x 10401000200030004000滤波前信号的频谱x 104滤波后信号的频谱9.59.69.79.89.910x 104-1-0.500.51滤波前信号的波形9.59.69.79.89.910x 104-0.50.5滤波后的信号波形经过以上的加噪处置后, 可在Matlab 中用函数sound 对声音进行回放.其调用格式:sound(y,Fs), sound(y)和sound(y,Fs,bits).可以发觉滤波前后的声音有明显的变动.IIR 数字滤波器采纳递归型结构, 即结构上带有反馈环路.IIR 滤波器运算结构通常由延时、乘以系数和相加等基本运算组成, 可以组合成直接型、正准型、级联型、并联型四种结构形式, 都具有反馈回路.由于运算中的舍入处置, 使误差不竭累积, 有时会发生微弱的寄生振荡.(1)IIR 数字滤波器的相位特性欠好控制, 对相位要求较高时, 需加相位校准网络.(2)IIR 滤波器设计时的阶数不是由设计者指定, 而是根据设计者输入的各个滤波器参数(截止频率、通带滤纹、阻带衰减等), 由软件设计出满足这些参数的最低滤波器阶数.在MATLAB下设计分歧类型IIR滤波器均有志对应的函数用于阶数的选择.(3)IIR单元响应为无限脉冲序列.(4)IIR幅频特性精度很高, 不是线性相位的, 可以应用于对相位信息不敏感的音频信号上.(5)IIR滤波器有噪声反馈, 而且噪声较年夜.(6)IIR滤波器运算误差年夜, 有可能呈现极限环振荡.IIR幅频特性精度很高, 不是线性相位的, 可以应用于对相位信息不敏感的音频信号上.语音信号处置是语音学与数字信号处置技术相结合的交叉学科, 课题在这里不讨论语音学, 而是将语音当作一种特殊的信号, 即一种“复杂向量”来看待.也就是说, 课题更多的还是体现了数字信号处置技术.从课题的中心来看, 课题“基于MATLAB的有噪声语音信号处置”是希望将数字信号处置技术应用于某一实际领域, 这里就是指对语音及加噪处置.作为存储于计算机中的语音信号, 其自己就是离散化了的向量, 我们只需将这些离散的量提取出来, 就可以对其进行处置了.这一过程的实现, 用到了处置数字信号的强有力工具MATLAB.通过MATLAB里几个命令函数的调用, 很轻易的在实际语音与数字信号的理论之间搭了一座桥.课题的特色在于它将语音信号看作一个向量, 于是就把语音数字化了.那么, 就可以完全利用数字信号处置的知识来解决语音及加噪处置问题.我们可以像给一般信号做频谱分析一样, 来对语音信号做频谱分析, 也可以较容易的用数字滤波器来对语音进行滤波处置.通过比力加噪前后, 语音的频谱和语音回放, 能明显的感觉到加入噪声后回放的声音与原始的语音信号有很年夜的分歧,前者随较尖锐的干扰啸叫声.从含噪语音信号的频谱图中可以看出含噪声的语音信号频谱,在整个频域范围内分是布均匀.其实, 这正是干扰所造成的.通过滤波前后的比较, 低通滤波后效果最好, 高通滤波后的效果最差.由此可见, 语音信号主要分布在低频段, 而噪声主要分布在高频段.文献[1].高西全, 丁玉美.数字信号处置[M].北京:西安电子科技年夜学出书社, 2008 [2].刘泉, 阙年夜顺.数字信号处置原理与实现[M].北京:电子工业出书社, 2005 [3].张磊, 毕靖, 郭莲英.MATLAB实用教程[M].北京:人民邮电出书社, 2008 [4].张威.MATLAB基础与编程入门[M].西安:西安电子科技年夜学出书社, 2006 [5].周利清, 苏菲.数字信号处置基础[M].北京:北京邮电年夜学出书社, 2005[6].王书林.小波变换在信号去噪中的应用[J].弹箭与制导学报,2006[7].吴湘淇.信号系统与信号处置(下)[M].北京:电子工业出书社,1996.[8].李正周.MATLAB数字信号处置与应用[M].北京:清华年夜学出书社, 2008通过此次课程设计, 使我更加扎实的掌握了有关数字信号处置方面的知识, 在设计过程中虽然遇到了一些问题, 但经过一次又一次的思考, 一遍又一遍的检查终于找出了原因所在, 也流露出了前期我在这方面的知识欠缺和经验缺乏.实践出真知, 通过亲自入手制作, 使自己掌握的知识不再是纸上谈兵.过而能改, 善莫年夜焉.在课程设计过程中, 我不竭发现毛病, 不竭改正, 不竭领悟, 最终的检测调试环节, 自己就是在践行“过而能改, 善莫年夜焉”的知行观.这次课程设计终于顺利完成了.在设计中遇到了很多问题, 最后在老师的指导下, 终于游逆而解.在今后社会的发展和学习实践过程中, 一定要不懈努力, 不能遇到问题就想到要退缩, 一定要诲人不倦的发现问题所在, 然后一一进行解决, 只有这样, 才华胜利的做成想做的事, 才华在今后的路途上劈荆斩棘, 而不是知难而退, 那样永远不成能收获胜利, 收获喜悦, 也永远不成能获得社会及他人对你的认可!8.附录附录1:IIR数字滤波器的主要法式%=========================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’);[num11,den11]=bilinear(b11,a11,0.5);[h,w]=freqz(num11,den11);figure;plot(w*8000*0.5/pi,abs(h));legend(‘IIR低通滤波器’,’Location’,’NorthWest’);grid;附录2:比力滤波前后语音信号的波形及频谱% ======================双线性变换法========================== [y,fs,nbits]=wavread (‘OriSound’); %IIR低通n = length (y) ; %求出语音信号的长度Noise=0.2*randn(n,2); %随机函数发生噪声s=y+Noise; %语音信号加入噪声S=fft(s);Ft=8000;Fp=1000;Fs=1200;wp=2*pi*Fp/Ft;ws=2*pi*Fs/Ft;[n11,wn11]=buttord(wp,ws,1,50,’s’);%求低通滤波器的阶数和截止频率[b11,a11]=butter(n11,wn11,’s’); %求S域的频率响应的参数[num11,den11]=bilinear(b11,a11,0.5); %利用双线性变换实现频率响应S域到Z域的变换z11=filter(num11,den11,s);sound(z11);m11=fft(z11); %求滤波后的信号figure;subplot(2,2,1);plot(abs(S),’g’);title(‘滤波前信号的频谱’,’fontweight’,’bold’);axis([ 0 150000 0 4000]);grid;subplot(2,2,2);plot(ab s(m11),’r’);title(‘滤波后信号的频谱’,’fontweight’,’bold’);axis([ 0 150000 0 4000]);grid;subplot(2,2,3);plot(s);title(‘滤波前信号的波形’,’fontweight’,’bold’);axis([95000 100000 -1 1]);grid;subplot(2,2,4);plot(z11);title(‘滤波后的信号波形’,’fontweight’,’bold’); axis([95000 100000 -1 1]);grid;。
目录一、设计目的。
二、设计要求。
三、详细设计过程。
四、调试分析。
五、结果分析与体会。
六、附录或参考资料。
一、设计目的在Matlab 软件平台上,对录制的语音信号采样,综合运用数字信号处理的理论知识分析时域波形和频谱图。
根据降噪要求用双线性变化法设计低通数字滤波器,并运用所设计的滤波器对采集的信号进行滤波, 绘制滤波后信号的时域波形和频谱。
二、设计要求利用MATLAB中的函数wavread对语音信号采集,sound 函数播放语音,并且声音采用的是单声道。
采样频率Fs=22050Hz,Bits表示量化阶数,y为采样数据。
利用快速傅里叶变换对语音数据进行傅里叶变换,分析语音信号频谱。
人的语音信号频率一般集中在200 k Hz到4.5 k Hz之间,从声音频谱的包络来看, 分析频谱图可清楚地看到加噪前的样本声音的主要以低频为主,样本声音的能量集中在低频部分。
样本声音的能量集中在0.1pi(即1102.5Hz)以内, 0.4pi以外的高频部分很少。
所以信号宽度近似取为1.1k Hz, 由采样定理可得FS>2F0=2*1102.5=2205Hz,相对的小高频部分应该属于背景噪声。
是人为的在这段语音中加入的高频噪声,加噪后语音信号的频谱中在高频部分的能量有所增加。
下面将利用低通滤波器处理这段加噪语音,以达到去除高频噪声的目的。
IIR 滤波器设计是以模拟滤波器为基础进行的,椭圆滤波器的通带和阻带都有切比雪夫波纹,是等波纹的逼近方式,过渡带非常陡峭,在滤波器阶数N 给定的情况下,同样的性能指标要求的阶数是最小的,这使得在众多的模拟滤波器中椭圆滤波器设计是最优化的,性能是最好的,同时为了防止频率混叠,普遍采用双线性变换法, 实现模拟滤波器到数字滤波器的转换。
依据这样的设计思路,设定滤波器的参数。
三、详细设计过程(1)语音信号采集语音信号采集该实验以研究者本人的声音为分析样本。
1.准备音频线、麦克风,连接好电脑2.开启Windows中的录音机。