ImageVerifierCode 换一换
格式:DOCX , 页数:23 ,大小:682.59KB ,
资源ID:15700029      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-15700029.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(音乐滤波去噪使用flattopwin窗设计的FIR滤波器.docx)为本站会员(b****6)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

音乐滤波去噪使用flattopwin窗设计的FIR滤波器.docx

1、音乐滤波去噪使用flattopwin窗设计的FIR滤波器音乐信号滤波去噪使用flattopwin窗设计的FIR滤波器学生某: 指导老师:黄红兵摘 要 本次课程设计是使用Flattopwin窗设计FIR滤波器对音乐信号进行滤波去噪。通过MATLAB软件,运用窗函数法来设计滤波器。从网上下载一段满足要求的音乐,为它加入噪声信号,观察加噪前后的频谱,采用窗函数设计法,给定相应的技术指标,设计一个满足要求的滤波器,对音乐信号进行滤波去噪处理。比较原始音乐信号与滤波后的时域波形图,频谱图,回放滤波后的音乐信号,可听见滤波后的音乐信号与原始音乐信号无大致差别,成功的实现了滤波达到了设计要求。关键词 MAT

2、LAB;滤波去噪;FIR滤波器;Flattopwin窗;1 引 言本次课程设计是通过窗函数法设计一个Flattopin的FIR滤波器对有噪声的音乐信号进行滤波去噪。在课程设计中,了解FIR滤波器的性能与原理,也了解他的设计方法和步骤。掌握了用MATLAB语言设计滤波器,通过观察音乐信号滤波前后的时域信号以及频谱更加具体的了解了滤波器的作用。1.1 课程设计目的通过利用MATLAB 软件来利用Flattopin设计FIR滤波器对音乐信号滤波去噪。使得我们更加熟悉MATLAB的语言环境,更加熟悉MATLAB语言的编程规则。并且在课程设计中通过观察滤波器的幅度,相位图对Flattowin有了更加深刻

3、地了解。也在窗函数的设计过程中,对滤波器的性能,功能以及设计方法有着更具体的了解和体验。通过本次课程设计,增强了我们独立解决问题的能力,提高了自己的动手能力。1.2 课程设计要求从网上下载一段.wav格式的音乐,绘制观察时域波形及频谱图。对音乐信号加入噪声干扰,根据Flattopwin的性能指标合理设计FIR滤波器,再用滤波器对加入干扰的音乐信号进行滤波去噪,比较滤波前后的频谱图并进行分析。再回放语音信号对比原语音信号,查看滤波器是否对语音信号进行了滤波去噪。1.3课程设计平台本次课程设计通过MATLAB实现,MATLA是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、

4、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平

5、1。MATLAB软件包括五大通用功能:数值计算功能(Nemeric);符号运算功能(Symbolic);数据可视化功能(Graphic);数据图形文字统一处理功能(Notebook)和建模仿真可视化功能(Simulink)。其中,符号运算功能的实现是通过请求MAPLE内核计算并将结果返回到MATLAB命令窗口。该软件有三大特点:一是功能强大;二是界面友善、语言自然;三是开放性强。MATLAB在线性代数、矩阵分析、数值及优化、数理统计和随机信号分析、电路与系统、系统动力学、信号和图像处理、控制理论分析和系统设计、过程控制、建模和仿真、通信系统、以及财政金融等众多领域的理论研究和工程设计中得到了广

6、泛应用。MATLAB在信号与系统中的应用主要包括符号运算和数值计算仿真分析。由于信号与系统课程的许多内容都是基于公式演算,而MATLAB借助符号数学工具箱提供的符号运算功能能基本满足信号与系统课程的需求。例如,解微分方程、傅里叶正反变换、拉普拉斯正反变换、z正反变换等。MATLAB在信号与系统中的另一主要应用是数值计算与仿真分析,主要包括函数波形绘函数运算、冲激响应与阶跃响应仿真分析、信号的时域分析、信号的频谱分析、系统的S域分析、零极点图绘制等内容。数值计算仿真分析可以帮助学生更深入理解信号与系统的理论知识,并为将来使用MATLAB进行信号处理领域的各种分析和实际应用打下基础2。2 基本理论

7、2.1 FIR滤波器FIR滤波器:有限长单位冲激响应滤波器,是数字信号系统中最基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位抽样响应是有限长的,因而滤波器是稳定的系统。因此,FIR滤波器在通信、图像处理、模式识别等领域都有着广泛的应用。FIR滤波器的基本结构:横截型,级联型,频率抽样型,快速卷积型,在硬件上一般通过集成电路,DSP芯片,可编程逻辑器件,FPGA/CPLD来实现3。FIR数字滤波器的特点:优点:(1) 很容易获得严格的线性相位,避免所处理的信号产生相位失真; (2) 极点全部在原点,无稳定性问题; (3) 任何一个非因果的有限长序列,总可以通过一定的

8、延时,转化为因果序列,所以因果性总是可以满足; (4) 无反馈运算,运算误差小。缺点:(1) 因为无极点,要获得好的过渡带特性,要以较高的结束为代价; (2) 无法利用模拟滤波器的设计结果,一般无解析设计公式,要借助辅助程序设计完成。一般来说滤波器的设计在于寻找一个频率响应去逼近,逼近的方法有三种窗函数设计法(时域逼近);频率采样设计法(频域逼近);最优化设计法(等波纹逼近)。本次课程设计采用窗函数设计法4。2.2 窗口设计法窗函数设计法是从单位脉冲响应序列着手,使得逼近理想单位脉冲响应序列 (2.1)窗函数设计FIR滤波器的步骤:(1)根据技术要求确定滤波器的频率响应确定其对应的单位脉冲响应

9、。 (2.2)(2)根据对过渡带及阻带衰减指标的要求,选择窗函数形式,并估计窗口长度N。(3)计算滤波器的单位取样响应。 (2.2)(4)计算滤波器的频率响应。 (2.3) 改变窗函数的形状,可改善滤波器的特性,窗函数有许多种,但要满足以下两点: (1) 窗谱主瓣宽度要窄,已获得较陡的过渡带; (2) 相对于主瓣宽度,旁瓣要尽可能小,是能量尽量集中在主瓣中,这样就可以减小肩峰和余振,以提高阻带衰减和通带平稳性。 但实际上这两点不能兼得,一般总是通过增加主瓣宽度来换取对旁瓣的抑制5。常见的窗函数性能表如表2.1所示:表2.1常见窗函数性能表名称滤波器过渡带宽最小阻带衰减名称滤波器过渡带宽最小阻带

10、衰减矩形1.8/M21dBPARZENWIN6.6/M56dB巴特利特6.1/M25dBFLATTOPWIN19.6/M108dB汉宁6.2/M44dBGAUSSWIN5.8/M60dB汉明6.6/M51dBBARTHANNWIN3.6/M40dB布莱克曼11/M74dBBLACKMANHARRIS16.1/M109dBBOHMANWIN5.8/M51.5dBCHEBWIN15.2/M113dBNUTTALLWIN15.4/M108dBTUKEYWIN2.4/M22dB2.3 FLATTOPWIN窗w=Flattopwin (L) 返回L-点Flattopwin窗口中列向量。Flattopwi

11、n窗的滤波器的过渡带宽为19.6/M,最小阻带衰减108db。定义式: (2.4)时间波形和幅度谱:图2.1 Flattopwin窗的时间波形图2.2 Flattopwin窗的幅度谱2.4滤波器的结构(1) 横截型差分方程: (2.5)图2.3 FIR滤波器横截型结构(2)级联型将差分方程分解为实系数二阶因式乘积形式: (2.6)图2.4 FIR滤波器级联型结构当N为偶数时,其中有一个=0(N-1个零点)。级联型每个基本节控制一对零点,便于控制滤波器的传输零点;系数比直接型多,所需乘法运算多。(3)线性相位型FIR 的重要特点是可设计成具有严格线性相位的滤波器,此时满足偶对称或奇对称。 偶对称

12、时: (2.7)N为奇对称时: (2.8)图2.5 N为偶数时的线性相位结构FIR滤波器图2.6 奇为偶数时的线性相位结构FIR滤波器(5)频率采样型H(z)由两部分组成:第一部分(FIR部分): (2.9) 第二部分(IIR部分): (2.10)图2.7 FIR滤波器的频率采样型结构这一结构的最大的特点是它的系数H(k)直接就是滤波器在处的响应,因此控制滤波器响应很直接6。 3 设计步骤3.1 设计流程图根据设计的要求,从网上下载一段音乐信号,在通过系统自带的软件对音乐信号进行格式转换以及剪裁,然后对音乐信号加入噪声干扰,再利用Flattopwin窗设计合理的FIR滤波器。最后用滤波器对干扰

13、后的音乐信号进行滤波去噪。具体设计流程图如下图3.1所示:图3.1设计流程图3.2 录制音乐信号从电脑上下载一段格式为.wav的纯音乐,并命名为yinyue.wav,通过录音机将原始音乐信号的格式更改为PCM编码,采样率为8KHz,8位,单声道,7KB/s并将其裁剪为10s的文件,调用wavread函数读取信号的参数,绘制出音乐信号的时域波形。图3.2用录音机将音乐进行裁剪 图3.3用录音机将音乐格式进行转化图3.4 原始音乐信号时域波形图绘制音乐信号的时域波形后,对音乐信号进行快速傅里叶变换,得到信号的频谱特性,绘制出音乐信号的频谱图,向音乐信号加入噪声,并对加入噪声的信号进行快速傅里叶变换

14、,绘制出加入噪声后的时域波形,以及频谱图,将加入噪声后的信号时域波形图以及频谱图与未加入之前的波形图和频谱图进行对比。x=x; y=x+0.1*sin(fn*2*pi*t); %在原信号中加入噪声X=abs(fft(x); Y=abs(fft(y); % 对原始信号和加噪信号进行fft变换,取幅度谱X=X(1:N/2); Y=Y(1:N/2); % 截取前半部分deltaf=fs/N; % 计算频谱的谱线间隔f=0:deltaf:fs/2-deltaf; % 计算频谱频率X围图3.5 干扰前后信号时域图与频谱图的比较3.3 滤波器设计根据加入噪声干扰后的频谱图,给出滤波器的性能指标,在通过窗函

15、数法设计得到自己的滤波器,得到数字滤波器的参数a,b。其中a为系统函数的分母系数,b为系统函数的分子系数。在通过调用函数即可求得滤波器的频率响应。在计算滤波器的实际AS以及RP查看滤波器是否满足设计指标。fpd=1825;fsd=2075;fsu=2325;fpu=2575;Rp=1;As=20; % 带阻滤波器设计指标RP=-min(db(1:wpd/dw+1,ceil(wpu/dw)+1:end) %计算滤波器的指标检查是否达标AS=-max(db(wsd/dw+1:wsu/dw+1)通过计算可以得出RP=0.7939,AS=20.3545满足指标要求,则滤波器符合要求。图3.6设计的滤波

16、器图形3.4 信号滤波处理 滤波器设计完成后,在MATLAB平台上用函数filter对加有噪声的音乐信号进行滤波,并求得滤波后的频谱。绘制滤波前后音乐信号的时域波形图和频谱图对比图,以及原信号的时域波形图及频谱图。 y_fil=filter(h_bs,1,y);%用设计好的滤波器对y进行滤波图3.7 滤波前后音乐信号的时域波形图和频谱图对比图3.5 结果分析 观察滤波前后的频谱图,可明显看看到干扰噪声的频谱被滤除,观察滤波后的时域波形图与原信号的波形图基本一致,在通过sound()函数对经过Flattopwin窗设计的FIR滤波器之后的音乐信号进行回访可以听出滤波之后的信号跟原始信号一样清晰,

17、完全滤除掉了噪声的干扰。 sound (y_fil,fs,bits); %播放滤波后的音乐信号sound(x,fs,bits); % 按指定的采样率和每样本编码位数回放所得结果证明了用Flattopwin窗设计的FIR滤波器对音乐信号进行滤波去噪是成功的。3.6 滤波器结构设计在绘制滤波器结构时由于我选择的级联型,因此要计算相关参数,可以通过相关函数来进行计算C,B,A=DIR2CAS(h_bs,1); %计算级联型滤波器的参数然后在Viso中绘制出FIR滤波器的级联型结构即可。图3.6 FIR滤波器的级联型结构4出现的问题及解决方法在本次课程设计中我遇到的问题如下:1、绘制加入噪声干扰的频谱

18、图是不知如何调控纵坐标,导致频谱图十分的不理想2、在达到设计指标且完美的滤除噪声干扰信号时,滤波器的阶数总是过大,而将阶数降低时,滤波器总是不能比较完美的滤除噪声3、绘制滤波器结构时选择的是级联型,但是却找不到,计算级联型参数的函数针对以上问题,相应的解决方案如下:1、通过向同学询问了解到有函数可以用来调控横纵坐标2、通过不断设置滤波器参数值最终设计出理想的滤波器,可在阶数较低的情况下完美的滤出噪声,也达到了设计指标。3、在查阅历届的PPT时,发现了用于计算直接型转换级联型滤波器参数值的函数。5 结束语本次课程设计,我的课题是利用Flattopwin窗函数设计FIR滤波器对音乐信号滤波去噪。在

19、经历了一个寒假的放松,脑袋里那点不多的滤波器的只是,早已魂飞天外。但是在实习的过程中,通过温习课本以及通过频谱图,对滤波器的性能以及功能有了更加深刻的了解。每次课程设计都是一次历练,是对知识的查漏补缺,是一次给自己深刻反思的机会。每一次实习,都可以意识到自己所欠缺的,意识到在实践面前理论是如何的单薄。知识的创造永远是为了人类的发展而服务的,只存在于理论的知识是无法创造它所应有的价值,而进步却又来源于实践和人民的需求,我希望我们用时间去学习的东西能发挥它应有的价值,甚至于超越。每一次实践都可以学到许多课本上所没有的只是,也了解到以前所没有注意到的方面,而在时间时,不断锻炼的对立思考的能力更是能让

20、我们终生受益。相对与知识,意识总是显得尤为重要。而在实践中,重温的不仅仅是知识更是,我们在于以后是的意识,去独立的思考问题,去查阅书籍,去探寻奥妙。而这些是我们平时所不能学到的。我总是希望自己能从理论走向时间,从书本走向课本,希望自己能用自己所学的为这个发展的社会的建设献上自己的一点微薄之力。参考文献1X志涌精通MATLAB M6.5版:航空航天大学,20032约翰普罗克斯数字信号处理M某:某交通大学,20093X小虹信号系统与数字信号处理M第1版某:某电子科技,20024谢德芳数字信号处理M:科学,20055郝建军数字通信M第2版:邮电大学,20106X威MATLAB 基础与编程入门M某:某

21、电子科技大学,2010附录一: 音乐信号滤波去噪使用FLARTOPWIN滤波器%程序功能:在Matlab中,用窗口设计法设计FIR滤波器%程序作者:蒋敏%最后修改日期:2016-3-1程序一-(在音乐信号中加入噪声干扰)-x,fs,bits=wavread(e:yinyue.wav); % 输入参数为文件的全路径和文件名,输出的第一个参数是每个样本的值,fs是生成该波形文件时的采样率,bits是波形文件每样本的编码位数。sound(x,fs,bits); % 按指定的采样率和每样本编码位数回放N=length(x); % 计算信号x的长度fn=2200; % 单频噪声频率t=0:1/fs:(N

22、-1)/fs; % 计算时间X围,样本数除以采样频率x=x; y=x+0.1*sin(fn*2*pi*t); %在原信号中加入噪声sound(y,fs,bits); % 应该可以明显听出有尖锐的单频啸叫声程序二-(绘制加噪前后音乐信号的时间波形和频谱)- X=abs(fft(x); Y=abs(fft(y); % 对原始信号和加噪信号进行fft变换,取幅度谱X=X(1:N/2); Y=Y(1:N/2); % 截取前半部分deltaf=fs/N; % 计算频谱的谱线间隔f=0:deltaf:fs/2-deltaf; % 计算频谱频率X围figure(); %绘制加噪前后音乐信号的时间波形和频谱s

23、ubplot(221);plot(t,x);title(原始音乐信号);xlabel(时间(单位 : s ));ylabel(幅度); grid on;subplot(223);plot(t,y);title(加入干扰信号的音乐信号);xlabel(时间(单位 : s ));ylabel(幅度);grid on;subplot(222);plot(f,X);title(音乐信号幅度谱);xlabel(频率(单位 : Hz ));ylabel(幅度谱);grid on;subplot(224);plot(f,Y);axis(0,4000,0,400); title(加入干扰信号的音乐信号幅度谱)

24、;xlabel(频率(单位 : Hz ));ylabel(幅度谱);grid on;程序三-(设计滤波器)-fpd=1825;fsd=2075;fsu=2325;fpu=2575;Rp=1;As=20; % 带阻滤波器设计指标fcd=(fpd+fsd)/2;fcu=(fpu+fsu)/2;df=min(fsd-fpd),(fpu-fsu); % 计算上下边带中心频率,和频率间隔wcd=fcd/fs*2*pi;wcu=fcu/fs*2*pi;dw=df/fs*2*pi; % 将Hz为单位的模拟频率换算为rad为单位的数字频率wsd=fsd/fs*2*pi;wsu=fsu/fs*2*pi;wpd=

25、fpd/fs*2*pi; wpu=fpu/fs*2*pi; M=ceil(8.5*pi/dw)+1 ; % 计算窗设计该滤波器时需要的阶数n=0:M-1; % 定义时间X围w_par=(flattopwin (M); % 产生M阶的Flattopwin窗hd_bs=IDEAL_LP(wcd,M)+IDEAL_LP(pi,M)-IDEAL_LP(wcu,M); % 调用自编函数计算理想带阻滤波器的脉冲响应h_bs=w_par.*hd_bs; % 用窗口法计算实际滤波器脉冲响应db,mag,pha,grd,w=FREQZ_M(h_bs,1); % 调用自编函数计算滤波器的频率特性dw=2*pi/1

26、000;RP=-min(db(1:wpd/dw+1,ceil(wpu/dw)+1:end) %计算滤波器的指标检查是否达标AS=-max(db(wsd/dw+1:wsu/dw+1)figure() ;subplot(2,2,1);plot(w/pi,db);title(滤波器幅度响应图);xlabel(w/pi);ylabel(db);axis(0,1,-70,10);line(0,1,-As,-As,color,r,linestyle,-,LineWidth,2);line(0,1,-Rp,-Rp,color,r,linestyle,-,LineWidth,2);line(wsu/pi,ws

27、u/pi,-70,10,color,r,linestyle,-,LineWidth,2);line(wsd/pi,wsd/pi,-70,10,color,r,linestyle,-,LineWidth,2);subplot(2,2,2);plot(w/pi,mag);title(滤波器幅度响应图);xlabel(w/pi);ylabel(幅度mag); grid on;subplot(2,2,3);plot(w/pi,pha);title(滤波器相位响应图);xlabel(w/pi);ylabel(相位pha); grid on;subplot(2,2,4);stem(n,h_bs);titl

28、e(滤波器脉冲响应图);xlabel(n);ylabel(h(n);grid on;程序四-(滤波)-y_fil=filter(h_bs,1,y); % 用设计好的滤波器对y进行滤波Y_fil=abs(fft(y_fil);Y_fil=Y_fil(1:N/2); % 计算频谱取前一半figure();subplot(321);plot(t,x);title(原始音乐信号);xlabel(时间(单位 : s ));ylabel(幅度); grid on;subplot(323);plot(t,y);title(加入干扰信号的音乐信号);xlabel(时间(单位 : s ));ylabel(幅度)

29、;grid on;subplot(322);plot(f,X);title(音乐信号幅度谱);xlabel(频率(单位 : Hz ));ylabel(幅度谱);grid on;subplot(324);plot(f,Y);axis(0,4000,0,400); title(加入干扰信号的音乐信号幅度谱);xlabel(频率(单位 : Hz ));ylabel(幅度谱);grid on;subplot(325);plot(t,y_fil); title(滤波后的音乐信号);xlabel(时间(单位 : s ));ylabel(幅度);grid on;subplot(326);plot(f,Y_fil);title(滤波后的音乐信号幅度谱);xlabel(频率(单位 : Hz ));ylabel(幅度谱); grid on;sound (y_fil,fs,bits);C,B,A=DIR2CAS(h_bs,1); %计算级联型滤波器参数附录二:函数FREQZ_M.M定义:function db,mag,pha,grd,w = freqz_m

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2