《FIR滤波器程序设计课程设计基于Labview的交流参数测试仪.doc》由会员分享,可在线阅读,更多相关《FIR滤波器程序设计课程设计基于Labview的交流参数测试仪.doc(18页珍藏版)》请在三一办公上搜索。
1、1.设计主要内容及要求;编写FIR滤波器程序。要求:1)研究FIR滤波器原理以及利用DSP实现的方法。 2)编写FIR滤波器的程序。 3)调试程序,观察结果。2.对设计论文撰写内容、格式、字数的要求;(1).课程设计论文是体现和总结课程设计成果的载体,一般不应少于3000字。(2).学生应撰写的内容为:中文摘要和关键词、目录、正文、参考文献等。课程设计论文的结构及各部分内容要求可参照沈阳工程学院毕业设计(论文)撰写规范执行。应做到文理通顺,内容正确完整,书写工整,装订整齐。(3).论文要求打印,打印时按沈阳工程学院毕业设计(论文)撰写规范的要求进行打印。(4). 课程设计论文装订顺序为:封面、
2、任务书、成绩评审意见表、中文摘要和关键词、目录、正文、参考文献。3.时间进度安排;顺序阶段日期计 划 完 成 内 容备注17月4日教师讲解题目,学生查阅相关资料27月5日进行方案论证,确定程序流程和实现方法37月6日编写程序47月7日调试程序57月8日撰写论文,程序验收沈 阳 工 程 学 院 DSP控制器原理与应用 课程设计成绩评定表系(部): 自控系 班级: 测控本082 学生姓名: 张九霞 指 导 教 师 评 审 意 见评价内容具 体 要 求权重评 分加权分调研论证能独立查阅文献,收集资料;能制定课程设计方案和日程安排。0.15432工作能力态度工作态度认真,遵守纪律,出勤情况是否良好,能
3、够独立完成设计工作, 0.25432工作量按期圆满完成规定的设计任务,工作量饱满,难度适宜。0.25432说明书的质量说明书立论正确,论述充分,结论严谨合理,文字通顺,技术用语准确,符号统一,编号齐全,图表完备,书写工整规范。0.55432指导教师评审成绩(加权分合计乘以12) 分加权分合计指 导 教 师 签 名: 年 月 日评 阅 教 师 评 审 意 见评价内容具 体 要 求权重评 分加权分查阅文献查阅文献有一定广泛性;有综合归纳资料的能力0.25432工作量工作量饱满,难度适中。0.55432说明书的质量说明书立论正确,论述充分,结论严谨合理,文字通顺,技术用语准确,符号统一,编号齐全,图
4、表完备,书写工整规范。0.35432评阅教师评审成绩(加权分合计乘以8)分加权分合计评 阅 教 师 签 名: 年 月 日课 程 设 计 总 评 成 绩分中文摘要数字信号处理器(Digital Signal Processing,DSP)也称为DSP芯片,是一种用于进行数字信号处理运算的微处理器,其主要功能是实时快速地实现各种数字信号处理算法及各种复杂控制算法。有限冲激响应(FIR)滤波器是数字信号处理系统中最基本的元件,具有严格的线性相频特性,同时其单位抽样响应是有限长的,系统稳定。FIR滤波器的输出仅取决于现在的输入和有限个过去的输出,,而与过去的输出无关。长度N,输出为,输出为的FIR滤波
5、器可用差分方程描述为:即输出序列为系统的冲激响应与输入信号的卷积。 在此次课程设计中设计了一个低通FIR滤波器。根据要求,选择布莱克曼窗实现滤波器的设计,运用正弦波与矩形波叠加后的波形作为输入波形,对它进行滤波,并通过观察频谱图来验证滤波的效果。通过Matlab仿真软件计算求得滤波器的阶数,最后通过实验仿真,从输入信号和输出信号的时域和频域曲线可看出在DSP上实现的滤波器能完成预定的滤波任务。关键词 DSP,数字信号处理,FIR滤波器,Matlab目 录中文摘要V目 录VI1 设计任务描述11.1设计题目:直流数字电压表程序设计11.2 设计要求11.2.1 设计目的11.2.2 基本要求11
6、.2.3 发挥部分12、设计思路23、设计方框图34、系统软件流程45、主要程序设计及各部分功能介绍55.1数据采集卡NI-DAQ55.2交流参数测试及显示65.2.1电压的交流参数测试及显示65.3有关功率的计算与设计95.4档位选择105.5启停与日期获得区域106、仿真结果与数据显示126.1正弦波仿真结果与数据显示126.2三角波仿真结果与数据显示96.3 方波仿真结果与数据显示127、工作过程分析14小 结15致 谢16参考文献17附录一电路图181 设计任务描述1.1设计题目:FIR滤波器程序设计1.2 设计要求1.2.1 设计目的1)研究FIR滤波器原理以及利用DSP实现的方法。
7、2)编写FIR滤波器的程序。3)调试程序,观察结果。1.2.2 基本要求1.2.3 发挥部分(1)输入正弦波进行滤波。(2)输入叠加后的波进行滤波。 2、设计思路本次DSP控制器原理与应用课程设计中,我的题目是FIR滤波器程序的设计,即利用DSP的仿真软件实现FIR滤波器的程序设计,并根据输入的不同波形进行仿真并观察仿真后的结果,同时检验结果是否正确课程设计的要求是设计FIR滤波器,从而实现对不同波形的滤波等功能,我利用所学的数字信号处理与DSP控制器原理与应用知识以及查找资料,在完成老师的要求下还进行了适当的发挥。我的设计思路大体分为以下几部分1) 查找相关资料对FIR滤波器进行深入的了解。
8、FIR滤波器的单位脉冲响应有限长,系统不存在非稳定现象。我们总能用因果稳定系统来实现,FIR滤波器主要的不足在于其较好的性能是以较高的阶数为代价换来的,对于相同的设计指标FIR滤波器所要求的阶数比IIR滤波器高2-3倍信号延迟偏大,因此,在保证相同性能的前提下,尽量降低其阶数是FIR数字滤波器设计的目标之一。2) 通过Matlab仿真软件,并根据要求,求得FIR滤波器各阶的系数。3) 对输入信号进行设计与编程。对滤波器部分进行程序编程,由于此次课程设计中书上已经给出了源程序,所以这部分就变的容易了很多。4) 将输入信号部分程序与滤波器部分进行结合,并调试程序,进行软件仿真,通过曲线的时域与频域
9、的曲线图观察结果是否正确。 通过一周的努力与学习我最终比较圆满的结束了DSP控制器原理与应用的课设,我的设计在满足老师要求的基础上还进行了适当的发挥。3、FIR滤波器的各部分程序设计与思路3.1 FIR滤波器设h(n),n=0,1,2 N-1为滤波器的冲激响应,输入信号为x(n),则FIR滤波器就是要实现下列差分方程:式中,y(n)为输出信号,即经过滤波之后的信号;N为滤波器阶数。FIR滤波器的最主要特点是没有反馈回路,因此是无条件稳定系统,其单位脉冲响应h(n)是一个有限长序列。由式(1)可见,FIR滤波算法实际上是一种乘法累加运算,不断地输入样本x(n),经延时(z-1)做乘法累加,再输出
10、滤波结果y(n)。对式(1)进行Z变换,整理后可得FIR滤波器的传递函数为:图3-1所示为FIR滤波器的一般结构:图3-1 FIR滤波器结构图FIR滤波器的主要特点是没有反馈回路,因此它是无条件稳定系统。它的单位脉冲响应h(n)是一个有限长序列。如果h(n)是实数,且满足偶对称或奇对称的条件,即h(n)=h(N-1-n)或h(n)=-h(N-1-n)。则滤波器具有线性相位特性。偶对称线性相位FIR滤波器(N为偶数)的差分反方程表达式为:线性相位FIR滤波器是用得最多的FIR滤波器。有上式可知,FIR滤波器算法实际上是一种乘法累加运算。它不断地输入样本,经过延时(),做乘法累加,再输出滤波结果.
11、3.2 Matlab实现的滤波器阶数计算MATLAB是美国Mathworks公司与1967年推出的软件包,它是一个功能强、效率高、便进行科学计算和工程计算的交互式软件包,其中包括:一般数值分析、矩阵运算、数字信号处理、建模和系统控制、优化等应用程序。同时MATLAB提供了相应的子程序来实现窗函数,例如:wd=boxcar(N)数组wd中返回N点矩形窗函数wd=triang(N)数组wd中返回N点三角窗函数wd_hanning(N)数组wd中返回N点汉宁窗函数wd=hamming(N)数组wd中返回N点哈明窗函数wd=blackman(N)数组wd中返回N点布莱克曼窗函数wd=kaiserfN,
12、beta)数组wd中返回给定beta值时N点凯泽窗函数 根据课设要求,选择布莱克曼窗,其Matlab程序设计如下:3.3 FIR滤波器的DSP实现仿真器xDS即扩展开发系统,可用来进行系统级的集成调试,是进行DsP芯片软硬件开发的最佳工具。目前主要有两种类型的仿真器:一种是传统的电路仿真器,主要用于早期的IMs320Clx及TMs320c2x两代DSP芯片的仿真。TMS320C54x片内没有I/O资源,CPU通过外部译码可以寻址64KW的I/O单元。有两条指令可以实现输入和输出:PORTR PA,Smem ;Smem=PAPORTW Smem,PA ;PA=Smem这两条指令至少要2个字和2个
13、机器周期。如果I/O设备是慢速器件,则需要插入等待状态。此外,当利用长偏移间接寻址或绝对寻址Smen时,还要增加1个字或1个机器周期。3.4 FIR滤波器的整体设计(1)首先要根据设计要求,即根据FIR滤波器要求的频率响应函数,经过傅里叶变换得到,如果要求的滤波器的频率响应存在过渡带,则设计中所使用的截止频率由通带频率和阻带频率按下式求出。(2)选择合适的窗函数,根据所允许的过渡带宽,估计序列的长度N。(3)利用MATLAB中的提供的一个子程序叫做firl,其标准格式为:求滤波器的系数。其中: b为待设计的滤波器系数向量,其长度为N=M+1; M为所选的滤波器阶数;type为滤波器的类型,如高
14、通、带通、带阻等,缺省时为低通;Window为选定的窗函数类型,缺省时为hamming窗。(4)编写程序实现FIR滤波器。4、程序流程图的设计编写主程序定义变量与函数申明初始化数据开始判断采样点数是否达到 N Y结束输出波形5、各部分程序设计与介绍5.1输入信号正弦波作为典型的信号正弦波信号其频谱图具有明显的特点:其频谱图只在信号的频率上有幅值,但是由于获得的正弦信号是经过采样后的数字信号获得,因此得到的正弦波信号存在干扰信号,并不是严格意义上的正弦波信号,因此得到的频谱图带有拖尾。其仿真图形如下:其程序设计如下:float inputsin(void) int rq; for(rq=K;rq
15、0;rq-) fxnsrq=fxnsrq-1; fxns0=sin(pi*300*ii/K*3)*4096; ii+; if(iiK)ii=0; return(fxns0); 此次设计中把正弦信号作为频率较大的干扰信号,其频率为450HZ,是矩形波信号的几十倍,作为干扰信号与主波信号进行叠加后,被滤波器滤除后,仅剩有主波信号即矩形波信号的频谱图。5.2 输入主波信号矩形波 矩形波信号作为输入信号的主波,其频率要远远小于正弦波信号的频率,才可以保证经过低通滤波器后仅保留下矩形波的信号,通过其频谱图可以明显的发现最后正弦波信号被滤除。矩形波的图形如下:其程序设计如下:float inputwave
16、(void) for(i=n-1;i0;i-) fxni=fxni-1; fxn0=sin(fsignial1)+cos(fsignial2)/6.0; fsignial1+=fstepsignial1; if(fsignial1=f2pi) fsignial1-=f2pi; fsignial2+=fstepsignial2; if(fsignial2=f2pi) fsignial2-=f2pi; return(fxn0); 矩形波信号可以看作是无数个正弦波信号与余弦波信号叠加而成的通过计算确定其各项的系数,最后得到的矩形波信号的频率为30HZ左右,可以明显看出其频率远远小于正弦波信号的频率。
17、5.3 滤波器程序设计与整体分析 根据课设的要求选择布莱克曼窗,由截止频率等已知的一些条件可以求得窗系数的长度为25,用Matlab仿真软件求得滤波器的差分方程的系数为fhnn= 0.0,0.0,-0.002,-0.002,0.01,-0.009,-0.018,-0.049,-0.02,0.11,0.28,0.64,0.28,-0.11,-0.02,0.049,-0.018,-0.009,0.01,-0.002,-0.002,0.001,0.0,0.0 输入的正弦波信号与矩形波信号叠加的信号经过滤波器后仅保留下矩形波信号,正弦波信号作为干扰信号被滤除。 经过滤波器后信号的频谱图为: 其程序设计
18、如下:float fir() float fsum; fsum=0; for(i=0;i=256) nout=0; float inputwave(void) for(i=n-1;i0;i-) fxni=fxni-1; fxn0=sin(fsignial1)+cos(fsignial2)/6.0; fsignial1+=fstepsignial1; if(fsignial1=f2pi) fsignial1-=f2pi; fsignial2+=fstepsignial2; if(fsignial2=f2pi) fsignial2-=f2pi; return(fxn0);float fir() float fsum; fsum=0; for(i=0;i0;rq-) fxnsrq=fxnsrq-1; fxns0=sin(pi*300*ii/K*3)*4096; ii+; if(iiK)ii=0; return(fxns0);