====== Introductory Lab: Oscilloscope Skills ======
To prepare you for later experiments in this course, we have designed a set of exercises to help you familiarize yourself with the capabilities of our oscilloscopes. Some of you have only briefly used 'scopes in your first year lab courses, while others may already be adept with them due to research experience. You should learn something either way, as the capabilities of scopes are truly impressive.
==== What do I need to turn in? ====
During the lab, you'll be asked to characterize six different unknown signals. In order to get credit for completing the lab, you will need to submit a document in which you include a photo (or sketch or screenshot) or each of the six signals as well your characterizations of that signal.
**Hey, I know how to use a scope already! **
We'd still encourage you to go through the activities here, as you may learn something useful you didn't know was even a feature of a scope. You're also going to hand in a characterization of six unknown waveforms for this, so if nothing else you can skip to those parts.
====== Exercise 0: Why an oscilloscope? ======
----
Before we get too far into how to use a scope, we should mention //why// we use them in the first place. After all, doesn't a multimeter measure voltage too? The answer, in short, is time. Multimeters are useful for measuring static quantities that change slowly, but if the phenomena we care about takes place in seconds or less it just can't keep up. Not to mention, even if it could update quickly enough you'd never be able to record the values to interpret what you were seeing. An oscilloscope solves both these problems by being able to capture a snapshot of changes over a timescale of our choosing.
==== Anatomy of an oscilloscope ====
While it may look rather like a largish electronic calculator that would be insanely complicated to operate with about a hundred tiny buttons and a 4.5" wide screen, [[https://en.wikipedia.org/wiki/The_Hitchhiker%27s_Guide_to_the_Galaxy_(fictional)|Don't Panic]]. Controls are put into reasonable groupings, and there is quite a bit of feedback given on the screen once you know how to look for it. As you work through these exercises, we'll introduce both the controls and the location of relevant feedback on the screen.
| {{phylabs:lab_courses:phys-211-wiki-home:introductory-lab-scope-skills:starting_out_0.png}} |
| The front panel of our oscilloscopes. Get used to seeing it, we'll be using it a lot today. |
====== Exercise 1: Learning the controls ======
----
===== Getting started =====
| {{phylabs:lab_courses:phys-211-wiki-home:introductory-lab-scope-skills:starting_out_1.png}} |
| The ''softkeys'' are the context-sensitive buttons just to the right of the screen. The ''Default Setup'' is usually towards the top-right corner of Tektronix instruments, but it varies from model to model. |
* Start up the scope, then either wait for the time & date setup screen to pass or press one of the bottom 3 ''softkeys'' to get to the main screen
* Press the ''Default Setup'' button that's around the top right side of the scope.
Right now you should be seeing a yellow line in the middle of the screen with a bit of fluctuation to it. That's perfectly normal and the noise is probably some sort of 60 Hz signal that is picked up from power lines in the room.
* Press the yellow ''1'' button to select the first input channel
* Press it a second time to toggle the channel display off
* Press it a third time to toggle the display back on
As you do this, look at the left edge and bottom left corner of the screen. When the channel is turned on, the bottom part of the screen will display both the channel name and what the voltage scale is. In addition, a little yellow arrow indicates where the baseline of the signal is. (A blue arrow would indicate the baseline for channel 2).
* Turn the vertical position knob and watch the bottom part of the screen
| {{phylabs:lab_courses:phys-211-wiki-home:introductory-lab-scope-skills:1div.png}} |
| The feedback text denoting the vertical offset is highlighted in pink |
When you're turning the position knob, you can see that it shifts where the signal is displayed on the screen. This doesn't affect the values that you're measuring, but if you are trying to compare things and forget that you've shifted something then it can cause issues. Not only does it tell you what the offset is, it does so in both terms of a voltage and a number of divisions. This can be handy if you want to set a particular horizontal line on the screen as a reference point when you're looking at a signal.
* Turn the position knob just far enough that the signal can no longer be seen
| {{phylabs:lab_courses:phys-211-wiki-home:introductory-lab-scope-skills:offscreen.png}} |
| The baseline of the trace is offscreen, denoted by the arrow in the top-left corner highlighted in pink. |
Now, you'll see on the left-hand edge that instead of indicating a position, there will be a ''1'' with an arrow pointing down or up, depending on which way you shifted the signal.
* Change the vertical position to get your signal back on the screen, and note the number of divisions on the offset.
* Change the vertical scale up or down
* Tweak the vertical position just a bit to see what the new offset is
| {{phylabs:lab_courses:phys-211-wiki-home:introductory-lab-scope-skills:2div.png}} |
| Our signal's back on the screen! Huzzah! |
When you change the zoom level on a channel, the number of divisions that it is offset remains the same. So, if you were on a 1V scale with 1 division of offset and change to a 5V scale, you now have a 5V offset.
==== Attenuation settings ====
For a whole host of reasons that we won't get in to, there is often a good reason to use a cable that attenuates (reduces) the signal reading by a factor of 10 before it gets to the oscilloscope. This makes it the default assumption that you're using such a cable when you press ''Default Setup''. However, when we're not doing that, we'll need to change one setting to properly read out voltages.
* Press the ''1'' button to bring up the channel 1 settings
* Press the fourth softkey to change the ''Probe 10X Voltage'' settings
* Press the middle softkey to change the ''Attenuation''
* Use the multipurpose knob to set the attenuation to ''1X''
You'll need to do this any time you press the ''Default Setup'' button, unless you don't mind all your voltages being off by a factor of 10.
===== Looking at a signal =====
That's enough playing with the position of the signal, let's actually look at something. We'll use a function generator to start off with, since 'scopes are quite good at measuring periodic signals. We'll start with our faithful companion of periodic signals, the sine wave.
* Use a BNC cable to connect the first output channel of your function generator to the first input channel of your oscilloscope
* Turn the function generator on, and wait a bit for it to finish starting up
* Turn the function generator output on by pressing the ''Output1'' button. It should light up green when you do this.
* Press the ''Default Setup'' button to restore your scope settings to a baseline state
* Remember to change the ''Attenuation'' settings afterwards!
At this point, you should see something like the following on your scope:
| {{phylabs:lab_courses:phys-211-wiki-home:introductory-lab-scope-skills:scopeandfcttoobig.png}} |
| The default state of the scope and function generator when both are on. Note that the ''Output1'' button on the function generator is lit up |
There are a few things that have changed, even though you can't see the whole signal yet.
* The trigger frequency detection has kicked in, and shows that you likely have a 1 kHz signal input.
* See the pink highlight on the image of the scope
* The triggering system is active, as indicating by the ''Trig`d'' in green in the top center of the screen.
* See the orange highlight on the image of the scope
The frequency estimation acts as a nice sanity check sometimes, but may not be the best way of reading out an unknown signal. More important is the fact that the scope is now properly triggering.
Why is triggering needed?
One thing that becomes apparent after using a scope for a bit is that it can't continuously show you what your signal is doing. It takes a bit of time for it to gather together data points and to display them. You wouldn't want to just have the screen update as fast as the machine can go either, since if it was updating at a different rate than your signal you wouldn't be able to see anything very clearly. We'll explore this in a bit.
==== Looking around ====
Now its time to get a better look at out signal. Thanks to the function generator, we already know what we should expect: a 1kHz sine wave that has a 5V difference between the peaks.
* Turn the ''Vertical Scale'' knob counter-clockwise to zoom out so that you can see the whole waveform. It should work well at a 1V scale.
* Adjust the horizontal scale to zoom in and out on the waveform
| {{phylabs:lab_courses:phys-211-wiki-home:introductory-lab-scope-skills:scopeandfctresize.png}} |
| The same setup with the trace scaled to be visible. Note that the scale in the bottom-left says 10V; I forgot to reset the attenuation settings before taking the picture. |
Something weird happened when I zoomed out too far?!?
If you zoom out to a 250 ms per division time base, you may see something quite unexpected: a sine wave. This is due to a phenomena called aliasing. Simply put, if a signal is getting sampled at a rate lower than its frequency, you can get something that appears to be a lower frequency signal. There's a whole theory in signal processing called the [[https://en.wikipedia.org/wiki/Nyquist%E2%80%93Shannon_sampling_theorem| Nyquist Shannon sampling theorem]] that goes into this, but a rule of thumb is that you need to sample a signal at at least twice its frequency to get a reliable measurement.
===== Getting data =====
You'll eventually want to actually get some numbers out of the scope, rather than just looking at the squiggly lines.
* Count the number of vertical divisions that the sine wave spans. A ''division'' is the space between two of the dotted lines; each dot in the vertical lines is 20% of a division.
* If you're a factor of 10 high, go check the probe attenuation like we showed you how to do earlier
* Count the number of horizontal divisions in one period. The spacing is given in seconds the bottom center of the scope.
This is how all measurements on oscilloscopes were made in ye olde days. Sure, you might use a ruler or means of magnifying the image, but for a good few decades that was it. With a digital scope, we've got some additional options that can make life easier.
==== Cursors ====
Writing on the face of a scope is a good way to invoke the wrath of its owner, but we can do one better. The ''Cursor'' button will let us pick vertical or horizontal lines that we can draw across the screen and read out values with 50% less squinting.
| {{phylabs:lab_courses:phys-211-wiki-home:introductory-lab-scope-skills:cursor1.png}} |
| The basic cursor menu. The location of the cursor button is outlined in pink, while the multipurpose knob is outlined in orange. |
* Press the ''Cursor'' button, on the top row of buttons.
* Use the top softkey to change the ''Type'' to ''Amplitude''.
* Use the multipurpose knob to move one cursor to the top of the sine wave.
* Select the other cursor by pressing the bottom softkey.
* Use the multipurpose knob to move the other cursor to the bottom of the sine wave.
Your screen should look something like the following:
| {{phylabs:lab_courses:phys-211-wiki-home:introductory-lab-scope-skills:cursoramp.png}} |
| The difference between the cursor positions is shown on the middle-right of the screen. |
All that being done, you'll probably have something that's around a 5 volt difference. You'll also probably notice that the cursors only move one pixel at a time, so the readout is quantized. Long story short, that quantization factor is 4% of the voltage division you have selected.
* Push the top softkey again to change the cursors to ''Time''.
* Move the first cursor to a peak of the sine wave.
* Push the bottom softkey to select the second cursor.
* Move the second cursor to the next peak of the sine wave.
| {{phylabs:lab_courses:phys-211-wiki-home:introductory-lab-scope-skills:cursortime.png}} |
| Cursors being used for a time measurement |
From here, you'll notice that there are some additional features to the time cursors. Not only do you get a readout of the time since triggering for each cursor, you get the voltage at that point as well as the frequency and period associated with the interval. Neat!
==== Measurements ====
Another option we have is to use some of the scope's built in measurement features. This can be handy when there are multiple things you need to keep track of across both signals and the cursors won't cut it.
* Press the ''Measure'' button in the top middle row of the controls.
| {{phylabs:lab_courses:phys-211-wiki-home:introductory-lab-scope-skills:measurementcontrols.png}} |
| The measurement controls, with the button outlined in pink. |
The right-hand side of the screen should now have options for measurement gating, the two input channels, the Math channel, and a ''Snapshot'' option.
* Press the second softkey to select ''Ch1''
* Use the multipurpose knob to toggle on the ''Period'' measurement.
| {{phylabs:lab_courses:phys-211-wiki-home:introductory-lab-scope-skills:measurementch1period.png}} |
| The scope with period and frequency measurements turned on. The period measurement it highlighted in pink. |
There should now be a box in the lower-left side of the screen showing you the period of your signal.
* Rotate the multipurpose knob and turn on the ''Frequency'' option
You can turn measurements off by toggling them again. These scopes can show up to 6 automatic measurements at once.
* Use some of the other free slots to measure the ''Peak-Peak'' voltage, the ''Minimum'' voltage, and the ''Maximum'' voltage.
You might notice some more fluctuation going on here than you had with the cursors. That's because the scope is continuously calculating values based off of the current set of data it has gathered. The frequency in particular seems susceptible to wandering like this. Thankfully, the scope has a handy tool that helps us smooth out these fluctuations: the ''Averaging'' option.
| {{phylabs:lab_courses:phys-211-wiki-home:introductory-lab-scope-skills:measurementch1all.png}} |
| Multiple measurements simultaneously selected for our signal. |
==== Averaging ====
Averaging is just what it says on the tin: It will collect data from multiple triggering events and average out the readings. For something with a well-defined period, this is amazing for eliminating random noise. Let's check it out.
* Press the ''Acquire'' button in the middle of the ''Horizontal'' control group
* Select the ''Average'' option
* Press ''Acquire'' again to toggle the menu off
| {{phylabs:lab_courses:phys-211-wiki-home:introductory-lab-scope-skills:acquire.png}} |
| The Oscilloscope's ''Acquire'' menu. The button is in the middle of the horizontal control knobs, highlighted in pink. |
Even averaging only 16 times should be enough to get a rock solid reading on the measured values here. In fact, the scope manufacturer essentially expects that you'll use averaging when making measurements. To go back to normal:
* Select the ''Sample'' option
The middle choice (''Peak Detection'') is something that is used for hunting noise or fast events, we'll get to its uses later. You'll also notice that you can toggle the number of waveforms averaged from 4 to 128, with the downside being that you'll have to wait a while for things to settle for high averaging values
* Turn the cursors off before you continue
===== Triggering =====
We only mentioned triggering earlier, but its time to go back to it again since it will be the cause of many of your scope woes. The problem is that the scope gathers data too quickly to be able to display it continuously on a screen. One way of dealing with this might be to set a refresh rate (e.g. 50 times a second), but that would become a headache if you were even slightly off from the frequency you wanted to look at. Instead, what we do is specify when to gather data. We do this by selecting a voltage (positive or negative) and a slope (again, positive or negative). Modern digital scopes are able to buffer data continuously, so they can effectively show you what happened before the trigger event! On the other hand, analog scopes could only start drawing after the trigger and thus started on the far left side of the screen instead of the center. Hopefully it will start making sense as we play with the controls
==== Trigger controls ====
The trigger controls on our scope are grouped together on the right-hand side, consisting of a knob and two buttons. Well, that's not quite true. The ''Run/Stop'' and ''Single'' buttons on the top-right corner of the scope are somewhat related.
* Toggle the ''Run/Stop'' button a few times and observe what changes
| {{phylabs:lab_courses:phys-211-wiki-home:introductory-lab-scope-skills:runstop.png}} |
| The scope toggled down to stop. The control button is in the upper-right corner and turns red when the scope is stopped. Note that the triggering text now reads ''Stop'' in red, shown in the orange highlight. |
The most obvious thing should be that the waveform stops changing. You'll also see that the indicator in the top center of the screen will change to red text reading ''Stop''. At some point in your career you may very well spend time debugging things only to discover that the problem was you stopping the scope display.
* Press the ''Single'' button once
This should get the scope to gather a single trigger event and then stop, with the text ''Acq Complete'' in the top center of the screen.
This isn't a great example of how this would normally go, so let's change our setup.
* Change the horizontal scale to 100 ms
* Press the ''Single'' button and watch the trigger status text at the top of the screen
You should see the scope change to ''Armed'' in yellow for a moment, followed by ''Trig`d'' in green, and then ''Acq Complete'' in red again. Since you're asking for one second of data, it takes a moment for it to be gathered in this case. This is the sort of thing that is most useful for either very slow periodic events or single shot events.
* Press the ''Run/Stop'' button to go back to the regular operating mode.
* Change the ''Horizontal'' scale back to 500$\mu$s
Now let's play with the triggering itself a bit.
* Turn the ''Level'' knob on the far right side of the scope controls and observe what happens to the waveform
* Look at how the indicator arrow on the right side of the screen moves as you change the knob
* Look at how the triggering display in the bottom right level changes as you change the knob
The place the scope centers your signal should shift as you move the trigger level. If you look at the center of the screen, the voltage of the sine wave should match your triggering voltage as you shift things about. There's a caveat here...
* Turn the ''Level'' knob until it is above/below the waveform
* Turn it back and forth a few times to overlap or miss the waveform, watching the triggering indicator in the top center of the screen
You'll see that when you first move off the waveform, the status will change to ''Ready'' before switching to ''Auto'' and your screen turning into wiggly soup. This is a feature, not a bug! The idea is that if you don't have your triggering set up to work for your signal, you might still want to see //something// to get an idea of what you're looking at. Hence, the screen will be snapshoting your waveform at intervals that won't line up with its period. The specific rate isn't specified in the manual, and depends on what your timescale setting it. Enough of that for now; I'm getting dizzy.
* Adjust the trigger level to 0V by watching the readout in the bottom-right corner of the screen as you turn the knob.
Now that we're back to a know state, let's mess with some of the other options.
* Press the Triger ''Menu'' Button, just above the knob
* Toggle the ''Slope'' option a few times using the multipurpose knob and see what happens
Unless you've done something quite strange, your sine wave should be centered on a point where it is at 0V and decreasing. The little indicator in the corner will also flip directions.
* Toggle back to a ''Rising'' Slope
* Change the ''Mode'' to ''Normal''
* Use the ''Level'' knob to set the trigger level off the edge of your waveform
New behavior! Now, instead of just showing you whatever, the scope will keep the last image that triggered it on the screen while it waits. You'll see that the indicator in the top-center of the screen will now read ''Ready'' instead of ''Auto''. Normal triggering is generally more useful for intermittent events, when you don't know when the next one will happen but you don't want to look at dead time inbetween. But, if you want to see something anyways...
* Press the ''Force Trig'' button (below the level knob) a few times
This lets you demand a refreshed signal now, which can help if you're not sure what's going on but don't want to tweak the trigger settings.
The other options here don't really make sense for this signal, so we'll save them for later.
===== Characterizing signals =====
If you'd like to capture an image from the scope using a computer, you can quickly jump to the section on how to [[phylabs:lab_courses:phys-211-wiki-home:introductory-lab-scope-skills:start#exercise_3_-_exporting_data|Export images]] here. Taking pictures with your phone is fine too.
We're going to be asking you to characterize signals both in these exercises and throughout the year during your experiments. So, let's define what that means.
* What type of waveform (or other thing) is it?
* What relevant voltages can you characterize it with?
* What relevant times can you characterize it with?
* What else is there to know about it?
* Include a photo (or screenshot, sketch, or plot) of the waveform
* Annotation is not expected this week, but is generally helpful
For a sine wave, this would be (at a minimum) noting that it is a sine wave, what the amplitude is, if there's an offset (i.e. if the baseline is centered around 0V or something else. For a periodic signal this would be the difference between the maximum and minimum), and what the period is. Basically, enough information that someone would be able to tell if the thing they were looking at was the same or not.
| {{phylabs:lab_courses:phys-211-wiki-home:introductory-lab-scope-skills:exampletrace.jpg}} |
| The first waveform you were looking at. It could be characterized as "A sine wave with a 2.5V amplitude (or 5V peak-to-peak amplitude), no offset, and a frequency of 1 kHz." |
-----
=== Unknown signals 1 and 2 ===
Now that you've gotten a bit of practice manipulating the scope and measuring things, it's time to move on to practicing with a signal you don't know everything about ahead of time.
* Connect your UChicago Signal Blackbox(tm) to channel 1 in place of your function generator
* Plug in the USB cable to power it on
* The indicator light will flash through a few colors before turning green
* **Save a photo and characterize the signal**
* Now use the button to toggle to the second waveform
* The indicator light will turn white while the new signal is loading, and then red when the second waveform is loaded. If its another color, push the button to cycle through options.
* **Save a photo an characterize the signal**.
===== More tools =====
==== Rise time ====
Next, disconnect your UChicago Signal Blackbox(tm) and re-connect the function generator.
Let's look at something a bit different: a square wave! Press the Home button on the function generator and select the Square option from the listing of continuous waves. You can do this either via the touch screen or using the blue right arrow beneath the dial on the function generator to change menus and then turning the dial and using it as a pushbutton.
* Using the cursors and measurement menu, characterize the frequency & amplitude of the square wave
Unless you've been playing with settings, it should match your sine wave here. However, we might also want to know something about just how "square" that square wave is. Do do that, you'll need to zoom in on the time scale. A lot.
* Adjust the horizontal scale until the transition between high and low voltages is visible and spans a division or more.
The screen should look something like the following:
| {{phylabs:lab_courses:phys-211-wiki-home:introductory-lab-scope-skills:closesquare.png}} |
| A close-up view of a square wave's transition. Note the timescale here |
There are any number of metrics you could use here to characterize how long the transition is, but one is to look at the time taken to go from one fraction of the initial value to a fraction of the final value. For electronic signals, 10% - 90% is standard.
* Using the cursors, measure the time it takes for the voltage to change from 10% above the baseline to 90% of its final value
* Hint: Since the amplitude should be 5V, 10% of that is 0.5V. For the default settings, this means we would be measuring the time to change from -2V to 2V
You should get something on the order of a few to tens of ns here. You can also do this measurement via the built-in functions.
* Using the ''Measure'' menu, select the ''Rise Time'' option
The value you get here is probably pretty unstable, as on this scale there's likely to be some noise on your signal.
* Use the ''Acquire'' button to turn averaging on and observe the result
The utility of averaging in this case is the same as before, but it may not be sufficient to completely stabilize the readings. While doing this measurement I watched the rise time change by more than 10% of the average value. However, it took long enough that I couldn't see any difference visually. That, however, ties nicely into another scope feature we can use.
* Turn averaging off before you continue
==== References ====
Sometimes we want to compare a signal to itself under a differing set of circumstances. In other words, we want to create a ''Reference'' image. Thankfully, there's a handy way to do that in the form of a little white button on the scope!
Before we can view a reference, we need to first chose what trace to save. We can do so as follows:
* Press the ''Save/Recall'' button
* Use the top button or knob to change the ''Action'' to ''Save Waveform''
* Make sure that the ''Save To'' destination is ''Ref''
* Make sure that the source is ''Ch1'' and the ''To'' option is ''RefA''
* Save your trace with the ''Save'' softkey
| {{phylabs:lab_courses:phys-211-wiki-home:introductory-lab-scope-skills:savemenu.png}} |
The bottom of the screen should read "Ch1 waveform saved to Ref A" after you do this.
Now that we've saved a waveform, we can recall it using the ''Ref'' button.
* Press the ''Ref''' button (just to the left of Channel 1's vertical scale knob)
* Use the softkeys to toggle ''Ref A'' to ''On''
| {{phylabs:lab_courses:phys-211-wiki-home:introductory-lab-scope-skills:refa.png}} |
| The scope displaying a saved reference. The ''R''eference button is outlined in pink. |
The scope will now draw the saved trace in white, behind any other signals. This is handy to have when you're trying to optimize some difficult to characterize feature by being able to see how it changed relative to a baseline.
* Watch for a while to see how the transition of the square wave changes with time
There are limits to the reference feature; specifically that you can't make actual measurements with it. It only captures the image, not the underlying voltage & time measurements.
* Turn the reference off by going to the ''R''efernce menu and toggling it via the softkey
There is another useful tool for comparing signals that's better for sporadic events
==== Persistence ====
Since our scope has digitized its data, it is straightforward for it to be able to show us an image of what the trace has been doing in the past. To access this feature, do the following:
* Press the ''Utility'' button (Just above the horizontal controls)
| {{phylabs:lab_courses:phys-211-wiki-home:introductory-lab-scope-skills:utilitymenu.png}} |
| The utility button, outlined in pink, and the display option, outlined in orange. |
* Select the ''Display'' option via softkey
* Find the 'Persist' option's softkey
* Use the knob to cycle between no persistance, 1,2,5 seconds, or infinite
* Set the option to ''Infinite'' for the moment
| {{phylabs:lab_courses:phys-211-wiki-home:introductory-lab-scope-skills:persistmenu.png}} |
This will keep a darkened copy of every trace that's been displayed in the background. This is again only a visual indicator; you can't make measurements based off of the persistent image. But you can do things like use cursors to get a range of values, or estimate the frequency of events
* Use the cursors to estimate the amount of drift in the start & end of the signal's rise
* Time cursors and counting boxes is fine here
| {{phylabs:lab_courses:phys-211-wiki-home:introductory-lab-scope-skills:persistfast.png}} |
| An example of using time cursors and persist to make a measurement. Here I'm using the voltage division grid to identify when the persistent signal is at $\pm2$ V and placing the time cursors at those locations. In this instance, the fastest transition time is being identified. The pink lines on the screen indicate the intersection points. |
To turn persistence off again, use the ''Utility'' Menu => ''Display'' option and change the ''Persist'' option to ''off''
=== Unknown signals 3 and 4 ===
Plug the UChicago Signal Blackbox(tm) again, and toggle to the third waveform (the indicator will be blue for this one)
* **Save a photo and characterize the signal**
* If you're having trouble triggering, try zooming in on the signal more.
Toggle to the fourth waveform (a yellow indicator)
* **Save a photo and characterize the signal**
* If the scope is in **Scan** mode the automatic measurements won't work. Cursors, however, will.
====== Exercise 2: Looking at events ======
----
There are plenty of physical signals that aren't periodic that we still care about, and the details about what occurs when can be critical. For instance, the strain measurements corresponding to [[https://en.wikipedia.org/wiki/First_observation_of_gravitational_waves | first observation of gravitational waves]] occurred over the span of 100 ms or so, and would've been surrounded by a whole lot of non-events. Any sort of particle physics will involve depositing energy into a detector over time, which is translated to an electrical signal. Let's get into how we can use an oscilloscope for measuring events.
===== Generating events =====
For us to observe events, we first need to generate some. Thankfully, the Rigol DG800 devices are ''Arbitrary waveform generators'', meaning that they can do some pretty nifty beyond what older ''function generators'' could do. We'll still use the older terminology sometimes due to it being less clunky.
* Turn your function generator off and then back on to reset all of its parameters
* Press the **Home** button to switch to that screen
* Select the **Arb** option from the waveforms on the right
| {{phylabs:lab_courses:phys-211-wiki-home:introductory-lab-scope-skills:fct-arb.png}} |
| Selecting an arbitrary waveform. The option in the bottom-right corner (outlined in pink) is what we want here. |
* From the left menu, select **Engineering**
* Select the **GausPul** Option
| {{phylabs:lab_courses:phys-211-wiki-home:introductory-lab-scope-skills:fct-arb-engineering.png}} |
| How to get a Gaussian Pulse. The Engineering option is shown on the left, and the Gaussian waveform is outlined in pink.
It should look something like the following:
| {{phylabs:lab_courses:phys-211-wiki-home:introductory-lab-scope-skills:fct-gaussian.png}} |
The pulses here are still pretty regular, so let's do something about that.
* Press the **Home** key again
* Select the 4th option, **Burst** from the menu
* Select the **NCycle** option
| {{phylabs:lab_courses:phys-211-wiki-home:introductory-lab-scope-skills:ncycle.png}} |
You should now have a train of pulses, 10 ms apart.
| {{phylabs:lab_courses:phys-211-wiki-home:introductory-lab-scope-skills:pulsechain.png}} |
| Our spread-out chain of pulses. Note the change in time scale on the oscilloscope |
* On the function generator, press the **Trig** button, just to the left of the knob
An information box saying 'Instrument triggered' should pop up briefly, and you should get a single pulse output.
* Press the trigger button a few times
If you're on ''auto'' triggering mode, you might have a hard time seeing the event before it is cleared from the screen.
* On the oscilloscope, change the triggering mode to ''Normal''
* Trigger the function generator again
You should now be able to catch and keep the single pulse from the function generator.
===== Measuring pulses =====
Sometimes, we just care about the fact that there's an event at all. But most of the time, we can get information about the physical process from the shape of the pulse we're looking at.
* Use the cursors to measure the peak height of the pulse and estimate its duration
Now that second part is going to be tricky, as the signal won't cut off at any nice, sharp transition. Let's use one of the scope's measurement functions to see what it has to say about the situation.
* Use the ''Measurement'' menu to measure the ''Pos Width'' of the signal.
* Use the ''Cursor => Time'' controls to measure out half of the ''Pos Width'' time from the signal's peak
Take a look at the voltage at this this point; it should be half of the maximum value. This is a common standard for pulse measurements, known as the ''Full Width Half-Max'' or ''FWHM''. It can be applied to all sorts of pulse shapes, even asymmetric ones, so it makes for a handy metric.
==== Detecting fast pulses ====
When introducing averaging, we mentioned that there wasn't a need for the ''Peak Detect'' option at the time. Well, its time has now come. Sometimes, fast events like pulses can get obscured by the way that the scope presents data; each pixel actually represents multiple measurements. What Peak Detect does is keep the most extreme values instead of smoothing things over. Let's create a need for it now.
* Revert your scope to the ''Default Setup''
* On the function generator, tap the Arb icon to switch to editing the waveform properties.
* Change the Frequency of the pulse to 5 MHz
* You can tap on the field to enter a frequency, and use the top-right dropdown menu to change the units to MHz
| {{phylabs:lab_courses:phys-211-wiki-home:introductory-lab-scope-skills:pulsebaseline.png}} |
| Tap the text box to type in a specific frequency |
| {{phylabs:lab_courses:phys-211-wiki-home:introductory-lab-scope-skills:pulsefreq.png}} |
| Use the dropdown (pink) to select the megahertz option (orange) |
* Tap the NCycle box in the upper right corner to switch to the NCycle menu
* Scroll down then menu and change the Source to Internal
| {{phylabs:lab_courses:phys-211-wiki-home:introductory-lab-scope-skills:triggersource.png}} |
| The Trigger Source menu option. You will need to scroll down via knob or touchscreen to access this screen. |
* Change the time scale divisions on the oscilloscope to ''5.00ms''
After doing this, you may notice something curious: Your scope will still be triggering, but only every so often will you actually see the trace move, and it may be irregular.
* From the ''Acquire'' menu, select the ''Peak Detect'' option
You should see something like the following:
| {{phylabs:lab_courses:phys-211-wiki-home:introductory-lab-scope-skills:pulsetrain.png}} |
As you can see, ''Peak Detect'' is great for letting you know that **something** is happening quickly. Each pixel on the scope screen represents multiple data points, which are normally combined to make for a more stable image. When ''Peak Detect'' is on, the scope instead selects the extreme data points as representative. Thus, if you use it when it isn't needed, all it will do is accentuate any noise that's already there.
=== Unknown signals 5 and 6 ===
Plug the UChicago Signal Blackbox(tm) back into the scope, and toggle to the fifth setting (the indicator light will be pink)
* **Save a photo and characterize the signal**
Toggle to the last setting (cyan)
* Be patient, it takes a moment to set up
* **Save a photo and characterize the signal**
* **Added 10/8/2025** - You don't need to characterize the shapes of the pulses in detail here, an order of magnitude for the FWHM and the peak positions are enough.
====== Exercise 3 - Exporting data ======
----
There are two kinds of data you can export from the 'scope. A *.jpg screenshot of what is currently shown on the screen, and a *.csv file with the voltage vs time data.
If you have a USB flash drive, you can plug it into the socket on the front of the scope to save your data. To configure what to save, do the following:
* Press the ''Save/Recall'' button
* Use the softkeys to set the ''Action'' you want.
* ''Save All'' lets you save both an image and the voltage vs time data
* ''Save Image'' gives you exactly what's on the screen when you press the button
* ''Save Setup'' is used for saving all of the scope settings (offsets, zoom levels, trigger settings)
* ''Save Waveform'' you've seen
* ''Recall Setup'' is used for recovering settings you've saved in the past
* ''Recall Waveform'' is an alternative to the ''R''ecall button menu
* You can change the behavior of the ''Print'' button here to either save all or save images.
Alternatively, The lab computers are already set up so that you can copy a screenshot or data from them by using some Tektronix software. To do so:
* Connect the USB socket on the back of the scope to a jack on a computer with a cable
* Open up the ''Open Choice Desktop'' program from the desktop
* Press the ''Select Instrument'' button and select whatever option starts with USB
* Use the ''Get Screen'' button to capture a screenshot
* Use the ''Waveform Data Capture'' if you want to pull numerical information from the scope
===== Using your saved data =====
So you've saved a trace from the scope. Now what? Well, the data takes the form of a ''C''omma ''S''eparated ''V''ariable (''CSV'') file. All this means is that entries in different columns are separated by columns, and rows are new lines. How can you use it?
* You can open the file in a text editor (it won't be pretty)
* If you use VSCode, the Rainbow CSV extension helps
* You can import the file to a spreadsheet program like Excel or Google Sheets
* You can open the file with Python (or whatever language you wish) and extract values to make plots or calculations
We'll assume that you can open files and browse them on your own, so let's get to that last one. If you haven't gotten to the Python tutorial yet, ask a TA or instructor for a hand with this bit. It takes a little work to extract the relevant information due to the scope adding a header with setting data and having an odd column format.
To plot some example data:
* Download the Jupyter notebook and the example file linked below
* Open the Notebook
* Run everything
{{phylabs:lab_courses:phys-211-wiki-home:introductory-lab-scope-skills:basic_scope_readout.ipynb}} \\
{{phylabs:lab_courses:phys-211-wiki-home:introductory-lab-scope-skills:f0000ch1.csv}}
To plot your own data, you'll have to move it to the same location as the notebook and change the ''fname'' variable. Then run the cells again, although you may need to change some later parts like the time interval to get what you want.
If you get a ''file not found'' error and verified that it is in the right location, try either changing the name of the file to uppercase or the fname to lowercase. Different operating systems can be picky this way.
====== Submit your work ======
----
Remember to submit your document characterizing the six unknown signals. If you were taking good notes as you went along, you are already finished! If not, go back and collect whatever you need and/or clean up your notes so that they are clear.
**Submit this to Canvas by 11:59 pm the day before your next lab session.**