音乐信号滤波去噪—用凯塞窗设计的FIR滤波器
基于Kaiser的FIR数字滤波器设计报告书

课程设计课程设计名称:基于Kaiser窗的FIR数字低通滤波器设计专业班级:电信1003班学生姓名:董成成学号: 201046830509指导教师:李相国课程设计时间:2013年6月电子信息工程专业课程设计任务书学生姓名董成成专业班级电信1003班学号201046830509题目基于Kaiser窗的FIR数字低通滤波器设计课题性质工程技术研究课题来源自拟课题指导教师李相国同组姓名主要内容设计一个具有如下性能指标的FIR数字低通滤波器:pω=0.25π,sω=0.4π,pδ=0.01,sδ=0.001;窗函数为Kaiser窗;分析最后设计结果性能。
任务要求1.温习窗函数法设计数字FIR滤波器的原理和设计方法;2.求出最后所设计出的滤波器冲激响应系数;3.绘制所设计滤波器的增益响应曲线。
参考文献[1] 胡广书. 数字信号处理—理论、算法与实现[M]. 北京: 清华大学出版社, 1997.[2] R. Lyons. Understanding Digital Signal Processing [M]. 2nd ed.Prentice Hall PTR., 2004.[3] A.V.奥本海姆, R.W.谢弗and J.R.巴克. 离散时间信号处理[M].第二版. 西安交通大学出版社, 2001.[4] S. K. Mitra. Digital Signal Processing: A Computer-BasedApproach[M]. 3rd ed. McGraw-Hill, 2005.审查意见指导教师签字:教研室主任签字:年月日说明:本表由指导教师填写,由教研室主任审核后下达给选题学生,装订在设计(论文)首页1 需求分析基于Kaiser 窗的FIR 低通滤波器是利用Kaiser 函数截取无限冲击响应h(n),最后利用函数freqz 得到加窗后的滤波器的幅频响应和相频响应。
2 概要设计(1)代入参数值,计算ω∆、c ω、As 、β、M 的值: omegap=0.25*pi;omegas=0.4*pi;deltap=0.01;deltas=0.001; omegac=(omegap+omegas)/2; deltaomega=omegas-omegap; As=-20*log10(deltas); beta=0.1102*(As-8.7);M=ceil((As-8)/(2.285*deltaomega));(2)定义定义域,Kaiser 函数求得)(t k ω,截取冲击响应h(n)得出滤波器时域值h,并求其频域特性:开始读入窗口长度M计算h d (n)用Kaiser 窗函数求w(n)计算H(k)=frez[h(n)]绘图子(函数)绘制H(k)幅度相位曲线结束图6-1 主程序框图计算h(n)= h d (n) w(n)n=0:M;p=M/2;wk=kaiser(M+1,beta);h=(sin(omegac*(n-p))./(pi*(n-p+eps))).*wk';[H,w]=freqz(h,1);(3)定义定义域,画滤波特性Nc=fix(omegac/(pi/length(w)));>> Hd=[ones(1,Nc),zeros(1,length(w)-Nc)];>> N=length(h);L=N/2;>> b=2*(h(L:-1:1));k=[1:1:L];k=k-0.5;w1=[0:1:511]'*pi/512; >> A2=cos(w1*k)*b';>> E=Hd-A2';>> subplot(3,1,1)>> stem(n,h,'fill','MarkerSize',2)>> axis([0,N,-0.1,0.5])>> subplot(3,1,2)>> plot(w,20*log10(abs(H)))>> axis([0 pi -100 10])>> subplot(3,1,3)>> plot(w,E)>> axis([0 pi -0.001 0.001])3 运行环境Window2003系统和Win7系统4 开发工具和编程语言Matlab软件、Matlab语言5 详细设计>> clear;----【清除变量】----------------------------------omegap=0.25*pi;omegas=0.4*pi;deltap=0.01;deltas=0.001; omegac=(omegap+omegas)/2; deltaomega=omegas-omegap;-----【利用p s ωωω-=∆ 2/)(s p c ωωω+=计算得出ω∆和c ω】----------As=-20*log10(deltas); beta=0.1102*(As-8.7);M=ceil((As-8)/(2.285*deltaomega));----【利用s As δlg 20-= )7.8(1102.0-⨯=As β ω∆-=285.295.7As M 算得As 、β和阶数M 】------------------------------------------------ n=0:M; p=M/2;wk=kaiser(M+1,beta);h=(sin(omegac*(n-p))./(pi*(n-p+eps))).*wk';--------【根据Kaiser 函数求得)(t k ω,截取冲击响应)()](sin[)(p n p n c n h --=πω得到滤波器时域表达式】-----------------------------------------[H,w]=freqz(h,1); -------【利用frez函数求出滤波器频域的表达式】----------------------------------------Nc=fix(omegac/(pi/length(w)));>> Hd=[ones(1,Nc),zeros(1,length(w)-Nc)]; >> N=length(h);L=N/2;>> b=2*(h(L:-1:1));k=[1:1:L];k=k-0.5;w1=[0:1:511]'*pi/512;>> A2=cos(w1*k)*b';>> E=Hd-A2';>> subplot(3,1,1)>> stem(n,h,'fill','MarkerSize',2)>> axis([0,N,-0.1,0.5])>> subplot(3,1,2)>> plot(w,20*log10(abs(H)))>> axis([0 pi -100 10])>> subplot(3,1,3)>> plot(w,E)>> axis([0 pi -0.001 0.001])----------【定义定义域,画滤波特性,所利用的函数有:fix取整函数,ones 生成全1矩阵,zeros生成全零矩阵,subplot画子图,plot画图函数,axis 函数规定横纵坐标范围】---------------------------------6 调试分析此次课程设计没有调用子函数,整个程序实现得出基于Kaiser窗函数的滤波特性,在编写的过程中,通过查阅Matlab书籍和数字信号处理教科书,不断完善,不断修改,得到理想的实验结果。
用窗函数设计FIR滤波器

实验六 用窗函数设计FIR 滤波器1.实验目的(1) 熟悉FIR 滤波器设计的方法和原理(2) 掌握用窗函数法设计FIR 滤波器的方法和原理,熟悉滤波器的特性 (3) 了解各种窗函数滤波器特性的影响2.实验原理FIR 滤波器的设计方法主要有三种:窗函数法、频率取样法、切比雪夫等波纹逼近法。
FIR 滤波器的设计是要寻求一系统函数)(z H ,使其频率响应)(ωj eH 逼近滤波器要求的理想频率响应,其对应的单位脉冲响应)(n h d 。
(1)用窗函数设计FIR 滤波器的基本方法在时域用一个窗函数截取理想的)(n h d 得到)(n h ,以有限长序列)(n h 近似逼近理想的)(n h d ;在频域用理想的)(ωj d e H 在单位圆上等角度取样得到h(k),根据h(k)得到H(z)将逼近理想的Hd(z)。
设理想滤波器)(ωj d e H 的单位脉冲响应为)(n h d 。
以低通线性相位FIR 数字滤波器为例。
⎰∑--∞-∞===ππωωωωωπd e e H n h e n h e H jn j d d jn n dj d )(21)()()()(n h d 一般是无限长的、非因果的,不能直接作为FIR 滤波器的单位脉冲响应。
要想得到一个因果的有限长的滤波器h(n),最直接的方法是截断)()()(n w n h n h d =,即截取为有限长因果序列,并用合适的窗函数进行加权作为FIR 滤波器的单位脉冲响应。
按照线性相位滤波器的要求,h(n)必须是偶对称的。
对称中心必须等于滤波器的延时常数,即⎩⎨⎧-==2/)1()()()(N a n w n h n h d 用矩形窗设计的FIR 低通滤波器,所设计滤波器的幅度函数在通带和阻带都呈现出振荡现象,且最大波纹大约为幅度的9%,(现象称为吉布斯(Gibbs )效应)。
(2)典型的窗函数(a )矩形窗(Rectangle Window))()(n R n w N =其频率响应和幅度响应分别为:21)2/sin()2/sin()(--=N j j eN e W ωωωω,)2/sin()2/sin()(ωωωN W R =在matlab 中调用w=boxcar(N)函数,N 为窗函数的长度 (b )三角形窗(Bartlett Window)⎪⎩⎪⎨⎧-≤<----≤≤-=121,122210,12)(N n N N n N n N n n w其频率响应为:212])2/sin()4/sin([2)(--=N j j e N N e W ωωωω在matlab 中调用w=triang(N)函数,N 为窗函数的长度(c )汉宁(Hanning)窗,又称升余弦窗)()]12cos(1[21)(n R N n n w N --=π其频率响应和幅度响应分别为:)]12()12([25.0)(5.0)()()]}12()12([25.0)(5.0{)()21(-++--+==-++--+=---N W N W W W e W eN W N W W e W R R R aj N j R R R j πωπωωωωπωπωωωωω在matlab 中调用w=hanning(N)函数,N 为窗函数的长度 (d )汉明(Hamming)窗,又称改进的升余弦窗)()]12cos(46.054.0[)(n R N n n w N --=π其幅度响应为:)]12()12([23.0)(54.0)(-++--+=N W N W W W R R R πωπωωω 在matlab 中调用w=hamming(N)函数,N 为窗函数的长度(e )布莱克曼(Blankman)窗,又称二阶升余弦窗)()]14cos(08.0)12cos(5.042.0[)(n R N n N n n w N -+--=ππ 其幅度响应为:)]14()14([04.0)]12()12([25.0)(42.0)(-++--+-++--+=N W N W N W N W W W R R R R R πωπωπωπωωω在matlab 中调用w=blackman(N)函数,N 为窗函数的长度(f )凯泽(Kaiser)窗10,)())]1/(21[1()(020-≤≤---=N n I N n I n w ββ其中:β是一个可选参数,用来选择主瓣宽度和旁瓣衰减之间的交换关系,一般说来,β越大,过渡带越宽,阻带越小衰减也越大。
音乐信号滤波去噪 ——使用CHEB窗设计的线性相位型的FIR滤波器

音乐信号滤波去噪——使用CHEB窗设计的线性相位型的FIR滤波器学生姓名:胡国庆指导老师:高明摘要本课程设计主要使用CHEB窗设计的FIR滤波器对音乐信号进行滤波去噪。
课程设计的的平台为MATLAB。
采集一段音乐信号,绘制波形并观察其频谱,给定相应技术指标,用窗函数法设计一个满足指标的FIR滤波器,对该音乐信号进行滤波去噪处理。
根据滤波后的时域图和原始音乐信号时域图的比较,以及滤波后信号的频谱图和原始音乐信号频谱图的比较,最后回放滤波后音乐信号,滤波后的音乐信号与原始音乐信号一样清晰,成功地实现了滤波,达到了设计的要求。
关键词FIR滤波器;音乐信号;滤波去噪;CHEB窗设计;MATLAB1 引言本课程设计是采用CHEB窗设计的FIR滤波器对语音信号进行滤波去噪。
通过课程设计了解FIR滤波器设计的原理和步骤,掌握用Matlab语言设计滤波器的方法,。
通过观察音乐信号滤波前后的时域波形的比较,加深对滤波器作用的理解。
通过对比滤波前后波形图的比较和放滤波前后音乐信号的对比,可以看出滤波器对有用信号无失真放大具有重大意义。
1.1 课程设计目的熟悉Matlab语言环境,掌握Matlab语言的编程规则,利用CHEB窗函数设计法来设计符合要求的FIR滤波器来实现音乐信号的滤波去噪。
并绘制滤波前后的时域波形和频谱图。
根据图形分析判断滤波器设计的正确性。
通过本次课程设计熟悉利用CHEB窗函数法设计FIR滤波器的过程。
增强自己独立解决问题的能力,提高自己的动手能力。
加深对理论知识联系实际问题的理解。
为以后的工作奠定坚实的基础。
1.2 课程设计要求下载一段音乐信号,绘制观察波形及频谱图。
根据CHEB的性能指标合理设计FIR滤波器,对音乐信号加入干扰,再用滤波器对干扰音乐信号进行滤波去噪,比较滤波前后的频谱图并进行分析。
再回放音乐信号对比原音乐信号。
看滤波器是否对音乐信号进行了滤波去噪。
1.3课程设计平台MATLAB在信号与系统中的应用主要包括符号运算和数值计算仿真分析。
实验六用窗函数法设计FIR滤波器分析解析

实验六用窗函数法设计FIR滤波器分析解析一、引言数字滤波器是数字信号处理中的重要组成部分。
滤波器可以用于去除噪声、调整频率响应以及提取感兴趣的信号。
有许多方法可以设计数字滤波器,包括窗函数法、频域法和优化法等。
本实验将重点介绍窗函数法设计FIR滤波器的原理和过程。
二、窗函数法设计FIR滤波器窗函数法是设计FIR滤波器的一种常用方法。
其基本原理是将滤波器的频率响应与理想滤波器的频率响应进行乘积。
理想滤波器的频率响应通常为矩形函数,而窗函数则用于提取有限长度的理想滤波器的频率响应。
窗函数的选择在FIR滤波器的设计中起着重要的作用。
常用的窗函数包括矩形窗、汉宁窗、汉明窗、布莱克曼窗等。
对于每种窗函数,都有不同的特性和性能指标,如主瓣宽度、副瓣抑制比等。
根据不同的应用需求,可以选择合适的窗函数。
窗函数法设计FIR滤波器的具体步骤如下:1.确定滤波器的阶数N。
阶数N决定了滤波器的复杂度,一般情况下,阶数越低,滤波器的简单度越高,但频率响应的近似程度也会降低。
2.确定滤波器的截止频率。
根据应用需求,确定滤波器的截止频率,并选择合适的窗函数。
3.根据窗函数长度和截止频率计算理想滤波器的频率响应。
根据所选窗函数的特性,计算理想滤波器的频率响应。
4.根据理想滤波器的频率响应和窗函数的频率响应,得到所需的FIR滤波器的频率响应。
将理想滤波器的频率响应与窗函数的频率响应进行乘积,即可得到所需滤波器的频率响应。
5.对所得到的频率响应进行逆傅里叶变换,得到时域的滤波器系数。
6.实现滤波器。
利用所得到的滤波器系数,可以通过卷积运算实现滤波器。
三、实验结果与分析本实验以Matlab软件为平台,利用窗函数法设计了一个低通滤波器。
滤波器的阶数为16,截止频率为500Hz,采样频率为1000Hz,选择了汉宁窗。
根据上述步骤,计算得到了所需的滤波器的频率响应和时域的滤波器系数。
利用这些系数,通过卷积运算,实现了滤波器。
为了验证滤波器的性能,将滤波器应用于输入信号,观察输出信号的变化。
凯塞窗的FIR滤波器设计

3.基于凯塞窗的FIR 滤波器设计1. 设计思路设欲设计的滤波器的理想频率响应为)(d ωj e H ,单位脉冲响应为)(n h d ,)(n h d 与)(d ωj e H 是一对傅式变换,因此有ωωjn n d j d e n h e H -∞-∞→∑=)()(ωπωωππd e e H n jn j d d )(21)(h ⎰-=根据给定的)(d ωj e H 求得的)(n h d 一般是无限长的且是非因果的。
为了得到一个因果的有限长的滤波器h(n),最直接的方法是截断)(n h d ,或者说用一个窗口函数)(n ω对)(n h d 进行加窗处理h(n)= )(n h d )(n ωh(n)成为实际设计FIR 滤波器的单位脉冲响应,其频率响应为)(ωj e H 为: ωωj N n j e n h e H ∑-==10)()( 其中N 为窗口)(n ω的长度。
窗口函数的形状和窗口长度N 决定了窗函数法设计出的FIR 滤波器的性能。
2. 设计要求及方案设计一凯塞窗的低通FIR 滤波器,要求如下:通带截止频率 wp=0.4π;阻带截止频率ws=0.7π;阻带最小衰减Rs=45dB ;3.用MTALAB 算法设计凯塞窗的低通FIR 滤波器>> wp=0.4*pi;>> ws=0.7*pi;>> DB=ws-wp; %计算过渡带宽度>> Rs=45;>> beta=0.5842*(Rs-21)^0.4+0.07886*(Rs-21); %计算凯塞窗的控制参数>> M=ceil((Rs-8)/2.285/DB); %计算凯塞窗所需阶数M>> wc=(wp+ws)/2/pi; %计算理想低通滤波器通带截止频率>> hn=fir1(M,wc,kaiser(M+1,beta)); %调用firl函数计算低通FIRDF的h(n) >> figure(1);>> plot(hn);>> xlabel('频率/Hz');ylabel('幅值');>> title('数字滤波器幅频响应|H(ejOmega)| ');>> figure(2);>> freqz(hn,1,512);仿真出的频率响应曲线如图3.1所示:图3.1:频率响应曲线相频特性及幅度特性曲线如下图3.2所示:图3.2:相频特性及幅度特性曲线。
基于Kaiser窗函数的FIR数字滤波器设计

输 入模 块 的 主要 功 能 是 完 成 对 输 入数 据 的处 理 , 窗 函数 在 设 计 FR数 字 滤 波 器 中 起 很 重 要 的作 为后续 电路 作准 备 。它主 要 由并 串转 换单 元 ( 1 a 、 I 图 - ) 图 _) 图 一 用 .正 确 的选 择 窗 函数可 以提 高所 设计 的数 字滤 波器 移位 寄存 器 单元 ( l b 和 数据 的预 相加 单 元 ( 1 的性能 . 者在 满足设 计要 求 的情 况下 , 小 FR数字 c  ̄ 成 。 或 减 I )t f (1 2 乘累 加模块 滤 波器 的阶数 调整 窗 口长度 N可 以有 效地 控 制过渡
阐述 了 FR 数 字 滤波 器 的原理 、 I 线性 相位 条 件 , 论 了窗 函数 设 计方 法 , 利 用 V 讨 并 HDL语 言基 于 K i r窗 ae s
函数进 行 FR 滤波 器的仿 真设 计 。仿真 表 明 : 助软件 设 计 实现数 字 滤波 器简便 易行 , I 借 滤波性 能指 标 能较
o ‘7 .. -】
o I E CL K
() 3 锁存模 块 锁 存模 块 ( 3 的 主要 功 能是 将 乘 累加模 块 的输 图 )
再用 8 二进 制补 码表示 为 : 位
ho= 0 ) 00 01 () h 5= 00 1 0 h2= ( ) 11 11 () h1 = l1 0 3 1 h1 h1) 11 1 ( = ( = 11 0 ) 4 10 h3= ( ) 0010 () h1 = 0000 2
图 2 累加 模 块 乘
选 择 低 通 滤 波 器 , asr 设 计 方 法 ,s 5 MH , Ki 窗 e F = z F = . MHz 阶数 为 1 e1 5 , 6位 , 线性相 位 。 计 出符合 设计 设
弹拨音乐滤波去噪—用凯塞窗设计的FIR滤波器讲解

弹拨音乐滤波去噪 -- 使用凯塞窗设计的FIR滤波器学生姓名:唐柯指导老师:胡双红摘要本课程设计主要是通过使用凯塞窗设计一个FIR滤波器以对弹拨进行滤波去噪处理。
本设计首先从网下下载一段弹拨音乐,依据对该信号的频谱分析,给定相关指标。
以MATLAB^件为平台,采用凯塞窗设计满足指标的FIR滤波器, 以该弹拨音乐进行滤波去噪处理。
通过对比滤波前后的波形图,深入了解滤波器的基本方法。
通过程序调试及完善,该设计基本满足设计要求。
关键词滤波去噪;FIR滤波器;凯塞窗函数;MATLAB1引言数字滤波器是一种用来过滤时间离散信号的数字系统,它是通过对抽样数据进行数学处理来达到频域滤波的目的。
随着现代通信的数字化,数字滤波器变得更加重要。
数字滤波器的种类很多,但总的来说可以分成两大类,一类是经典滤波器,另一类可称为现代滤波器。
从滤波特性方面考虑,数字滤波器可分成数字高通、数字低通、数字带通和数字带阻等滤波器。
从实现方法上考虑,将滤波器分成两种,一种称为无限脉冲响应滤波器,简称IIR ( Infinite Impulse Response 滤波器,另一种称为FIR ( Finite Impulse Response滤波器⑴。
设计FIR数字滤波器的方法有窗函数法、频率采样法和等波纹最佳逼近法等。
1.1课程设计目的数字信号处理(Digital Signal Processing,简称DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。
20世纪60年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。
在过去的二十多年时间里,数字信号处理已经在通信等领域得到极为广泛的应用。
数字信号处理是利用计算机或专用处理设备,以数字形式对信号进行采集、变换、滤波、估值、增强、压缩、识别等处理,以得到符合人们需要的信号形式。
在本次课程设计中,最主要的设计是设计FIR滤波器,FIR滤波器的设计方法主要分为两类:第一类是基于逼近理想滤波器器特性的方法包括窗函数法、频率采样法、和等波纹最佳逼近法;第二类是最优设计法。
提出了利用凯塞窗设计的FIR数字带通滤波器

提出了利用凯塞窗设计的FIR数字带通滤波器,利用凯塞窗自由选择主办宽度和旁辫衰减的办法,通过MATLAB进行滤波器的仿真。
实验结果表明,利用凯塞窗函数设立的滤波器,是使主办具有最大能量意义下的最佳窗函数。
[关键词]凯塞窗 FIR MATLAB 数字带通滤波器所谓数字滤波器就是具有某种选择性的器件、网络或以计算机硬件支持的计算程序。
其功能性质是按事先设计好的程序,将一组输入的数字序列通过一定的运算后转变为另一组输出的数字序列。
从而改变信号的形式和内容,达到对信号加工或滤波以符合技术指标的要求。
(一)FIR滤波器介绍1.FIR滤波器设计的原理。
FIR滤波器的数学表达式可用差分方程(1)来表示:其中:x是FIR的滤波器的抽头数;b(r)是第r级抽头数(单位脉冲响应);x(n-r)是延时r个抽头的输入信号。
设计滤波器的任务就是寻求一个因果,物理上可实现的系统函数H(z),使其频率响应H(e jw)满足所希望得到的频域指标。
2.设计要求。
本次设计中输入数据中包含频率为800Hz,1200Hz,1600Hz,2021Hz,中心频率为1600Hz,提取该频率的信号。
利用MATLAB设计一个带通滤波器。
具体参数为:采样频率为22050Hz,通带宽度为250Hz,则Fpassl=1475Hz,Fpass2=1725Hz,衰减1dB,过渡带为200Hz,则Fstopl:1275Hz,Fstop2=1925Hz,阻滞衰减为30dB。
运行MATLAB获得126阶的带通滤波器。
并提取系数。
(二)凯塞窗函数的介绍在设计FIR滤波器中,一个最重要的计算就是加窗,Kaiser窗可以通过调整参数值来折中选择主办宽度和旁办衰减,采用Kaiser窗设计FIR滤波器具有很大的灵活性。
凯塞窗是一种适应性较强且比较灵活的窗函数,它的表达式为:这种窗函数是近似于给定旁办电平,使主办具有最大能量意义下的最佳窗函数。
其中β是形状参数,用以调节主办宽度和旁办电平,一般β选为4<β<9,此时旁办电平约在30dB和-67dB之间。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
音乐信号滤波去噪—用凯塞窗设计的FIR滤波器学生姓名:指导老师:摘要本课程设计主要是通过使用凯塞窗设计一个FIR滤波器以对音乐信号进行滤波去噪处理。
本设计首先通过麦克风采集一段音乐信号,依据对该信号的频谱分析,给定相关指标。
以MATLAB软件为平台,采用凯塞窗设计满足指标的FIR滤波器,以该音乐信号进行滤波去噪处理。
通过对比滤波前后的波形图,深入了解滤波器的基本方法。
通过程序调试及完善,该设计基本满足设计要求。
关键词滤波去噪;FIR滤波器;凯塞窗函数;MATLAB1 引言数字滤波器是一种用来过滤时间离散信号的数字系统,它是通过对抽样数据进行数学处理来达到频域滤波的目的。
随着现代通信的数字化,数字滤波器变得更加重要。
数字滤波器的种类很多,但总的来说可以分成两大类,一类是经典滤波器,另一类可称为现代滤波器。
从滤波特性方面考虑,数字滤波器可分成数字高通、数字低通、数字带通和数字带阻等滤波器。
从实现方法上考虑,将滤波器分成两种,一种称为无限脉冲响应滤波器,简称IIR(Infinite Impulse Response)滤波器,另一种称为FIR(Finite Impulse Response)滤波器[1]。
设计FIR数字滤波器的方法有窗函数法、频率采样法和等波纹最佳逼近法等。
1.1 课程设计目的数字信号处理(Digital Signal Processing,简称DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。
20世纪60年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。
在过去的二十多年时间里,数字信号处理已经在通信等领域得到极为广泛的应用。
数字信号处理是利用计算机或专用处理设备,以数字形式对信号进行采集、变换、滤波、估值、增强、压缩、识别等处理,以得到符合人们需要的信号形式。
在本次课程设计中,最主要的设计是设计FIR滤波器,FIR滤波器的设计方法主要分为两类:第一类是基于逼近理想滤波器器特性的方法包括窗函数法、频率采样法、和等波纹最佳逼近法;第二类是最优设计法。
本次的课程设计主要采用的是第一类设计方法,是利用汉宁窗函数法设计FIR滤波器对一段语音进行滤波去噪,通过这一过程,对滤波前后波形进行对比分析得到结论。
此课程设计比较简单,主要是将书本中的知识运用到现实中,并且根据自己对设计题目的理解,运用软件编写出程序实现这一设计,也是我们对数字信号处理的原理进行验证的一个过程。
对此,也可以加深我们对所学知识的理解,培养我们的动手能力。
1.2课程设计的要求(1)通过利用各种不同的开发工具实现模拟信号数字化、信道编解码、基带数字信号编解码、数字信号的调制解调和语音信号的滤波去噪等课题,掌握数字信号的分析方法和处理方法。
(2)按要求编写课程设计报告书,能正确阐述设计和实验结果等等。
(3)通过课程设计培养学生严谨的科学态度,认真的工作作风和团队协作精神。
(4)在老师的指导下,要求每个学生独立完成课程设计的全部内容。
1.3设计平台课程设计的主要设计平台式MATLAB 7.0。
如下图1.1所示:MATLAB是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
MATLAB和Mathematica、Maple并称为三大数学软件。
它在数学类科技应用软件中在数值计算方面首屈一指。
MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
图1.1 MATLAB 7.0的设计平台MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MathWork也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。
在新的版本中也加入了对C,FORTRAN,C++ ,JA V A的支持。
可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用[2]。
2 设计原理2.1 FIR滤波器FIR(Finite Impulse Response)滤波器:有限长单位冲激响应滤波器,是数字信号处理系统中最基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位抽样响应是有限长的,因而滤波器是稳定的系统。
因此,FIR滤波器在通信、图像处理、模式识别等领域都有着广泛的应用。
有限长单位冲激响应(FIR)滤波器有以下特点:(1) 系统的单位冲激响应h(n)在有限个n值处不为零;(2) 系统函数H(z)在|z|>0处收敛,极点全部在z=0处(因果系统);(3) 结构上主要是非递归结构,没有输出到输入的反馈,但有些结构中(例如频率抽样结构)也包含有反馈的递归部分。
FIR滤波器的系统函数用下式表示:。
H(n)就是FIR滤波器的单位脉冲响应。
FIR滤波器最重要的优点就是由于不存在系统极点,FIR滤波器是绝对稳定的系统。
相较于IIR滤波器,FIR滤波器有以下的优点:(1)可以很容易地设计线性相位的滤波器。
线性相位滤波器延时输入信号,却并不扭曲其相位。
(2)实现简单。
在大多数DSP处理器,只需要对一个指令积习循环就可以完成FIR计算。
(3)适合于多采样率转换,它包括抽取(降低采样率),插值(增加采样率)操作。
无论是抽取或者插值,运用FIR滤波器可以省去一些计算,提高计算效率。
相反,如果使用IIR滤波器,每个输出都要逐一计算,不能省略,即使输出要丢弃。
(4)具有理想的数字特性。
在实际中,所有的DSP滤波器必须用有限精度(有限bit数目)实现,而在IIR滤波器中使用有限精度会产生很大的问题,由于采用的是反馈电路,因此IIR通常用非常少的bit实现,设计者就能解决更少的与非理想算术有关的问题。
(5)可以用小数实现。
不像IIR滤波器,FIR滤波器通常可能用小于1的系数来实现。
(如果需要,FIR滤波器的总的增益可以在输出调整)。
当使用定点DSP的时候,这也是一个考虑因素,它能使得实现更加地简单。
FIR滤波器的缺点在于它的性能不如同样阶数的IIR滤波器,不过由于数字计算硬件的飞速发展,这一点已经不成为问题。
再加上引入计算机辅助设计,FIR滤波器的设计也得到极大的简化。
基于上述原因,FIR滤波器比IIR滤波器的应用更广。
2.2窗口设计法窗函数设计法的基本思想是用FIRDF逼近洗完的滤波特性。
设希望逼近的滤波器的频率响应函数为,其单位脉冲响应为表示。
为了设计简单方便,通常选择为具有片段常数特性的理想滤波器。
因此是无限长非因果序列,不能直接作为FIRDF 的单位脉冲响应。
窗函数设计法就是截取为有限长的一段因果序列,并用合适的窗函数进行加权作为FIRDF的单位脉冲响应h(n)。
用窗函数法设计FIRDF的具体设计步骤如下:(1)构造希望逼近的频率响应函数。
(2)求出。
(3)加窗得到FIRDF的单位脉冲响应h(n)。
h(n)=w(n)。
式中,w(n)称为窗函数,其长度为N。
如果要求设计第一类线性相位FIRDF,则要求h(n)关于(N-1)/2点偶对称。
而关于n=t点偶对称,所以要求t=(N-1)/2。
同时要求w(n)关于(N-1)/2点偶对称。
用窗函数法设计第一类线性相位FIRDF的步骤:(1)选择窗函数类型和长度,写出才窗函数的表达式。
根据阻带最小衰减选择窗函数的的类型,再根据过渡带宽度确定所选窗函数的长度N。
用窗函数法设计的FIRDF通带波纹幅度近似等于阻带波纹幅度。
一般阻带最小衰减达到40dB以上,则通带最大衰减就小于0.1dB。
所以用窗函数法设计FIRDF时,通常只考虑阻带最小衰减就可以了。
(2)构造希望逼近的频率响应函数。
根据设计需要,一般选择线性相位理想滤波器(理想低通、理想高通、理想带通、理近似为最终设计的FIRDF的过渡带中心频率,幅度函想带阻)。
理想滤波器的截止频率c数衰减一半(约-6dB)。
所以一般取,和分别为通带边界频率和阻带边界频率。
(3)计算。
(4)加窗得到设计结果:h(n)=w(n)。
3设计步骤3.1 设计流程开始用麦克风采集一段音乐将格式改为.wav加入单频噪声对语音信号进行频谱分析,画出时域和频域波形图用汉宁窗设计FIR滤波器画出其频率响用FIR滤波器对语音信号进行滤波画出语音信号滤波前后波形并且进行比较分析结束3.2 采集音乐信号在网络中找到自己想要的歌曲文件,并下载下来,即可对音乐文件进行文件格式转换及声音属性的变化。
在转换过程中,将音乐格式设置为wav 格式,属性设置为4.410kHz ,8位,单声道,128KB/秒,然后点击确定。
然后再点击文件/另存为,即可将该语音文件存在MATLAB 文件下的work 文件夹里。
然后在Matlab 软件平台下,利用函数wavread 对语音信号进行采样,记住采样频率和采样点数。
通过wavread 函数的使用,让我们很快理解了采样频率、采样位数等概念。
采集完成后在信号中加入一个单频噪声。
对应程序如下:[x,fs,bits]=wavread(‘yuntian.wav’); % 输入参数为文件的全路径和文件名(因为语音文件直接放在Matlab 下的work 文件夹里,所以直接使用文件名即可),输出的第一个参数是每个样本的值,fs 是生成该波形文件时的采样率,bits 是波形文件每样本的编码位数。
sound(x,fs,bits); % 按指定的采样率和每样本编码位数回放所录语音文件N=length(x); % 计算信号x 的长度fn=1900; % 单频噪声频率,此参数可自己设计t=0:1/fs:(N-1)/fs; % 计算时间范围,样本数除以采样频率x=x’; %将其转置y=x+sin(fn*2*pi*t); %在原信号上添加噪声sound(y,fs,bits); % 应该可以明显听出有尖锐的单频啸叫声3.3滤波器设计在该滤波器的设计中,我们给出该滤波器的性能指标如下:fpd=1800; fsd=1850; fsu=1950; fpu=2000;Rp=1; As=40;截止频率也可以任意自选,在单频噪声干扰附近即可。
在这里,很重要的是通带截止db 值的设置。
这个值一定要根据我们使用的设计滤波器的方法来设定。
因为我使用的是凯塞窗法,凯塞窗函数中,滤波器的过渡带宽为15.4M / ,最小阻带衰减为108db 。