虚拟信号发生器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.摘要
本报告介绍了一个简单的信号发生器系统,综合了老师在智能仪表化技术课程中所讲解的包括结构、模块、函数等相关内容的综合。本系统是基于labview2014的虚拟信号发生器,能够在给定参数的情况下输出相应的波形,包括正弦波、锯齿波、三角波和矩形波。也可利用NI数据采集系统进行相应的链接后采集数据并进行相应显示和分析。
关键词:labview 信号发生器波形图
2.设计目的及要求
1.1设计目的
熟练掌握labview软件的基本设计思路和规则,了解各结构的功能,对给出的程序能够基本的理解和设计一些简单的智能发生程序。对G语言和其他编程语言进行一个对比,了解各自的优势和不足。对虚拟信号发生器的相关原理能够独立理解。
1.2设计要求
i.产生的正弦波、锯齿波、三角波、方波能够调节其相位、幅值、频率以
及占空比。
ii.在调节的基础上能够将相关参数显示出来。
iii.能够方便进行外部数据采集系统的扩展设计。
iv.方便对其他方面信号发生器的重新设计。
3.设计思路及流程图
1.1思路及方法
我们需要解决的一共就只有四个大问题:
<波形选择>:与我们常用的函数信号发生器相联系,根据仪器的功能,可以产生多种波形;但是我们们需要的是一种波形,所以必须做好信号相互切换的功能。因此用case条件结构是最好的选择。我可以在case结构中添加多个条件分支,并用特定的数据类型表示不同的波形。在case结构中的条件选择端口添加结构至四个(必须有一个为默认,否则会产生错误),输入各个可以产生的波形(必须与条件分支中的标签一一对应),这样就可以实现波形的选择了
<信号产生>:产生各个波形的方法有很多。比如用公式编写、有仿真信号生成、还有函数生成。但是最简单的是用【函数选板】中的【信号处理】的子选板中的【波形生成】中的【正弦波形】、【方波】、【三角波】、【锯齿波】。但是这些控件必须自己输入各种参数值.
<波形控制>:一个理想的函数信号发生器必须有一个开关,如我们所用到的函数信号发生器一样。在不需要发生器的时候就利用【开关】来控制信号的产生与否。因此,只需要在case条件结构的外面再加一个 while循环结构就可以了.
<参数显示>:产生的波形的各个参数是否满足我们的要求,如果没有显示这些参数的话,我们是不能知道的。所以只需在程序框图中加一个显示控件或局部变量都可以.
以上就是整个虚拟函数发生器的设计思路。
1.2流程图
4.程序图及其实现功能
选择分支结构进行四种信号发生器的统一组合,利用一个字符型输入模块选择波形分支。利用一个布尔型左右拨片对各函数发生器进行重置选择。按钮型布尔开关控制整个程序的停止。选用旋钮的输入调节具有随机性,具体输入数值可以精确显示。
1.1正弦波信号发生器
程序结构图如下:
根据输入的参数产生一个正弦波。由于频率是有单位的,所以用一个字符串函数对输入输出的频率产生一个单位“Hz”。
程序结构图如下:
方波有占空比的输入和调节。
1.3锯齿波信号发生器
程序结构图如下:
程序结构图如下:
5.实际运行结果
给定相关数据来测试信号发生器输出的波形的效果。
将各个可调节的旋钮随机调节到一个参数组,将波形选择输入框分别加载1~4,波形图分别输出同一参数下的不同波形。将开关布尔键长放置在打开状态下,那么使得程序只运行一个回合就停止,可以快速观察波形图。若放置在关断的情况下,那么程序一直运行,无法清除观察波形图,当按下开关后停止运行才能仔细观察。若随机调节的参数不能够清楚的观察波形图,则要将其参数重新调节,比如将频率调低,幅值调低等直至能够清除观察为止。在观察的过程中我们发现,图形还是能够直观的显示出参数的特征。
附结果及其前面板图: