




免费预览已结束,剩余22页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 基于基于matlab 声音信号的滤波去噪处理声音信号的滤波去噪处理 摘要摘要 滤波器设计在数字信号处理中占有极其重要的地位。fir数字滤波器和 iir 滤波器是滤波器设计的重要组成部分。 matlab 功能强大、 简单易学、 编程效率高, 深受广大科技工作者的欢迎。 特别是matlab还具有信号分析工具箱,不需具备很 强的编程能力,就可以很方便地进行信号分析、处理和设计。利用 matlab信号处 理工具箱可以快速有效地设计各种数字滤波器。课题基于 matlab有噪音语音信 号处理的设计与实现,综合运用数字信号处理的理论知识对加噪声语音信号进 行时域、 频域分析和滤波。 通过理论推导得出相应结论,再利用 matlab作为编程 工具进行计算机实现。 在设计实现的过程中,使用窗函数法来设计fir数字滤波 器,用巴特沃斯、切比雪夫和双线性变法设计 iir 数字滤波器,并利用 matlab 作为辅助工具完成设计中的计算与图形的绘制。 通过对对所设计滤波器的仿真和 频率特性分析,可知利用 matlab 信号处理工具箱可以有效快捷地设计 fir 和 iir 数字滤波器,过程简单方便,结果的各项性能指标均达到指定要求。 abstractabstract the design of analysis and processing voice signal abstract speech signal processing is to study the use of digital signal processing technology and knowledge of the voice signal voice processing of the emerging discipline is the fastest growing areas of information science one of the core technology. transmission of information through the voice of humanitys 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 2 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 put forward their own views. 3 目 录 摘要-1 abstract-1 1.绪论 1.1 研究的目的和意义-4 1.2 国内外同行的研究状况-4 1.3 本课题的研究内容和方法-5 2.语音信号去噪方法的研究 2.1 去噪的原理-7 2.2 去噪的方法-8 3.去噪和仿真的研究 3.13.1 语音文件在语音文件在matlabmatlab 平台上的录入与打开平台上的录入与打开-13-13 3.2 3.2 原始语音信号频谱分析及仿真原始语音信号频谱分析及仿真-13-13 3.3 加噪语音信号频谱分析及仿真-15 3.4 3.4 去噪及仿真去噪及仿真-18-18 3.5 3.5 结合去噪后的频谱图对比两种方式滤波的优缺点结合去噪后的频谱图对比两种方式滤波的优缺点-22-22 总结总结-24-24 致谢致谢-25-25 参考文献参考文献-26-26 4 1.1.绪论绪论 1.1 研究的目的和意义 语音信号的采集与分析技术是一门涉及面很广的交叉科学,它的应用和发 展与语音学、声音测量学、电子测量技术以及数字信号处理等学科紧密联系,语 音是人类获取信息的重要来源和利用信息的重要手段。 在信号传输过程中,由于 实验条件或各种其他主观或客观条件的原因,语音处理系统都不可避免地要受 到各种噪声的干扰。 噪声不但降低了语音质量和语音的可懂度,而且还将导致系 统性能的急剧恶化,严重时使整个系统无法正常工作。 matlab 是由美国 mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技 计算环境。 它将数值分析、 矩阵计算、 科学数据可视化以及非线性动态系统的建模 和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、 工程设 计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并 在很大程度上摆脱了传统非交互式程序设计语言,如 c、fortran的编辑模式, 代表了当今国际科学计算软件的先进水平。 其强大的数据处理能力可以极大程度 上削弱噪声影响还原出真实的语音信号相符度在90%以上。 1.2 国内外同行研究现状 20世纪60 年代中期形成的一系列数字信号处理的理论和算法,如数字滤 波器、 快速傅立叶变换(fft)等是语音信号数字处理的理论和技术基础。 随着信 息科学技术的飞速发展,语音信号处理取得了重大的进展:进入70年代之后, 提出了用于语音信号的信息压缩和特征提取的线性预测技术(lpc),并已成为 语音信号处理最强有力的工具,广泛应用于语音信号的分析、 合成及各个应用领 域,以及用于输入语音与参考样本之间,时间匹配的动态规划方法;80年代初 一种新的基于聚类分析的高效数据压缩技术矢量量化(vq)应用于语音信号 处理中;而用隐马尔可夫模型(hmm)描述语音信号过程的产生是80年代语音 信号处理技术的重大发展,目前hmm已构成了现代语音识别研究的重要基石。 近 5 年来人工神经网络(ann)的研究取得了迅速发展,语音信号处理的各项课题是促 进其发展的重要动力之一,他的各项成果也体现在语音信号处理的各项技术之 中。 1.3 本课题的研究内容和方法 1.3.1 研究内容 本论文主要介绍的是的语音信号的简单处理。 本论文针对以上问题,运用数 字信号学基本原理实现语音信号的处理,在matlab7.0环境下综合运用信号提 取,幅频变换以及傅里叶变换、滤波等技术来进行语音信号处理。我所做的工作 就是在 matlab7.0软件上编写一个处理语音信号的程序,能对语音信号进行采 集,并对其进行各种处理,达到简单的语音信号处理的目的。 1.3.2 运行环境 运行环境主要介绍了硬件环境和软件环境。 硬件环境: 处理器:inter pentium b950 内存:2g 硬盘空间:460g 显卡: nvidia geforce gt520 操作系统:window 7(64位旗舰版) 1.3.3 开发环境 开发环境主要介绍了本系统采用的操作系统、开发语言。 (1) 操作系统:windows 7 (2) 开发环境:matlab 7.0 1.3.4 基本步骤 1. 语音信号的录制。 2. 在matlab平台上读入语音信号。 3. 绘制频谱图并回放原始语音信号。 4. 利用matlab编程加入一段正弦波噪音,设计滤波器去噪。 5. 利用matlab编程加入一段随机噪音信号,设计fir 和iir滤波器去噪, 并分别绘制频谱图、回放语音信号。 6 6 通过仿真后的图像以及对语音信号的回放,对比两种去噪方式的优缺点。 具体流程图如下所示: 图 1.1 论文设计流程 语音信号采集 语音信号录入语音信号变换信号加噪语音信号滤波 效果显示对 比 7 2.语音信号去噪方法的研究语音信号去噪方法的研究 2.1 去噪的原理去噪的原理 2.1.1 采样定理 在进行模拟/数字信号的转换过程中,当采样频率 fs.max 大于信号中,最高 频率 fmax 的 2 倍时,即:fs.max=2fmax,则采样之后的数字信号完整地保留了 原始信号中的信息,一般实际应用中保证采样频率为信号最高频率的 510 倍; 采样定理又称奈奎斯特定理。 1924年奈奎斯特(nyquist)就推导出在理想低通信 道的最高大码元传输速率的公式: 理想低通信道的最高大码元传输速率 =2w*log2 n (其中 w 是理想低通信道的带宽,n 是电平强度)。为什么把采样频率 设为 8khz?在数字通信中,根据采样定理, 最小采样频率为语音信号最高频率的 2 倍 , 频 带 为f的 连 续 信 号f(t) 可 用 一 系 列 离 散 的 采 样 值 f(t1),f(t1t),f(t12t),.来表示,只要这些采样点的时间间隔 t1/2f,便可根据各采样值完全恢复原来的信号f(t)。 这是时域采样定理 的一种表述方式。 时域采样定理的另一种表述方式是:当时间信号函数f(t)的最高频率分 量为fm时,f(t)的值可由一系列采样间隔小于或等于 1/2fm的采样值来确定, 即采样点的重复频率f2fm。图为模拟信号和采样样本的示意图。 时域采样定理是采样误差理论、随机变量采样理论和多变量采样理论的基 础。对于时间上受限制的连续信号f(t)(即当tt时,f(t)=0,这里t=t2- t1 是信号的持续时间),若其频谱为f(),则可在频域上用一系列离散的 采样值 8 (2-1) 采样值来表示,只要这些采样点的频率间隔 (2-2) 2.1.2 采样频率 采样频率,也称为采样速度或者采样率,定义了每秒从连续信号中提取并 组成离散信号的采样个数,它用赫兹(hz)来表示。 采样频率的倒数是采样周期 或者叫作采样时间,它是采样之间的时间间隔。 通俗的讲采样频率是指计算机每 秒钟采集多少个声音样本,是描述声音文件的音质、音调,衡量声卡、声音文件 的质量标准。 采样频率只能用于周期性采样的采样器,对于非周期性采样的采样器没有规 则限制。 采样频率的常用的表示符号是 fs。 通俗的讲采样频率是指计算机每 秒钟采集多少个声音样本,是描述声音文件的音质、音调,衡量声卡、声音文 件的质量标准。采样频率越高,即采样的间隔时间越短,则在单位时间内计算 机得到的声音样本数据就越多,对声音波形的表示也越精确。采样频率与声音 频率之间有一定的关系,根据采样定理,只有采样频率高于声音信号最高频 率的两倍时,才能把数字信号表示的声音还原成为原来的声音。这就是说采样 频率是衡量声卡采集、记录和还原声音文件的质量标准。 采样位数和采样率对于音频接口来说是最为重要的两个指标,也是选择 音频接口的两个重要标准。 无论采样频率如何,理论上来说采样的位数决定了 音频数据最大的力度范围。每增加一个采样位数相当于力度范围增加了 6db。 采样位数越多则捕捉到的信号越精确。 对于采样率来说你可以想象它类似于一 个照相机,44.1khz 意味着音频流进入计算机时计算机每秒会对其拍照达 441000 次。显然采样率越高,计算机摄取的图片越多,对于原始音频的还原 也越加精确。 2.2 去噪的方法去噪的方法 9 数字信号处理技术经过几十年的发展,在国内外已经取得了很大的成绩。 到 目前为止,已经比较成熟的去噪方法比较典型的有切比雪夫去噪法、 双线性变换 去噪法、窗函数去噪法、谱相减去噪法、巴特沃兹去噪法等有名的去噪方法。下 面分别对上述去噪方法中比较有代表性的谱相减去噪法和 fir 以及 iir 滤波法 做一个简单的介绍。 (1)谱相减算法去噪法 在我们的日常交流和语音通信系统中,加性宽带噪声严重影响了语音质量和可 懂度。 从带噪语音中提取原始语音信号的方法很多,在单信道条件下,谱相减算 法以其运算量小、原理简单、易于实现并且有不错的增强效果而得到了广泛的应 用。谱相减语音增强算法的核心是噪声检测和谱减规则。在分析了语音增强算法 理论的基础上,本文首先研究了语音激活检测算法。 对基于短时能量和短时过零 率双门限法语音激活检测的噪声估计算法做了研究及仿真,同时还研究了一种 基于最小子带能量的噪声估计方法。 然后,通过分析经典谱减法的原理及其一般 改进形式,研究了一种基于噪声残差的谱相减改进算法和一种可以不以噪声是 零均值的高斯分布为前提的谱减法改进算法。 最后通过大量的仿真实验,验证了 所研究的几种改进算法都能有效地提高增强效果。 由于谱相减算法去噪比较复杂,我们在这里就不多做讨论,并且本论文也 不采用此种方法。下面着重讲解本论文采用的两种方法。 (2)fir 滤波法 fir 工作原理:在进入 fir 滤波器前,首先要将信号通过 a/d 器件进行模 数转换,使之成为 8bit 的数字信号,一般可用速度较高的逐次逼进式 a/d 转换 器,不论采用乘累加方法还是分布式算法设计 fir 滤波器,滤波器输出的数据 都是一串序列,要使它能直观地反应出来,还需经过数模转换,因此由 fpga 构成的 fir 滤波器的输出须外接 d/a模块。fpga 有着规整的内部逻辑阵列和丰富的 连线资源,特别适合于数字信号处理任务,相对于串行运算为主导的通用 dsp 芯片来说, 其并行性和可扩展性更好,利用 fpga 乘累加的快速算法,可以设计出高速的 fir 数字滤 波器。 10 fir 的特点 有限长单位冲激响应(fir)滤波器有以下特点: a.位冲激响应 h (n)在有限个 n 值处不为零 b.系统函数 0 处收敛,极点全部在 z = 0 处 c.结构上主要是非递归结构,没有输出到输入的反馈,但有些结构中(例如频 率抽样结构)也包含有反馈的递归部分。 设 fir 滤波器的单位冲激响应 h (n)为一个 n 点序列,0 n n 1,则滤波器 的系统函数为: h(z)=h(n)*z-n (2-3) 就是说,它有(n1)阶极点在 z = 0 处,有(n1)个零点位于有限 z 平面的任何位置。 fir 滤波器基本结构滤波器基本结构 fir 滤波器有以下几种基本结构: 1.横截型 式的系统的差分方程表达式为 y(n)=h(m)x(n-m) ( 2-4) 很明显,这就是线性移不变系统的卷积和公式,也是 x (n)的延时链的横 向结构,称为横截型结构或卷积型结构,也可称为直接型结构。将转置定理用 于可得到的转置直接型结构。 fir 滤波器的横截型结构 2.级联型 其中n/2表示取 n/2 的整数部分。若 n 为偶数,则 n1 为奇数,故系数 b2k 中有一个为零,这是因为,这时有奇数个根,其中复数根成共轭对必为 偶数,必然有奇数个实根。画出 n 为奇数时,fir 滤波器的级联结构,其中每 一个二阶因子用图 4-11 的横型结构。 这种结构的每一节控制一对零点,因而再需要控制传输零点时,可以采用 它。但是这种结构所需要的系数 b2k(i = 0,1,2,k,= 1,2, 11 n/2)比卷积型的系数 h (n)要多,因而所需的乘法次数也比卷积型的要多。 (3)iir 滤波器去噪法 iirnfinite impulse response)数字滤波器,又名“无限脉冲响应数字滤波 器”,或“递归滤波器”。 递归滤波器,也就是iir数字滤波器,顾名思义,具 有反馈,一般认为具有无限的脉冲响应。 iir 数字滤波器的设计数字滤波器的设计 利用 matalab 工具箱分析工具(fdatool)可以很方便地设计出符合应用要 求的未经量化的iir 数字滤波器。 需要将matlab 设计出的iir 数字滤波器进一 步分解和量化,从而获得可用fpga 实现的滤波器系数。 iir 数字滤波器的设计步骤 由于采用了级联结构,因此如何将滤波器的每一个极点和零点相组合, 从而使得数字滤波器输出所含的噪声最小是个十分关键的问题。为了产生最优 的量化后的 iir 数字滤波器,采用如下步骤进行设计。 首先计算整体传递函数的零极点; 选取具有最大幅度的极点以及距离它最近的零点,使用它们组成一个二阶 基本节的传递函数; 对于剩下的极点和零点采用与相类似的步骤,直至形成所有的二阶基本 节。 通过上面三步法进行的设计可以保证 iir 数字滤波器中 n 位乘法器产生的 量化舍入误差最小。 获得最优 iir 数字滤波器系数: 为了设计出可用 fpga 实现的数字滤波器,需要对上一步分解获得的二 阶基本节的滤波器系数进行量化,即用一个固定的字长加以表示。量化过程中 由于存在不同程度的量化误差,由此会导致滤波器的频率响应出现偏差,严 重时会使 iir 滤波器的极点移到单位圆之外,系统因而失去稳定性。为了获得 最优的滤波器系数,采用以下步骤进行量化。 a.计算每个系数的 绝对值; b.查找出每个系数绝对值中的最大值; 12 c.计算比此绝对值大的最小整数; d.对 3.2.3 的结果取反获得负整数; e.计算需要表示此整数的最小位数; f.计算用于表示系数值分数部分的余下位数。 除了系数存在量化误差,数字滤波器运算过程中有限字长效应也会造成 误差,因此对滤波器中乘法器、加法器及寄存器的数据宽度要也进行合理的设 计,以防止产生极限环现象和溢出振荡。 与 fir 数字滤波器的设计不同,iir 滤波器设计时的阶数不是由设计者指定, 而是根据设计者输入的各个滤波器参数(截止频率、通带滤纹、阻带衰减等), 由软件设计出满足这些参数的最低滤波器阶数。 在matlab 下设计不同类型iir 滤波器均有与之对应的函数用于阶数的选择。 13 3.3.去噪和仿真的研究去噪和仿真的研究 3.1 语音文件在语音文件在 matlab 平台上的录入与打开平台上的录入与打开 单击自己的电脑开始程序,选择所有程序,接着选择附件,再选择娱乐, 最后选择录音。自己录入“毕业设计声音文件”语音信号,然后保存在 matlab 文件夹里面,命名为“chushi.wav”。 利用 matlab 中的 wavread 命令来读入(采集)语音信号,将它赋值给某 一向量。 3.2 原始语音信号频谱分析及仿真原始语音信号频谱分析及仿真 在 matlab 中使用 wavread 函数,可得出信号的采样频率为 22500,并且声 音是单声道的。利用 sound函数可以清晰的听到“毕业设计声音文件”的语音。 14 采集数据并画出波形图。 在 matlab 的信号处理工具箱中函数fft和 ifft 用于快速傅立叶变换和 逆变换。下面介绍这些函数。 函数fft用于序列快速傅立叶变换。 函数的一种调用格式:y=fft(x)。 其中,x是序列,y是序列的 fft,x 可以为一向量或矩阵,若x为一向量,y 是 x 的 fft。且和 x相同长度。若x为一矩阵,则y是对矩阵的每一列向量进行 fft。 如果x长度是 2 的幂次方,函数fft执行高速基2fft 算法;否则fft执行 一种混合基的离散傅立叶变换算法,计算速度较慢。 函数 fft的另一种调用格式为 y=fft(x,n)。 式中,x,y意义同前,n 为正整数。 函数执行n点的fft。 若x为向量且长度小 于 n,则函数将 x补零至长度n。若向量x的长度大于 n,则函数截短x 使之长 度为 n。若 x 为矩阵,按相同方法对x 进行处理。 经函数fft求得的序列 y一般是复序列,通常要求其幅值和相位。matlab 提供求复数的幅值和相位函数:abs,angle,这些函数一般和 fft同时使用。 函数 abs(x)用于计算复向量 x的幅值,函数angle(x)用于计算复向量的相角, 介于和之间,以弧度表示。 用 matlab 工具箱函数fft进行频谱分析时需注意: (1)函数fft返回值 y的数据结构对称性 15 一般而言,对于n 点的x(n)序列的fft 是n点的复数序列,其点n=n/2+1 对应 nyquist 频率,作频谱分析时仅取序列x(k)的前一半,即前 n/2 点即可 。 x(k)的后一半序列和前一半序列时对称的。 (2)频率计算 若 n 点序列x(n)(n=0,1,n-1)是在采样频率 下获得的。它的fft也是n 点 序列,即x(k)(k=0,1,2,n-1),则第k点所对应实际频率值为f=k*f /n. 下面一段程序是语音信号在matlab 中的简单体现,通过该段程序,我们实 现了语音信号的读入与打开,并绘出了语音信号的波形频谱图。 x,fs,bits=wavread(wangqingtian.wav); 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-1、图3-2、图3-3、图3-4) 图3.1 图3.2 16 图3.3 图3.4 3.3 加噪语音信号频谱分析及仿真加噪语音信号频谱分析及仿真 前面已经介绍了 matlab 软件相关知识,那么我们怎么在 natlab 平台 上实现对一段原始语音信号加入一个随机噪声信号呢? atlab 函数 randn:产生正态分布的随机数或矩阵的函数。产生均值为 0,方 差 2 = 1,标准差 = 1 的正态分布的随机数或矩阵的函数。 用法:y = randn(n)返回一个 n*n 的随机项的矩阵。 如果n不是个数量,将返回 错误信息。 y = randn(m,n) 或 y = randn(m n) 返回一个m*n 的随机项矩阵。 y = randn(size(a) 返回一个和 a 有同样维数大小的随机数组。 randn 返回一个每次都变化的数量。 下面一段程序实现了利用randn函数把一段随机噪音信号加入原始语音信号 的信号处理过程:y,fs,bits=wavread(chushi.wav); 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) 17 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(频率幅值); 初始信号的时域波形、频谱图与加噪后语音信号的时域波形、频谱图分别如图 3.5、3.6所示。 图3.5 18 图3.6 通过对两张图片的对比,很明显可以看加噪后的语音信号时域波形比原始语音 信号浑浊了许多,在时间轴上可以明显看出 00.5s 的幅值增大了;通过对原 始语音信号的频谱图与加噪后的语音信号频谱图的对比,也可以看出在频率 5000hz以后的频率幅值发生了明显的增加。 再通过对原始语音信号的回放效果与加噪后的语音信号回放的效果的对比, 人耳可以明显辨别出两种语音信号不一样了,加噪后的语音信号在听觉上比原 始语音信号要浑浊很多,而且还有吱吱嘎嘎的混杂音。 3.4 去噪及仿真去噪及仿真 (1)fir 滤波器法去噪 通过对上一节中加噪语音信号和原始语音信号频谱图对比可以知道,噪音 大部分是hz大于 5000的部分,故设计低通滤波器进行滤波处理。 接下来我们要 用设计的fir 低通滤波器对上一节中加噪语音信号进行滤波处理。 用自己设计的 fir 数字低通滤波器对加噪的语音信号进行滤波时,在 matlab 中,fir 滤波器利用函数fftfilt对信号进行滤波。函数fftfilt 用的是重叠相 加法实现线性卷积的计算。调用格式为:y=fftfilter(h,x,m)。其中,h是系统单位 冲击响应向量;x 是输入序列向量;y是系统的输出序列向量;m 是有用户选择 19 的输入序列的分段长度,缺省时,默认的输入向量的重长度m=512。 用设计好的用设计好的 fir 数字低通滤波器对加噪语音信号的滤波程序:数字低通滤波器对加噪语音信号的滤波程序: y,fs,bits=wavread(chushi.wav); 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(频率幅值); ft=5000; fp=1000; fs=1200; wp=2*fp/ft; ws=2*fs/ft; rp=1; 20 rs=50; p=1-10.(-rp/20); s=10.(-rs/20); fpts=wp ws; mag=1 0; dev=p s; n21,wn21,beta,ftype=kaiserord(fpts,mag,dev); b21=fir1(n21,wn21,kaiser(n21+1,beta); h,w=freqz(b21,1); plot(w/pi,abs(h); title(fir低通滤波器); x=fftfilt(b21,y_z); x=fft(x,n); figure(4); subplot(2,2,1);plot(f,abs(y_zp(1:n/2); title(滤波前信号的频谱); subplot(2,2,2);plot(f,abs(x(1:n/2); title(滤波后信号的频谱); subplot(2,2,3);plot(y_z); title(滤波前信号的时域波形) subplot(2,2,4);plot(x); title(滤波后信号的时域波形) sound(x,fs,bits) 而后得到图像如下: 21 图3.7 分析:从以上四图可以很明显和直观的看出原始语音信号和加噪语音信号 时域波形和频谱图的区别。 加噪后的语音信号的时域波形比原始语音信号要模糊 得多,频谱图则是在频率5000hz以后出现了明显的变化。 再通过滤波前的信号波形和频谱图的对比,可以明显看出滤波后的波形开 始变得清晰了,有点接近原始信号的波形图了。滤波后信号的频谱图也在 5000hz 以后开始逐渐接近原始语音信号的频谱图。 再从对语音信号的回放,人耳可以明显辨别出加噪后的语音信号比较浑浊, 还有很明显嘎吱嘎吱的杂音在里面。 滤波后,语音信号较加噪后的信号有了明显 的改善,基本可以听清楚了,而且杂音也没有那么强烈,但是声音依然没有原 始语音信号那么清晰脆耳。 (2)iir滤波器法去噪 22 同样,也设计一个 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 (bysj.wav); 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(滤波后的信号波形); 得到图像如下: 23 图3.8 通过程序运行,我们可以听出,滤波效果很不好,失真现象严重,并且出现通过程序运行,我们可以听出,滤波效果很不好,失真现象严重,并且出现 了严重的寄生震荡。了严重的寄生震荡。 3.5 结合去噪后的频谱图对比两种方式滤波的优缺点结合去噪后的频谱图对比两种方式滤波的优缺点 iir 数字滤波器采用递归型结构,即结构上带有反馈环路。iir滤波器运算 结构通常由延时、 乘以系数和相加等基本运算组成,可以组合成直接型、 正准型、 级联型、并联型四种结构形式,都具有反馈回路。由于运算中的舍入处理,使误 差不断累积,有时会产生微弱的寄生振荡。 (1)iir 数字滤波器的相位特性不好控制,对相位要求较高时,需加相位 校准网络。fir滤波器则要求较低。 (2)iir 滤波器运算误差大,有可能出现极限环振荡,fir 相比之下运算 误差较小,不会出现极限环振荡。 24 (3)iir 幅频特性精度很高,不是线性相位的,可以应用于对相位信息不 敏感的音频信号上; (4)与fir滤波器的设计不同,iir滤波器设计时的阶数不是由设计者指定, 而是根据设计者输入的各个滤波器参数(截止频率、通带滤纹、阻带衰减等), 由软件设计出满足这些参数的最低滤波器阶数。在 matlab 下设计不同类型 iir 滤波器均有与之对应的函数用于阶数的选择。 (5)iir单位响应为无限脉冲序列fir单位响应为有限的 (6)fir幅频特性精度较之于iir低,但是线性相位,就是不同频率分量的 信号经过fir滤波器后他们的时间差不变。这是很好的性质。 (7)iir滤波器有噪声反馈,而且噪声较大,fir滤波器噪声较小。 fir 幅频特性精度较之于 iir 低,但是线性相位,就是不同频率分量的信号经过 fir 滤 波器后他们的时间差不变。这是很好的性质。 25 4.4.总结总结 本文对语音信号处理系统的设计作了详细的介绍,采用一系列图像分析和 处理技术,实现了语音信号的基本处理的功能,经过测试运行,本设计圆满的 完成了对语音信号的读取
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025春季建投国电准格尔旗能源有限公司招聘31人(内蒙古)笔试参考题库附带答案详解
- 青海警官职业学院《健康经济学》2023-2024学年第二学期期末试卷
- 黑龙江职业学院《计算机网络基础》2023-2024学年第二学期期末试卷
- 上海科学技术职业学院《半导体材料分析测试实验》2023-2024学年第二学期期末试卷
- 重庆旅游职业学院《汽车新能源与节能技术》2023-2024学年第二学期期末试卷
- 武汉交通职业学院《半导体物理学》2023-2024学年第二学期期末试卷
- 阿勒泰职业技术学院《工程项目管理及监理概论》2023-2024学年第二学期期末试卷
- 滨州职业学院《媒介通论》2023-2024学年第二学期期末试卷
- 西南民族大学《中学思想政治课程标准解读与教材分析》2023-2024学年第二学期期末试卷
- 江西中医药大学《传统民居与乡土建筑》2023-2024学年第二学期期末试卷
- 大学生建筑类创业项目
- 医院药品二级库房管理
- 自体输血知识培训课件
- 《无人机操控基础》课件
- 检测糖化白蛋白临床意义
- 2025年湖北省新华书店(集团)限公司招聘(93人)高频重点提升(共500题)附带答案详解
- 铍箔及铍合金箔行业行业发展趋势及投资战略研究分析报告
- 女小学生关于月经的课件
- 2024年中考地理专项复习:材料分析题(解析版)
- 应急广播终端安装施工规范
- 以“蛋白质”为主线的单元境脉设计与教学重构
评论
0/150
提交评论