Oscilloscope is a measuring instrument which acquires signals from the other electronicdevice, and then transforms those signals into visible waveform on the screen; it is usuallyused in electronic measurement area. There are three kinds of oscilloscope in current marketincluding analog oscilloscope, digital oscilloscope and virtual digital oscilloscope. Comparedwith the analog oscilloscope, digital oscilloscope has made great help for the high precisionof measurement techniques, that is to say, it could measure the wave's amplitudequantitatively. Both of the two oscilloscopes invented before the virtual digital oscilloscope isdesigned as individual machines.Virtual Digital Oscilloscope is a product which combines computer technology andmeasurement technology. Usually, it is composed of front-end signal acquisition module, thecomputer control module and the signal display module. Compared with traditionaloscilloscope, virtual digital oscilloscope has many advantages. In addition to observing thewaveform, the waveform can be measured and analyzed quantitatively; and it is cost-effective,flexible, and easy to use; functions can be promoted easily; and users can make full use of theopen interfaces to extend its power. Along with the rise of cloud computing, the measurementinstrument has gone beyond the machine boundary, especially, in the highly developednetwork of today. Breaking the constraints of individual measurement laboratory, the trend ofmeasurement is that we test and share the results across the network remotely.In order to make measurement techniques more popular, and more fans of electronicmeasurement can master the basics knowledge, also train the research and developpersonnel .I think it is necessary to develop an oscilloscope which is entry-level, low-cost,easy to use.According to the requirements of the virtual oscilloscope, this paper has designed andimplemented a virtual oscilloscope software which could observe waveform on it. My tasksare: to collect and collate the requirements of the virtual oscilloscope, to list the key featuresof the virtual oscilloscope software requirements; to design a suitable virtual oscilloscopesoftware architecture that has a clear hierarchy, strong adaptability, Extensibility, etc.. with requirements analysis and architecture design, the entire software system is divided intoseveral modules: waveform graphical interface module, data transmission module, USBcommunication module, Ethernet communication module, signal acquisition module, andsignal generator module; after detailed design of each module, I develop a virtualoscilloscope software which support most of the requirements using C++ programminglanguage.The virtual oscilloscope software has a set of application-layer interfaces for thethird-party developers. The third developer can not only use these interfaces to continuedeveloping and enhance software functionality, also can use these interfaces to communicatewith the data acquisition card. In the waveform graphical interface module, this paper hasdesigned and implemented an efficient drawing algorithms——peak-peak-drawing algorithm,even if the mount of waveform data point is up to 100,000 points, you can get a very goodscreen refresh rate when using peak-peak-drawing method, The drawing algorithm can alsobe used in similar program. In the signal acquisition module, it has designed andimplemented a new waveform sampling algorithm. Common sampling algorithms aredifficult to capture Vibration signal and glitch signal, but the new waveform samplingalgorithm can capture these fast-changing signals effectively.This paper has developed a virtual oscilloscope software, which has friend graphicalinterface, and is simple and easy to user. What's more, it has demonstrated the principle ofvirtual oscilloscope in its internal implementation, so it could be used in teaching to helpstudents understand and master the knowledge of oscilloscope. |