DSP课程设计_FIR滤波器设计说明书
DSP课程设计_FIR滤波器设计说明

D S P课程设计学院:专业年级:姓名:学号:课题: FIR滤波器设计指导老师:日期:2016年7月2日一、设计目标功能描述:FIR 低通滤波器是滤除掉高于截至频率的信号,容许低于截止频率的信号通过的内容:1)设计FIR 低通滤波器2)使用CCS 的simulator 进行滤波特性测试参数:FIR 低通滤波器通带频率为5000Hz ,采样频率为20000Hz 。
二、算法研究数字滤波是将输入的信号序列,按规定的算法进行处理,从而得到所期望的∑-=-=10)()(N k k k n x a n y对上式进行Z 变换得到FIR 滤波器的传递函数为:()()()∑-=-==10N i k k z b z X z Y z H 由上式可以看出,H(z)是1-z 的N-1次多项式,它在z 平面内有N-1个零点,同时在原点处有N-1个重极点。
N 阶滤图 FIR 滤波器的一般结构因为FIR 滤波器的单位抽样响应是有限长的,所以它永远是稳定的。
另外,若对p ω、阻带频率及两个带上的最大和最小衰减p ∂和s ∂外,很重要的一条是保证H(z)具有线性相位。
三、相应参数的计算1、FIR 滤波器的MATLAB 实现MATLAB 是一种功能强、效率高、便于进行科学和工程计算的交互式软件包,它集MATLAB 中的工具箱(Toolbox )包含了许多实用程序。
它提供了多种FIR 滤波器设用fir1函数设计FIR 滤波器fir1函数用来设计标准频率响应的基于窗函数的FIR 滤波器,可实现加窗线性相b=fir1(n ,Wn ,‘ftype ’)b=fir1(n ,Wn ,Window)b=fir1(n ,Wn ,‘ftype ’,Window)其中n 为滤波器的阶数;Wn 为滤波器的截止频率; ftype 为用来决定滤波器的类本课程设计设计低通滤波器,采用 b=fir1(n ,Wn)。
2、利用MATLAB 计算滤波器系数1)生成.inc 文件,通带频率为5000HZ2)生成.dat 文件,输入信号频率分别为2000Hz 和8000Hz四、编写源程序1).asm程序.global start,fir.mmregsCOFF_FIR_START: .sect "coff_fir".include "0205\\0205.inc"K_FIR_BFFR .set 64d_data_buffer .usect "fir_bfr",64 FIR_DP .usect "fir_vars",0d_filin .usect "fir_vars",1 output .usect "fir_vars",1 input .usect "fir_vars",1d_filout .usect "fir_vars",100h stacksize .set 256stack .usect "fir_vars",stacksize .asg AR4,FIR_DATA_P.asg AR6,INBUF_P.asg AR7,OUTBUF_P.asg AR3,OUTBUF.asg AR2,INBUF.sect "fir_prog"nopstart:stm #stack+stacksize,SPLD #FIR_DP,DPSTM #d_data_buffer,FIR_DATA_PRPTZ A,#K_FIR_BFFR-1STL A,*FIR_DATA_P+STM #d_filin,INBUF_PSTM #d_filout,OUTBUF_PSTM #output,OUTBUFSTM #input,INBUFSTM #100h,BKfir_loop:NOP ;Add Breakpoint & porbe point LD *INBUF_P,ASTL A,*INBUFCALL firSTH A,*OUTBUF_P+%STH A,*OUTBUFmain_end:b fir_loopfir:; SSBX SXM; SSBX FRCTSTM #d_data_buffer,FIR_DATA_PSTL A,*FIR_DATA_PSTM #(d_data_buffer+K_FIR_BFFR-1),FIR_DATA_Pfir_task:RPTZ A,#K_FIR_BFFR-1MACD *FIR_DATA_P-,COFF_FIR_START,ARET.end2).cmd程序MEMORY{PAGE 0:PROG: o= 100h,l= 2000hPAGE 1:DATA1: o= 2600h, l= 1000hDATA2: o= 2100h, l= 100hDATA3: o= 2200h, l= 100hDATA4: o= 2300h, l= 100hDATA5: o= 2400h, l= 100hDATA6: o= 2500h, l= 100h}SECTIONS{coff_fir : {}> PROG PAGE 0fir_prog : {}> PROG PAGE 0fir_vars : {}> DATA1 PAGE 1fir_coff : {}> DATA2 PAGE 1fir_bfr : {}> DATA3 PAGE 1}五、调试过程1.调试前的准备1)启动SETUP并选择芯片’c5402,关闭启动CCS。
(完整版)利用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滤波器设计

K_FIR_BFFR.set64
d_data_ect"fir_bfr",64
FIR_ect"fir_vars",0
d_ect"fir_vars",1
ect"fir_vars",1
ect "fir_vars",1
}
五、调试过程
1.调试前的准备
1)启动SETUP并选择芯片’c5402,关闭启动CCS。
2)在CCS的安装目录myproject子目录下创建一个文件夹0205。
3)使用MATLAB工具编写滤波器系数测试程序,生成0205.inc文件并保存在上述文件夹0205中。
4)使用MATLAB工具编写输入信号生成程序,并生成0205.dat文件保存在上述文件夹0205中。
三、相应参数的计算
1、FIR滤波器的MATLAB实现
MATLAB是一种功能强、效率高、便于进行科学和工程计算的交互式软件包,它集数值分析、矩阵运算、信号处理和图形显示于一体,为用户提供了方便、友好的界面环境。
MATLAB中的工具箱(Toolbox)包含了许多实用程序。它提供了多种FIR滤波器设计方法。
其中n为滤波器的阶数;Wn为滤波器的截止频率;ftype为用来决定滤波器的类型,当ftype=high时,可设计高通滤波器;当ftype=stop时,可设计带阻滤波器。Window为用来指定滤波器采用的窗函数类型,Window参数可采用的窗口函数有:Boxcar,Hanning,Bartlett,Blackman,Kasier和chebwin等,其默认时为Hamming窗,从而得到滤波器的系数。
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 的 FIR 数字滤波器的设计专业班级学号学生姓名指导教师教师评分目录一、摘要 (1)二、概述 (2)三、系统设计 (3)3.1 DSP 系统原理框图 (3)3.2 DSP 系统各部分分析 (4)四、硬件设计 (5)4.1 硬件整体电路及框图 (5)4.2 硬件各部分组成简介 (6)五、软件设计 (10)5.1 FIR 数字滤波器的基本网络结构 (10)5.2 FIR 数字滤波器的设计 (10)5.2.1 FIR 滤波器的主要特点 (10)5.2.2 FIR 滤波器设计方法 (10)5.2.3 窗函数法设计的基本思想 (11)5.2.4 用窗函数设计FIR滤波器的步骤 (12)5.3 FIR数字滤波器的MATLAB的实现 (13)5.3.1 Matlab软件介绍 (13)5.3.2 用Matlab实现FIR数字滤波器的几种方法 (13)5.4 FFT参数的计算 (17)5.5 DSP程序流程图 (17)六、实验结果 (19)七、个人总结 (21)八、参考文献 (22)附件: (23)数字信号处理课程设计一、摘要数字滤波器是数字信号处理中最重要的组成部分之一,数字滤波器是由数字乘法器、加法器和延时单元组成的一种算法或装置,可作为应用系统对信号的前期处理。
DSP芯片实现的数字滤波器具有稳定性好、精确度高、灵活性强及不受外界影响等特性。
因此基于DSP实现的数字滤波器广泛应用于语音图像处理、数字通信、频谱分析、模式识别、自动控制等领域,具有广阔的发展空间。
本文首先介绍了数字滤波器的概念及分类,以及数字滤波器的实现方法。
在理解FIR 滤波器的工作原理及其设计方法的基础上,在MATLAB环境下利用矩形窗设计实现FIR滤波器。
然后通过DSP结合CCS2.0软件进行编程,最终实现了基于DSP的FIR数字低通滤波器的设计。
仿真结果表明,基于DSP实现的滤波器具有稳定性好、精确度高、灵活性强等优点,并能实现对信号的实时滤波。
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 进行仿真,观察输入输出,看是否符合低通滤波器的功能。
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:用来指定滤波器采用的窗函数类型,其默认值为汉明窗。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
专业资料DSP课程设计报告题目:FIR滤波器设计学院:电气信息学院专业:通信工程姓名:学号:指导老师:***(2.4)(2.3)一、设计目标设计一个FIR 高通滤波器,通带边界频率为2khz ,通带纹波小于1dB ,采样频率为8khz ,实现当多个频率的输入信号输入时只保留大于2khz 的信号功能,其中FIR 滤波器的设计可以用MATLAB 窗函数法进行。
二、算法研究1. FIR 的原理和参数生成公式FIR 数字滤波器是非递归性的线性时不变因果系统,这样的系统的差分方程可以表示为:y (n )=∑a a a (a −a )a −1a =0(2.1)令输入信号x(n)=δ(n),代入(2.1)式,有a (n )=∑a a a (n −i )a −1a =0=a 0δ(n)+a 1δ(n-1)+···+a n-1δ[n-(N-1)] (2.2)这时的y(n)即为冲激响应h(n)。
由(2.2)式很容易得到h(0)=a 0,h(1)=a 1, ···,h(N -1)=a n-1;又由(2.2)式可知,当n<0以及n>N-1时,h(n)=0,即这个系统的冲激响应是有限长度的,这样的滤波器就叫做有限冲激响应(FIR)滤波器。
将a i =h(i)(i=0,1, ···,N-1)代入(2.2)式,得到a (a )=∑h (i )x (n −i )a −1a =0将(2.3)式的两边进行z 变换后,可以得到FIR 滤波器的系统函数:a (a )=a (a ) a (a )=∑a (a )a −a =∑a (a )a −aa −1a =0a −1a =0又由(2.4)式,有a (a )=a (0)aa −1+a (1)aa −2···+a (a −2)a +a (a −1)aa −1因此,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:用来指定滤波器采用的窗函数类型,其默认值为汉明窗。
3.编写产生滤波器输入信号的程序输入信号应该至少包含两种频率成分的正弦信号,一种信号频率小于2000hz,一种信号频率大于2000hz。
可以再MATLAB中产生,也可编写DSP程序产生。
三、开发平台1.MATLABMATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。
是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。
它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
SCCS(C ode Composer Studio)是TI公司推出的针对TMS320系列DSP的集成开发环境。
在CCS下,开发者可对软件进行编辑,编译,调试,代码性能测试和项目管理等所有工作,并能将程序下载到目标DSP上运行调试。
在一个开放式的插件结构下,CCS内部集成了以下软件工具:1)C5000代码产生工具(包括C5000的编译器,汇编优化器,汇编器和连接器);2)软件模拟器(Simulator);3)实时基础软件DSP/BIOS TM ;4)主机与目标机之间的实时数据交换软件RTDX TM;5)实时分析和数据可视化软件;CCS不仅具有一系列的调试、分析能力,还提供了实时分析和数据可视化功能,大大降低了DSP系统的开发难度,使开发者可以将精力集中在应用开发上。
四、参数计算1.利用MATLAB计算滤波系数利用MATLAB中的FDATOOL设计滤波器参数设置如图4-1,频域波形如图4-2。
其中FDATool(Filter Design and Analysis Tool)是MATLAB信号处理工具箱的一种综合、简便的图形用户工具。
通过该工具提供的先进可视化滤波器集成设计环境,用户可以方便地设计几乎所有的常规滤波器,包括FIR和IIR的各种设计方法。
本次设计利用高通滤波器,选择最小滤波器阶次,采样频率Fs为8Khz,阻带边界频率为1800hz,通带频率设置为2000hz。
参数设置完成后,点击design filter,即可生成如下滤波器的时域与频域图像。
图4-1 FDATOOL生成滤波系数图4-2 设计滤波器的频域波形选择Targets中的Code composer studio(r)IDE,如图4-3示,在出现的对话框中选择输出文件类型为 C header file,输出系数类型为signed 16-bit integer。
点击OK,选择路径,即可输出前一步设计出的FIR滤波器的系数表。
图4-3 生成滤波器系数表文件2.利用MATLAB生成输入信号假设输入信号包括两种频率成分,其中一个信号频率设置为800hz,另一个设置为2500hz,用MATLAB产生,代码如下:i=0:1:255;xto_ccs=round((sin(2*pi*[i]*800/8000)+sin(2*pi*[i]*2500/8000))*32768/ 2)fid=fopen('input.dat','w');%打开文件fprintf(fid,'1651 1 0 0 0\n');%输出文件头fprintf(fid,'%d\n',xto_ccs);%输出fclose(fid);单击编译后生成input.dat文件。
五、源程序1.c语言主程序:#include"stdio.h"#include"fdacoefs.h" //滤波系数文件#define N 111 //FIR滤波器的级数+1,本例中滤波器级数为110 #define LEN 200 //待滤波的数据长度long yn;int input[LEN]; //输入缓冲,在仿真时将从内存载入int output[LEN]; //输出缓冲,直接存放在内存中void main(){int i,j;int *x;for(j=0;j<LEN-1;j++){x=&input[j];yn=0;for(i=0;i<N-1;i++)yn+=B[i]*(*x++);output[j]=yn>>15;}while(1);}2.cmd连接器文件MEMORY{PAGE 0:EPROG:o=0x1400,l=0x7c00VECT:o=0xff90,l=0x80PAGE 1:USERREGS:o=0x60,l=0x1cBIOSREGS:o=0x7c,l=0x4IDATA:o=0x80,l=0x1380EDATA:o=0x1400,l=0x8000EDATA1:o=0x9400,l=0x4c00}SECTIONS{.vectors:{}>VECT PAGE 0.sysregs:{}>BIOSREGS PAGE1.trcinit:{}>EPROG PAGE 0.gblinit:{}>EPROG PAGE 0.frt:{}>EPROG PAGE 0.text:{}>EPROG PAGE 0.cinit:{}>EPROG PAGE 0.print:{}>EPROG PAGE 0.sysinit:{}>EPROG PAGE 0.bss:{}>IDATA PAGE 1.far:{}>IDATA PAGE 1.const:{}>IDATA PAGE 1.switch:{}>IDATA PAGE 1.sysmem:{}>IDATA PAGE 1.cio:{}>IDATA PAGE 1.MEM$obj:{}>IDATA PAGE 1.sysheap:{}>IDATA PAGE 1.stack:{}>IDATA PAGE 1}六、调试过程1.编译程序新建工程文件“liuying0202”,按照五中要求输入c语言源程序及cmd文件,将.c,.cmd,.lib加入工程中,rebuild all。
调试结果如图6-1示。
图6-1 rebuild all结果2.导入程序点击file按钮,选择load program,添加刚刚生成的liuying0202.out文件。
如图6-2示。
图6-2 加入.out文件3.导入数据点击file按钮,选择data中的load...选项,将利用MATLAB生成的inpu t.dat文件导入输入的信号波形文件,如图6-3示,点击确定后,弹出设置对话框,将导入的数据文件的起始地址设置为input,数据长度为200,page选择data,具体如图6-4示。
图6-3 导入数据文件图6-4 设置导入数据格式4.设置观察窗口点击view按钮,选择graph中的time/frequency...进行设置,起始地址分别设置为:input 和output,数据大小设置为:200,采样频率设置为8Khz。
如图6-5示。
图6-5 设置观察窗口七、实验结果及分析1.输入信号如图7-1是输入信号时域波形,图7-2是输入信号频域波形。
2.输出信号如图7-3是输出信号时域波形,图7-4是输出信号频域波形。
图7-1 输入信号时域波形图7-2 输入信号频域波形图7-3 输出信号时域波形图7-4 输出信号频域波形3.结果分析通过四个观察窗口可以明显的观察到,本次设计的滤波器将频率为800hz 的信号滤除,只留下了频率为2500hz的信号,实现了高通滤波器的滤波功能。