Introduction to the VirtualScope 2.4
& signal generator simulator

Developed to accompany
Experimental Physics: Principles and Practice for the Laboratory
Edited by Walter Fox Smith (Taylor & Francis, 2020)

You are encouraged to use this simulator for any purpose.

IMPORTANT: Please have users (e.g. students) download from this page, rather than providing the files yourself.

This simulator was created by Katherine Matthews
with contributions by Matt Distad and Walter Smith.

Here is an overview video:
(Note that the installation procedure is now simpler than shown in the video, as detailed below.)

To run the simulator, you must first install the LabVIEW Runtime engine, which is available for free.
Click here for installation instructions.

Next, download the simulator app following the instructions for your operating system below:

1. Right-click on this link, and choose "Save Link As.."
2. Right-click this link, and choose "Save Link As..", then save this file (lvsound2.dll) to the same directory as the file (VirtualScope.exe) from step 1.
3. Then, double-click the simulator application to run it. If it doesn't work or you get error messages, please follow these additional steps.

1. Click on the this link
2. Open Downloads. Double click on the file, and a VirtualScope application should appear in Downloads. Place this application in a new folder on the desktop.
3. Run the VirtualScope application.  If it doesn't work or you get error messages, please follow these additional steps.



    Operating notes:
  • The trigger point is marked by the vertical light blue line near the left side of the screen.
  • The trigger level is indicated by the horizontal light blue line. Use your mouse to drag it.
  • The ground is indicated by a green dashed horizontal line for channel 1, and a blue dashed line for channel 2.
  • Use the "Cursors on?" button to activate measurement cursors, then use your mouse to drag them.
  • If you happen to position a cursor exactly on top of the vertical "Trigger point" line and exactly on top of the horizontal line across the center of the screen, it gets stuck. To unstick it, click the "Reset Cursors" button.
  • You can freeze the displays by clicking the Run/Stop button. To unfreeze, click it again. You can make measurements with the cursors or view the Fourier transforms while the displays are frozen. (This feature is mostly useful for the microphone input.)
  • Click the "Randomize" button to randomize the controls. (Good for practicing your scope skills!)
  • For differential measurements (1-2), you must either have 10X probes on both channels or on neither channel. (This is what you'd typically do on a real scope.)
  • The compensation for the 10X probes is randomized each time you start the application; this is a reminder to always check your probe compensation. (Use a 1 kHz square wave.)
  • The probe attenuation switches on the scope must be set to match whether or not you've selected 10X probes, just like on a real scope.
  • VirtualScope fully simulates the output impedance of the signal generator (50 ohms) and the input impedance of the scope (1 Mohm in parallel with 25 pF without 10X probes; more complicated with 10X probes but approximately 10 Mohm in parallel with 15 pF).
  • Check out the FFT tabs at the top. These show the Fourier transforms of channel 1 or 2. The axes are set to autoscale by default. However, you can right-click on an axis and uncheck the autoscale option. Then, you can highlight the maximum or minimum value for that axis and type in a different value. Or, use the magnifying glass tool to zoom in on a region of interest (after turning off autoscale).
  • To stop the application, click the "OFF" button (at the bottom right of the oscilloscope section). To restart, click the arrow at the top left of the screen.
    Microphone input:
  • To use your computer's microphone as an input, click the "Use Mic" button at the top of the Signal Generator. The signal coming from the "Main out" of the signal generator is now actually the output from the microphone.
  • Since the scope is now collecting real data, the update rate will be slower on the high s/div settings. For example, if you choose 500 ms/div, it takes a bit more than 5 s per update.
  • Some computers have an auto-level feature for the microphone. To test if it is turned on, try singing or humming at constant volume; if you see the amplitude decreasing over a few seconds even though you are maintaining constant volume, then your microphone is set to auto-level. If you need to make quantitative measurements, you may wish to disable this. Click here for instructions.
  • To capture a one-time sound (such as a finger snap), first adjust the trigger level so that the voltage will only reach that level when the sound occurs. Click the "Trigger mic" button. This puts the scope into a "Single Sweep" trigger mode. The scope appears frozen (as would a real scope), but it's really just waiting for the trigger event. When you make the sound, it will be displayed. (In this mode, to avoid possibly missing your event, the scope collects three screenfuls of data before displaying anything, so on the 500 ms/div setting, it may take over 15 s for each update. The small "trigger" indicator LED next to the trigger mic switch shows you when the trigger condition has been met, but even that may be delayed by several seconds on the 500 ms/div setting.) When the trigger event occurs, the scope display is automatically frozen; click the Run/Stop button to unfreeze.
  • Again, you can use the cursors and the FFTs while the display is frozen.