1、 2) 具有完备的图形处理功能,实现计算结果和编程的可视化; 3) 友好的用户界面及接近数学表达式的自然化语言,使学者易于学习和掌握;4) 功能丰富的应用工具箱(如信号处理工具箱、通信工具箱等) ,为用户提供了大量方便实用的处理工具。2 设计原理2.1 FIR滤波器FIR(Finite Impulse Response)滤波器:有限长单位冲激响应滤波器,是数字信号处理系统中最基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位抽样响应是有限长的,因而滤波器是稳定的系统。因此,FIR滤波器在通信、图像处理、模式识别等领域都有着广泛的应用。有限长单位冲激响应(FIR)滤波器
2、有以下特点: (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)就是说,它有(N1)阶极点在z = 0处,有(N1)个零点位于有限z平面的任何位置。FIR滤波器的基本结构有:横截型(卷积型、直接型)、级联型、频率抽样型、快速卷积结构。 FIR滤波器的基本设计方法有:窗口设计
3、法、频率采样设计法、最优等波纹设计法。2.2最优等波纹设计法 窗口法设计和频率采样设计都存在某些缺陷。首先,在设计中不能将边缘频率和精确地给定。其次,不能够同时标定波纹因子1和2。最后,近似误差(即理想响应和实际响应之间的差)在频率区间上不是均匀分布的。而最优等纹波设计法能解决上面三个问题。 对于线性相位FIR滤波器来说,有可能导得一组条件,对这组条件能够证明,在最大近似误差最小化的意义下这个设计解是最优的(有时就称最大值最小或切比雪夫(Chebyshev)误差)。具有这种性质的滤波器就是通过最优等波纹设计法设计得到的等波纹滤波器。 切比雪夫近似问题现在能定义为: 确定这组系数或或等效为a(n
4、)或b(n)或c(n)或d(n)以使在通带和阻带内E(w)的最大绝对值最小,即 (2.2) 交错点定理: 设S是闭区间0,内任意闭合子集,为使P()是在S上对的唯一最大值最小近似,其必要与充分条件是E()在S内至少呈现出(L+2)个“交错点”或极值频率;这就是说,在S内一定存在(L+2)个频率 使之有E()=-E()= (2.3) 将这个定理与前面的结论结合在一起,表明最优等波纹滤波器在S内它的误差函数不是有(L+2)个就是有(L+3)个交错点。 Parks-McClellan算法: 假定滤波器长度M(或L)和比值已知,选取加权函数,正确的选定阶M,当这个解得到时就有。M和是互为关联的;M愈大
5、,就愈小。近似的M可由下面这个公式得到。 (2.4) Parks-McClellan算法从估算(L+2)个极值频率开始并估计出在这些频率上的最大误差然后通过(2.3)式给出的点拟合一个L阶多项式。在一个很细的密度上确定局部最大误差,并在这些新的极值上调整极值频率。通过这些新的极值频率又拟合出一个新的L阶多项式,这个过程一直重复下去。这一迭代过程一直持续到最优一组频率和全局最大误差被找到为止。最后脉冲响应被计算出来。 由于是对M的近似,最大误差可能不等于若是这样,那么必须增大M(若),或者减小M(若),再求出一个新的重复这个过程直到为止。这样,最优等波纹FIR滤波器就确定了。Parks-McCl
6、ellan算法在MATLAB中作为一个称为firpm的函数是可以得到的,这个函数一种的句法是h=firpm(N,f,m,weights);设计一N阶(注意,滤波器长度是M=N+1)FIR数字滤波器,其频率响应由数组f和m给定。数组f包含以为单位的频带边缘频率,也即0.0fAs,完成 N 413 M=N+1M = 414 %滤波器长度M=N+1(2) 画图分析滤波器的各参数 n=0:M; subplot(2,2,1);stem(n,h);axis(0,M,-0.1,1)xlabel(nylabel(h(n)title(滤波器脉冲响应图grid on subplot(2,2,2);plot(w/p
7、i,db); axis(0,1,-60,5); set(gca,Xtick,0,(wp1+ws1)/(2*pi),(wp2+ws2)/(2*pi),1,Ytick,-50,-1); xlabel(w/pidB滤波器幅度响应图 subplot(2,2,3);plot(w/pi,pha); axis(0,1,-4,4);相位滤波器相位响应图 subplot(2,2,4);plot(w/pi,mag); axis(0,1,0,1.1);幅度mag图 3.4 最优等波纹的滤波器 用最优等波纹法设计的FIR滤波器的各参数特性如图3.4所示。观图可知,FIR滤波器符合设计要求。3.4 信号滤波处理用滤波器
8、对信号进行滤波y_fil,ny=conv_m(y1,t,h,n); %用设计好的滤波器处理干扰后的音乐信号 y_fil=y_fil(1:40000); %限定滤波后信号的长度 Y_fil=abs(fft(y_fil); % 对原始信号和加噪信号进行fft变换,取幅度谱 Y_fil=Y_fil(1: % 截取前半部分3.5 结果分析(1) 在波形及频谱上比较滤波前后音乐信号subplot(3,2,1);plot(t,y);axis(0,5,-1.3,1.3);时间(单位:s)幅度原始音乐信号 subplot(3,2,2);plot(f,Y);频率(单位:Hz)幅度谱音乐信号幅度谱图 subplo
9、t(3,2,3);plot(t,y1);加入单频干扰后的音乐信号 subplot(3,2,4);plot(f,Y1);axis(0,4000,0,1500);加入干扰后的音乐信号幅度谱图 subplot(3,2,5);plot(t,y_fil);滤波后的音乐信号subplot(3,2,6);plot(f,Y_fil);滤波后音乐信号幅度谱图图. 滤波后信号幅度和频谱与原始信号和加噪后信号的比较 分析图3.5,通过FIR滤波器处理后的音乐信号和原始音乐信号在时域上基本相同,只是在频域1500Hz左右衰减较严重。(2) 在回放中比较滤波前后音乐信号wavplay(y,Fs); %播放原始音乐信号w
10、avplay(y1,Fs); %播放加入单频噪声的音乐信号wavplay(y_fil,Fs); %回放滤波后的音乐信号,与原始信号进行对比 通过在Matlab上回放原始音乐信号、加噪后的音乐信号和滤波后的音乐信号进行比较,滤波后的音乐信号在音质上和原始音乐基本相同,说明设计的FIR滤波器滤波效果较明显,设计成功。4 出现的问题及解决方法1、加入的噪声如果不限定其振幅,对原始信号的影响较大。为了便于观察和分析,限定其振幅为0.3的单频噪声(0.3*sin(fn*2*pi*t)。2、在开始录制音乐信号并将其导入MATLAB中的时候出现过错误,原因是我录制的语音信号是双音频信号,不符合要求,在老师的
11、指导下我将语音信号变成了单声道信号,再次导入的时候MATLAB不再报错。3、在用最优等波纹法设计FIR滤波器的时候,因为本滤波器的设计指标相对较高,所以最后得到的滤波器的阶数会比较大,如果迭代运算时N的值每次只加1,会很耗时。为了解决这个问题,在通过firpmord函数得到近似的滤波器的阶后,开始可以将N的值每次加大点的数值,到发现Asd的值和As很接近了的时候,再减小N每次加的数值,直到Asd刚大于或等于As。4、在用设计好的FIR滤波器处理加噪信号时,不太会用fftfilt函数,所以就使用conv_m代替。这两个函数的内部算法应该差不多,也达到了同样的效果。5 结束语 通过本次课程设计,我
12、对数字信号处理有了更具体的认识,更深地了解了滤波器的设计一般设计步骤,尤其是对利用最优等波纹法设计FIR滤波器。 在本次课程设计中,我的题目是音乐信号的滤波去噪,相对平时作业题更贴近现实。不像作业中设计滤波器最多是处理余弦信号等,处理音乐信号让我更形象地认识到滤波器在实际生活中的应用,也增强了学习兴趣。还有就是在写课程设计报告时,你需要对原先课堂上学的知识有更透彻的认识,能对其原理和来龙去脉一清二楚。所以写报告在一定程度上也是整理思路,加深对课程的理解。 课程设计是我们运用所学知识,动手实践的一个很好的机会。它既可以帮助我们加深对所学知识的理解,又能提高我们运用知识,联系实际,动手实践的能力。
13、而且在设计过程中可能用到我们没学过的知识,需要我们去查阅资料获取相关信息,这又提高了我们查找信息和学习新知识的能力。在实物的调试与检测过程中,又会遇到许多意想不到的问题,需要我们去分析原因和解决问题。也体会到真正的去独立地完成一件事情是很困难的,同学以及老师的帮助和提醒是必须的。通过这次课程设计,我拓宽了知识面,锻炼了实际操作能力,综合素质也得到了提高,进一步加深了了我们对专业的认识和激发了我们对专业的兴趣。虽然课程设计结束了,但是我们的学习还没结束,对知识的进一步学习还需要继续,很开心成功地完成了这次设计。6 参考文献1 美维纳K英格尔,约翰G普罗克斯.刘叔棠.数字信号处理(MATLAB版)
14、Digital Signal Processing Using MATLAB.第2版.西安:西安交通大学出版社,2008年2 张志涌 等.精通MATLAB 6.5版.北京:北京航空航天大学出版社,2003年3 邵玉斌.Matlab/Simulink通信系统建模与仿真实例分析. 北京:清华大学出版社,20084 邓华MATLAB通信仿真及应用实例详解北京:国防工业出版社,2003附录1:音乐信号滤波去噪使用最优等波纹法设计的FIR滤波器 程序一:%放出原音频wangjun1.wav% 输入参数为文件的全路径和文件名,%输出的第一个参数是每个样本的值,%fs是生成该波形文件时的采样率,%bits是波形文件每样本的编码位数。程序二:%原音乐信号和加噪后的音乐信号的时域和频域的波形图绘制 % 应该可以明显听出有尖锐的单频啸叫声% 截取前半部分subplot(2,2,1);plot(t,x);时间(t) title(axis(0,2.5,-1.5,1.5);grid on;subplot(2,2,2);plot(f,X);频率(f)原始音乐信号幅度谱axis(0,800,0,800);subplot(2,2,3);加干扰后的音乐信号subplot(2,2,4);加干扰后的音乐信号幅度谱axis(0,800,0,800);程序三: % 调用自编函数计算滤
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1