FIR滤波器实现音乐信号的滤波去噪_第1页
FIR滤波器实现音乐信号的滤波去噪_第2页
FIR滤波器实现音乐信号的滤波去噪_第3页
FIR滤波器实现音乐信号的滤波去噪_第4页
FIR滤波器实现音乐信号的滤波去噪_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、通信专业课程设计二太原科技大学课 程 设 计(论 文)设计(论文)题目:用NUTTALLW窗设计的FIR滤波器实现音乐信号的滤波去噪_2011年 1 月 14 日设计(论文)题目用NUTTALLW窗设计的FIR滤波器实现音乐信号的滤波去噪主要研究内容1.了解FIR有限脉冲滤波器;2.使用NUTTALLW窗设计一个FIR滤波器以对音乐信号进行滤波去噪处理;3.通过对比滤波前后的波形图,深入了解滤波器的基本方法。研究方法以MATLAB软件为平台,采用NUTTALLW窗设计满足指标的FIR滤波器,对音乐信号进行滤波去噪处理。主要技术指标(或研究目标)1.以MATLAB软件为平台,采用NUTTALLW

2、窗设计满足指标的FIR滤波器;2.对给定的音乐信号进行滤波去噪处理的仿真与分析。教研室意见教研室主任(专业负责人)签字: 年 月 日 目 录摘要II第1章 绪论- 1 -1.1 数字滤波器的发展- 1 -1.2 数字滤波器的应用- 1 -1.3 本文内容简述- 2 -第2章 FIR滤波器原理- 3 -2.1 FIR滤波器基本原理- 3 -2.2 用窗函数设计FIR滤波器- 4 -2.2.1 窗函数设计FIR滤波器基本原理- 5 -2.2.2 设计步骤- 5 -第3章 系统设计与仿真结果分析- 8 -3.1 设计流程- 8 -3.2 采集音乐信号- 8 -3.3滤波器设计- 8 -3.4 信号滤

3、波处理- 10 -3.5 结果分析- 10 -3.6 小结- 11 -参考文献- 12 -附录- 13 -FIR滤波器实现音乐信号的滤波去噪摘 要数字滤波器是一种用来过滤时间离散信号的数字系统,目前数字滤波器的设计有许多现成的高级语言设计程序, 但它们的设计效率较低, 不具有可视图形, 不便于修改参数等缺点, 而MATLAB 语言正好能弥补以上缺点。本文就如何使用MATLAB 语言来设计和实现FIR 数字滤波器进行了探究。 本文主要是通过使用NUTTALLW窗设计一个FIR滤波器以对音乐信号进行滤波去噪处理。本设计首先通过麦克风采集一段音乐信号,依据对该信号的频谱分析,给定相关指标。以MATL

4、AB软件为平台,采用NUTTALLW窗设计满足指标的FIR滤波器,以该音乐信号进行滤波去噪处理。通过对比滤波前后的波形图,深入了解滤波器的基本方法。关键词:滤波去噪,FIR滤波器,NUTTALLW窗函数第1章 绪论1.1 数字滤波器的发展数字滤波器是一种用来过滤时间离散信号的数字系统,它是通过对抽样数据进行数学处理来达到频域滤波的目的。随着现代通信的数字化,数字滤波器变得更加重要。数字滤波器的种类很多,但总的来说可以分成两大类,一类是经典滤波器,另一类可称为现代滤波器。从滤波特性方面考虑,数字滤波器可分成数字高通、数字低通、数字带通和数字带阻等滤波器。从实现方法上考虑,将滤波器分成两种,一种称

5、为无限脉冲响应滤波器,简称IIR(Infinite Impulse Response)滤波器,另一种称为FIR(Finite Impulse Response)滤波器1。设计FIR数字滤波器的方法有窗函数法、频率采样法和等波纹最佳逼近法等。在数字信号处理中, 数字滤波器占有极其重要的地位, 具有滤波精度高、稳定性好、灵活性强等优点。数字滤波器是由数字乘法器、加法器和延时单元组成的一种装置, 它是一个离散时间系统, 其基本工作原理是利用离散系统特性对系统输入信号进行加工和变换, 改变输入序列的频谱或信号波形, 让有用频率的信号分量通过, 抑制无用的信号分量输出。数字滤波器以冲激响应延续长度, 可

6、分为两类: FIR 滤波器( 有限冲激响应滤波器) 和IIR 滤波器( 无限冲激响应滤波器) 。相对于无限脉冲响应数字滤波器(IIR 数字滤波器),有限脉冲响应数字滤波器(全零点或FIR 数字滤波器)的特点1主要有:l 总是稳定的;l 具有精确的线性相位;l 设计方法是线性的;l 硬件比较易于实现;l 过渡过程具有有限区间; l 主要缺点是在相同的给定条件下,滤波器阶数要比IIR滤波器的高,相应的其延迟也要比IIR滤波器的大得多。1.2 数字滤波器的应用数字信号处理(Digital Signal Processing,简称DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。20世纪60

7、年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。在过去的二十多年时间里,数字信号处理已经在通信等领域得到极为广泛的应用。数字信号处理是利用计算机或专用处理设备,以数字形式对信号进行采集、变换、滤波、估值、增强、压缩、识别等处理,以得到符合人们需要的信号形式。数字信号广泛应用于通信、语音、图像、自动控制、雷达、军事、航空航天、医疗和家用电器等众多领域。信息是通过各种各样的信号传递的, 携带着不同信息的不同信号之间可能相互叠加, 并且信号在传递过程中不可避免地受到噪声的干扰。因此, 如何采用数字方法从嘈杂的信号中提取所需信号, 是数字信号处理的基本任务, 即数字

8、信号处理是对信号进行提取、存储、变换、滤波、估值、增强、压缩、识别等处理。而滤波器的作用正是除去不需要的背景噪声、消除干扰、频带划分、信号频谱成形。数字滤波器是数字信号处理的基础,用来对信号进行过滤、检测与参数估计等处理,在通信、图像、语音、雷达等许多领域都有着十分广泛的应用。尤其在图像处理、数据压缩等方面取得了令人瞩目的进展和成就。鉴于此,数字滤波器的设计就显得尤为重要。目前数字滤波器的设计有许多现成的高级语言设计程序,但存在设计效率较低,不具有可视图形,不便于修改参数等缺点,而Matlab为数字滤波的研究秘应用提供了一个直观、高效,便捷的利器。他以矩阵运算为基础,把计算、可视化、程序设计融

9、合到了一个交互式的工作环境中。1.3 本文内容简述本文中,最主要的设计是设计FIR滤波器,FIR滤波器的设计方法主要分为两类:第一类是基于逼近理想滤波器器特性的方法包括窗函数法、频率采样法、和等波纹最佳逼近法;第二类是最优设计法。本文设计主要采用的是第一类设计方法,是利用汉宁窗函数法设计FIR滤波器对一段语音进行滤波去噪,通过这一过程,对滤波前后波形进行对比分析得到结论。此课程设计比较简单,主要是将书本中的知识运用到现实中,并且根据自己对设计题目的理解,运用软件编写出程序实现这一设计,也是我们对数字信号处理的原理进行验证的一个过程。第2章 FIR滤波器原理2.1 FIR滤波器基本原理FIR(F

10、inite Impulse Response)滤波器:有限长单位冲激响应滤波器,是数字信号处理系统中最基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位抽样响应是有限长的,因而滤波器是稳定的系统。因此,FIR滤波器在通信、图像处理、模式识别等领域都有着广泛的应用。设为滤波器的冲激响应,输入信号为,则滤波器就是要实现下列差分方程: (2-1)式(2-1)就是滤波器的差分方程。滤波器的最主要的特点是没有反馈回路, 因此它是无条件稳定系统, 它的单位脉冲响应 是一个有限长序列。由上面的方程可知, 滤波算法实际上是一种乘法累加运算, 它不断地输入样本,经延时 , 做乘法累加,

11、 再输出滤波结果 , 对式(2-1) 进行变换, 整理后可得滤波器的传递函数为: (2-2)由式(2-2) 可以得到FIR 滤波器的结构如图1 所示。x(z)h(0)h(1)h(n-2)h(2)h(n-1)y(n)图2.1 FIR 滤波器的结构l 有限长单位冲激响应(FIR)滤波器有以下特点:(1) 系统的单位冲激响应h(n)在有限个n值处不为零;(2) 系统函数H(z)在|z|>0处收敛,极点全部在z=0处(因果系统);(3) 结构上主要是非递归结构,没有输出到输入的反馈,但有些结构中(例如频率抽样结构)也包含有反馈的递归部分。FIR滤波器的系统函数用下式表示:。H(n)就是FIR滤波

12、器的单位脉冲响应。FIR滤波器最重要的优点就是由于不存在系统极点,FIR滤波器是绝对稳定的系统。l 相较于IIR滤波器,FIR滤波器有以下的优点:(1)可以很容易地设计线性相位的滤波器。线性相位滤波器延时输入信号,却并不扭曲其相位。(2)实现简单。在大多数DSP处理器,只需要对一个指令积习循环就可以完成FIR计算。(3)适合于多采样率转换,它包括抽取(降低采样率),插值(增加采样率)操作。无论是抽取或者插值,运用FIR滤波器可以省去一些计算,提高计算效率。相反,如果使用IIR滤波器,每个输出都要逐一计算,不能省略,即使输出要丢弃。(4)具有理想的数字特性。在实际中,所有的DSP滤波器必须用有限

13、精度(有限bit数目)实现,而在IIR滤波器中使用有限精度会产生很大的问题,由于采用的是反馈电路,因此IIR通常用非常少的bit实现,设计者就能解决更少的与非理想算术有关的问题。(5)可以用小数实现。不像IIR滤波器,FIR滤波器通常可能用小于1的系数来实现。(如果需要,FIR滤波器的总的增益可以在输出调整)。当使用定点DSP的时候,这也是一个考虑因素,它能使得实现更加地简单。FIR滤波器的缺点在于它的性能不如同样阶数的IIR滤波器,不过由于数字计算硬件的飞速发展,这一点已经不成为问题。再加上引入计算机辅助设计,FIR滤波器的设计也得到极大的简化。基于上述原因,FIR滤波器比IIR滤波器的应用

14、更广。2.2 用窗函数设计FIR滤波器窗函数设计法的基本思想是用FIRDF逼近的滤波特性。设希望逼近的滤波器的频率响应函数为,其单位脉冲响应为表示。为了设计简单方便,通常选择为具有片段常数特性的理想滤波器。因此是无限长非因果序列,不能直接作为FIRDF的单位脉冲响应。窗函数设计法就是截取为有限长的一段因果序列,并用合适的窗函数进行加权作为FIRDF的单位脉冲响应h(n)。 窗函数设计FIR滤波器基本原理1) 根据对过渡带及阻带衰减的指标要求,选择窗函数的类型,并估计窗口长度N。l 按照阻带衰减选择窗函数类型。保证阻带衰减满足要求下,尽量选择主瓣窄的窗函数。l 根据过渡带宽度估计窗口长度N。待求

15、滤波器的过渡带宽度近视等于窗函数主瓣宽度,且近视与窗口长度N成反比,A取决于窗口类型。2) 构建希望逼近的频率响应函数,即 (2-3) “标准窗函数法”:选择为线性相位理想滤波器(理想低通、理想高通、理想带通、理想带阻)。以低通滤波器为例,应满足: (2-4) (2-5) 3) 计算 (2-6) 公式法: (2-7) IFFT法:对M点等间隔抽样: 计算其IFFT,得: (2-8) 当M>>N时, 4)加窗得到设计结果: (2-9)2.2.2 设计步骤l 用窗函数法设计FIRDF的具体设计步骤如下:(1) 构造希望逼近的频率响应函数。(2) 求出。(3) 加窗得到FIRDF的单位脉

16、冲响应h(n)。h(n)=w(n)。式中,w(n)称为窗函数,其长度为。如果要求设计第一类线性相位FIRDF,则要求h(n)关于点偶对称。而关于n=t点偶对称,所以要求。同时要求w(n)关于点偶对称。l 用窗函数法设计第一类线性相位FIRDF的步骤:(1) 选择窗函数类型和长度,写出才窗函数的表达式。根据阻带最小衰减选择窗函数的的类型,再根据过渡带宽度确定所选窗函数的长度。用窗函数法设计的FIRDF通带波纹幅度近似等于阻带波纹幅度。一般阻带最小衰减达到40dB以上,则通带最大衰减就小于0.1dB。所以用窗函数法设计FIRDF时,通常只考虑阻带最小衰减就可以了。(2) 构造希望逼近的频率响应函数

17、。根据设计需要,一般选择线性相位理想滤波器(理想低通、理想高通、理想带通、理想带阻)。理想滤波器的截止频率近似为最终设计的FIRDF的过渡带中心频率,幅度函数衰减一半(约-6dB)。所以一般取,和分别为通带边界频率和阻带边界频率。(3) 计算。(4) 加窗得到设计结果:h(n)=w(n) (2-10)第3章 系统设计与仿真结果分析3.1 设计流程用麦克风采集一段音乐将格式改为.wav加入单频噪声对语音信号进行频谱分析,画出时域和频域波形图用汉宁窗设计FIR滤波器画出其频率响应用FIR滤波器对语音信号进行滤波画出语音信号滤波前后波形并且进行比较分析开始结束图3.1 系统设计流程框图3.2 采集音

18、乐信号在网络中找到自己想要的歌曲文件,并下载下来,即可对音乐文件进行文件格式转换及声音属性的变化。 在转换过程中,将音乐格式设置为wav格式,属性设置为4.410kHz,8位,单声道,128KB/秒,然后点击确定。然后再点击文件/另存为,即可将该语音文件存在MATLAB文件下的work文件夹里。然后在Matlab软件平台下,利用函数wavread对语音信号进行采样,记住采样频率和采样点数。通过wavread函数的使用,让我们很快理解了采样频率、采样位数等概念。采集完成后在信号中加入一个单频噪声。3.3滤波器设计在该滤波器的设计中,我们给出该滤波器的性能指标如下:fpd=1800; fsd=18

19、50; fsu=1950; fpu=2000;Rp=1; As=40;截止频率也可以任意自选,在单频噪声干扰附近即可。在这里,很重要的是通带截止db值的设置。这个值一定要根据我们使用的设计滤波器的方法来设定。因为我使用的是NUTTALLWIN窗法,NUTTALLWIN窗函数中,滤波器的过渡带宽为15.4,最小阻带衰减为108db。所以,一定要将通带截止db值设置的小于108,所以,我将其设置为100db。在这里我是使用窗函数法设计上面要求的FIR滤波器。在Matlab中,利用NUTTALLWIN窗设计FIR滤波器,利用Matlab中的函数freqz画出该滤波器的频率响应。首先,我们利用数字信号

20、处理里面学过的知识,根据自己选定的参数,用指定的方法设计FIR滤波器,得到FIR滤波器的阶数M。随后调用nuttallwin (M)函数产生M阶的NUTTALLWIN窗。然后,调用自编ideal_lp函数计算理想带阻滤波器的脉冲响应。最后,再调用自编freqz_m(h_bs,1)函数即可计算得到该滤波器的频率特性。在将滤波器设计好,频率特性求出来之后,编写程序,来画出该带阻滤波器的特性图。 通过附录的第二段程序得到的图如下图3.2所示。图 3.2 滤波器的特性图图3.2为带阻滤波器的特性图。通过四幅图可以总结出,通带截止db值的设置是很重要的。这个值一定要根据我们使用的设计滤波器的方法来设定。

21、因为我使用的是NUTTALLWIN窗法,NUTTALLWIN窗函数中,滤波器的过渡带宽为15.4,最小阻带衰减为108db。所以,一定要将通带截止db值设置的小于108,所以,我将其设置为100db。之后调用各个函数,取得的频率响应、脉冲响应、频率特性等。3.4 信号滤波处理在将滤波器设计好后,我们用自己设计的带阻滤波器对采集的语音信号进行滤波。在Matlab中,FIR滤波器利用函数fftfilt对信号进行滤波。3.5 结果分析在将加噪信号滤波之后,我们将滤波前后语音信号的波形及频谱图相互比较。在同一张大图里分别绘制原始信号x,加噪信号y,滤波去噪信号y_fil的时域波形和频谱,以便比较和分析

22、。经过附录里的第三段程序画出来的三个信号的时域波形和频谱图如下图3.3所示。图 3.3 三个信号的时域波形和频谱图比较从图3.3中我们可以看出,原信号与滤波去噪信号的时域图基本相似,只有边缘部分有点差异;原信号与滤波去噪信号的频谱图波形也大致相似。通过观察可以看到,加噪信号的时域图中大部分都被加入的噪声给遮盖了,加噪信号的频谱图中,我们可以很明显地看到与原信号频谱图相比,它在1900Hz左右处有一个尖脉冲,而滤波去噪信号的频谱图中该尖脉冲已经消失,波形大致与原图相似,可见滤波去噪效果基本不错。在将三个信号的时域波形和频谱图比较之后,我们还要通过回放去滤波去噪语音信号,来跟原信号相比,以检验滤波

23、器的效果。在Matlab中,函数sound可以对声音进行回放。其调用格式为:sound (x,fs,bits)。我用sound(y_fil,fs,bits)语句回放该滤波去噪信号,便可以感觉到滤波后的语音信号与原信号差不多,但仍有一点点变化。3.6 小结本文主要是通过使用NUTTALLW窗设计一个FIR滤波器以对音乐信号进行滤波去噪处理。本文首先通过麦克风采集一段音乐信号,依据对该信号的频谱分析,给定相关指标。以MATLAB软件为平台,采用NUTTALLW窗设计满足指标的FIR滤波器,以该音乐信号进行滤波去噪处理。通过对比滤波前后的波形图,深入了解滤波器的基本方法。通过程序调试及完善,该设计基

24、本满足设计要求。FIR滤波器的设计方法主要分为两类:第一类是基于逼近理想滤波器器特性的方法包括窗函数法、频率采样法、和等波纹最佳逼近法;第二类是最优设计法。本文设计主要采用的是第一类设计方法,是利用汉宁窗函数法设计FIR滤波器对一段语音进行滤波去噪,通过这一过程,对滤波前后波形进行对比分析得到结论。此课程设计比较简单,主要是将书本中的知识运用到现实中,并且根据自己对设计题目的理解,运用软件编写出程序实现这一设计,也是我们对数字信号处理的原理进行验证的一个过程。参考文献1 程佩青.数字信号处理教程M.北京:清华大学出版社,2002.2 刘敏,魏玲.Matlab通信仿真与应用M.北京:国防工业出版

25、社,2001.3 Sanjit K.Mitra 著,孙洪,余翔宇译,数字信号处理实验指导书M,北京:电子工业出版社,20054 Edward W.Kamen,Bonnie S.Heck 编,信号与系统基础应用Web和MATLAB(第二版)M,北京:科学出版社,2002.5 张贤达编,现代信号处理(第二版)M,北京:清华大学出版社,2002.附录语音信号滤波去噪用NUTTALLWIN窗设计的滤波器源程序清单/ 程序名称:1.m/ 程序功能:在Matlab中,用NUTTALLWIN窗法设计滤波器 x,fs,bits=wavread('1.wav');sound(x,fs,bits)

26、; %按指定的采样率和每样本编码位数回放N=length(x); % 计算信号x的长度fn=1900; t=0:1/fs:(N-1)/fs; % 计算时间范围,样本数除以采样频率x=x(:,1);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:length(X)/2); Y=Y(1:length(Y)/2); %截取前半部分 deltaf=fs/2/length(X); %计算频谱的谱线间隔f=0:

27、deltaf:fs/2-deltaf; %计算频谱频率范围figure (1);subplot(2,2,1);plot(t,x);grid on;xlabel('时间');ylabel('原始信号');subplot(2,2,2);plot(f,X);grid on;xlabel('时间');ylabel('加入的噪声信号');subplot(2,2,3);plot(t,y);grid on;xlabel('频率');ylabel('原始信号频谱');subplot(2,2,4);plot(f,Y)

28、;grid on;xlabel('频率');ylabel('加入的噪声信号频谱');fpd=1800;fsd=1850;fsu=1950;fpu=2000;Rp=1;As=100; %带阻滤波器设计指标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;M=ceil(15.4*pi/dw)+1; %计算nuttallwin窗设计该滤波器时需要的阶数n=0:M-1; %定义时间范围w_ham= nuttallwin (M); %产生M阶的nuttallwin窗hd_bs=ideal_lp(wcd,M)+ideal_lp(pi,M)-ideal_lp(wcu,M); % 调用自编函数计算理想带阻滤波器的脉冲响应h_bs=w_ham'.*hd_bs; %用窗口法计算实际滤波器脉冲响应 db,mag,pha,grd,w=freqz_m(h_bs,1); %调用自编函数计算滤波器的频率特性

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论