含噪声的语音信号分析与处理设计

合集下载

小波分析的语音信号噪声消除方法

小波分析的语音信号噪声消除方法

小波分析的语音信号噪声消除方法小波分析是一种有效的信号处理方法,可以用于噪声消除。

在语音信号处理中,噪声常常会影响语音信号的质量和可理解性,因此消除噪声对于语音信号的处理非常重要。

下面将介绍几种利用小波分析的语音信号噪声消除方法。

一、阈值方法阈值方法是一种简单而有效的噪声消除方法,它基于小波变换将语音信号分解为多个频带,然后通过设置阈值将各个频带的噪声成分消除。

1.1离散小波变换(DWT)首先,对语音信号进行离散小波变换(DWT),将信号分解为近似系数和细节系数。

近似系数包含信号的低频成分,而细节系数包含信号的高频成分和噪声。

1.2设置阈值对细节系数进行阈值处理,将细节系数中幅值低于设定阈值的部分置零。

这样可以将噪声成分消除,同时保留声音信号的特征。

1.3逆变换将处理后的系数进行逆变换,得到去噪后的语音信号。

1.4优化阈值选择为了提高去噪效果,可以通过优化阈值选择方法来确定最佳的阈值。

常见的选择方法有软阈值和硬阈值。

1.4.1软阈值软阈值将细节系数进行映射,对于小于阈值的细节系数,将其幅值缩小到零。

这样可以在抑制噪声的同时保留语音信号的细节。

1.4.2硬阈值硬阈值将细节系数进行二值化处理,对于小于阈值的细节系数,将其置零。

这样可以更彻底地消除噪声,但可能会损失一些语音信号的细节。

二、小波包变换小波包变换是对离散小波变换的改进和扩展,可以提供更好的频带分析。

在语音信号噪声消除中,小波包变换可以用于更精细的频带选择和噪声消除。

2.1小波包分解将语音信号进行小波包分解,得到多层的近似系数和细节系数。

2.2频带选择根据噪声和语音信号在不同频带上的能量分布特性,选择合适的频带对语音信号进行噪声消除。

2.3阈值处理对选定的频带进行阈值处理,将噪声成分消除。

2.4逆变换对处理后的系数进行逆变换,得到去噪后的语音信号。

三、小波域滤波小波域滤波是一种基于小波变换的滤波方法,通过选择合适的小波函数和滤波器来实现噪声消除。

语音识别系统的噪声干扰处理技巧

语音识别系统的噪声干扰处理技巧

语音识别系统的噪声干扰处理技巧随着语音识别技术的快速发展,越来越多的应用场景需要对语音进行准确的识别。

然而,在现实生活中,我们常常会遇到各种各样的噪声干扰,如交通噪声、环境噪声等,这些噪声会影响语音识别系统的准确性。

因此,如何有效地处理语音识别系统中的噪声干扰成为了一个重要的问题。

对于语音识别系统的噪声干扰处理,有以下几种常用的技巧。

1. 预处理技术预处理是指在输入语音信号进入识别系统之前,对其进行一系列的处理。

其中,常用的预处理技术包括:- 降噪:通过滤波器或噪声抑制算法,将噪声信号从语音信号中去除,以减小噪声对语音识别的干扰。

- 去除非语音成分:从语音信号中去除非语音成分,如咳嗽声、鼻音等,以提高语音信号的纯度。

- 声音增强:通过音量增加或者等化处理,增强语音信号的清晰度,以便于后续的识别操作。

2. 特征提取技术特征提取是指从语音信号中提取出对识别有帮助的特征,以减小噪声对识别的影响。

常用的特征提取技术有:- 短时能量:通过计算语音信号的能量,来判断其是否包含有效语音信息。

- 频谱特征:通过对语音信号进行傅里叶变换,提取频谱信息,如声谱图、梅尔频率倒谱系数等。

- 频谱包络:通过对语音信号进行滤波处理,提取语音信号的频谱包络信息。

3. 语音增强技术语音增强旨在提升语音信号的质量,以减小噪声的干扰。

常用的语音增强技术包括:- 频域方法:通过对语音信号进行短时傅里叶变换,然后对频谱进行加权平均或者谱减操作,以减小噪声的影响。

- 时域方法:通过对语音信号进行时域滤波或者自适应滤波,去除或者减小噪声的干扰。

4. 模型适应技术模型适应技术是指通过对语音识别模型进行优化,以适应噪声环境下的语音识别。

常用的模型适应技术包括:- 噪声模型训练:通过收集不同噪声环境下的语音数据,训练模型以更好地适应不同噪声环境下的语音识别。

- 噪声补偿:通过对语音和噪声进行分离或者模型建模,将噪声信号的影响从语音信号中剥离,以提高识别的准确性。

含噪声的语音信号分析与处理设计

含噪声的语音信号分析与处理设计

含噪声的语音信号分析与处理设计随着科技的发展,语音信号的分析与处理在音频处理、语音识别、交互设计等领域中得到了广泛应用。

然而,由于实际环境条件的影响,语音信号常常受到噪声的干扰,导致信号质量下降。

因此,对含噪声的语音信号进行分析与处理设计成为一个重要的研究课题。

本文将从语音信号分析、噪声分析以及处理方法三个方面对含噪声的语音信号进行分析与处理设计。

首先,语音信号分析是语音处理的基础,通过分析语音信号的频率、幅度和时域特性等可以更好地了解信号的特点,从而为后续的噪声分析与处理提供基础。

语音信号通常由基频、共振峰和噪声组成,而噪声是导致语音信号质量下降的主要原因之一、因此,理解和提取语音信号中的基频和共振峰等特征参数,可以帮助我们更好地去除噪声。

在语音信号分析中,常用的方法包括短时傅里叶变换(STFT)、自相关函数(RAF)以及线性预测编码(LPC)等。

其次,噪声分析是对噪声的特性进行分析,掌握噪声特征对于噪声的抑制和处理至关重要。

常见的噪声类型包括白噪声、脉冲噪声、环境噪声等,它们的特点各不相同。

通过对噪声的分析,可以确定适当的噪声模型,为后续的噪声抑制算法提供基础。

噪声分析方法包括谱分析、相关性分析以及统计特性分析等。

最后,针对含噪声的语音信号进行处理,目的是降低噪声对语音信号的干扰,提高语音信号的质量。

噪声抑制是含噪声语音信号处理中的一项重要任务,主要分为基于时域和频域的方法。

时域方法包括Wiener滤波器、语音活性检测和语音增强等;频域方法主要包括基于短时傅里叶变换的声纹估计法、频率掩蔽法和频谱减法法等。

此外,还可以通过使用降噪算法、特征选择和分类器训练等方法来提高语音信号的鲁棒性。

综上所述,含噪声的语音信号分析与处理设计是一个复杂而关键的问题,需要综合考虑语音信号的特点和噪声的特性,并选择合适的方法进行处理。

通过合理的信号分析和噪声分析,结合有效的处理方法和算法,可以实现对含噪声的语音信号的准确分析和高效处理,从而提高语音信号的质量和应用效果。

毕业论文_基于Matlab的语音信号分析与处理系统设计

毕业论文_基于Matlab的语音信号分析与处理系统设计

毕业论文_基于Matlab的语音信号分析与处理系统设计毕业论文语音信号分析与处理系统设计语音信号分析与处理系统设计摘要语音信号处理是研究用数字信号处理技术和语音学知识对语音信号进行处理的新兴的学科,是目前发展最为迅速的信息科学研究领域的核心技术之一。

通过语音传递信息是人类最重要、最有效、最常用和最方便的交换信息形式。

Matlab语言是一种数据分析和处理功能十分强大的计算机应用软件,它可以将声音文件变换为离散的数据文件,然后利用其强大的矩阵运算能力处理数据,如数字滤波、傅里叶变换、时域和频域分析、声音回放以及各种图的呈现等,它的信号处理与分析工具箱为语音信号分析提供了十分丰富的功能函数,利用这些功能函数可以快捷而又方便地完成语音信号的处理和分析以及信号的可视化,使人机交互更加便捷。

信号处理是Matlab重要应用的领域之一。

本设计针对现在大部分语音处理软件内容繁多、操作不便等问题,采用MATLAB7.0综合运用GUI界面设计、各种函数调用等来实现语音信号的变频、变幅、傅里叶变换及滤波,程序界面简练,操作简便,具有一定的实际应用意义。

最后,本文对语音信号处理的进一步发展方向提出了自己的看法。

关键字:Matlab;语音信号;傅里叶变换;信号处理;The Design of Analysis and Processing Voice SignalAbstractSpeech signal processing is to study the use of digital signal processing technology and knowledge of the voice signal voice processingof the emerging discipline is the fastest growing areas of information science one of the core technology. Transmission of information through the voice of humanity's most important, most effective, most popular and most convenient form of exchange of information..Matlab language is a data analysis and processing functions are very powerful computer application software, sound files which can be transformed into discrete data files, then use its powerful ability to process the data matrix operations, such as digital filtering, Fourier transform, when domain and frequency domain analysis, sound playback and a variety of map rendering, and so on. Its signal processing and analysis toolkit for voice signal analysis provides a very rich feature function, use of these functions can be quick and convenient features complete voice signal processing and analysis and visualization of signals, makes computer interaction more convenient . Matlab Signal Processing is one of the important areas of application.The design of voice-processing software for most of the content are numerous, easy to maneuver and so on, using MATLAB7.0 comprehensive use GUI interface design, various function calls to voice signals such as frequency, amplitude, Fourier transform and filtering, the program interface concise, simple, has some significance in practice.Finally, the speech signal processing further development putforward their own views.Keywords: Matlab, Voice Signal,Fourier transform,Signal Processing目录1 绪论 (1)1.1课题背景及意义 (1)1.2国内外研究现状 ..................................................... 1 1. 3本课题的研究内容和方法 .. (2)1.3.1 研究内容 .....................................................21.3.2 运行环境 (2)1.3.3 开发环境 .....................................................22 语音信号处理的总体方案 (3)2.1 系统基本概述 ......................................................3 2.2 系统基本要求 ....................................................... 3 2.3 系统框架及实现 ..................................................... 3 2.4系统初步流程图 .. (4)3 语音信号处理基本知识 (5)3.1语音的录入与打开 ...................................................5 3.2采样位数和采样频率 ................................................. 6 3.3时域信号的FFT 分析 ................................................. 6 3.4数字滤波器设计原理 ................................................. 6 3.5倒谱的概念 (7)4 语音信号处理实例分析 (7)4.1图形用户界面设计 ...................................................7 4.2信号的采集 ......................................................... 8 4.3语音信号的处理设计 (8)4.3.1 语音信号的提取 ...............................................84.3.2 语音信号的调整 (10)4.3.2.1 语音信号的频率调整 (10)4.3.2.2语音信号的振幅调整 (11)4.3.3 语音信号的傅里叶变换 (12)4.3.4 语音信号的滤波 .............................................134.3.4.1 语音信号的低通滤波 (13)?4.3.4.2 语音信号的高通滤波 .......................................154.3.4.3 语音信号的带通滤波 .......................................154.3.4.4 语音信号的带阻滤波 .......................................164.4 语音信号的输出 (17)5 总结 (18)参考文献 (19)致谢 (19)1 绪论语音是语言的声学表现,是人类交流信息最自然、最有效、最方便的手段。

基于MATLAB语音信号处理去噪毕业设计论文

基于MATLAB语音信号处理去噪毕业设计论文

基于MATLAB语音信号处理去噪毕业设计论文语音信号在实际应用中通常不可避免地受到噪音的干扰,这使得语音信号的处理变得困难。

因此,在语音信号处理领域,去噪技术一直是一个热门的研究方向。

本文将介绍一种基于MATLAB的语音信号处理去噪方法的毕业设计论文。

本文的主要内容分为以下几个部分。

首先,介绍语音信号处理的背景和意义。

在现实生活中,由于外界环境和设备的限制,语音信号往往会受到各种噪音的污染,如背景噪音、电磁干扰等。

因此,开发一种有效的语音信号处理去噪方法具有重要的实际意义。

其次,介绍基于MATLAB的语音信号处理去噪方法。

本文将采用小波降噪方法对语音信号进行去噪处理。

首先,对输入的语音信号进行小波变换,将信号转换到小波域。

然后,通过对小波系数进行阈值处理,将噪声系数置零,从而实现去噪效果。

最后,通过逆小波变换将信号转换回时域,并输出去噪后的语音信号。

接下来,介绍实验设计和结果分析。

本文将使用MATLAB软件进行实验设计,并选取一组含有不同噪声干扰的语音信号进行测试。

通过对不同噪声信号进行处理,比较不同参数设置下的去噪效果,评估提出方法的性能。

最后,总结全文并展望未来的研究方向。

通过本次研究,我们可以看到基于MATLAB的语音信号处理去噪方法在去除噪音方面具有较好的效果,并具有很大的应用潜力。

然而,该方法仍然有改进的空间。

未来的研究可以在算法优化、参数选择和应用场景等方面进行深入研究,进一步提高语音信号处理去噪的效果和性能。

总的来说,本文介绍了一种基于MATLAB的语音信号处理去噪方法的毕业设计论文。

通过对实验结果的分析和对未来研究方向的展望,本文为从事语音信号处理领域的研究人员提供了一定的参考和启示。

语音信号处理中的语音增强与降噪技术研究

语音信号处理中的语音增强与降噪技术研究

语音信号处理中的语音增强与降噪技术研究第一章引言语音信号处理中的语音增强与降噪技术是一项重要的技术研究领域,涉及到语音信号的清晰度、准确性及可听性等问题,是语音识别、语音合成、语音通信等技术的基础。

目前,随着技术的不断发展,语音信号处理中的语音增强与降噪技术在日常生活中得到越来越广泛的应用。

本文将着重对语音增强与降噪技术进行研究与分析。

第二章语音增强技术2.1 基于滤波的语音增强技术在语音增强技术中,最简单也是最常见的是基于滤波的语音增强技术。

该技术主要通过对语音信号的滤波实现增强效果,使语音信号的频域特征变得更加明显,从而提高语音信号的清晰度。

2.2 基于谱减法的语音增强技术基于谱减法的语音增强技术是一种常见的语音增强方法,该方法最早由Gold和Morgan于1982年提出。

该方法主要依据语音信号中的噪声信号与语音信号在幅度谱上的区别,对语音信号进行降噪处理。

2.3 基于小波变换的语音增强技术基于小波变换的语音增强技术是一种先进的语音增强方法,该方法主要是通过在小波域上进行分析、分解、重构和滤波等操作,实现对语音信号的增强效果。

第三章语音降噪技术3.1 基于谱减法的语音降噪技术基于谱减法的语音降噪技术同样可以用于语音信号的降噪处理,该方法主要具备可扩展性,具有良好的噪声抑制效果和低计算复杂度等特点。

3.2 基于小波变换的语音降噪技术基于小波变换的语音降噪技术同样是一种先进的降噪方法,该方法主要是通过小波分析技术实现对语音信号和噪声信号的分离,通过小波域的重构来得到降噪后的语音信号。

第四章语音增强与降噪技术在语音识别中的应用语音识别是语音信号处理的一项关键技术。

目前,语音增强与降噪技术已经被广泛应用到语音识别的各个方面,如语音前端处理、语音信号预处理、语音特征提取和声学模型训练等方面。

语音增强技术能够有效提高语音信号的质量,降低噪声对语音信号的干扰,从而改善语音识别的准确性和成功率;语音降噪技术能够有效降低噪声对语音信号的影响,使语音信号更加清晰、准确、自然,从而能够有效提高语音识别的准确率和性能。

语音识别技术的噪声环境下的性能分析与改进

语音识别技术的噪声环境下的性能分析与改进

语音识别技术的噪声环境下的性能分析与改进随着人工智能技术的迅速发展,语音识别技术在人们的日常生活中发挥着越来越重要的作用。

然而,噪声环境对语音识别的性能产生了很大的影响,使得系统的准确率受到了限制。

因此,对于语音识别技术在噪声环境下的性能分析与改进具有重要意义。

在噪声环境下,语音识别技术的性能往往会受到多种因素的影响。

首先,噪声的种类和强度会对语音信号的清晰度产生不同程度的影响。

常见的噪声类型包括背景噪声、机器噪声、人声噪声等。

这些噪声会与语音信号混合在一起,干扰语音识别系统对语音信息的识别与理解。

其次,语音信号的质量和准确度也会直接影响系统的性能。

不同的录音设备和录音环境可能会导致语音信号的质量不同,从而影响到语音识别技术的结果。

为了提高语音识别技术在噪声环境下的性能,需要进行深入的分析和改进。

首先,可以采用预处理技术来减少噪声对语音信号的干扰。

例如,可以使用降噪算法对录音信号进行处理,去除噪声成分,提高信号的清晰度。

此外,还可以进行语音增强处理,通过改善语音信号的质量来提高识别的准确率。

另外,对于噪声环境下的语音识别技术性能分析和改进,还可以采用前端特征提取和后端模型训练两个方面的策略。

前端特征提取是指将语音信号转化为一系列有意义的特征向量,以便后续的模型训练和识别。

在噪声环境下,传统的特征提取方法往往无法有效地提取出代表语音信息的特征。

因此,需要研究和应用一些鲁棒性较强的特征提取方法,如MFCC特征、PLP特征等,以提高系统对噪声环境下语音信号的理解能力。

后端模型训练是指利用已提取的特征向量来训练模型,从而实现对语音信号的识别与理解。

在噪声环境下,可以采用深度学习方法,如循环神经网络(RNN)和卷积神经网络(CNN),来训练语音识别模型。

这些深度学习模型具有更强大的适应性和泛化能力,可以更好地应对噪声环境下的挑战。

此外,还有一些其他的技术和策略可以用于噪声环境下语音识别的性能分析与改进。

例如,可以针对不同类型的噪声进行分析和建模,以实现噪声的自适应抑制。

语音上行去噪经典算法

语音上行去噪经典算法

语音上行去噪经典算法语音去噪是指在语音通信或语音处理过程中,采用算法来减少或消除噪声对语音信号的影响,使语音更加清晰。

常用的语音去噪算法包括经典的谱减法、Wiener 滤波器和子空间方法等。

1. 谱减法是一种经典的语音去噪算法。

它基于傅里叶分析,将语音信号从时域转换到频域,通过对频域幅度进行修剪来减少噪声。

该算法的基本原理是在短时傅里叶变换(STFT)的基础上,对每个频带的幅度进行修正,减小低信噪比(SNR)的频带的幅度,然后进行逆变换得到去噪后的语音。

2. Wiener滤波器是一种以最小均方误差为准则的自适应滤波器。

该算法假设语音信号和噪声信号是高斯随机过程,通过最小化均方误差来估计信号和噪声的功率谱密度。

Wiener滤波器的基本原理是在频域采用逐帧处理,通过估计语音信号和噪声信号的功率谱密度比值,计算出每个频带的Wiener滤波器增益,然后将滤波器增益应用到频谱上得到去噪结果。

3. 子空间方法是一种基于信号与噪声在子空间中的性质来进行去噪的方法。

该算法利用信号与噪声在统计上的互相独立性,在子空间中对语音信号和噪声信号进行分离。

子空间方法常用的算法包括主成分分析(PCA)、独立成分分析(ICA)和稀疏表示等。

谱减法、Wiener滤波器和子空间方法是常用的语音去噪算法,它们在实际应用中有各自的优缺点。

谱减法简单易实现,适用于低噪声的情况,但在高噪声环境中会产生伪声;Wiener滤波器对于高噪声环境和非高斯噪声具有较好的去噪效果,但在弱信号和非平稳噪声环境下效果较差;子空间方法具有较好的去噪效果,对于非线性噪声具有较好的适应性,但计算复杂度较高。

除了经典算法外,近年来也出现了一些使用深度学习进行语音去噪的方法,如基于卷积神经网络(CNN)的去噪自编码器、基于循环神经网络(RNN)的长短时记忆网络(LSTM)等。

这些算法通过学习大量训练数据,利用神经网络的强大拟合能力来进行语音信号和噪声信号之间的映射,从而实现去噪效果。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录1软件介绍 (1)2语音信号的采集 (2)3语音信号的时频与加噪分析 (2)3.1 语音信号的时频分析 (2)3.2 语音信号的加噪分析 (3)4 FIR和IIR数字滤波器设计 (5)4.1 IIR数字滤波器设计 (5)4.1.1 IIR低通滤波器设计 (5)4.1.2 IIR带通滤波器设计 (6)4.1.3 IIR高通滤波器设计 (8)4.2 FIR滤波器设计 (9)4.2.1 FIR低通滤波器设计 (9)4.2.2 FIR带通滤波器设计 (10)4.2.3 FIR高通滤波器设计 (11)5 GUI设计及滤波结果分析 (12)5.1 GUI设计 (12)5.1.1 控件及界面设计 (12)5.1.2 设置回调函数 (12)5.2 滤波结果及分析 (21)5.2.1 滤波结果图 (21)5.2.2 结果分析 (23)6 心得体会 (24)7 参考文献 (25)1软件介绍MATLAB是矩阵实验室(Matrix Laboratory)之意。

除具备卓越的数值计算能力外,它还提供了专业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能。

MATLAB的基本数据单位是矩阵,它的指令表达式与数学,工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完相同的事情简捷得多.当前流行的MATLAB 5.3/Simulink 3.0包括拥有数百个内部函数的主包和三十几种工具包(Toolbox).工具包又可以分为功能性工具包和学科工具包.功能工具包用来扩充MATLAB的符号计算,可视化建模仿真,文字处理及实时控制等功能.学科工具包是专业性比较强的工具包,控制工具包,信号处理工具包,通信工具包等都属于此类.开放性使MATLAB广受用户欢迎.除内部函数外,所有MATLAB主包文件和各种工具包都是可读可修改的文件,用户通过对源程序的修改或加入自己编写程序构造新的专用工具包.一种语言之所以能如此迅速地普及,显示出如此旺盛的生命力,是由于它有着不同于其他语言的特点,正如同FORTRAN和C等高级语言使人们摆脱了需要直接对计算机硬件资源进行操作一样,被称作为第四代计算机语言的MATLAB,利用其丰富的函数资源,使编程人员从繁琐的程序代码中解放出来。

MATLAB最突出的特点就是简洁。

MATLAB用更直观的,符合人们思维习惯的代码,代替了C和 FORTRAN语言的冗长代码。

MATLAB给用户带来的是最直观,最简洁的程序开发环境。

以下简单介绍一下MATLAB的主要特点。

语言简洁紧凑,使用方便灵活,库函数极其丰富。

MATLAB程序书写形式自由,利用起丰富的库函数避开繁杂的子程序编程任务,压缩了一切不必要的编程工作。

由于库函数都由本领域的专家编写,用户不必担心函数的可靠性。

可以说,用MATLAB进行科技开发是站在专家的肩膀上。

2语音信号的采集利用PC 机上的声卡和WINDOWS 操作系统可以进行数字信号的采集。

将话筒输入计算机的语音输入插口上,启动录音机。

按下录音按钮,接着对话筒说话“语音信号处理”,说完后停止录音,屏幕左侧将显示所录声音的长度。

点击放音按钮,可以实现所录音的重现。

以文件名“555”保存入D:\ MATLAB \ work 中。

可以看到,文件存储器的后缀默认为. wav ,这是WINDOWS 操作系统规定的声音文件存的标准。

3语音信号的时频与加噪分析3.1 语音信号的时频分析Matlab软件平台下,利用wavread函数对语音信号进行采样,记住采样频率和采样点数Wavread函数调用格式如下:y=wavread(file)%读取file 所规定的wav 文件,返回采样值放在向量y中。

[y,fs,nbits]=wavread(file) %采样值放在向量y 中,fs表示采样频率,nbits表示采样位数。

y=wavread(file,N)%读取钱N 点的采样值放在向量y 中。

y=wavread(file,[N1,N2])%读取从N1 到N2 点的采样值放在向量y 中。

对语音信号555.wav 进行采样其程序如下:[y,fs,nbits]=wavered ('555'); %把语音信号进行加载入Matlab仿真软件平台fs =8000nbits =16首先画出语音信号的时域波形,然后对语音信号进行频谱分析。

在matlab中利用fft对信号进行快速傅里叶变换,得到信号的频谱特性。

其程序如下:[y,fs,nbits]=wavread ('555');sound(y,fs,nbits); %回放语音信号n = length (y) ; %求出语音信号的长度Y=fft(y,n); %傅里叶变换subplot(2,1,1);plot(y);title('原始信号波形');subplot(2,1,2);plot(abs(Y));title('原始信号频谱')程序结果图如下:图 1 原始信号波形与频谱图3.2 语音信号的加噪分析利用MATLAB中的随机函数(rand或randn)产生噪声加入到语音信号中 仿语音信号被污染 对其频谱分析。

其程序如下:[y,fs,nbits]=wavread ('123');n = length (y) ; %求出语音信号的长度noise=0.07*randn(n,2); %随机函数产生噪声s=y+noise; %语音信号加入噪声sound(s,fs,nbits);wavwrite(s,fs,nbits,'AddNoise')subplot(2,1,1);plot(s);title('加噪语音信号的时域波形');S=fft(s); %傅里叶变换subplot(2,1,2);plot((0:length(S)-1)'/length(S)*8000,abs(S));title('加噪语音信号的频域波形'); 程序结果图如下:图 2 加噪语音信号波形与频谱图4FIR和IIR数字滤波器设计根据语音信号的特点给出有关滤波器的新能指标:①低通滤波器的性能指标fp=1000Hz,fc=1200Hz,As=100db ,Ap=1dB②高通滤波器的性能指标fp=4800Hz,fc=5000Hz,As=100dB,Ap=1dB③带通滤波器的性能指标fp1=1200Hz,fp2=3000hZ,fc1=1000Hz,fc2=3200Hz,As=100dB,Ap=1dB在Matlab中,可以利用函数fir1 设计FIR 滤波器,利用函数butter,cheby1和ellip 设计IIR 滤波器,利用Matlab中的函数freqz画出各步步器的频率响应。

分析如下:函数fir1 默认的设计滤波器的方法为窗函数法 中可选的窗函数有Rectangular Barlrtt Hamming Hann Blackman 窗 相应的都有实现函数。

函数butter,cheby1 和ellip设计IIR 滤波器时都是默认的双线性变换法,所以在设计滤波器时只需要代入相应的实现函数即可。

4.1 IIR数字滤波器设计4.1.1IIR低通滤波器设计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图3 IIR低通滤波器4.1.2 IIR带通滤波器设计Fp1=1200;Fp2=3000;Fs1=1000;Fs2=3200;Ft=8000;wp1=tan(pi*Fp1/Ft); %带通到低通滤波器的转换wp2=tan(pi*Fp2/Ft);ws1=tan(pi*Fs1/Ft);ws2=tan(pi*Fs2/Ft);w=wp1*wp2/ws2;bw=wp2-wp1;wp=1;ws=(wp1*wp2-w.^2)/(bw*w);[n12,wn12]=buttord(wp,ws,1,50,'s'); %求低通滤波器阶数和截止频率[b12,a12]=butter(n12,wn12,'s'); %求S 域的频率响应参数[num2,den2]=lp2bp(b12,a12,sqrt(wp1*wp2),bw);%将S 域低通参数转为带通的[num12,den12]=bilinear(num2,den2,0.5);%双线性变换频率响应S到Z域转换[h,w]=freqz(num12,den12);%根据参数求出频率响应plot(w*8000*0.5/pi,abs(h));axis([0 4000 0 1.5]);grid;图4 IIR带通Ft=8000;Fp=4000;Fs=3500;wp1=tan(pi*Fp/Ft);%高通到低通滤波器参数转换ws1=tan(pi*Fs/Ft);wp=1;ws=wp1*wp/ws1;[n13,wn13]=cheb1ord(wp,ws,1,50,'s'); %求模拟低通滤波器阶数和截止频率[b13,a13]=cheby1(n13,1,wn13,'s'); %求S 域的频率响应的参数[num,den]=lp2hp(b13,a13,wn13);%将S 域低通参数转为高通的[num13,den13]=bilinear(num,den,0.5); %双线性变换频率响应S 到Z 域转换[h,w]=freqz(num13,den13);plot(w*21000*0.5/pi,abs(h));title('IIR 高通滤波器');axis([0 12000 0 1.5]);grid;图5 IIR高通滤波器4.2.1 FIR低通滤波器设计用窗函数设计低通滤波器的程序如下:Ft=8000;Fp=1000;Fs=1200;wp=2*Fp/Ft;ws=2*Fs/Ft;rp=1;rs=50;p=1-10.^(-rp/20); %通带阻带波纹s=10.^(-rs/20);fpts=[wpws];mag=[1 0];dev=[p s];[n21,wn21,beta,ftype]=kaiserord(fpts,mag,dev);b21=fir1(n21,wn21,Kaiser(n21+1,beta)); %由fir1 设计滤波器[h,w]=freqz(b21,1); %得到频率响应plot(w/pi,abs(h));title('FIR 低通滤波器');grid;图6 FIR低通滤波器Fp1=1200;Fp2=3000;Fs1=1000;Fs2=3200;Ft=8000;wp1=tan(pi*Fp1/Ft); %带通到低通滤波器参数转换wp2=tan(pi*Fp2/Ft);ws1=tan(pi*Fs1/Ft);ws2=tan(pi*Fs2/Ft);w=wp1*wp2/ws2;bw=wp2-wp1;wp=1;ws=(wp*wp2-w.^2)/(bw*w);[n22,wn22]=buttord(wp,ws,1,50,'s'); %求低通滤波器阶数和截止频率[b22,a22]=butter(n22,wn22,'s'); %求S 域的频率响应的参数[num2,den2]=lp2bp(b22,a22,sqrt(wp1*wp2),bw); %将S 域低通参数转为带通[num22,den22]=bilinear(num2,den2,0.5);%双线性变换实现S 域到Z 域的转换[h,w]=freqz(num22,den22); %根据参数求出频率响应plot(w*8000*0.5/pi,abs(h));axis([0 4000 0 1.5]);grid图7 FIR带通滤波器Ft=8001;Fp=4000;Fs=3500;wp=2*Fp/Ft;ws=2*Fs/Ft;rp=1;rs=50;p=1-10.^(-rp/20); %通带阻带波纹s=10.^(-rs/20);fpts=[wswp];mag=[0 1];dev=[p s];[n23,wn23,beta,ftype]=kaiserord(fpts,mag,dev);b23=fir1(n23,wn23,'high',Kaiser(n23+1,beta)); %由fir1 设计滤波器[h,w]=freqz(b23,1); %得到频率响应plot(w*12000*0.5/pi,abs(h));title('FIR 高通滤波器');axis([3000 6000 0 1.2]);grid图8 FIR高通滤波器5 GUI设计及滤波结果分析5.1 GUI设计5.1.1控件及界面设计在控件布局设计区放置3个Panel控件、7个Axes控件、7个Text控件、5个PushButton 控件、2个RadioButton控件、1个CheckBox控件。

相关文档
最新文档