Wiki

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
university:tools:m1k:alice:oscilloscope-x-y-user-guide [18 Jul 2020 20:12]
Doug Mercer created
university:tools:m1k:alice:oscilloscope-x-y-user-guide [29 Jul 2021 14:59]
Doug Mercer [Applying Digital Filtering:]
Line 7: Line 7:
 =====Oscilloscope / Main Window:​===== =====Oscilloscope / Main Window:​=====
  
-Be sure that the ALM1000 board is plugged into a USB port before starting the program. Once the program is running the main Oscilloscope window, as shown in figure 1, should appear. This is also serves as the main ALICE desktop window as well as the Oscilloscope VI Window. There are also controls for opening the other virtual instrument windows and certain common control functions. The wundow ​is sub divided into 4 sections. ​+Be sure that the ALM1000 board is plugged into a USB port before starting the program. Once the program is running the main Oscilloscope window, as shown in figure 1, should appear. This is also serves as the main ALICE desktop window as well as the Oscilloscope VI Window. There are also controls for opening the other virtual instrument windows and certain common control functions. The window ​is sub divided into 4 sections. ​
  
 {{ :​university:​tools:​m1k:​alice:​main-window-1.png?​800 |}} {{ :​university:​tools:​m1k:​alice:​main-window-1.png?​800 |}}
Line 13: Line 13:
 <WRAP centeralign>​Figure 1, ALICE Desktop main Oscilloscope window</​WRAP>​ <WRAP centeralign>​Figure 1, ALICE Desktop main Oscilloscope window</​WRAP>​
  
-Many of the drop down menus on the main oscilloscope screen and the screens for the other instruments include accelerator keys, indicated by [] around the accelerator keyboard character next to the menu item. Typing one of these characters while the mouse cursor is inside the graphics drawing area will invoke that menu function. For example typing 1 or 2 will toggle on and off the CA-V and CB-V traces.+====The Top Menu Section==== 
 + 
 +The menu section along the top, shown in figure 1T,  contains various buttons and drop-down menus that control Oscilloscope Triggering, Horizontal time base, Horizontal position, how and what signals are displayed, and run acquisition looping / stop acquisition looping / exit program. 
 + 
 +{{ :​university:​tools:​m1k:​alice:​top-buttons-0.png?​800 |}} 
 + 
 +<WRAP centeralign>​Figure 1T, Top Menu Buttons</​WRAP>​ 
 + 
 +===Triggering functions=== 
 + 
 +The ADALM1000 signal generation and measurement hardware is tightly integrated and can operate in two modes. As an integrated Source/​Measurement Unit where the output signals generated by the SMU are synchronized with the input signal measurement function. As such the displayed waveforms will always start at the same point and triggering is not necessary. We refer to this first mode where the AWG restarts at the beginning of each sweep as "​discontinuous"​ mode. We refer to the second mode as "​continuous"​ mode where the AWG runs continuously. In this mode the displayed waveforms will not be stable and move around from sweep to sweep and triggering must be used to display stable waveforms.  
 + 
 +The Trigger button is a drop down menu listing which signal to trigger on, CA-V, CA-I, CB-V, CB-I or none. The use of Triggering to display a stable trace is generally necessary when viewing externally generated signals. When viewings internally generated signals from one or the other of the AWG channels a stable trace happens automatically when the AWG Sync function is enabled i.e. the beginning of the AWG output waveform is restarted at the same point at the start of each time sweep. 
 + 
 +{{ :​university:​tools:​m1k:​alice:​trigger-drop-down.png?​400 |}} 
 + 
 +<WRAP centeralign>​Figure Trig 1, Trigger Drop Down Menu.</​WRAP>​ 
 + 
 +The Auto Level option automatically sets the trigger level to the selected waveform midpoint on each sweep. The trigger point will thus track any changes in the input waveform. 
 + 
 +The Low Pass Filter option applies a variable length digital low pass filter function to the selected waveform before searching for the trigger condition. This can be used to filter high frequency noise that might be on the signal of interest and better stabilize the triggering. The length of the filter, in samples, can be set/​adjusted in the Change Settings Window. When using trigger filtering Hold Off time must be set to be greater than or equal to the length of the filter, filter length / sample rate. 
 + 
 +When Manual Triggering is selected one sweep is acquired and displayed each time the green Run button is clicked. 
 + 
 +When Single Shot Triggering is selected triggering is "​armed"​ the program contentiously sweep until the trigger condition is met for the first time capturing and displaying a single event. The acquisition is stopped and Single Shot Triggering is deselected. Reselect to capture another event. 
 + 
 +The Edge button is a drop down menu listing either the rising or falling edge for triggering. The Trigger Level entry window contains the trigger level in volts for CA-V and CB-V or mA for CA-I and CB-I. 
 + 
 +The 50% button sets the trigger level to the midpoint (50% point) of the selected trigger waveform. i.e. to the (maximum + minimum)/​2. 
 + 
 +===Horizontal Time Controls=== 
 + 
 +<​note>​Roll Feature Available in Fall 2021 release</​note>​ 
 + 
 +There are two sweeping modes in the time domain display. The conventional time per Div based view and a rolling mode. The Roll Mode in a digital storage oscilloscope uses a display different from that of the usual time-based view. While viewing a very low-frequency periodic signal in the usual time per Div based view the screen up dates, is redrawn, with the next new trace only after a screen’s worth of data samples are captured. This can take a few seconds for 100 mS/Div or greater time bases. Rather, in Roll Mode the trace is redrawn continuously and moves from right to left along the time-axis as new samples are taken, resembling what you would see in an analog strip chart. The time axis, rather than starting at the triggering point as in conventional mode, remains static and the waveform moves or rolls. Accordingly,​ in roll mode, the trace enters at the right of side of the display and travels in a stately fashion across the grid at a speed that is determined by how fast the computer can update (redraw) the display. This will vary from computer to computer based on the speed of the machine you are running the software on. The Roll-Off and Roll-On button between the Time base Entry and Curves Drop down Menu toggles between the Sweep Modes. 
 + 
 +The Hold Off entry window, in mS, is used to shift the horizontal position ( apparent time 0 start point ) within the acquired sample point buffers being displayed. The data used for the vertical and horizontal waveform calculations is also shifted by that amount. The sample buffer is generally two screens long so setting the hold off time to more than one screen width is not recommended. This is mainly used when synced to the AWG. Due to the discontinuous nature of the AWG outputs this allows the user to skip over any initial transients that might appear if the system being measured has "​inertia"​ or "​state"​ that needs to settle out. Alice (Python) only supports discontinuous mode right now so the AWG outputs turn off and go into a high impedance state between sweeps. 
 + 
 +The Horz Pos entry window is used to change the horizontal position of the time trace. Normally, with the Horz Pos set to 0 the left edge of the grid is "time 0". Setting Horz Pos to something else shifts the 0 time point on the grid by that amount ( in mSec ). So if you set Horz Poss to a negative number for example you can see time before the trigger. 
 + 
 +The Time mS/Div spinbox entry window is used to set the horizontal time base in the standard 1, 2, 5 step increments. Other values maybe entered manually. 
 + 
 +===Trace Controls=== 
 + 
 +The Curves drop down menu button allows the selection of which signal waveform traces will be displayed vs time. The All button selects all four curves to be displayed and the None button clears all four curves. Plot the Math-X and Math-Y formulas by clicking on those options. ALICE can automatically adjust the trace vertical position to center the CA-V and /or CB-V traces on the midpoint of the waveform each sweep by clicking on either or both of the options below the –Auto Vert Center- heading. This is analogous to a software "​AC"​ coupling mode where the "​DC"​ level of the trace is always centered on the grid.   
 + 
 +When using external Resistor Divider attenuators the frequency response of the Channel may be reduced. The software High Pass frequency compensation can be selected for either channel by clicking on the buttons below the –Input HP Comp- heading. See the section on Analog Inputs below 
 + 
 +It is also possible to select which of the possible stored reference time traces, if saved via the Snap-Shot option, will be displayed. 
 + 
 +At the bottom are options to enable the vertical Time and horizontal Voltage (Current) cursors.  
 + 
 +{{ :​university:​tools:​m1k:​alice:​curves-drop-down.png?​150 |}} 
 + 
 +<WRAP centeralign>​Figure Cur 1, Curves Drop Down Menu.</​WRAP>​ 
 + 
 +The green PWR-On button toggles on and off the fixed analog +2.5 V and +5 V power supplies. The button turns red when the supplies are off. The power supplies do not turn completely off but go to around +2 V and can supply only about 20 mA when shorted to ground. This is much less than the 200 mA or so they could supply if accidentally shorted when on. It is good practice to turn off the supplies ( or better yet disconnect them ) when making any modifications to the circuit under test. 
 + 
 +The green Run button starts continuous looping acquiring input samples. The red Stop button stops or pauses the acquisition looping. The Stop button also serves as a sort of refresh button. If the Stop button is clicked when stopped the graphics display is redrawn using any new settings that might have changed but using the existing data buffers. The Exit button exits (kills) the program. 
 + 
 +Many of the drop down menus on the main oscilloscope screen and the screens for the other instruments include accelerator keys, indicated by () around the accelerator keyboard character next to the menu item. Typing one of these characters while the mouse cursor is inside the graphics drawing area will invoke that menu function. For example typing 1 or 2 will toggle on and off the CA-V and CB-V traces. 
 + 
 +===ALICE Scope/AWG only option=== 
 + 
 +By setting to 1 the EnableScopeOnly = 1; option in the alice_init.ini file, the Oscilloscope and AWG controls can be combined in one window as shown in figure 1S. The controls all work as they do in the default two window configuration (See [[university:​tools:​m1k:​alice:​desk-top-awg-users-guide|AWG guide page]] for details on AWG). Blue arrows point to AWG related controls, green arrows point to Scope related controls. 
 + 
 +{{ :​university:​tools:​m1k:​alice:​main-window-scope-option.png?​800 |}} 
 + 
 +<WRAP centeralign>​Figure 1S, ALICE Scope/AWG only option window</​WRAP>​ 
 + 
 +The other virtual instruments can still be accessed by clicking on the Open Instruments button in the Options drop down menu as shown in figure 1Vi. 
 + 
 +{{ :​university:​tools:​m1k:​alice:​other-vi-controls.png?​150 |}} 
 + 
 +<WRAP centeralign>​Figure 1Vi, Other Virtual Instruments controls</​WRAP>​
    
 ====The Right Side Menu Section==== ====The Right Side Menu Section====
Line 192: Line 266:
 It would be nice to not have to use a compensation capacitor, adjustable or otherwise. A digital (software) frequency compensation feature has been implemented in the ALICE 1.3 Desktop software package. It would be nice to not have to use a compensation capacitor, adjustable or otherwise. A digital (software) frequency compensation feature has been implemented in the ALICE 1.3 Desktop software package.
  
-The software frequency compensation for each channel consists of a cascade of two adjustable ​ [[https://​en.wikipedia.org/​wiki/​High-pass_filter#​Algorithmic_implementation|first order high pass filters]]. The time constant and the gain of each stage can be adjusted. Normal first order high pass filters do not pass DC so a DC gain of 1 path is added to the overall second order high pass software compensation filter. This structure is often called a shelving filter because of the shape of its frequency response.+The software frequency compensation for each channel consists of a cascade of two adjustable ​ [[wp>High-pass_filter#​Algorithmic_implementation|first order high pass filters]]. The time constant and the gain of each stage can be adjusted. Normal first order high pass filters do not pass DC so a DC gain of 1 path is added to the overall second order high pass software compensation filter. This structure is often called a shelving filter because of the shape of its frequency response.
  
 In figure In2 we show the new controls for the input compensation. To turn on and off the compensation for Channels A and B check boxes are added under the Curves drop down menu. Turning on compensation applies to both the Scope and Spectrum tools (time and frequency measurements). The filter time constant and gain settings can be set using new entry slots in the Settings Controls screen. The DC gain and offset adjust controls are unchanged. In figure In2 we show the new controls for the input compensation. To turn on and off the compensation for Channels A and B check boxes are added under the Curves drop down menu. Turning on compensation applies to both the Scope and Spectrum tools (time and frequency measurements). The filter time constant and gain settings can be set using new entry slots in the Settings Controls screen. The DC gain and offset adjust controls are unchanged.
Line 239: Line 313:
 [[university:​tools:​m1k:​breadboard-adapter|M1K Breadboard Adapters]] [[university:​tools:​m1k:​breadboard-adapter|M1K Breadboard Adapters]]
  
-====The ​Top Menu Section==== +====The ​Bottom ​Menu Section====
- +
-The menu section along the top contains various buttons and drop-down menus that control Oscilloscope Triggering, Horizontal time base, Horizontal position, how and what signals are displayed, and run acquisition looping / stop acquisition looping / exit program. +
- +
-===Triggering functions=== +
- +
-The ADALM1000 signal generation and measurement hardware is tightly integrated and can operate in two modes. As an integrated Source/​Measurement Unit where the output signals generated by the SMU are synchronized with the input signal measurement function. As such the displayed waveforms will always start at the same point and triggering is not necessary. We refer to this first mode where the AWG restarts at the beginning of each sweep as "​discontinuous"​ mode. We refer to the second mode as "​continuous"​ mode where the AWG runs continuously. In this mode the displayed waveforms will not be stable and move around from sweep to sweep and triggering must be used to display stable waveforms.  +
- +
-The Trigger button is a drop down menu listing which signal to trigger on, CA-V, CA-I, CB-V, CB-I or none. The use of Triggering to display a stable trace is generally necessary when viewing externally generated signals. When viewings internally generated signals from one or the other of the AWG channels a stable trace happens automatically when the AWG Sync function is enabled i.e. the beginning of the AWG output waveform is restarted at the same point at the start of each time sweep. +
- +
-{{ :​university:​tools:​m1k:​alice:​trigger-drop-down.png?​400 |}} +
- +
-<WRAP centeralign>​Figure Trig 1, Trigger Drop Down Menu.</​WRAP>​ +
- +
-The Auto Level option automatically sets the trigger level to the selected waveform midpoint on each sweep. The trigger point will thus track any changes in the input waveform. +
- +
-The Low Pass Filter option applies a variable length digital low pass filter function to the selected waveform before searching for the trigger condition. This can be used to filter high frequency noise that might be on the signal of interest and better stabilize the triggering. The length of the filter, in samples, can be set/​adjusted in the Change Settings Window. When using trigger filtering Hold Off time must be set to be greater than or equal to the length of the filter, filter length / sample rate. +
- +
-When Manual Triggering is selected one sweep is acquired and displayed each time the green Run button is clicked.+
  
-When Single Shot Triggering is selected triggering is "​armed" ​the program contentiously sweep until the trigger condition is met for the first time capturing ​and displaying a single event. The acquisition is stopped ​and Single Shot Triggering is deselectedReselect ​to capture another event.+The menu section along the bottom contains ​the range ( V/Div, mA/Div ) and position controls ​for the Channel A and B voltage and current waveform displays. The entry labels are color coded to match the waveform trace colors. 
 +The V/Div and mA/Div spinboxs set the corresponding vertical ranges in the standard 1, 2, 5 step incrementsOther values maybe entered manually. The position entry windows determine the vertical position of their scales with respect ​to the blue center line on the grid. That is to say the value entered corresponds to the number displayed next to the blue center line.
  
-The Edge button is a drop down menu listing either ​the rising or falling edge for triggering. The Trigger Level entry window contains ​the trigger level in volts for CA-V and CB-V or mA for CA-I and CB-I.+The default arrangement of the entry widgets and the buttons that serve as labels ​for the entries is for the labels to be to the right as shown in figure Scale 1. In the alice_init.ini file an optional flag can be set to swap this arrangement with the labels to the left as shown in figure Scale 2.
  
-The 50% button sets the trigger level to the midpoint (50% point) of the selected trigger waveformi.e. to the (maximum + minimum)/2.+{{ :​university:​tools:​m1k:​alice:​bottom-buttons-0.png?800 |}} 
 +<WRAP centeralign>​Figure Scale 1, Default arrangement for Channel control buttons; ButtonOrder = 0</WRAP>
  
-===Horizontal Time Controls=== +{{ :​university:​tools:​m1k:​alice:​bottom-buttons-1.png?800 |}} 
- +  
-The Hold Off entry window, in mS, is used to shift the horizontal position ( apparent time 0 start point ) within the acquired sample point buffers being displayed. The data used for the vertical and horizontal waveform calculations is also shifted by that amount. The sample buffer is generally two screens long so setting the hold off time to more than one screen width is not recommended. This is mainly used when synced to the AWG. Due to the discontinuous nature of the AWG outputs this allows the user to skip over any initial transients that might appear if the system being measured has "​inertia"​ or "​state"​ that needs to settle out. Alice (Python) only supports discontinuous mode right now so the AWG outputs turn off and go into a high impedance state between sweeps. +<WRAP centeralign>​Figure Scale 2, Alternate arrangement ​for Channel ​control buttons; ButtonOrder = 1</WRAP>
- +
-The Horz Pos entry window is used to change the horizontal position of the time trace. Normally, with the Horz Pos set to 0 the left edge of the grid is "time 0". Setting Horz Pos to something else shifts the 0 time point on the grid by that amount ( in mSec ). So if you set Horz Poss to a negative number for example you can see time before the trigger. +
- +
-The Time mS/Div spinbox entry window is used to set the horizontal time base in the standard ​1, 2, 5 step increments. Other values maybe entered manually+
- +
-===Trace Controls=== +
- +
-The Curves button allows the selection of which signal waveforms will be displayed when plotting vs time. The All button selects all four curves to be displayed and the None button clears all four curves. It is also possible to select which of the possible stored reference time traces, if saved via the Snap-Shot option, will be displayed. +
- +
-The green PWR-On button toggles on and off the fixed analog +2.5 V and +5 V power supplies. The button turns red when the supplies are off. The power supplies do not turn completely off but go to around +2 V and can supply only about 20 mA when shorted to ground. This is much less than the 200 mA or so they could supply if accidentally shorted when on. It is good practice to turn off the supplies ( or better yet disconnect them ) when making any modifications to the circuit under test. +
- +
-The green Run button starts continuous looping acquiring input samples. The red Stop button stops or pauses the acquisition looping. The Stop button also serves as a sort of refresh button. If the Stop button is clicked when stopped the graphics display is redrawn using any new settings that might have changed but using the existing data buffers. The Exit button exits (kills) the program. +
- +
-====The Bottom Menu Section==== +
- +
-The menu section along the bottom contains the range ( V/DivmA/Div ) and position controls ​for the Channel ​A and B voltage and current waveform displays. The entry labels are color coded to match the waveform trace colors. +
-The V/Div and mA/Div spinboxs set the corresponding vertical ranges in the standard 1, 2, 5 step increments. Other values maybe entered manually. The position entry windows determine the vertical position of their scales with respect to the blue center line on the grid. That is to say the value entered corresponds to the number displayed next to the blue center line.+
  
 ====The Graphics Display Area==== ====The Graphics Display Area====
Line 407: Line 448:
  
 There is also a check button to display the saved X-Y reference trace (see note above in Oscilloscope section on Snap-Shot option). There is also a check button to display the saved X-Y reference trace (see note above in Oscilloscope section on Snap-Shot option).
 +
 +{{ :​university:​tools:​m1k:​alice:​alice_xy-plot_lissajous_pattern.pdf |Using ALICE XY display and The Lissajous Pattern}}
  
 =====Oscilloscope and X-Y Plot Examples:​===== =====Oscilloscope and X-Y Plot Examples:​=====
Line 499: Line 542:
  
 The DC average of the output waveform should be at about 2 V ( 2 mA in the collector load resistor ) below the +5 V power supply or about +3 V. The voltage gain of the amplifier will be the Channel B P-P value divided by the Channel A P-P value. Which for this example is about 1.5. The DC average of the output waveform should be at about 2 V ( 2 mA in the collector load resistor ) below the +5 V power supply or about +3 V. The voltage gain of the amplifier will be the Channel B P-P value divided by the Channel A P-P value. Which for this example is about 1.5.
 +
 +=====Applying Digital Filtering:​=====
 +
 +With this interface, ALICE Desktop can apply digital filtering to the captured Channel A and B voltage waveform data before being displayed in the Time and/or Frequency domains. Digital filtering can also be applied to the contents of the generated AWG waveform buffers as well. ALICE uses the numpy convolve function to perform the filtering function. It is possible to have the program generate a simple Box Car (moving average) filter by setting the length and then clicking on the Box Car check box.
 +
 +The supplied list of coefficients is convolved with the captured data buffer. The list of filer coefficients for either Channel A or B is first loaded from a single column .csv file by using the “Load CH A Filter Coef” and “Load CH B Filter Coef” buttons. The length ( number of coefficients ) and file name will then be displayed. The digital filter(s) will be applied to the voltage waveform data buffers if the “Filter CH A” and/or “Filter CH B” checkboxes are checked.
 +
 +{{ :​university:​tools:​m1k:​alice:​alice-ets-guide-f9.png?​300 |}}
 + 
 +<WRAP centeralign>​Figure 42, Digital Filter Control Interface</​WRAP>​
 +
 +The arithmetic sum of the coefficients should equal 1 for the “filter” to have an overall gain of one. A simple low pass filter for example has a rectangular (box-car) shape. The coefficients for a length of 2 would be [ 0.5, 0.5 ]. For a length of 4 the coefficients would be [ 0.25, 0.25, 0.25, 0.25 ] and so on. A few {{:​university:​tools:​m1k:​alice:​example-filters.zip|example filter files can be found here}}:
 +
 +Alternatively,​ a formula for the filter coefficients can be entered using the CH A or CH B Filter formula buttons. The program puts up an entry window where the formula can be entered. Conventional Python syntax is used and all the math and numpy library functions are available as in the the rest of ALICE. The program looks at the arithmetic sum of the coefficients and scales them appropriately for an overall gain of 1 through the filter.
 +
 +The DFiltACoef and DFiltBCoef / AWGFiltACoef and AWGFiltBCoef array variable are used to store the filter coefficients. The Filter formula coefficient scaling feature can be used to scale a set of filter values read from a file. First read in the values from the file and then simply pass the array through the formula function by entering DFiltACoef or DFiltBCoef for the formula.
 +
 +There are many filter design tools that can be found by searching the web. Here is one that works well but we are not necessarily endorsing it over any others that might be out there:
 +
 +http://​t-filter.engineerjs.com/​
 +
 +The array of coefficients ( filter taps ) that it generates as part of the C source code can be copy and pasted into a .csv file for use in ALICE.
 +
 +The interface for the digital filters can be enabled or disabled by setting the following variable to either 1 or 0 in the alice_init.ini file, see [[university:​tools:​m1k:​alice:​desk-top-advanced-guide|ALICE Advanced User’s Guide]] for more details.
 +
 +EnableDigitalFilter
  
 **For Further Reading:** **For Further Reading:**
university/tools/m1k/alice/oscilloscope-x-y-user-guide.txt · Last modified: 29 Jul 2021 14:59 by Doug Mercer