DSP课程设计-FIR高通滤波器设计说明
(完整版)利用DSP的FIR滤波器设计

题目:利用DSP的FIR滤波器设计数字处理器(DSP)有很强的数据处理能力,它在高速数字信号处理领域有广泛的使用,例如数字滤波、音频处理、图像处理等。
相对于模拟滤波器,数字滤波器没有漂移,能够处理低频信号,频率响应特性可做成非常接近于理想的特性,且精度可以达到很高,容易集成等。
使用可编程的DSP芯片实现数字滤波可以通过修改滤波器的参数十分方便地改变滤波器的特性,下面主要说明利用TMS320VC54x DSP芯片设计实现FIR数字滤波器。
设计目的意义一个实际的使用系统中,总存在各种干扰,所以在系统设计中,滤波器的好坏将直接影响系统的性能。
使用DSP进行数字处理,可以对一个具有噪声和信号的混合信号源进行采样,再经过数字滤波,滤除噪声,就可以提取有用信号了。
所以说,数字滤波器是DSP最基本的使用领域,熟悉基于DSP的数字滤波器能为DSP使用系统开发提供良好的基础。
技术指标1、数字滤波器的频率参数主要有:①通带截频:为通带和过渡带的边界点,在该点信号增益下降到规定的下限。
②阻带截频:为阻带和过渡带的边界点,在该点信号衰耗下降到规定的下限。
③转折频率:为信号功率衰减到1/2(约3dB)时的频率,在很多情况下,也常以fc作为通带或阻带截频。
④当电路没有损耗时,固有频率:就是其谐振频率,复杂电路往往有多个固有频率。
2、增益和衰耗滤波器在通带内的增益并非常数。
①对低通滤波器通带增益,一般指ω=0时的增益;高通指ω→∞时的增益;带通则指中心频率处的增益。
②对带阻滤波器,应给出阻带衰耗,衰耗定义为增益的倒数。
③通带增益变化量指通带内各点增益的最大变化量,如果通带增益变化量以dB为单位,则指增益dB值的变化量。
3、阻尼系数和品质因数阻尼系数α是表征滤波器对角频率为ω0信号的阻尼作用,是滤波器中表示能量衰耗的一项指标,它是和传递函数的极点实部大小相关的一项系数。
4、灵敏度滤波电路由许多元件构成,每个元件参数值的变化都会影响滤波器的性能。
DSP课程设计-FIR高通滤波器设计

DSP课程设计-FIR高通滤波器设计FIR 高通滤波器设计南京师范大学物科院从实现方法方面考虑,将滤波器分为两种,一种是IIR 滤波器,另一种是FIR 滤波器。
FIRDF 的最大优点是可以实现线性相位滤波。
而IIRDF 主要对幅频特性进行逼近,相频特性会存在不同程度的非线性。
我们知道,无失真传输与滤波处理的条件是,在信号的有效频谱范围内系统幅频响应应为常数,相频响应为频率的线性函数。
另外,FIR 是全零点滤波器,硬件和软件实现结构简单,不用考虑稳定性问题。
所以,FIRDF 是一种很重要的滤波器,在数字信号处理领域得到广泛应用。
FIRDF 设计方法主要分为两类:第一类是基于逼近理想滤波器特性的方法,包括窗函数法、频率采样法和等波纹最佳逼近法;第二类是最优设计法。
其中窗函数计法的基本思想是用FIRDF 逼近希望的滤波特性。
本次设计主要采用窗函数设计法,对理想滤波器进行逼近,从而实现高通滤波器的设计。
在MATLAB 软件中,有一系列函数用于设计滤波器,应用时十分方便。
因此,在本次设计中,滤波器的设计主要采用MATLAB 软件,编写适当的程序,得到滤波器的单位脉冲响应。
本设计对滤波器的硬件仿真主要使用CCS 软件,通过对滤波器的硬件仿真,可以较为真实的看出滤波器的滤波效果。
关键字:高通、FIRDF 、线性相位、Hanning 窗、MATLAB 、CCS1. 设计目标产生一个多频信号,设计一个高通滤波器消除其中的低频成分,通过CCS 的graph view波形和频谱显示,并和MATLAB 计算结果比较2. 设计原理2.1 数字滤波器数字滤波器(digital filter)是由数字乘法器、加法器和延时单元组成的一种装置。
其功能是对输入离散信号的数字代码进行运算处理,以达到改变信号频谱的目的。
由于电子计算机技术和大规模集成电路的发展,数字滤波器已可用计算机软件实现,也可用大规模集成数字硬件实时实现。
数字滤波器广泛用于数字信号处理中,如电视、VCD 、音响等。
DSP课程设计-FIR高通滤波器设计

FIR高通滤波器设计南京师范大学物科院从实现方法方面考虑,将滤波器分为两种,一种是IIR滤波器,另一种是FIR 滤波器。
FIRDF的最大优点是可以实现线性相位滤波。
而IIRDF主要对幅频特性进行逼近,相频特性会存在不同程度的非线性。
我们知道,无失真传输与滤波处理的条件是,在信号的有效频谱范围内系统幅频响应应为常数,相频响应为频率的线性函数。
另外,FIR是全零点滤波器,硬件和软件实现结构简单,不用考虑稳定性问题。
所以,FIRDF是一种很重要的滤波器,在数字信号处理领域得到广泛应用。
FIRDF设计方法主要分为两类:第一类是基于逼近理想滤波器特性的方法,包括窗函数法、频率采样法和等波纹最佳逼近法;第二类是最优设计法。
其中窗函数计法的基本思想是用FIRDF逼近希望的滤波特性。
本次设计主要采用窗函数设计法,对理想滤波器进行逼近,从而实现高通滤波器的设计。
在MATLAB软件中,有一系列函数用于设计滤波器,应用时十分方便。
因此,在本次设计中,滤波器的设计主要采用MATLAB软件,编写适当的程序,得到滤波器的单位脉冲响应。
本设计对滤波器的硬件仿真主要使用CCS软件,通过对滤波器的硬件仿真,可以较为真实的看出滤波器的滤波效果。
关键字:高通、FIRDF、线性相位、Hanning窗、MATLAB、CCS1.设计目标产生一个多频信号,设计一个高通滤波器消除其中的低频成分,通过CCS的graph view 波形和频谱显示,并和MATLAB计算结果比较2.设计原理2.1数字滤波器数字滤波器(digital filter)是由数字乘法器、加法器和延时单元组成的一种装置。
其功能是对输入离散信号的数字代码进行运算处理,以达到改变信号频谱的目的。
由于电子计算机技术和大规模集成电路的发展,数字滤波器已可用计算机软件实现,也可用大规模集成数字硬件实时实现。
数字滤波器广泛用于数字信号处理中,如电视、VCD、音响等。
按照滤波电路的工作频带为其命名:设截止频率为fp,频率低于fp的信号可以通过,高于fp的信号被衰减的电路称为低通滤波器,频率高于fp的信号可以通过,低于fp的信号被衰减的电路称为高通滤波器;而带通吗,就是频率介于低频段截止频率和高频段截止频率的信号可以通过的电路。
dsp课程设计报告fir滤波器设计

DSP课程设计报告课程名称:DSP原理及应用设计题目:FIR滤波器设计学院:电气信息学院专业年级:通信工程2011级指导教师:姓名:学号:时间:2014.6.30-2014.7.4目录引言 (3)第一章课程设计要求及流程 (4)1.1 FIR滤波器设计要求 (4)1.2 设计流程 (4)第二章课程设计实现 (4)2.1 功能描述 (4)2.2 算法研究 (4)2.3 参数计算 (5)2.3.1 利用Matlab计算滤波系数 (5)2.3.2 编写滤波器输入信号程序 (6)2.4 编写源程序 (6)2.4.1 汇编源程序“.asm”文件的编写 (6)2.4.2链接命令文件“.cmd”的编写 (8)2.5调试过程 (8)2.5.1 调试前的准备 (8)2.5.2 .inc和.dat的使用 (8)2.5.3 编写及编译程序 (8)2.5.4 观察点设置 (9)2.6运行并观察结果 (10)第三章课程设计总结 (12)参考文献 (12)引言随着信息与数字技术的发展,数字信号处理已经成为当今极其重要而学科与技术领域之一。
它在通信、语音、图像、自动控制、雷达、军事、航空航天、医疗和家用电器等众多领域得到了广泛的应用。
在数字信号处理的基本方法中,通常会涉及到变换、滤波、频谱分析、调制解调和编码解码等处理。
其中滤波是应用非常广泛的一个环节,数字滤波器的理论和相关设计也一直都是人们研究的重点之一。
FIR滤波器的是非递归的,稳定性好,精度高;更重要的是,FIR滤波器在满足幅频响应要求的同时,可以获得严格的线性相位特征。
因此,它在高保真的信号处理,如数字音频、图像处理、数据传输和生物医学等领域得到广泛应用。
在数字信号处理中,滤波占有极其重要的地位。
数字滤波是语音信号处理、图像处理、模式识别、频谱分析等应用的基本处理算法。
用DSP芯片实现数字滤波除了具有稳定性好、精确度高、不受环境影响等优点外,还具有灵活性好等特点。
本次课程设计的是FIR低通滤波器,首先运用MATLAB产生滤波系数,再用DSP仿真软件CCS 进行仿真,观察输入输出,看是否符合低通滤波器的功能。
fir高通滤波器设计-dsp大作业

高通FIR滤波器设计一、实验原理1、有限冲击响应数字滤波器的基础理论(请参考相关书籍)。
2、模拟滤波器原理(巴特沃斯滤波器、切比雪夫滤波器、椭圆滤波器、贝塞尔滤波器)。
3、数字滤波器系数的确定方法。
4、根据要求设计高通FIR 滤波器。
要求:通带边缘频率3500Hz,阻带边缘频率1500kHz,阻带衰减75dB,采样频率10kHz。
利用matlabe计算出高通滤波器的参数。
如同所示5、程序流程图:参数选取:实验程序采用10阶滤波参数,高通滤波,采样频率为10000Hz,增益40dB。
二、主程序#include "myapp.h"#include "csedu.h"#include "scancode.h"#include <math.h>#define FIRNUMBER 10#define SIGNAL1F 1000#define SIGNAL2F 3500#define SAMPLE 10000#define PI 3.1415926float InputWave();float FIR();floatfHn[FIRNUMBER]={-0.015,-0.032,0.069,0. 130,-0.448,0.448,-0.130,-0.069,0.032,0.015}; float fXn[FIRNUMBER]={ 0.0 };float fInput,fOutput;float fSignal1,fSignal2;float fStepSignal1,fStepSignal2;float f2PI;int i;float fIn[256],fOut[256];int nIn,nOut;main(){nIn=0; nOut=0;f2PI=2*PI;fSignal1=0.0;fSignal2=PI*0.1;fStepSignal1=2*PI/30;fStepSignal2=2*PI*1.4;while ( 1 ){fInput=InputWave();fIn[nIn]=fInput;nIn++; nIn%=256;fOutput=FIR();fOut[nOut]=fOutput;nOut++; /* break point */if ( nOut>=256 ){nOut=0;}}}float InputWave(){for ( i=FIRNUMBER-1;i>0;i-- )fXn[i]=fXn[i-1];fXn[0]=sin((double)fSignal1)+cos((dou ble)fSignal2)/6.0;fSignal1+=fStepSignal1;if ( fSignal1>=f2PI ) fSignal1-=f2PI;fSignal2+=fStepSignal2;if ( fSignal2>=f2PI ) fSignal2-=f2PI;return(fXn[0]);}float FIR(){float fSum;fSum=0;for ( i=0;i<FIRNUMBER;i++ ){fSum+=(fXn[i]*fHn[i]);}return(fSum);}三、滤波效果。
DSP课程设计-FIR滤波器设计

DSP课程设计报告题目:FIR滤波器设计学院:电气信息学院专业:通信工程姓名:学号:指导老师:曹玉英一、设计目标设计一个FIR高通滤波器,通带边界频率为2khz,通带纹波小于1dB,采样频率为8khz,实现当多个频率的输入信号输入时只保留大于2khz的信号功能,其中FIR滤波器的设计可以用MATLAB窗函数法进行。
二、算法研究1. FIR的原理和参数生成公式FIR数字滤波器是非递归性的线性时不变因果系统,这样的系统的差分方程可以表示为:令输入信号x(n)=δ(n),代入式,有=aδ(n)+a1δ(n-1)+···+an-1δ[n-(N-1)]这时的y(n)即为冲激响应h(n)。
由式很容易得到h(0)=a,h(1)=a1, ···,h(N-1)=an-1;又由式可知,当n<0以及n>N-1时,h(n)=0,即这个系统的冲激响应是有限长度的,这样的滤波器就叫做有限冲激响应(FIR)滤波器。
将ai=h(i)(i=0,1, ···,N-1)代入式,得到将式的两边进行z变换后,可以得到FIR滤波器的系统函数:又由式,有因此,FIR滤波器的系统函数H(z)的极点都位于z=0处,为N-1阶极点;而N-1个零点由冲激响应h(n)决定,一般来说,可以位于有限z平面的任何位置。
由于FIR数字滤波器的极点都集中在单位圆内的原点z=0处,与系数h(n)无关,因此FIR滤波器总是稳定的,这是FIR数字系统的一大优点。
2. 利用MATLAB计算滤波系数用来设计标准频率响应的基于窗函数的FIR滤波器,可实现加窗线性相位FIR数字滤波器的设计。
语法:b=fir1(n,Wn)b=fir1(n,Wn,‘ftype’)b=fir1(n,Wn,Window)b=fir1(n,Wn,‘ftype’,window)n:滤波器的阶数;Wn:滤波器的截止频率;ftype:用来决定滤波器的类型,当ftype=high时,可设计高通滤波器;当ftype=stop时,可设计带阻滤波器;Window:用来指定滤波器采用的窗函数类型,其默认值为汉明窗。
DSP课程设计报告FIR滤波器的设计

DSP课程设计报告FIR滤波器的设计本科课程设计报告课程名称:DSP原理及应⽤设计项⽬:FIR滤波器的设计实验地点:多学科楼机房专业班级:学号:学⽣姓名:指导教师:2012年1⽉8⽇⼀、设计⽬的:1、掌握数字滤波器的设计过程;2、了解FIR的原理和特性;3、熟悉设计FIR数字滤波器的原理和⽅法;4、学习FIR滤波器的DSP的实现原理;5、学习使⽤CCS的波形观察窗⼝观察输⼊/输出信号波形和频谱变化情况。
⼆、设计内容:1、通过MATLAB来设计⼀个低通滤波器,对它进⾏模拟仿真确定FIR滤波器系数;2、⽤DSP汇编语⾔进⾏编程,实现FIR运算,对产⽣的合成信号,滤除信号中⾼频成分,观察滤波前后波形的变化。
三、设计原理:FIR数字滤波器是⼀种⾮递归系统,其传递函数为:H(z)=Y(z)/X(z)=∑b(n)z-n由此可得到系统的差分⽅程为:y(n)=∑h(i)x(n-i),其冲击响应h(n)是有限长序列,它其实就是滤波器系数向量b(n),N为FIR滤波器的阶数。
为了使滤波器满⾜线性相位条件,要求其单位脉冲响应h(n)为实序列,且满⾜偶对称或奇对称条件,即h(n)=h(N-1-n)或h(n)=-h(N-1-n)这样,当N为偶数时,偶对称线性相位FIR滤波器的差分⽅程表达式为:y(n)=∑h(i)x(n-i)+x((N-1-n-i)应⽤MATLAB设计FIR滤波器的主要任务就是根据给定的性能指标设计⼀个H(z),使其逼近这⼀指标,进⽽计算并确定滤波器的系数b(n),再将所设计滤波器的幅频响应、相频响应曲线作为输出,与设计要求进⾏⽐较,对设计的滤波器进⾏优化,设计完成之后将得到FIR滤波器的单位冲击响应序列h(n)的各个参数值。
matlab⽤fir1函数设计FIR滤波器:fir1函数⽤来设计标准频率响应的基于窗函数的FIR滤波器,可实现加窗线性相位FIR数字滤波器的设计。
具体语法如下:b=fir1(n,Wn)b=fir1(n,Wn,‘ftype’)b=fir1(n,Wn,Window)b=fir1(n,Wn,‘ftype’,Window)其中n为滤波器的阶数;Wn为滤波器的截⽌频率;ftype为⽤来决定滤波器的类型,当ftype=high时,可设计⾼通滤波器;当ftype=stop时,可设计带阻滤波器。
FIR滤波器DSP实现课程设计

课程设计一FIR滤波器的DSP实现一、课程设计目的1、复习用C语言对数字信号处理器的编程方法,熟悉如何使用C5000系列数字信号处理器中的模数转换器;2、复习用窗函数法设计FIR数字滤波器;3、对TMS320VC5509编程实现不同参数的FIR滤波器。
二、课程设计原理(一)TMS320VC5509简介TMS320VC5509是TI公司出产的定点DSP芯片,它的源代码与C54x系列兼容,但速度更快,时钟频率可达300MHz,功耗是C54x系列的1/6。
C5509的CPU内部有2个乘法器、1个40位的加法器、1个16位的加法器、4个累加器。
共有12组总线,其中3组数据存储器读总线,2组数据存储器写总线,及相应5组数据存储器地址总线,程序存储器读总线及地址线各一组。
片内外设资源也比C54x系列数字信号处理器丰富,4通道10位A/D、DMA单元、RTC电路、McBSP、定时器等。
本设计中将用到A/D单元。
TMS320C5509A内部有一个4通道10位A/D,相关寄存器有4个,通过对这4个寄存器的操作来控制A/D模块。
1.、ADC控制寄存器:ADCCTLADCSTART:0 无作用;1 启动A/D转换CHSELECT:从4个模拟通道中选择一个作为输入信号Reserved:保留2、ADC数据寄存器:ADCDATAADCBUSY:0 ADC数据准备好,即A/D转换结束;1 正在进行A/D转换CHSELECT:从4个模拟通道中选择一个作为输入信号ADCDATA:A/D转换得到的10位二进制数3、ADC时钟控制寄存器:ADCCLKCTLIDLEEN:0 不允许ADC处于休眠状态;1 允许ADC处于休眠状态CPUCLKDIV:决定ADC时钟频率ADC Clock:(CPU Clock) / ( CPUCLKDIV+1)4、ADC时钟分频寄存器:ADCCLKDIVSAMPTIMEDIV :与CONVRATEDIV 一起决定采样/保持周期ADC Sample and Hold Time = (ADC Clock Period)*2*(CONVRATEDIV+1+ SAMPTIMEDIV)CONVRATEDIV :决定A/D 转换时钟频率ADC Conversion Clock = (ADC Clock) / (2*( CONVRATEDIV+1))完成一次A/D 转换需要13个A/D 转换时钟,所以,一次转换时间是t = 13 / ADC Conversion Clock一次完整的A/D 转换时间是采样/保持周期和转换时间的和,采样频率是其倒数ADC Total Conversion Time = ADC Sample and Hold Period+tSampling Rate = 1/ ADC Total Conversion Time(二)窗函数法设计FIR 滤波器的原理根据阻带最小衰减和过渡带宽选择合适的窗函数,实现不同指标的各种类型FIR 数字滤波器的设计。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
FIR高通滤波器设计师大学物科院从实现方法方面考虑,将滤波器分为两种,一种是IIR滤波器,另一种是FIR 滤波器。
FIRDF的最大优点是可以实现线性相位滤波。
而IIRDF主要对幅频特性进行逼近,相频特性会存在不同程度的非线性。
我们知道,无失真传输与滤波处理的条件是,在信号的有效频谱围系统幅频响应应为常数,相频响应为频率的线性函数。
另外,FIR是全零点滤波器,硬件和软件实现结构简单,不用考虑稳定性问题。
所以,FIRDF是一种很重要的滤波器,在数字信号处理领域得到广泛应用。
FIRDF设计方法主要分为两类:第一类是基于逼近理想滤波器特性的方法,包括窗函数法、频率采样法和等波纹最佳逼近法;第二类是最优设计法。
其中窗函数计法的基本思想是用FIRDF逼近希望的滤波特性。
本次设计主要采用窗函数设计法,对理想滤波器进行逼近,从而实现高通滤波器的设计。
在MATLAB软件中,有一系列函数用于设计滤波器,应用时十分方便。
因此,在本次设计中,滤波器的设计主要采用MATLAB软件,编写适当的程序,得到滤波器的单位脉冲响应。
本设计对滤波器的硬件仿真主要使用CCS软件,通过对滤波器的硬件仿真,可以较为真实的看出滤波器的滤波效果。
关键字:高通、FIRDF、线性相位、Hanning窗、MATLAB、CCS1.设计目标产生一个多频信号,设计一个高通滤波器消除其中的低频成分,通过CCS的graph view 波形和频谱显示,并和MATLAB计算结果比较2.设计原理2.1数字滤波器数字滤波器(digital filter)是由数字乘法器、加法器和延时单元组成的一种装置。
其功能是对输入离散信号的数字代码进行运算处理,以达到改变信号频谱的目的。
由于电子计算机技术和大规模集成电路的发展,数字滤波器已可用计算机软件实现,也可用大规模集成数字硬件实时实现。
数字滤波器广泛用于数字信号处理中,如电视、VCD、音响等。
按照滤波电路的工作频带为其命名:设截止频率为fp,频率低于fp的信号可以通过,高于fp的信号被衰减的电路称为低通滤波器,频率高于fp的信号可以通过,低于fp的信号被衰减的电路称为高通滤波器;而带通吗,就是频率介于低频段截止频率和高频段截止频率的信号可以通过的电路。
2.2高通滤波器高通滤波器是容许高频信号通过、但减弱(或减少)频率低于截止频率信号通过的滤波器。
对于不同滤波器而言,每个频率的信号的减弱程度不同。
它有时被称为低频剪切滤波器;在音频应用中也使用低音消除滤波器或者噪声滤波器。
高通滤波器与低通滤波器特性恰恰相反。
这样的滤波器能够把高频率的声音引导至专用高音喇叭(tweeter),并阻止可能干擾或者损害喇叭的低音信号。
使用线圈而不是电容的低通滤波器也可以同时把低频信号引导至低音喇叭(woofer)。
高通和低通滤波器也用于数字图像处理中在频域中进行变换。
2.3高通滤波器的分析2.3.1高通滤波器的时域分析在时域,信号经过系统的响应y (n)体现为激励x(n)跟系统单位抽样响应h(n)的卷积和y(n)=(n)×h(n)=ΣN–1m=0h(m)x(n-m)[223] 。
对于长度为N 的FIR系统, h(n)可以看成一个长度为N 点的固定窗口,而x(n)则看成一个队列以齐步走的方式穿过h(n)窗口,每走一步,位于窗口中的x(n)部分的点跟h(n)的对应点的值相乘(即加权)再求和,所得结果构成此时系统的响应值y(n), x(n)队列每走一步就得到一个响应值y(n),即y(n)是h(n)对位于其窗口中的x(n)的加权求和。
高通滤波要求h(n)窗口具有波形锐化作用,即利用h(n)窗口加权和使得变化快的(即高频)正弦分量保留(理想高通)或衰减幅度小(实际高通) ,而变化缓慢(即低频)的正弦分量正负抵消(理想高通)或衰减幅度大(实际高通) 。
设其中N 必须取奇数,)/10002sin(2.0)/1002sin(8.0)()()(21s s f n f n n x n x n x ⨯⨯+⨯⨯=+=ππ其中: fs = 11kHz, n 为整数,即x ( n)由100Hz 的x1(n)和1kHz 的x2(n)两种频率的信号组成。
高通滤波的目的就是要尽可能地去掉x(n)中的低频分量x1(n) ,同时尽可能地保留x(n)中的高频分量x2(n)。
2.3.2 高通滤波器的频域分析在频域,信号经过系统的响应y(n)的频谱Y(ej ω)体现为激励x(n)的频谱X(ej ω)跟系统单位抽样响应h(n)的频谱H(ej ω)(即系统的频谱)的乘积Y(ejω)=|H(ej ω)|×|X(ej ω)|×ej φH+φx,即响应的频谱Y(ej ω)的幅值由系统频谱H(ej ω)的幅值对激励频谱X(ej ω)的幅值相乘(加权)得到,响应的频谱Y(ejω)的幅角由系统的频谱H(ej ω)的幅角跟激励频谱X(ej ω)的幅角相加(移相)得到[122 ]。
高通滤波要求系统幅度函数|H(jf)|对需要保留的高频信号频谱加权权重较大(理想时为1) ,对需要滤除的低频信号频谱加权权重较小(理想时为0) 。
其中L 为x(n)的长度(L=100), 0≤k ≤L- 1,N 为h(n)的有值长度,m 、k 均为整数,跟数字频率k 相对应的模拟频率为f=fs ×k/L (Hz)。
h(n)在不同N 值时的频谱如图2所示(横轴单位为kHz),当N=11时,在f=m(kHz)即f=1kHz 、2kHz 、3kHz等处为1,而在f=(2m-0.5)(kHz)即f=1.5kHz 、3.5kHz 等处幅度最大。
而在f=(2m+0.5)(kHz)即f=2.5kHz 、4.5kHz 等处幅度最小,如图2(b);当N=5时, 在f=mfs/5处为1,即f=2.2kHz 、3.3kHz 等处为1,在f=(4m-1)fs/10即f=3.3kHz处幅度最大。
而在f=(4m+1)fs/10即f=5.5kHz 处幅度最小,如图2(c);当N=21时,在f=mfs/21即f=524Hz 、1047Hz 等处为1, 在f=(4m-1)fs/42处幅度最大,而在f=(4m+1)fs/42处幅度最小,如图1图1用不同宽度的h(n)对x(n)的滤波在频域上表现如图2.2.1所示,图2.2.1(a)为x(n)的频谱|X(jf)| ,从图2中可以看出x(n)中含有100Hz 和1kHz 两种频率的信号,图1(b)~(d)为不同长度的h(n)对同一x(n)的滤波情况,这跟在时域中分析的结论是一致的。
2.4 FIR 滤波器从实现方法方面考虑,将滤波器分为两种,一种是IIR 滤波器,另一种是FIR 滤波器。
IIR 滤波器保留了模拟滤波器较好的幅度特性,设计简单有效。
但这些特性是以牺牲相位特性为代价而获得的,然而现在许多数据传输,图像处理系统都越来越多的要求系统具有线性相位特性。
FIRDF 的最大优点是可以实现线性相位滤波。
而IIRDF 主要对幅频特性进行逼近,相频特性会存在不同程度的非线性。
我们知道,无失真传输与滤波处理的条件是,在信号的有效频谱围系统幅频响应应为常数,相频响应为频率的线性函数。
另外,FIR 是全零点滤波器,硬件和软件实现结构简单,不用考虑稳定性问题。
所以,FIRDF 是一种很重要的滤波器,在数字信号处理领域得到广泛应用。
FIRDF 设计方法主要分为两类:第一类是基于逼近理想滤波器特性的方法,包括窗函数法、频率采样法和等波纹最佳逼近法;第二类是最优设计法。
其中窗函数计法的基本思想是用FIRDF 逼近希望的滤波特性。
本次设计主要采用窗函数设计法,对理想滤波器进行逼近,从而实现高通滤波器的设计。
2.5 各种窗函数参数 窗函数类型 旁瓣峰值n α(dB) 过渡带宽度B ∆阻带最小衰减s α (dB) 近似值 精确值矩形窗 -13 4π/N 1.8π/N-21 三角窗 -25 8π/N 6.1π/N-25 汉宁窗 -31 8π/N 6.2π/N-44 哈明窗 -41 8π/N 6.6π/N-74 布莱克曼窗 -57 12π/N11π/N -80⎥⎦⎤⎢⎣⎡--=⎥⎦⎤⎢⎣⎡--=)12cos()()(5.0)()12cos(15.0)(N n n R n R n R N n n N N N hn ππω 0510152025303500.10.20.30.40.50.60.70.80.913. 设计流程3.1 应用MATLAB 设计滤波器:为了满足高通滤波的效果,设置线性相位高通FIR 的参数为:通带截止频率rad p 2/πω=,阻带截止频率rad s 4/πω=,通带最大衰减dB p 1=α,阻带最小衰减dB s 40=α。
由以上参数,通过查表可得,hanning 窗和haming 窗都满足条件,我们选择hanning 窗。
过渡带宽4/πωω=-=∆p s B ,hanning 窗的精确过渡带宽为B ∆=6.2π/N ,所以要求/4/N 6.2ππ≤=∆B ,解之得N=25。
输入程序:从而得到满足条件的高通FIRDF :h(n)=[-0.0004,-0.0006,0.0028,0.0071,-0.0000,-0.0185,-0.0210,0.0165,0.0624,0.0355,-0.1061,-0.2898,0.6249,-0.2898,-0.1061,0.0355,0.0624,0.0165,-0.0210,0.0185,-0.0000,0.0071,0.0028,-0.0006,-0.0004] 其波形如图3所示,频谱如图4,其幅频特性和相频特性如图5。
图3 图4图53.2用CCS对高通滤波器进行仿真设置输入信号fIn=sin(2πn/30)/2+cos(2πn*1.6),使用MATLAB运算得到的高通FIR滤波器进行滤波,滤去低频分量。
选择“Debug”菜单的“RUN”项,或按F12 键运行程序。
观察“fin”、“fout”窗口中时域图形;观察滤波效果。
鼠标右键单击“Input”和“Output”窗口,选择“Properties…”项,设置“Display Type”为“FFT Magitude”,再单击“OK”按钮结束设置。
观察“Input”、“Output”窗口中频域图形;理解滤波效果。
4. 仿真波形4.1 MATLAB 对高通FIRDF 的设计0510152025-0.3-0.2-0.10.10.20.30.40.50.60.70510152025-1-0.8-0.6-0.4-0.200.20.40.60.814.2 CCS 对高通FIRDF 的应用仿真5.设计结果由MATLAB和CCS的仿真结果可以看出,此高通FIRDF可以实现高通滤波的功能,在输入为fIn=sin(2πn/30)/2+cos(2πn*1.6)时,输出波形中已不含w= 1/30的低频分量,滤波效果良好,输出频谱中低频部分基本没有信号。