1、利用LABVIEW实现周期性矩形脉冲信号的分解与叠加1 引言 为了有效地传播和利用消息,常常需要将消息转换成便于传输和处理的信号。信号是消息的载体,一般表现为随时间变化的某种物理量。信号与系统是为完成某一特定功能而相互作用、不可分割的统一整体。为了有效地应用系统传输和处理信息,就必须对信号、系统自身的特性以及信号特性与系统特性之间的相互匹配等问题进行深入研究。本课程概要介绍信号与系统的分析方法,以便读者对信号与系统的分析思想和方法有一初步了解。信号分析是研究信号的描述、运算、特性以及信号发生某些变化时其特性的相应变化。信号分析的基本目的是揭示信号自身的特性,例如确定信号的时域特性与频域待性,随
2、机信号的统计特性等。实现信号分析的主要途径是研究信号的分解,即将一般信号分解成众多基本信号单元的线性组合,通过研究这些基本信号单元在时域或变换域的分布规律来达到了解信号特性的目的。由于信号的分解可以在时域进行,也可以在频域或复频域进行,因此信号分析的方法也有时域方法、频域方法和复频域方法。 信号与系统研究的是对信号在时间域和频率域进行分析、处理和变换,在时间域里通过零输入响应和零状态响应以及阶跃响应和冲激响应了解输入和输出之间的关系。通过傅里叶变换找到了时间域转换到频率域的方法,对于周期性信号可以通过傅里叶级数进行分解展开成无数多的正弦余弦信号,也可以将这些信号通过叠加还原回原信号。由于傅里叶
3、变换要求信号必须收敛,大多信号不收敛。因此,由傅里叶变换又引出了拉普拉斯变换,从而通过引入衰减因子将大多的信号都能进行时间域到频率域的转换。对于离散信号则采用Z变换进行处理。本课程设计利用Labview2010软件对周期信号的研究和分析,掌握信号的频谱分析方法,理解信号有时域转换到频域的原理及方法,尤其对于周期信号可进行傅里叶级数分解,理解傅里叶级数的系数的求解方法。本课程设计通过对周期性矩形脉冲信号的分解和叠加从而对周期性信号的分解和叠加进一步的理解。2 虚拟仪器开发软件LabVIEW2010入门2.1 LabVIEW2010介绍 LabVIEW(Laboratory Virtual Ins
4、trument Engineering Workbench)是一种程序开发环境,由美国国家仪器(NI)公司研制开发的,类似于C和BASIC开发环境,但是LabVIEW与其他计算机语言的显著区别是:其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言G编写程序,产生的程序是框图的形式。与C和BASIC一样,LabVIEW也是通用的编程系统,有一个完成任何编程任务的庞大函数库。LabVIEW的函数库包括数据采集、GPIB、串口控制、数据分析、数据显示及数据存储,等等。LabVIEW也有传统的程序调试工具,如设置断点、以动画方式显示数据及其子程序(子VI)的结果、单步
5、执行等等,便于程序的调试。 LabVIEW是一种用图标代替文本行创建应用程序的图形化编程语言。传统文本编程语言根据语句和指令的先后顺序决定程序执行顺序,而LabVIEW则采用数据流编程方式,程序框图中节点之间的数据流向决定了VI及函数的执行顺序。VI指虚拟仪器,是LabVIEW 的程序模块。 LabVIEW提供很多外观与传统仪器(如示波器、万用表)类似的控件,可用来方便地创建用户界面。用户界面在LabVIEW中被称为前面板。使用图标和连线,可以通过编程对前面板上的对象进行控制。这就是图形化源代码,又称G代码。LabVIEW的图形化源代码在某种程度上类似于流程图,因此又被称作程序框图代码。 La
6、bVIEW是一种图形化的编程语言的开发环境,它广泛地被工业界、学术界和研究实验室所接受,视为一个标准的数据采集和仪器控制软件。LabVIEW集成了与满足GPIB、VXI、RS-232和RS-485 协议的硬件及数据采集卡通讯的全部功能。它还内置了便于应用TCP/IP、ActiveX等软件标准的库函数。这是一个功能强大且灵活的软件。利用它可以方便地建立自己的虚拟仪器,其图形化的界面使得编程及使用过程都生动有趣。 图形化的程序语言,又称为 “G” 语言。使用这种语言编程时,基本上不写程序代码,取而代之的是流程图或框图。它尽可能利用了技术人员、科学家、工程师所熟悉的术语、图标和概念,因此,LabVI
7、EW是一个面向最终用户的工具。它可以增强你构建自己的科学和工程系统的能力,提供了实现仪器编程和数据采集系统的便捷途径。使用它进行原理研究、设计、测试并实现仪器系统时,可以大大提高工作效率。2.2 利用LabVIEW2010编程完成习题设计习题2.1 写一个类似于左图的正弦波发生器,要求频率和幅度可调。习题3.1 新建一个VI,进行如下练习:(1)任意放置几个控件在前面板,改变它们的位置、名称、大小、颜色等等。(2)在VI前面板和后面板之间进行切换(3)并排排列前面板和后面板窗口习题3.2 编写一个VI求三个数的平均值,如下图所示。要求对三个输入控件等间隔并右对齐,对应的程序框图控件对象也要求如
8、此对齐。(1)添加注释(2)分别用普通方式和高亮方式运行程序,体会数据流向。(3)单步执行一遍 习题4.1 写一个VI判断两个数的大小,如下图所示:当AB时,指示灯亮。 习题4.2 写一个VI获取当前系统时间,并将其转换为字符串和浮点数。这在实际编程中会经常遇到。习题4.3 写一个温度监测器,如下图所示,当温度超过报警上限,而且开启报警时,报警灯点亮。温度值可以由随即数发生器产生。习题4.4 给定任意x, 求如下表达式的值 y=x5+cosx/ex 习题5.1 利用顺序结构和timing面板下的tick count VI,计算for循环产生一个长度为20000点的随机波形所需的时间。习题5.2
9、 为第4章习题4添加一个While循环和定时器,实现连续的温度采集监测。习题5.3 计算学生三门课(语文,数学,英语)的平均分,并根据平均分划分成绩等级。要求输出等级A,B,C,D,E。90分以上为A,8089为B,7079为C,6069为D,60分以下为E。习题6.1 为第5章的习题2连续温度采集监测添加报警信息,如下图所示,当报警发生时输出报警信息,例如“温度超限!当前温度78.23”,正常情况下输出空字符串。习题6.2 将一些字符和数值转换成一个新的输出字符串,输出的字符串是一个GPIB命令字符串,他可以用来与串口仪器进行通信,如图: 习题6.3 用for循环创建一个数组,并用图形显示输
10、出的数组。如下图所示:习题6.4 利用簇模拟汽车控制,如右图所示,控制面板可以对显示面板中的参量进行控制。油门控制转速,转速油门*100,档位控制时速,时速档位*40,油量随VI运行时间减少。习题7.1 利用随机数发生器仿真一个0到5V的采样信号,每200ms采一个点,利用实时趋势曲线实时显示采样结果。习题7.2 在习题1的基础上再增加1路电压信号采集,此路电压信号的范围为5到10V。习题7.3 利用随机数发生器仿真一个0到5V的采样信号,每200ms采一个点,共采集50个点,采集完后一次性显示在Waveform Graph上。习题7.4 在习题3的基础上再增加1路电压信号采集,此路电压信号的
11、范围为5到10V,采样间隔是50ms,共采100个点。采样完成后,将两路采样信号显示在同一个Waveform Graph中。3 利用LABVIEW2010实现周期性矩形脉冲信号的分解与叠加3.1周期性矩形脉冲信号的分解与叠加的基本原理3.1.1周期信号的傅里叶级数分析 按照傅里叶级数的定义,周期函数可由三角函数的线性组合表示,若的周期为,角频率, 频率,傅里叶级数展开表达式为:式中n为正数,各次谐波成分的幅度值按以下各式计算:直流分量: 余弦分量的幅度: 正弦分量的幅度: 必须指出,并非任意周期信号都能进行傅里叶级数展开。被展开的函数f(t)需要满足如下的一组充分条件,这组条件成为“狄利克雷(
12、Dirichlet)条件”:(1)在一周期内,如果有间断点存在,则间断点的数目应是有限个;(2)在一周期内,极大值和极小值的数目应是有限个;(3)在一周期内,信号是绝对可积的,即等于有限值(T1为周期)。 任何周期信号只要满足狄利克雷条件就可以分解成直流分量及许多正弦、余弦分量。这些正弦、余弦分量的频率必定是基频f1(f1=1/T1)的整数倍。通常把频率为f1的分量称为基波,频率为2f1,3f1,等分量分别称为二次谐波、三次谐波等。显然,直流分量的大小以及基波与各次谐波的幅度、相位取决于周期信号的波形。一般说来,需要无限多项次谐波相加才会逼近原周期信号。3.1.2 周期性矩形脉冲信号的傅里叶级
13、数 设周期矩形脉冲信号f(t)的脉冲宽度为,脉冲幅度为E,重复周期为T1,如图所示,此信号在一个周期内的表示式为把周期信号展成三角形式傅里叶级数:其中,余弦分量的幅度: 由于f(t)是偶函数,所以bn=0这样,周期矩形信号的三角形式傅里叶级数为:3.2周期性矩形脉冲信号的分解编程及实现3.3周期性矩形脉冲信号的叠加编程及实现3.3.1第一次叠加3.3.2第二次叠加3.3.3第三次叠加3.3.4第二十次叠加4 结论 两周的课程设计就要结束了,在这个星期中我学习到了很多新的知识新的理念,还初步的掌握了一个新的软件LABVIEW但在这个过程中我也遇到了很多的困难,在开始做课程设计的初期,我先是对傅里
14、叶变换、周期性信号的傅里叶级数、矩形脉冲等一系列概念做了一个全面的了解与回顾。在确定的课程设计方向准备动手做之后,我又发现对需要应用的软件LABVIEW的了解还是不够,于是有去图书管借了一些LABVIEW的书籍。现在已经初步掌握了LABVIEW的使用方法。LABVIEW的编程也是一个难题,在研究了LABVIEW软件的数组和数组运算、输出图形、基本语言、程序设计等内容后。又经过老师的指导,终于完成了程序的设计。最后理论与时间结合,得出了设计的程序与期望的输出结果。在今后的学习生活中,我定会更加的努力,在老师的指导下学习更多的知识努力的培养自己各方面,尤其是独立思考的能力,争取更好的成绩!参考文献1郑丽君.信号与系统.高等教育出版社.2楼顺天、李博菡.基于LABVIEW的系统分析与设计信号处理.西安电子科技大学出版社.3王新宇.LABVIEW与信号处理技术的应用.北京邮电出版社.
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1