1、 I 课程设计任务书 学生姓名 XXX 学生学号 XXXXXXXXXXXXXXX 学生专业 XXXXXXXXXXXXXXX 学生班级 XXXXXXXXXXX 指导教师 XXXXXXXXXXX 职 称 XXXXXXXXXXXXXXXX 发题日期 X 年 X月 X 完成日期 X年 X月 X 日 设计题目 基于 MATLAB 的 声 音信 号处 理 设计目的 : b ef洗手 巩固所学的数字信号处理理论知识 。 洗手洗手 理解信号的采集 、 beef处理 、 beef传输 、beef显示 。 洗手 加深学习 Matlab 软件 。 洗手洗手 综合应 用专业及基础知识 , 吃饭 增强解决实际工程技术问
2、题的能力 。 洗手洗手 4、 beef学习资料的收集与整理 , 吃饭 学会撰写课程设计报告 。 洗手 具体任务及要求 : b ef洗手 选择一个语音信号作为分析对象 , 吃饭 或自我录制一段语音 , 吃饭对其进行频谱分析 ; b eef利用 Matlab 软件产生一个随机噪声进行加噪声后再对其分析 ; beef设计 FIR 或 IIR 数字滤波器对语音进行滤波 , 吃饭 再分析其时域和频域 。洗手 利用 Matlab 软件编写语音信号处理程序 , 吃饭 完成对话音信号时域和频域的程序设计和分析 。 洗手洗手 利用课余时间 去图书馆或者上网 查阅相关课题资料 , 吃饭 深入理解课题含义及设计要求
3、 , 吃饭 认真整理 。 洗手 在 5 月 10日前完成预设计 , 吃饭 并请指导教师审查 、 beef定稿 。 洗手洗手 3、 beef及时提交设计报告(纸质 、 beef电子稿) , 吃饭 要求格式规范 、b eef内容完整 、 beef结论正确 , 吃饭 正文数不少于 3000 字 。 洗手 课程设计进度安排 : beef 序号 内容安排 时间 1 获得题目后查阅资料并整理 , 吃饭 完成预设计 3.25 -4.1 2 设计总体方案 , 吃饭 绘制流程图 , 吃饭 编写代码并调试 4.2-4.16 3 总体测试 , 吃饭 完善其功能 4.17-5.1 4 撰写设计报告 , 吃饭 后交指导
4、老师初审 5.2-5.16 5 修改 、 beef完善设计报告 , 吃饭 定稿 、 beef提交设计报告 5.17-5.25 课程设计参考文献 : b ef洗手 1 张德丰 : beefMATLAB 通信工程仿真 , 吃饭 北京机械工业出版社 ,吃饭 2010.1 2 王彬 、 beef于丹 、 beef汪洋 : beefMATLAB 数字信号处理 , 吃饭 北京机械工业出版社 , 吃饭 2010.5, 吃饭 洗手 3 孟志强 、 beef陈燕东 、 beef王同业 、 beef杨钰 : beefMATLAB 辅助现代 工程数字信号处理 , 吃饭 西安电子科技大学出版社 , 吃饭 2010.7
5、洗手 指导教 洗手 师签字 院长 审核签字 基于 MATLAB 的声音信号处理的初步实现 洗手 内容摘要 :数字滤波器是数字信号处理技术的基础 , 用来对信号进行过滤 、 beef检测 、 beef与参数估计等处理 。 洗手 任何检测的信号都含有噪声 , 吃饭 而滤波是去除噪声的基本手段 , 吃饭 因此 滤波器在数字信号处理中占有极其重要的地位 。 洗手 FIR 数字滤波器和 IIRII 数字滤波器是滤波器设计的重要组成部分 。 洗手 随着 MATLAB 软件及信号处理工具箱的不断完善 , 吃饭 MATLAB 很快成为应用学科等领域不可或缺的基础软件 ,它可以快速有效地实现数字滤波器的设计 、
6、 beef分析和仿真 , 吃饭 极大地减轻了工作量 ,有利于滤波器设计的最优化 。 洗手 本设计 综合运用了数字信号处理的各种基本知识 , 吃饭 对不带噪声音信号以及带噪声音信号进行频谱分析 , 吃饭 并 利用 MATLAB 信号处理工具箱有效快捷地设计 IIR 数字滤波器对带噪声音信号 进行滤波处理 。 洗手 洗手 关键词 : beef数字滤波 器 MATLAB 滤波 仿真 洗手 洗手 The preliminary implementation of voice signal processing based on MATLAB 洗手 Abstract: bef Digital filte
7、r 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
8、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 de
9、sign, 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 sig
10、nal, and it use the MATLAB signal processing toolbox effective shortcut to design IIR洗手 digital filter with noise speech signal filter processing.洗手 Keywords: befDigital Filter MATLAB Filtering Simulation 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 III 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 目 录 洗手 前 言 1 洗手 1 绪论 1 洗手
11、 1.1 研究的目的和意义 1 洗手 1.2 国内外研究的现状 1 洗手 1.3 本课题研究的内容和方法 1 洗手 2 MATLAB 软件介绍 1 洗手 2.1 MATLAB 发展历程 1 洗手 2.2 MATLAB 组成 2 洗手 2.2.1 MATLAB 语言 2 洗手 2.2.2 MATLAB 的工作环境 2 洗手 2.2.3 MATLAB 数据函数库 2 洗手 2.2.4 MATLAB 应用程序接口 2 洗手 2.2.5 图形句柄系统 3 洗手 2.3 MATLAB 的特点 3 洗手 3 数字滤波器的设计 3 洗手 3.1 数字滤波器概述 3 洗手 3.2 数字滤波器设计的基本原理 4
12、 洗手 3.3 设计 IIR 数字滤波器 4 洗手 3.3.1 IIR 数字滤波器设计方法 4 洗手 3.3.2 利用模拟滤波器设计 IIR 数字滤波器的步骤 4 洗手 3.3.3 用双线性法设计 IIR 低通滤波器 5 洗手 4 去噪和仿真的研究 5 洗手 4.1 语言信号在 MATLAB 平台上的录入与打开 5 洗手 4.2 原始语言信号频谱分析及仿真 5 洗手 4.3 加噪语音信号频谱分析及仿真 7 洗手 4.4 去噪及仿真 7 洗手 4.5 回放语音信号 8 洗手 5 结束语 8 洗手 附 录 10 洗手 附录 1: b eefIIR低通滤波器程序 10 洗手 附录 2: b eef产
13、生原始语音信号波形 、 beef频谱 、 beef幅值 、 beef相位图程序 10 洗手 附录 3: b eef产生原始语音信号和 加噪语音信号时域波形 、 beef频谱图程序 10 洗手 附录 4: b eef产生 IIR 滤波前和滤波后波形及频谱图程序 11 洗手 参考文献 13 洗手 1 基于 MATLAB 的声音信号处理的初步实现 洗手 前 言 洗手 声音信号的采集与分析处理在工程应用中是经常需要解决的问题 ,如何实时采集声音信号并对其分析处理 ,找出声音信号的特征在科学研究中是一项非常有意义的工作 。 洗手 洗手 1 绪论 洗手 语音是语言的声学表现 , 吃饭 是人类获取信息的重要
14、来源和利用信息的重要手段 。 洗手 随着社会的进步和科学技术的发展 , 吃饭 人类进入了信息化时代 , 吃饭 用现代手段研究语音信号处理技术 , 吃饭 是人们更加 有效地产生 、 bef传输 、 bef存储和获取语音信息 , 吃饭 者对促进社会发展具有重要意义 , 吃饭 因此 , 吃饭 语音信号处理越来越受到人们的关注和研究 。 洗手洗手 1.1 研究的目的和意义 洗手 语言是人类交换信息最方便 、 beef最快捷的一种方式 , 吃饭 在高度发达的信息社会中 , 吃饭 用数字化的方法进行语音的传送 、 beef存储 、 beef识别 、 beef合成和增强等是整个数字化通信网中最重要 、 be
15、ef最基本的组成部分之一 。 洗手 语音信号处理作为一门涉及面很广的交叉学科 , 吃饭 在数字电话通信 、 beef高音质的窄带语音通信系统 、 beef语言学习机 、 beef声控打字机 、beef自动翻译机 、 beef智能机器人 、 beef新一代计算机语音智能终端及军事上都有应用 。 洗手 随着人类步入信息社会步伐的加快 , 吃饭 越来越多的地方需要用到语音信号处理知识 。 洗手 所以语音信号研究无论是在科学领域上还是日常生活中都有其广泛而重要的意义 。 洗手洗手 1.2 国内外研究的现状 洗手 20 世纪 60 年代中期形成的一系列数字信号处理的理论和算法 , 吃饭 如数字滤波器 、
16、 beef快速傅里叶变换( FFT)等是语言数字信号处理的理论和技术基础 。 洗手 20 世纪 70 年代初 , 吃饭 由于电子计算机和数字 信号处理的发展 , 吃饭 人们发现 : beef声音信号 , 吃饭 可以通过模数转换器( A/D)采样和量化 , 吃饭 它们转换为数字信号后 , 吃饭 能够送进计算机 。 洗手 这样就可以用数字计算方法 , 吃饭 对语音信号进行处理和加工 。 洗手 例如数字滤波器可以用差分方程实现 , 吃饭 频谱分析可以用傅里叶变换或快速傅里叶变换( FFT)实现 , 吃饭 80 年代初矢量量化技术( VQ)和隐马尔可夫模型( HMM)应用于语音处理中 , 吃饭 隐马尔
17、可夫模型( HMM)用于描述语音信号产生过程 。 洗手 近年来语音信号处理这门新学科发展很快 , 吃饭 在各项领域都有应用 , 吃饭 解决了很多用传 统方法难以解决的问题 , 吃饭 在信息科学中占有重要地位 。 洗手洗手 1.3 本课题研究的内容和方法 洗手 本设计主要介绍的是的语音信号的简单处理 。 洗手 本设计 运用数字信号学基本原理实现语音信号的处理 , 吃饭 在 matlab7.14 环境下综合运用信号提取 , 吃饭 幅频变换以及傅里叶变换 、 beef滤波等技术来进行语音信号处理 。 洗手 我所做的工作就是 采集一个语音信号作为分析对象 , 吃饭 或自我录制一段语音 , 吃饭 在 m
18、atlab7.14 软件上编写一个语音信号处理程序 , 吃饭 对语音信号 进行加噪去噪等处理 , 吃饭 完成对语音信号时域和频域的 分析 和仿真 , 吃饭 达到简单语音信号处理的目的 。 洗手 洗手 对语音信号的研究 , 吃饭 本 设计 采用了设计 IIR 滤波器的基本研究方法来达到研究语音信号去噪的目的 , 吃饭 最终结合图像以及对语音信号的回放 , 吃饭 通过对比 , 吃饭 得出结论 。洗手洗手 2 MATLAB 软件介绍 洗手 2.1 MATLAB 发展历程 洗手 MATLAB 是由美国 Mathwork 公司开发的数值计算 、 beef符号计算和图形可视化三大基本功能于一体 , 吃饭
19、功能强大 、 beef操作简单的语言 。 洗手 是国际公认的优秀数学应用软件之2 一 。 洗手洗手 20 世纪 80 年代初期 , 吃饭 Cleve Moler 与 John Little 等利用 C语言开发了新一代的MATLAB 语言 , 吃饭 此时的 MATLAB 语言已同时具备了数值计算功能和简单的图形处理功能 。 洗手 1984 年 , 吃饭 Cleve Moler 与 John Little 等正式成立了 Mathwork 公司 , 吃饭 把MATLAB语言推向市场 , 吃饭 并开始了对 MATLAB工具箱等的开发设计 。 洗手 1993年 , 吃饭 Mathwork公司推出了基于个
20、人计算机的 MATLAB4.0 版本 , 吃饭 到了 1997 年又推出了 MATLAB5.X版本 , 吃饭 并在 2000 年推出了 MATLAB 6.0 版本 , 吃饭 2004 年正式推出了 MATLAB7.0 版本 ,吃饭 现在最新的版本是 2012 年推出的 MATLAB7.14 版本 。 洗手洗手 现在 , 吃饭 MATLAB 已经发展成为适合多学科的大型软件 , 吃饭 在世界各高校 , 吃饭 MATLAB 已经成为线性代数 、 beef数值分析 、 beef数理统计 、 beef优化方法 、 beef自动控制 、 beef数字信号处理 、beef动态系统仿真等高级课程的基本教学工
21、具 。 洗手 特别是最近几年 , 吃饭 MATLAB 在我国大学生数学建模竞赛中的应用 , 吃饭 为参赛者在有限的时间内准确 、 beef有效地解决问题提供了有力的保证 。 洗手洗 手 2.2 MATLAB 组成 洗手 MATLAB 作为 Math Works 产品家族的核心 , 吃饭 它主要由 5 大部分组成 , 吃饭 分别为 MATLAB语言( the MATLAB Language ) 、 beefMATLAB 工 作环 境( the MATLAB Working Environment) 、 beefMATLAB 数学函数库( the MATLAB Math Library ) 、 b
22、eefMATLAB 应用程序接口( the MATLAB Application Interface)和图形句柄系统( Handle Graphics) 。 洗 手下面对它们分别进行介绍 。 洗手洗手 2.2.1 MATLAB 语言 洗手 MATLAB 语言是一种以矩形( Matrix)和阵列( Array)为基本编程单元 , 吃饭 拥有完整的控制语句 、 beef数据结构 、 beef函数编写与调用格式和输出功能 , 吃饭 具有面向对象程序设计特征的高级程序语言 。 洗手 使用 MATLAB 语言不但可以方便快捷地完成小规模的算法验证 、 beef程序开发和调试工作 , 吃饭 而且可以进行大
23、规模 、 beef高效的复杂应用程序设计 。洗手洗手 2.2.2 MATLAB 的工作环境 洗手 简单来说 , 吃饭 MATLAB 工作环境就是一 系列实用工具的集合 , 吃饭 它不但包括了各种操作工作空间中变量的工具盒管理数据输入输出的方法 , 吃饭 而且包括了开发调试 M 文件和 MATLAB 应用程序的集成环境 , 吃饭 使用起来极为方便 。 洗手洗手 2.2.3 MATLAB 数据函数库 洗手 MATLAB 数据函数库是 大量的各种形式的数学函数和算法的集合 , 吃饭 它不仅包括了最基本的初等函数 , 吃饭 如 sum、 beefsine、 beefcosine 和复数运算等 , 吃饭
24、 而且包含了大量复杂的高级函数和算法 , 吃饭 如贝塞尔( Bassel)函数 , 吃饭 快速傅里叶变换和矩阵求逆等 。 洗手 用户在编写自己的 MATLAB 程序时 , 吃饭 可以轻松地调用这些函数和算法 , 吃饭 从而极大地方便了算法的开发 。 洗手 洗手 2.2.4 MATLAB 应用程序接口 洗手 MATLAB的外部接口使得 MATLAB可以与外部设备和程序实现数据交互和程序移植 ,吃饭 可以扩充 MATLAB 强大的数值计算和图形显示功能 , 吃饭 从而弥补了其执行效率较低的缺点 , 吃饭 同时增强了其他应用程序进行软件开发的功能 , 吃饭 提高了软件开发效率 。 洗手MATLAB
25、接口工具不仅使得 MATLAB 可以十分方便地与其他应用程序交换数据和信息还实现了与其他程序函数和算法的交互 。 洗手 所以 , 吃饭 通过 MATLAB 的接口编程 , 吃饭 可以充分利用现有资源 , 吃饭 能更容易地编写出功能强大 、 beef结构简洁的应用程序 。 洗手 MATLAB主要提供了 MEX 文件 、 beefMAT 文件 、 beefMATLAB 计算引擎 、 beefCOM 和 DDE、 beefWeb 服务 、 beef硬件接口和 Excel 生成器 、 b eefJava 生成器和 .NET 生成器等形式的接口 。 洗手洗手 3 2.2.5 图形句柄系统 洗手 Hand
26、le Graphics 为 Math Work 公司的注册商标 , 吃饭 是 MATLAB 的图形系统 。 洗手 它在包含了大量高级的 2D 和 3D 数据可 视化 、 beef图形显示 、 beef动画生成和图像处理命令的同时 , 吃饭 还提供了许多低级的图形命令 , 吃饭 允许用户按照自己的需求显示图形和定制应用程序图形用户接口 , 吃饭 即方便又灵活 。 洗手洗手 2.3 MATLAB 的特点 洗手 MATLAB 是 Math Work 公司开发的跨平台的 , 吃饭 用于矩阵数值计算的简单高效的数学语言 , 吃饭 与其他计算机高级语言如 C、 beefC+、 beefFortran、 b
27、eefBasic、 beefPascal 等相比 , 吃饭 MATLAB语言编程要简洁得多 , 吃饭 编程语句更是其他高级语言望尘莫及的 。 洗手 与其他高级语言相比较 , 吃饭 MATLAB 具有以下独特的优势 : beef洗手 a. MATLAB 是一种跨平台的数学语言 。 洗手 采用 MATLAB 编写的程序可以在目前所有的操作系统上运行(只要这些系统上安装了 MATLAB 平台) 。 洗手 MATLAB 程序不依赖于计算机类型和操作系统类型 。 洗手洗手 b. MATLAB 是一种超高级语言 。 洗手 MATLAB 平台本身是用 C 语言写成的 , 吃饭 其中汇集了当前最新的数学算法库
28、 , 吃饭 是许多专业数学家和工程学者多年的劳动结晶 。 洗手 使用MATLAB 就意味着站在巨人的肩膀上观察和处理问题 , 吃饭 所以在编 程效率 , 吃饭 程序的可读性 、 b eef可靠性和可移植性上远远超过了常规的高级语言 。 洗手洗手 c. MATLAB 语法简单 , 吃饭 编程风格接近数学语言描述 , 吃饭 是数学算法开发和验证的最佳工具 。 洗手 MATLAB 以复数矩阵运算为基础 , 吃饭 其基本编程单位是矩阵 , 吃饭 使得编程简单 ,吃饭 而功能极为强大 。 洗手 而且 , 吃饭 MATLAB 中的数值算法是经过千锤百炼的 , 吃饭 比用户自己编程实现的算法的可信度和可靠性
29、都要高 。 洗手洗手 d. MATLAB 计算精度很高 。 洗手 MATLAB 中的数据是以双精度存储的 。 洗手 一个实数采用 8字节存储 , 吃饭 而一 个复数则采用 16 字节存储 。 洗手 矩阵运算的精度很高 , 吃饭 完全能够满足一般工程和科学计算的需要 。 洗手 与其他语言相比 , 吃饭 MATLAB 对计算机内存 、 beef硬盘空间的要求也是比较高的 。 洗手洗手 e. MATLAB 具有强大的绘图功能 。 洗手 利用 MATLAB 的绘图功能 , 吃饭 可以轻易地获得高质量的(印刷级)曲线图 。 洗手 具有多种形式来表达二维 、 beef三维图形 , 吃饭 并具有强大的动画功
30、能 , 吃饭 可以非常直观地表现抽象的数值结果 。 洗手洗手 f. MATLAB 具有串口操作 、 beef声音输入 /输出等硬件操控能力 , 吃饭 随着版本的提高 , 吃饭这种能力还会不断加强 , 吃饭 使得人们利用计算机和实际硬件相连接的半实物仿真的梦想得以轻易实现 。 洗手洗手 g. MATLAB 程序可以直接映射为 DSP 芯片可接受的代码 , 吃饭 大大提高了现代电子通信设备的研发效率 。 洗手洗手 h. MATLAB 程序的执行效率比其他语言低 。 洗手 MATLAB 程序通常是解释执行的 , 吃饭 在执行效率和速率上低于其他高级语言 。 洗手 事实上 , 吃饭 MATLAB 自带
31、的许多内部函数均是用C 语言编写并编译的 , 吃饭 因此利用 MATLAB 内部函数程序部分的运行速度并不比其他语言中的相应函数低 。 洗手洗手 3 数字 滤波器的设计 洗手 3.1 数字滤波器概述 洗手 数字滤波器是数字信号处理的基础部分 , 吃饭 与模拟滤波器相比 , 吃饭 数字滤波器具有精度高 、 beef可靠性高 、 beef灵活性高 、 beef便于大规模集成和多维过滤等特点 , 吃饭 已广泛应用于现代各类工程领域 。 洗手洗手 数字滤波器是具有一定传输特性的数字信号处理装置 , 吃饭 它的输入和输出都是离散数字信号 , 吃饭 它借助于数字器件和一定的数值计算方法 , 吃饭 对输入信
32、号进行处理 , 吃饭 改4 变输入信号 , 吃饭 进而去掉信号中的无用成分而保留有用成分 。 洗手 如果在数字处理系统前 、 beef后分别加上 A/D 转换器和 D/A 转换器 , 吃饭 就可以处理模拟信号 。 洗手 数字滤波器的输入输出是一个时间序列 。 洗手 设 H( n)为数字滤波器的系统函数 , 吃饭 h( n)为其相应的脉冲序列 , 吃饭 则在时域内有 : beef洗手 y( n) =x( n) *h( n) ( 3-1) 洗手 在 z 域内有 : b eef洗手 Y( z) =H( z) X( z) ( 3-2) 洗手 式中 X( z)和 Y( z)分别为输入 x( n)和输出
33、y( n)的傅里叶变换 。 洗手洗手 在频域内有 : b eef洗手 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 数字滤波器设计的基本原理 洗手 数字 滤波器是 指完成信号滤波(根据有用信号和噪声的不
34、同特性 , 吃饭 消除或减弱噪声 , 吃饭 提取有用信号的过程)功能的 、 beef用有限精 度算法实现的离散时间线性时不变( LTI)系统 。 洗手 与模拟滤波器类似 , 吃饭 数字滤波器也是一种选频器件 , 吃饭 它对有用信号的频率分量的衰减很小 , 吃饭 使之比较顺利通过 , 吃饭 而对噪声等干扰信号的频率分量给予较大幅度的衰减 , 吃饭 尽可能阻止它们通过 。 洗手 相比于模拟滤波器 , 吃饭 数字滤波器稳定性高 、 b eef精度高 、 beef灵活性强 。 洗手洗手 滤波器总体可以分为经典滤波器和现代滤波器 : beef经典滤波器即一般的选频滤波器 ;beef现代滤波器以随机信号处
35、理的理论为基础 , 吃饭 利用随机信号内部的统计特性对信号进行滤波 。 洗手 按照滤波器 的实现方式方式分类 , 吃饭 数字滤波器则可以分为无限冲激响应( IIR)和数字滤波器和有限冲激响应( FIR)数字滤波器 。 洗手 本设计采用的是 IIR数字滤波器对加噪语音信号进行滤波 。 洗手洗手 3.3 设计 IIR 数字滤波器 洗手 3.3.1 IIR 数字滤波器设计方法 洗手 本设计在 MATLAB 平台上 , 吃饭 设计了 IIR 数字滤波器 , 吃饭 用于对加噪的语音信号进行滤波 , 吃饭 对于 IIR 滤波器 , 吃饭 它的极点可以在单位圆内的任何位置 , 吃饭 实现 IIR 滤波器的阶
36、次可以较低 , 吃饭 所用的存储单元较少 , 吃饭 效率高 , 吃饭 又由于 IIR 数字滤波器能够保 留一些模拟滤波器的优良特性 , 吃饭 因此得到广泛应用 。 洗手洗手 在 IIR 数字滤波器的设计过程中 , 吃饭 通常将数字滤波器的设计指标转化为模拟低通滤波器的设计指标 , 吃饭 然后设计满足这些指标的模拟低通滤波器的系统函数 , 吃饭 再将它变成所需要的数字滤波器系统函数 。 洗手 此方法具有如下优点 : beef模拟逼近技术非常成熟 、 beef通常能产生闭式解 、 beef模拟滤波器有大量的图标可查 , 吃饭 因此充分利用这些已有的资源将会给数字滤波器设计带来很大的方便 。 洗手
37、一般 , 吃饭 当着眼于滤波器的时域瞬态响应时 , 吃饭 采用脉冲不变法较好 , 吃饭 而其它情 况下 , 吃饭 对于 IIR 数字滤波器设计 , 吃饭 大多采用双线性变换法 。 洗手洗手 3.3.2 利用模拟滤波器设计 IIR 数字滤波器的步骤 洗手 a.确定数字低通滤波器的技术指标 : beef通带边界频率 、 beef通带最大衰减 , 吃饭 阻带截止频率 、 b eef阻带最小衰减 。 洗手洗手 b.将数字低通滤波器的技术指标转换成相应的模拟低通滤波器的技术指标 。 洗手洗手 5 c.按照模拟低通滤波器的技术指标设计及过渡模拟低通滤波器 。 洗手洗手 d.用双线性变换法 , 吃饭 模拟滤
38、波器系统函数转换成数字低通滤波器系统函数 。 洗手洗手 3.3.3 用双线性法设计 IIR 低通滤波器 洗手 MATLAB 信号处理工具箱函数 cheblap,cheblord 和 cheeby1 是切比雪夫 I 型滤波器设计函数 。 洗手 我们用到的是 cheeby1 函数 。 洗手洗手 函数 butter,cheby1 和 ellip 设计 IIR 滤波器时都是默认的双线性变换法 , 吃饭 所以在设计滤波器时只需要代入相应的实现函数即可 。 洗手洗手 IIR 低通滤波器程序见附录 1。 洗手洗手 IIR 低通滤波器图像如图 3-1: b eef洗手 洗手 图 3-1 IIR 低通滤波器 洗
39、手 4 去噪和仿真的研究 洗手 4.1 语言信号在 MATLAB 平台上的 录入与打开 洗手 利用电脑上的声卡和 windows 操作系统可以进行语音信号的录入 , 吃饭 语音信号的录入可以用麦克风直接录制人的语音 , 吃饭 也可以通过音频线将收音机 、 bef电视机或磁带中的语音信号录入到计算机中 , 吃饭 在录音机中可以进行简单的声音处理 , 吃饭 如加大或降低音量 , 吃饭 加速或减速 , 吃饭 声音的反转或添加回音效果等 。 洗手 加速或减速的改变可以完成变音功能 , 吃饭 反转可以达到对声音文件保密功能 。 洗手 本设计所录入的语音信号是在酷狗上把 mp3 进行格式转换为 wav 形
40、式的语音信号 。 洗手 然后保存到 MATLAB 文件夹里面 , 吃饭 命 名为“ login” 。 洗 手洗手 利用 MATLAB 中的 wavread 命令来读入(采集)语音信号 , 吃饭 将它赋值给某一向量 。洗手洗手 4.2 原始语言信号频谱分析及仿真 洗手 在 MATLAB 中 , 吃饭 y,fs,bits=wavread( login ,N1 N2);beef用于读取语音信号 , 吃饭采样值放在向量 y 中 , 吃饭 fs 表示采用频率 (Hz),nbits 表示采样位数 , 吃饭 N1 N2表示读取的值从 N1 点到 N2 点的值 。 洗手 sound(y,fs,bits);be
41、ef用于声音的回放 。 洗手 向量 y 则代表了一个信号 , 吃饭 也即一个复杂的“函数表达式” , 吃饭 也可以说像处理一个信号的表达式一样处理这个声音信号 。 洗手洗手 下面是语音信号在 MATLAB 中的语言程序 , 吃饭 它实现了语音的读入与打开 , 吃饭 并绘制了6 语音信号的波形频谱图 。 洗手 在本次设计中 , 吃饭 我们利用 fft 对语音信号进行快速傅里叶变换 , 吃饭 就可以 得 到信号的频谱特性 。 洗手 程序 见附录 2。 洗手洗手 程序运行后得到的的波形如 图 4-1、 b eef图 4-2、 beef图 4-3、 beef图 4-4。 洗手洗手 洗手 图 4-1 原
42、始信号波形 洗手 洗手 图 4-2 原始语音信号采样后频谱图 洗手 洗 手 图 4-3 原始信号幅值 洗手 7 洗手 图 4-4 原始信号相位 洗手 4.3 加噪语音信号频谱分析及仿真 洗手 在本次课程设计中 , 吃饭 我们是利用 MATLAB 中的随机函数 (rand 或 randn)产生噪声加入到语音信号中 , 吃饭 模仿语音信号被污染 , 吃饭 并对其频谱分析 。 洗手 Randn 函数有两种基本调用格式 : beefRandn(n)和 Randn( m,n) ,前者产生 n n服从标准高斯分布的随机数矩阵 , 吃饭 后者产生 m n 的随机数矩阵 。 洗手洗手 下面一段程序实现了利用 randn 函数把一段随机噪音信号加入原始语音信号的信号处理过 程 , 吃饭 见附录 3。 洗手洗手 加噪后语音信号的时域波形 、 b eef频谱图如 图 4-5: beef洗手 洗手 图 4-5 加噪语音信号时域波形和频谱图 洗手 通过对两张图片的对比 , 吃饭 很明显可以看加噪后的语音信号时域波形比原始语音信号浑浊了许多 , 吃饭 在时间轴上可以明显看出 0 0.5S 的幅值增大了 ; beef通过对原始语音信号的频谱图与加噪后的语音信号频谱图的对比 , 吃饭 也可以看出在频率 5000Hz以后的频率幅值发生了明显的增加 。 洗手洗手 4.4 去噪及仿真 洗手