labview课设-生成扫频信号虚拟仪器设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

生成扫频信号虚拟仪器设计专业班级:测控0703班学号:指导老师:黎水平制作者姓名:余国景设计步骤:①搭建前面板界面新建名为“扫频信号发生器.vi”的空白VI,为了照顾便于参数配置和观察结果双方面的要求,本程序使用了一个选项卡控件的两页分别作为“扫频参数设置”和“扫频信号波形显示”的交互界面。前一页面“扫频参数设置”中需添加扫频采样率,起始频率,终止频率,输出电压,扫频步数,每步样本数,声卡最大输出电压,扫频频率文件路径,扫频信号文件等控件作为扫频参数,如图一所示。后一页面“扫频信号波形显示”中需添加一个波形图用于预览扫频信号波形,如图二所示。关于按钮,有“上一步”和“下一步”,方便用户在两个页面之间进行切换。图一前面板一图二前面板二图三“生成扫频信号.vi”的程序跨国图②扫频信号参数配置及生成扫频信号就是频率变化的连续正弦波信号,作为待测电路的激励源,它可以有若干种不同的扫频规律,最常见的有线性变化,指数变化,倍频变化等。在这里我们使用指数形式变化的扫频规律,其频率变化规律可表达如下:f=f1*(f2/f1)^(i/N-1)个参数的含义为:·f:当前步的扫频频率;·f1和f2:起始频率和终止频率,频率变化过程可以从低频到高频,亦可以从高频到低频,一般情况下都是起始频率f1小于终止频率f2的;·N:扫频步数,表示将整个扫频过程分为多少步进行;·i:当前步号,i=0,1,2,···,N-1专门新建一个子VI“生成扫频信号.VI”来实现计算并生成扫频信号的过程,如图三所示。注意这里所使用的正弦波VI(如图四)有两点说明:·正弦波VI能够控制初始相位,输入参数“相位输入”指定了所生成波形的厨师相位,而输出参数“相位输出”可记录所生成波形的末相位,通过For循环结构的一位寄存器传递给下一步所生成的波形初始相位,这样就可以保证每步之间的波形相位是连续的。在启用个这一功能的同时需要将参数“重置相位”设置为真。·输入参数“频率”所采用的归一化频率或所谓的数字频率,其定义是:f=fA/fs,其中fA为模拟频率,即生成模拟频率为fs=441Hz的信号,实际上应该向参数“频率”输入值为0.01的参数。实际上,归一化频率的倒数就是每周期采样信号的点数。图四正弦波VI的连线板将“生成扫频信号.VI”封装为子VI,连线板如图五。图五“生成扫频信号.vi”的连线板在“扫频信号发生器.vi”的程序框图中建立以事件驱动为框架的程序结构,然后添加对各个扫频参数值变化时的响应事件(“值改变”事件),在任意一个参数值因用户操作而改变时,就可以即时更新扫频信号波形和频率数组。在这段代码中,“生成扫频信号.VI”的输入参数“幅值”所指的应该是数字量,所以涉及从模拟量向数字量的换算问题,将使用16位有符号整数表示扫频信号波形,一般认为声卡的输出电压时线性变化的,所以从用户设定的输出电压幅值到数字量的转化关系式应为:D=U0*(32768)/Uomax其中D为数字量,U0为用户设定的扫频信号输出电压,Uomax为声卡最大输出电压,从声卡使用手册上就能够查到,或者通过万用表实测也能测得。注意这里的U0和Uomax必须保证为同一类型的电压值,如同为峰值或同为均方根等。在“扫频信号发生器.vi”的框图中,为按钮“下一步”添加“值改变”事件响应代码。这部分代码的主要功能有三点,如下所示。·根据扫频参数更新扫频信号波形和频率数组;·将扫频信号波形数据和频率数组数据分别写入到两个指定路径的文件中去,前者使用.wav文件存储,后者使用.txt文件存储。这样在下一步的测试过程中就可直接从文件中读取波形数据和频率数据,不用再进行重复计算了;·当用户单击“下一步”按钮时自动跳转到选项卡控件的第二页,本例中是使用选项卡控件的值属性节点写入值实现的,实际上直接对选项卡控件的局部变量写入值也可以实现。·当用户单击“上一步”按钮时自动跳转到选项卡控件的第一页。这里需注意,将存储波形为.wav文件时注意配置打开声音文件VI(SoundFileOpen.vi)的声音格式为单声道、16位精度,且多态型写入声音文件VI(SoundFileOpen.vi)应选择为I16型数据存储,才能保证将数据正常地按照有符号16位整数形式存储。仿真结果第一页界面第二页界面总结这次制作虚拟仪器,使我对虚拟仪器的概念有了全新的理解,同时也使我掌握了Labview这门可视化编程语言软件的应用。Labview使虚拟仪器的制作更加简单化,大众化。使得我们从将对象视觉化得繁琐过程中解脱出来,将更多的精力放在了软件性能的设计上。对于本实验来说,它是“扫频仪”的其中一个部分,用来产生扫频信号,即激励信号。通过指定参数(如扫频方式,时常,起止频率等)设定出不同的扫频信号。针对不同的系统测试出激励信号和响应信号,来求得系统的频率响应,幅值响应。在设计的过程中,对于程序面板上的的设计,如正弦波发生等控件的使用时很重要的,同时还要理解在传输过程中传输线中数据的类型。这是导致错误的绝大部分原因。经过这次试验,让我对测量方面的虚拟仪器设计有了更大的兴趣,我决定在扎实的打好我的仪器设计知识方面的基础上,好好学习虚拟仪器设计,同时,我也意识到要想使自己在这方面有更大的提高,就要从根本上入手,要学习windows内核编程。

1 / 8
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功