FIR数字滤波的(海明)窗函数法设计.docVIP

FIR数字滤波的(海明)窗函数法设计.doc

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
FIR数字滤波器的(海明)窗函数法设计 1.课程设计目的 (1)熟悉并掌握MATLAB中有关声音(wave)录制、播放、存储和读取的函数。 (2)加深对FIR数字滤波器设计的理解,并用窗函数法进行FIR数字滤波器的设计。 (3)将设计出来的FIR数字滤波器利用MATLAB进行仿真。 (4)对一段音频文件进行加入噪声处理,对带有噪声的文件进行滤波处理。 2.设计方案论证 2.1 Matlab语言概述 MATLAB是一种以矩阵运算为基础的交互式程序语言,专门针对科学、工程计算及绘图的需求。随着版本的不断升级,内容不断扩充,功能更加强大,从而被广泛应用于仿真技术、自动控制和数字信号处理领域。 ??此高级语言可用于技术计算 ??此开发环境可对代码、文件和数据进行管理 ??交互式工具可以按迭代的方式探查、设计及求解问题 ??数学函数可用于线性代数、统计、傅立叶分析、筛选、优化以及数积分等 ??二维和三维图形函数可用于可视化数据 ??各种工具可用于构建自定义的图形用户界面 ??各种函数可将基于MATLAB的算法与外部应用程序和语言(如 C、C++、Fortran、Java、COM 以及 Microsoft Excel)集成 ??不支持大写输入,内核仅仅支持小写 2.2声音处理 语音是人类获取信息的重要来源和利用信息的重要手段。语音信号处理是一门发展十分迅速,应用非常广泛的前沿交叉学科,同时又是一门跨学科的综合性应用研究领域和新兴技术。声音是一种模拟信号,而计算机只能处理数字信息0和1。因此,首先要把模拟的声音信号变成计算机能够识别和处理的数字信号,这个过程称为数字化,也叫“模数转换”。在计算机对数字化后的声音信号处理完后,得到的依然是数字信号。必须把数字声音信号转变成模拟声音信号,然后再输出到扬声器,这个过程称为“数模转换”。FIR滤波器基本结构   FIR滤波器的数学表达式为:   式中:N为FIR滤波器的抽头数;x(n)为第n时刻的输入样本;h(i)为FIR滤波器第i级抽头系数。   其相应的z变换为:   式中:z-i为N-1阶多项式。  在自适应处理、数据通信等领域中往往要求信号在传输过程中不能有明显的相位失真,FIR滤波器可以做到线性相位满足此要求。F1R滤波器实质上是一个分节的延迟线,把每一节的输出加权累加,得到滤波器的输出。对于FIR滤波器的单位脉冲响应h(i)只要满足以下2个条件之一,则为线性相位滤波器。   线性相位的FIR滤波器具有中心对称的特性,其对称中心在N/2处。   (2)由性能指标确定窗函数w(n)和窗口长度N   (3)求得实际滤波器的单位脉冲响应h(n)   (4)检验滤波器性能。 设计常用的窗函数有矩形窗、汉宁窗、海明窗、凯撒窗等。其中:海明窗的旁瓣峰值小于主瓣峰值的1%,99.963%的能量集中在主瓣内.且通过海明窗设计的FIR滤波器在较少的阶数下可以得到较小通带纹波,非常适合工程设计windows下的录音机,按照(开始—程序—附件—娱乐—录音机,文件—属性—立即转换—8000KHz,8位,单声道)的顺序操作,录制一段自己的语音,录制时间为5秒,如图1,图2所示,将自己录好的语音文件保存为“zf.wav”。 图1 选择windows下的录音机 图2 用8000Hz采样录音 2.6语音信号的分析 (1) 将上一步骤中保存下来的语音信号文件“zf.wav”复制到计算机装有Matlab软件的磁盘中相应Matlab目录中的“work”文件夹中:( C:\Program Files\MATLAB71\work)。 (2) 双击桌面上Matlab软件的快捷图标,打开Matlab软件。 (3) 在Matlab菜单栏中选择“File(new(M-File”或是点击快捷按钮,打开m文件编辑器。 (4) 在m文件编辑器中输入相应的指令将自己的语音信号导入Matlab工作台。 (5) 画出原始语音信号s的波形,由于原始语音信号开始一段会是无用的语音信号,因此要截取掉,截取的一段语音信号为1至1+fs-1,即从1到7999,画出截取原始语音信号s1的波形,代码如下,波形如图3,所示: close all clear all clc [s, fs,bits]=wavread(C:\Program Files\MATLAB71\work\zf.wav); s1=s(1:8000); sound(s1,fs,bits); figure(1); subplot(211) plot(s) title(原始语音信号) subplot(212) plot(s1) title(截短语音信号); 图3原始语音信号和截短语音信号 (6) 对语音信号进行频谱分析,在Matlab中,利用函数FFT()对信号进行快速傅里叶变换,得到信

文档评论(0)

jizhun4585feici + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档