欢迎来到天天文库
浏览记录
ID:41252704
大小:279.50 KB
页数:21页
时间:2019-08-20
《多通道数字示波器》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、多通道数字示波器一构建思想优点:1利用VC强大功能,可以在微机上进行操作。2方便调整修改,满足不同的信号处理要求。3能够存储大容量的数据,方便对数据分析,提高工作效率。4占用内存比较小,运行速度快。二基本原理本示波器有2大部分组成1数据。包括数据的读取,存储,即时读取,后台处理。2显示。对数据的显示功能。包括显示即时数据,显示读取存储的数据。数据处理1建立合理高效的数据结构。处理方法:建立结构体。其中包括数据的一切属性,使之与图象联系起来,达到直观,准确的观察效果。例:structcurAtt//通道线的属性{uns
2、ignedintcolor;//线颜色unsignedintwidth;//线宽intboundY;//Y轴范围intoffsetY;//中心轴偏移量excursionYfloatscale;//放大缩小系数intprecision[16];//灵敏度intexcursion[21];//中轴偏移}channel[8];structCanData{chardata[500000];//存储数据缓冲}candata[8];structDataBuffer//数据显示缓冲{chardata[MaxBuff];}datab
3、uffer[8];structDataSave//数据存储缓冲{chardata[500000];}datasave[8];优点:数据反映全面,直观。方便修改,为以后的程序更新提供了很好的基础。2数据的存储处理方法:建立大缓存,采取同存的方法,一次性处理4M甚至更大的数据。例:chartempdata[4000004];//临时缓冲1chartempdata2[4000004];//临时缓冲2unsignedcharonetime;//循环次数计数写数据:长度小于500000的处理方法{for(unsignedlon
4、gh=0;h<500000;h++){tempdata[h+4+500000*0]=candata[0].data[h];//1tempdata[h+4+500000*1]=candata[1].data[h];//2tempdata[h+4+500000*2]=candata[2].data[h];//3tempdata[h+4+500000*3]=candata[3].data[h];//4tempdata[h+4+500000*4]=candata[4].data[h];//5tempdata[h+4+5000
5、00*5]=candata[5].data[h];//6tempdata[h+4+500000*6]=candata[6].data[h];//7tempdata[h+4+500000*7]=candata[7].data[h];//8}}把8个通道的数据同时分段存到一个结构体中。采用二进制的存储方式,速度快。//数据长度超过500000万的处理方法{for(unsignedlongh=0;h<500000-datapo;h++){tempdata[h+4+500000*0]=candata[0].data[h+da
6、tapo];//1tempdata[h+4+500000*1]=candata[1].data[h+datapo];//2tempdata[h+4+500000*2]=candata[2].data[h+datapo];//3tempdata[h+4+500000*3]=candata[3].data[h+datapo];//4tempdata[h+4+500000*4]=candata[4].data[h+datapo];//5tempdata[h+4+500000*5]=candata[5].data[h+dat
7、apo];//6tempdata[h+4+500000*6]=candata[6].data[h+datapo];//7tempdata[h+4+500000*7]=candata[7].data[h+datapo];//8}for(h=0;h8、datapo]=candata[2].data[h];//3tempdata[h+4+500000*4-datapo]=candata[3].data[h];//4tempdata[h+4+500000*5-datapo]=candata[4].data[h];//5tempdata[h+4+500000*6-datapo]=candata[5
8、datapo]=candata[2].data[h];//3tempdata[h+4+500000*4-datapo]=candata[3].data[h];//4tempdata[h+4+500000*5-datapo]=candata[4].data[h];//5tempdata[h+4+500000*6-datapo]=candata[5
此文档下载收益归作者所有