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:用来指定滤波器采用的窗函数类型,其默认值为汉明窗。
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时,可设计带阻滤波器。
DSP课程设计-FIR滤波器设计说明
DSP课程设计报告题目:FIR滤波器设计学院:电气信息学院专业:通信工程:学号:指导老师:玉英一、设计目标设计一个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 平面的任何位置。
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技术及应用课程设计1、设计题目:FIR滤波器的设计2、设计任务:能够熟练运用CCS软件进行FIR滤波器的设计,并且进行仿真验证。
设计一个FIR低通滤波器,通带边界频率为2000HZ;通带波纹小于1dB;阻带边界频率为2500HZ,阻带衰减大于40dB采样频率为8000HZ。
FIR滤波器的设计可以用MATLAB窗函数实现。
3、设计方案:软件实现FIR滤波器的设计,在MATLAB中编写计算滤波系数的程序实现,并且需要在编写滤波器输入信号的程序,输入信号包含两种的正弦信号,一种信号频率小于1000HZ,一种信号频率大于1000HZ。
将MZTLAB中生成的.inc文件,和.txt文件,最后将生成的文件加载到CCS软件中。
4、设计方案的功能描述设计方案的功能通过在CCS软件下实现低通滤波器的仿真,具体是将输入信号包含两种的正弦信号的叠加,通过FIR低通滤波器,将正弦信号频率高的滤除。
5、设计中用到的算法研究设计中运用的算法是MATLAB中编写产生低通滤波器的系数,产生.inc文件,具体编写程序实现如下:fid=fopen('yang.inc','wt');a=round(fir1(32,1000/8000*2)*32768);for i=1:1:32if(a(i)<0)b=uint16(32768+a(i))+32767;fprintf(fid,'.word 0x%x\n ',b);elsefprintf(fid,'.word 0x%x\n ',a(i));endend在MATLAB中编写产生滤波器输入信号,生成.txt文件,具体编写程序实现如下:fid=fopen('yang.txt','wt');for i=0:1:255b=int16((sin(2*3.14*i*600/8000)+sin(2*3.14*i*3000/8000))*32768/2);if(b<0)a=uint16(32768+(b))+32767;fprintf(fid,'0x%x\n',a);elsefprintf(fid,'0x%x\n',b);endend编写实现了产生滤波器输入信号后将.txt文件转化为.dat文件,需要在.txt文件中加一句1651 1 0 1 0语句。
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 数字滤波器的设计。
DSP课程设计-FIR滤波器设计
实用标准文档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 −1a =0a −1a =0又由(2.4)式,有a (a )=ℎ(0)a a −1+ℎ(1)a a −2···+ℎ(a −2)a +ℎ(a −1)aa −1因此,FIR 滤波器的系统函数H(z)的极点都位于z=0处,为N-1阶极点;而N-1个零点由冲激响应h(n)决定,一般来说,可以位于有限z 平面的任何位置。
基于DSP的FIR滤波器课程设计
第1章绪论 (2)1.1课程设计(论文)目的 (2)第2章系统方案设计 (2)2.1系统功能介绍 (2)2.2系统方案设计流程图(如图2.1) (3)2.3设计主要内容及步骤 (3)2.3.1滤波器的原理 (3)2.3.2DSP 实现FIR滤波的关键技术 (4)2.3.3具体的操作步骤 (6)第3章详细设计 (6)3.1MATLAB程序流程图(如图3.1) (6)3.2CCS汇编程序流程图(如图3.2) (7)第4章实验过程 (8)4.1 实验步骤与内容 (8)4.2 实验过程中出现的错误及解决的办法 (11)4.3 CCS程序运行后的各种输出结果 (11)第5章结束语 (13)第6章参考文献 (14)第1章绪论1.1课程设计(论文)目的通过课程设计,加深对DSP芯片TMS320C54x的结构、工作原理的理解,获得DSP应用技术的实际训练,掌握设计较复杂DSP系统的基本方法。
通过使用汇编语言编写具有完整功能的图形处理程序或信息系统,使学生加深对所学知识的理解,进一步巩固汇编语言讲法规则。
学会编制结构清晰、风格良好、数据结构适当的汇编语言程序,从而具备解决综合性实际问题的能力。
第2章系统方案设计2.1系统功能介绍任何一个实际的应用系统中,都存在着各种各样的干扰。
数字滤波器是使用最为广泛的信号处理算法之一。
数字滤波器在语音信号处理、信号频谱估计、信号去噪、无线通信中的数字变频以及图像信号等各种信号处理中都有广泛的应用。
在本设计中,先使用MATLAB模拟产生合成信号,然后再利用CCS进行滤波处理。
将模拟信号的采样频率设定为32000Hz,设计一个FIR低通滤波器,其参数为:滤波器名称:FIR低通滤波器采样频率:Fs=40000Hz通带:4000Hz~4500Hz过渡带:2500Hz~3000Hz,3500Hz~4000Hz带内波动:0.5dB阻带衰减:50dB滤波器级数:N=154滤波器系数:由MATLAB根据前述参数求得。
- 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的信号,实现了高通滤波器的滤波功能。