lab02去除噪音记得带耳机.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
设计FIR滤波器去除噪音 1.实验任务: 写一个简单的M-文件去除SunshineSquare.wav文件中干扰音调,以使音频文件听起来自然。 2.要求 请独立完成代码,但可以和他人讨论思路。 需要提交的内容(三者压缩为一个文档): 1.干净的wav文件。使用wavwrite(yy, filename, fs);保存文件。 2.matlab代码(m文件) 3.实验报告: (a)一两句话描述该实验的内容 (b)简单描述你是怎么做的。列一个表,列出每个音调对应的Hz为单位的频率,数字频率和B;干净wav文件的声谱图;如果你额外加了些什么操作,请高亮指出。这部分半页纸即可。 (c)一两句话写出结论。 实验报告文档名为“班号-学号-姓名”,只交电子版。 一周内,提交给各班学习委员,学习委员再打包提交给我,ywang@mail.hust.edu.cn 3.实验方法: 需要两个步骤去除干扰音调。第一步,确定干扰音调的频率;第二步,滤掉这些频率。 3.1确定频率 以下的Matlab代码读取wav文件,计算它的幅度谱: [xx, fs] = wavread(SunshineSquare); xx = xx; figure(1) xxSpectrum=abs(fft(xx,N)); plot(xxSpectrum); 注意:N是FFT的点数,应当是2的幂次,而且应该足够大,需要你自己确定是多少,可尝试不同的N,看看幅度响应的不同。因噪声加在音频文件的最后,所以幅度响应只需要查看后面时段的即可,通过画出幅度响应来确定有几个幅度响应较大的位置。然后用max()函数找到幅度响应最大的位置,即噪声所在的频率,注意可能有多个噪声频率。 还需要把频率从Hz转换为数字频率,后面要用。 方法二(可选做)利用声谱图确定噪声频率: [xx, fs] = wavread(SunshineSquare); xx = xx; figure(1) specgram(xx, [], fs) 注意:fs是wav文件的采样率。 根据声谱图估计声调的频率,可以借助放大镜工具找到更为准确的频率。 也需要把频率从Hz转换为数字频率。 3.2滤除频率 一个加权三点平均器(FIR滤波器)足以一次滤掉一个频率,给定如下的冲激响应: h[n] = {1, B, 1} 用B表示频率响应。找到B的值以去除不要的频率。只要找到了正确的值,就可用以下的代码一次去除一个频率: hh = [1, B, 1]; yy = filter(hh, 1, xx); 原理: h[n] = {1, B, 1}, 所以 . 所以 . 你需要自己填入B的值。你可以用freqz查看你的滤波器的频率响应: ww = -pi:pi/100:pi; HH = freqz(hh, 1 ,ww); plot(ww,abs(HH)); 提示:你需要多个滤波器。你可以选择依次滤波,也可以用conv()把多个滤波器合成一个滤波器。 3.3 其他额外的处理(选做) 这2个步骤处理的结果并不完美,可以经过你自己的观察和思考,加入额外的处理,使效果更完美。 这部分如果做了,请在报告中高亮指出,并且要说明是如何做的,这么做的依据是什么,理论依据和实践依据都可以。 3.4其他绘图函数 (1)plot(xn,’g’) ; stem(xn,’r’) (2)grid; axis([0,100,-1,1]) (3)xlabel(x(n)); ylabel(X(k)) (4)title(XXX figure); (5)figure(2); subplot(3,1,1); (6)clear; close all;

文档评论(0)

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

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

1亿VIP精品文档

相关文档