您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 畜牧/养殖 > 音乐信号滤波去噪——使用最优等波纹法设计的FIR滤波器
***音乐信号滤波去噪——使用最优等波纹法设计的FIR滤波器第1页共17页音乐信号滤波去噪——使用最优等波纹法设计的FIR滤波器学生姓名:***指导老师:***摘要本课程设计是设计和使用FIR滤波器滤除信号中的噪声。本次设计是在MATLAB软件平台上进行的,采用最优等波纹法设计FIR滤波器。原始信号是录音采集的音乐信号,加入一个单频噪声后当作干扰后的信号,通过设计的FIR滤波器还原成原始信号。本次课程设计中设计的滤波器起到了很好的滤波作用,滤波后的信号和原始信号基本一样,达到了设计目的。关键词音乐信号;FIR滤波器;最优等波纹法;MATLAB1引言滤波器作为通信系统的基本模块,是指执行信号处理功能的电子系统,它专门用于去除信号中不想要的或者增强所需成分。根据性质,滤波器可以分为非线性的、线性的、时不变的、时变的(自适应的),连续的、离散的(数字的)、无限脉冲响应(IIR)的、有限脉冲响应(FIR)的等。选择和过滤信号是滤波器的重要功能。从频率域上看,就是将有用的信号频率成分选择出来,而阻止其他频率成分的信号或干扰。根据信号过滤的频域特征,又可将滤波器分为低通、带通、高通、带通、带阻、全通以及梳状滤波器等类型。能够通过滤波器的信号频率部分称为通带,而被阻止的频率部分称为阻带。1.1课程设计的目的(1)巩固和扩大所学数字信号处理,信号与系统及通信原理等专业课程的知识。(2)综合使用这些知识和技术完成通信系统中的数字信号处理算法的设计,激发学习兴趣和培养独立思考和动手能力。***音乐信号滤波去噪——使用最优等波纹法设计的FIR滤波器第2页共17页1.2课程设计的要求进一步熟悉数字信号处理算法和数字信号处理系统。(1)将课程设计内容用MATLAB实现。(2)设计过程中,要求独立思考,刻苦钻研,按时、全面的完成规定的设计任务。(3)设计报告必须由设计者独立编写,不得抄袭。报告内容简明扼要,条例清楚。(4)按时完成设计任务,准时上交设计报告的打印件。1.3设计平台本次课程设计的设计平台是MATLAB。MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。MATLAB的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。附加的工具箱(单独提供的专用MATLAB函数集)扩展了MATLAB环境,以解决这些应用领域内特定类型的问题。特点1)高效的数值计算及符号计算功能,能使用户从繁杂的数学运算分析中解脱出来;2)具有完备的图形处理功能,实现计算结果和编程的可视化;3)友好的用户界面及接近数学表达式的自然化语言,使学者易于学习和掌握;4)功能丰富的应用工具箱(如信号处理工具箱、通信工具箱等),为用户提供了大量方便实用的处理工具。2设计原理2.1FIR滤波器FIR(FiniteImpulseResponse)滤波器:有限长单位冲激响应滤波器,是数字信号处理***音乐信号滤波去噪——使用最优等波纹法设计的FIR滤波器第3页共17页系统中最基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位抽样响应是有限长的,因而滤波器是稳定的系统。因此,FIR滤波器在通信、图像处理、模式识别等领域都有着广泛的应用。有限长单位冲激响应(FIR)滤波器有以下特点:(1)系统的单位冲激响应h(n)在有限个n值处不为零;(2)系统函数H(z)在|z|0处收敛,极点全部在z=0处(因果系统);(3)结构上主要是非递归结构,没有输出到输入的反馈,但有些结构中(例如频率抽样结构)也包含有反馈的递归部分。设FIR滤波器的单位冲激响应h(n)为一个N点序列,0≤n≤N—1,则滤波器的系统函数为H(z)=∑h(n)*z^-n(2.1)就是说,它有(N—1)阶极点在z=0处,有(N—1)个零点位于有限z平面的任何位置。FIR滤波器的基本结构有:横截型(卷积型、直接型)、级联型、频率抽样型、快速卷积结构。FIR滤波器的基本设计方法有:窗口设计法、频率采样设计法、最优等波纹设计法。2.2最优等波纹设计法窗口法设计和频率采样设计都存在某些缺陷。首先,在设计中不能将边缘频率p和s精确地给定。其次,不能够同时标定波纹因子δ1和δ2。最后,近似误差(即理想响应和实际响应之间的差)在频率区间上不是均匀分布的。而最优等纹波设计法能解决上面三个问题。对于线性相位FIR滤波器来说,有可能导得一组条件,对这组条件能够证明,在最大近似误差最小化的意义下这个设计解是最优的(有时就称最大值最小或切比雪夫(Chebyshev)误差)。具有这种性质的滤波器就是通过最优等波纹设计法设计得到的等波纹滤波器。切比雪夫近似问题现在能定义为:确定这组系数)(~na或)(~nb或)(~nc或)(~nd[或等效为a(n)或b(n)或c(n)或d(n)]以使在通带和阻带内E(w)的最大绝对值最小,即)](maxmin[ES(2..2)***音乐信号滤波去噪——使用最优等波纹法设计的FIR滤波器第4页共17页交错点定理:设S是闭区间[0,π]内任意闭合子集,为使P(ω)是在S上对)(drH的唯一最大值最小近似,其必要与充分条件是E(ω)在S内至少呈现出(L+2)个“交错点”或极值频率;这就是说,在S内一定存在(L+2)个频率i使之有E(i)=-E(1i)=|)(|maxES(2.3)SL110,将这个定理与前面的结论结合在一起,表明最优等波纹滤波器在S内它的误差函数不是有(L+2)个就是有(L+3)个交错点。Parks-McClellan算法:假定滤波器长度M(或L)和比值12/已知,选取加权函数,正确的选定阶M,当这个解得到时就有2。M和是互为关联的;M愈大,就愈小。近似的M可由下面这个公式得到。psM;1285.213log20ˆ2110(2.4)Parks-McClellan算法从估算(L+2)个极值频率{i}开始并估计出在这些频率上的最大误差。然后通过(2.3)式给出的点拟合一个L阶多项式。在一个很细的密度上确定局部最大误差,并在这些新的极值上调整极值频率{i}。通过这些新的极值频率又拟合出一个新的L阶多项式,这个过程一直重复下去。这一迭代过程一直持续到最优一组频率{i}和全局最大误差被找到为止。最后脉冲响应被计算出来。由于是对M的近似,最大误差可能不等于2。若是这样,那么必须增大M(若2),或者减小M(若2),再求出一个新的。重复这个过程直到2为止。这样,最优等波纹FIR滤波器就确定了。Parks-McClellan算法在MATLAB中作为一个称为firpm的函数是可以得到的,这个函数一种的句法是[h]=firpm(N,f,m,weights);设计一N阶(注意,滤波器长度是M=N+1)FIR数字滤波器,其频率响应由数组f和m***音乐信号滤波去噪——使用最优等波纹法设计的FIR滤波器第5页共17页给定。数组f包含以π为单位的频带边缘频率,也即0.0f1.0,这些频率必须是是以递增的次序从0.0开始,并以1.0终结。数组m包含有在f所给定频率上的期望幅度响应。数组weights给出了再每个频带内的加权函数。为了估计出滤波器的阶N,SP工具箱提供了函数firpmord。这个函数也能估计在firpm函数中用到的其他参数。这个基本语法是[N,f0,m0,weights]=firpmord(f,m,delta);这个函数计算窗的阶N,在f0中的归一化频带,m0中的振幅响应,以及在weights中的频带加权值。向量f是归一化频带边缘频率向量,m是由f定义的频带上给定期望振幅值的向量。F的长度小于两倍m的长度,也即f不包括0或1。向量delta给定在每个频带内的容度。估计出的参数现在能用于firpm函数。3设计步骤3.1设计流程图录音原始音乐信号噪声干扰后的音乐信号播放FIR滤波器滤波后的音乐信号播放幅度、频谱分析幅度、频谱分析幅度、频谱分析音乐1音乐2音乐3对比对比图3.1总体设计流程图***音乐信号滤波去噪——使用最优等波纹法设计的FIR滤波器第6页共17页估猜滤波器的阶N得到滤波器系数判断最小阻带衰减Asd是否大于等于AsM=N+1完成,最后一次得到的滤波器系数即最终设计值N=N+1或N=N-1设计指标YESNO图3.2最优等波纹法设计FIR滤波器流程图本课程设计的总体设计流程如图3.1所示。利用最优等波纹法设计FIR滤波器的流程图如图3.2所示。3.2录制语音信号(1)音乐信号的采集本课程设计的原始信号是在Matlab软件平台下通过wavrecord函数录制的一段音乐信号(歌曲“伤心太平洋”中的一段)。利用函数wavrecord对语音信号进行采样,记住采样频率和采样时间。通过wavrecord函数的使用,很快理解了采样频率、采样时间等概念。采集完成后在信号中加入一个频率1500Hz的单频噪声,设计的任务即为从含噪信号中滤除单频噪声,还原原始信号。Fs=8000;%设置录音采样率为8000次/sT=5;%录音时间长度为5sy=wavrecord(T*Fs,Fs);%以double格式记录样值,单声道,输出值y在-1~1之间%回车之后开始录音,5s之后将自动执行下一句***音乐信号滤波去噪——使用最优等波纹法设计的FIR滤波器第7页共17页wavplay(y,Fs);%播放刚刚录音的结果N=length(y);%计算信号y的长度fn=1500;%单频噪声频率,此参数可改t=0:1/Fs:(N-1)/Fs;%计算时间范围,样本数除以采样频率y=y';y1=y+0.3*sin(fn*2*pi*t);%加入单频噪声wavplay(y1,Fs);%播放加入单频噪声的音乐信号(2)原始信号和加噪信号的幅度和频谱分析首先画出原始信号和加噪信号的时域波形;然后对原始信号和加噪信号进行快速傅里叶变换,得到信号的频谱特性。Y=abs(fft(y));Y1=abs(fft(y1));%对原始信号和加噪信号进行fft变换,取幅度谱Y=Y(1:N/2);Y1=Y1(1:N/2);%截取前半部分deltaf=Fs/N;%计算频谱的谱线间隔f=0:deltaf:Fs/2-deltaf;%计算频谱频率范围subplot(2,2,1);plot(t,y);axis([0,5,-1.3,1.3]);gridonxlabel('时间(单位:s)');ylabel('幅度');title('原始音乐信号');subplot(2,2,2);plot(f,Y);gridonxlabel('频率(单位:Hz)');ylabel('幅度谱');title('音乐信号幅度谱图');subplot(2,2,3);plot(t,y1);axis([0,5,-1.3,1.3]);gridonxlabel('时间(单位:s)');ylabel('幅度');title('加入单频干扰后的音乐信号');subplot(2,2,4);plot(f,Y1);axis([0,4000,0,1500]);gridonxlabel('频率(单位:Hz)');ylabel('幅度谱');title('加入干扰后的音乐信号幅度谱图');***音乐信号滤波去噪——使用最优等波纹法设计的FIR滤波器第8页共17页012345-1-0.500.51时间(单位:s)幅度原始音乐信号010002000300040000200400600800频
本文标题:音乐信号滤波去噪——使用最优等波纹法设计的FIR滤波器
链接地址:https://www.777doc.com/doc-6494296 .html