预览加载中,请您耐心等待几秒...
1/8
2/8
3/8
4/8
5/8
6/8
7/8
8/8

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

编号: 时间:2021年x月x日 书山有路勤为径,学海无涯苦作舟页码:第页共NUMPAGES8页 第PAGE\*MERGEFORMAT8页共NUMPAGES\*MERGEFORMAT8页 基于LabVIEW虚拟数字存储示波器设计 张伟军(学号:002004101751) 虚拟示波器相比传统示波器具有价格低廉、功能丰富、可编程性以及显示直观等众多优势。本设计不仅仅具有示波器基本功能,更依据LabVIEW语言的特点丰富了数字滤波、信号保存以及回显等功能。不仅具有了价格低廉、界面美观等特点,而且具有传统示波器中比较高端的存储、回显以及数字滤波等功能,更可以根据需要随时灵活修改程序,增加功能以满足更个性化的要求。 一、具备功能 ★实时显示:通过采集卡采集信号并能对输入信号实时显示在PC机终端上。 ★数字滤波:采用数字IIR滤波器对信号进行滤波处理并实时显示,同时可以任意设置滤波器的最佳逼近函数类型、滤波器类型、阶次、上下截止频率等参数。 ★截波显示:即可满足波形的瞬态显示,同时也可以将瞬态波形进行保存。 ★波形存储:可随时将原始信号或处理后信号以LabVIEW特有的LVM文件格式存储在本地硬盘上,便于日后分析或处理。其中瞬态信号在截波后以BMP图片格式存储在本地硬盘上供日后查看以及分析。 ★波形回显:随时将存储的LVM格式波形文件重新读取然后显示在PC机端。 ★频谱分析:对滤波后信号分别进行幅频相应分析以及相频响应分析并同时采取波形与表格方式实时显示。 二、基本原理 硬件上利用采集卡采集信号,软件上利用NI提供的DAQmxREAD采集信号,然后通过WaveformGraphs进行实时显示。这就实现了一个最基本的示波器,信号显示后又利用WriteToMeasurementFile将波形保存为LVM文件。这就实现了基本的“存储”功能,反之通过ReadToMeasurementFile可以将LVM读取显示,从而完成“回显”功能。 由于在硬件上是以PC机以及采集卡为基础的,所以本示波器在采样极限速率,带宽,分辨力等参数上受到限制。而程序响应时间上则依赖于PC的配置以及程序的执行效率。 三、主要的函数 DAQmxRead、DigitalIIRFilter、WaveformGraphs、WriteToMeasurementFile、ReadToMeasurementFile等主要函数 四、前面板介绍 1、完整界面(截图) 左边为设置滤波器,左下为IIR滤波器的部分参数设置,正中为显示区域,最上面为各种显示界面的切换按钮,下方为滤波器的相关信息显示以及通道选择和时间、幅度轴控制,右边自上而下分别为采样模式选择、采样速率以及采样点数的设置、STOP按钮以及文件保存选择按钮。 图一是从函数发生器接收的原始三角波信号; 图一:从函数发生器接收的原始三角波信号 图二:三角波经过滤波器后的信号(类正弦) 2、图二:三角波经过滤波器后的信号(类正弦) 3、截波波形:截取经过滤波器后的一部分静止(瞬态)波形,这里就不进行截图。 4、图三:幅频响应,滤波后进行的幅频分析 图三:幅频响应,滤波后进行的幅频分析 5、图四:相频响应,滤波后进行的相频分析 图四:相频响应,滤波后进行的相频分析 图五:波形回显 6、波形回显:之前有一个保存操作,将波形保存在里面,然后回显即为读取文件。由图五可见,正是刚才采集的三角波信号。 7、保存操作,可以进行类型的选择与保存 图六:保存操作 五、后面板介绍 1、完整程序流程图 图过大省略。 2、通道选择,采样速率,模式,点数等参数设置 图七:采样参数设置 3、采样、滤波以及截波等部分 图八:采样、滤波以及截波 4、时间以及幅度控制部分 图九:时间以及幅度控制 5、波形保存部分,一个case选择结构,分别选择保存类型 图十:波形保存 6、波形回显部分,按钮触发,实质是一个独立的程序部分。 图十一:波形回显 7、幅频响应,实质是读取的IIR的响应数据,另外频率轴根据需要由采样速率控制(采样速率除以2作为频率轴的最大值),相频响应同理。 图十二:幅频响应 六、小结 本设计根据要求完成了示波器的基本功能,并作了一些扩充,在现有条件下应该是完成了应该达到的或可以达到的功能。诚然,本设计可以进一步丰富功能,但扩充需要根据需求来添加。 还是说说本设计需要改进的地方。 首先是效率的提高。本设计无论是从设计的初衷还是设计的结果来看,都没有充分考虑到程序的效率以及操作的效率来。仅为功能的实现以及少量必要的优化。本设计仅用了不到一天的时间制作,还加上调试时间。效率不够高体现在以下几个方面。 一是程序是流水线式设计运行,具体体现在前面板的几个界面切换后后台并没有停止运行,而是一直在运行,这