The Tektronix NRZ-M4 application provides NRZ signaling analysis, including
TDEC (Transmitter and Dispersion Eye Closure) measurement. The application
brings together NRZ optical measurements in a simple and easy to use
application. This application is designed to minimize the computation time of
waveform analysis which suits the manufacturing environment.
This application is intended to be installed on a PC and works by connecting to
the sampling scope. Application allows you to acquire signal directly from the
connected DSA8300 sampling oscilloscope and analyze the acquired waveform
data.
NOTE. NRZ-M4 application requires the installation of an option key on the
target DSA8300 oscilloscope to enable establishing a connection from the NRZM4 application to the DSA8300. Refer to the documentation provided with the
DSA8300 for instructions of adding a new option key.
NRZ-M4 Application Help iii
Welcome
Key features
The NRZ-M4 application performs comprehensive analysis of optical NRZ
signals, including TDEC, Mask margin and other optical measurements.
NRZ-M4 application provides the following features:
■
Simultaneously analyze up to 4 optical channels
■
Characterization of 100Gbps Optical transceivers (SR4, LR4) devices with
Mask margin measurements. Perform optimal mask fitting for better margin.
■
Supports TDEC (Transmitter and Dispersion Eye Closure)
■
Signal characterization measurements such as Amplitude and Timing
measurements
■
Support for Phase reference characterization clock for more accurate results.
■
Support for measurements at various population limits.
■
Show results as numeric and graphical display.
■
Display 2D eye diagrams with embedded mask
■
Save the analysis results to a file.
■
Run multiple instances of the application and connect each of them to
different DSA8300s' and perform parallel analysis of multiple channels.
iv NRZ-M4 Application Help
Getting help and support
Conventions
Help uses the following conventions:
■
The term "Application" and "Software" refers to the Tektronix NRZ-M4
application.
■
The term “select” is a generic term that applies to the different methods of
choosing a screen item (button, control, list item): using a mouse or using the
touch screen.
Table 1: Icon descriptions
IconMeaning
This icon identifies important information.
This icon identifies conditions or practices that could result in loss
of data.
This icon identifies additional information that will help you use
the application more efficiently.
NRZ-M4 Application Help 1
Getting help and support
Related documentation
The following documentation is available as part of the NRZ-M4 application.
Table 2: Product documentation
ItemPurposeLocation
HelpApplication operation
and User Interface help
PDF of the helpPrintable version of the
compiled help
PDF file that ships with the NRZ-M4 application.
You can download the PDF version of the
manual from the Tektronix website.
www.tek.com
See also:
Technical support
General information
Technical support
Tektronix values your feedback on our products. To help us serve you better,
please send us your suggestions, ideas, or comments on your application or
oscilloscope. Contact Tektronix through mail, telephone, or the Web site. See
Contacting Tektronix at the front of this document for contact information.
When you contact Tektronix Technical Support, please include the following
information (be as specific as possible):
■
All instrument model numbers
■
Hardware options, if any
■
Modules used
■
Your name, company, mailing address, phone number, FAX number
■
Please indicate if you would like to be contacted by Tektronix about your
suggestion or comments.
■
Application specific
information
Software version number
■
Description of the problem such that technical support can duplicate the
problem
■
If possible, save the setup files for all the instruments used and the
application
2 NRZ-M4 Application Help
Getting started
Computer requirements
The NRZ-M4 application is designed to run on a PC running Windows operating
system. A high performance PC is recommended to minimize the computation
time of waveform analysis.
These are the minimum requirements to successfully run the NRZ-M4
application. A PC with higher performance results in faster measurements.
■
Operating system: Microsoft Windows 10 (64 bit) operating system.
■
Screen resolution: 1920 x 1080.
NOTE. Installing the NRZ-M4 application directly on a DSA8300 sampling
oscilloscope is not permitted.
Software requirements
The NRZ-M4 application requires the following software to be installed on the
PC.
■
TekVISA: TekVISA version 4.2.0.10 is recommended. Installation is
available during NRZ-M4 installation.
■
Matlab runtime: Matlab 2017b version 9.3 is required. The Matlab runtime is
available from MathWorks® (www.mathworks.com).
NRZ-M4 Application Help 3
Getting started
Instruments and accessories required
The following are the instruments and accessories required.
Table 3: Instruments and accessories required
Instrument/AccessoryModel numberQuantity
MainframeDSA83001
Optical modules80C17, 80C18, 80C20, 80C21,
80C10C
Phase reference module82A04B1 (Optional)
NOTE. Optical module 80C10C has performance limitation. The overall
execution time of the measurement with this module is greater than the other
modules.
2 (Min 1 Qty)
TekVISA software
TekVISA is preinstalled on the DSA8300 sampling oscilloscopes, but to use this
protocol to connect and communicate with a DSA8300 sampling oscilloscope,
TekVISA must also be installed on the PC (where the NRZ-M4 application
resides).
TekVISA is available with the NRZ-M4 application installation file or can be
downloaded for free from the Tektronix website (www.tek.com). Search for
TekVISA Connectivity software.
4 NRZ-M4 Application Help
Getting started
Installing the software
Complete the following steps to download and install the latest NRZ-M4
application. See Computer requirements for compatibility.
1. Go to www.tek.com.
2. Click Downloads. In the Downloads menu, select DOWNLOAD TYPE as
Software and enter NRZ-M4 in the MODEL OR KEYWORD field and click
SEARCH.
3. Select the latest version of software and follow the instructions to download.
File name extensions
4. Double-click the executable and follow the on-screen instructions. The
software is installed at C:\Program Files\TekApplications\NRZ-M4\.
5. Double-click NRZ-M4 icon in the desktop to Launch the application.
The TekExpress NRZ-M4 application uses the following file name extensions:
File name extensionDescription
.gm4Setup file format
.plPerl example for PI commands
.pyPython example file for PI commands
.csvResults saving file format
.jpgPlots image file format
.pdfTest result reports
Application help document
.chmApplication help file
NRZ-M4 Application Help 5
Getting started
See also
View software version
Application directories
Use the following instructions to view the version information for the application.
To view version information for NRZ-M4, click Help > About.
Application directories
TekExpress NRZ-M4
application
NOTE. This example shows a typical Version Details dialog box, and may not
reflect the actual values as shown when you open this item in the application.
The TekExpress NRZ-M4 application files are installed at the following location:
C:\Program Files\TekApplication\NRZ-M4
6 NRZ-M4 Application Help
Operating basics
Launch the application
Double-click the NRZ-M4 icon in the desktop to launch the application.
NRZ-M4 Application Help 7
Operating basics
See also
Application panel overview
Application panels overview
8 NRZ-M4 Application Help
Operating basics
Measurement selections
The measurement selection includes all the available optical measurements.
Table 4: Measurement selections
MeasurementsDescription
AmplitudeIncludes the following amplitude measurements to the results section.
■
AOP: The average optical power of a NRZ optical signal.
■
ER: The extinction ratio of the highest and lowest optical power levels of a NRZ optical
signal.
■
Cross%: The height of eye crossing as a percentage of eye height measured in the
Eye Aperture.
■
+Overshoot: The ratio of the maximum value of the measured signal to its amplitude,
expressed as a percentage. The waveform is scanned for the maximum value within
the measurement region, while the amplitude is measured in the Eye Aperture.
■
-Overshoot: The ratio of the minimum value of the measured signal to its amplitude,
expressed as a percentage. The waveform is scanned for the minimum value within
the measurement region, while the amplitude is measured in the Eye Aperture.
■
NRZHigh: The logical 1 of the NRZ signal.
■
NRZLow: The logical 0 of the NRZ signal.
■
NRZAmplitude: The difference between the logical 1 level (High) and the logical 0 level
(Low) of the NRZ signal. Both High and Low levels are measured within the Eye
Aperture.
■
OMA: An approximation defined as the difference of the logical power 1 and
0 determined a vertical slice through the eye crossing. The levels are determined as
the means of the histograms of the vertical data slice through the High (logical 1) and
Low (logical 0) levels
■
NRZHigh_Histogram: Mean of the vertical histogram above the threshold, around the
center 20% of the eye(40% to 60% of the eye opening).
■
NRZLow_Histogram: Mean of the vertical histogram below the threshold, around the
center 20% of the eye(40% to 60% of the eye opening).
NOTE. NRZHigh_Histogram and NRZLow_Histogram are performed using the exported
waveform database file from sampling oscilloscope.
TimingIncludes the following timing measurements to the results section.
■
Jitter RMS: Jitter is the measure of time variance on the rising and falling edges at the
NRZ eye crossing or at the mid-reference level.
■
Jitter Pk2Pk: The delta between the minimum and maximum of time crossings, with
the mean of the histogram being Tcross.
■
RiseTime: Computes the time interval between the mean crossings of the low
reference level and the high reference level to characterize the positive slope of the
eye.
■
FallTime: NRZ Fall Time characterizes the negative slope of the NRZ eye by
computing the time interval between the mean crossings of the high reference level
and the low reference level.
NRZ-M4 Application Help 9
Operating basics
MeasurementsDescription
TDEC, VECPIncludes the following measurements to the results section.
■
TDEC: Transmitter and Dispersion Eye Closure (TDEC) of a NRZ signal.
■
VECP: Vertical Eye Closure Penalty (VECP), a measure of the closure.
Where,
An - Normalized amplitude without ISI
Ao - Vertical eye opening with ISI
MaskIncludes the following measurements to the results section.
Mask margin explores the design margins of the signal. It measures the margin in
percentage by expanding the mask on the NRZ eye until the mask hit ratio crosses the
target hit ratio. User has to input the target hit ratio and mask to be used for the
measurement.
Following are the steps to calculate the Mask Margin:
1.Find the eye center. Place the mask and measure the mask margin.
■
If the Margin is positive, the mask is well inside the open eye and mask has to be
blown out to measure the positive mask margin.
10 NRZ-M4 Application Help
Operating basics
MeasurementsDescription
■
If the Margin is negative, the eye is already stressful and mask has to be blown-in
to measure the negative mask margin.
2.Binary search method is followed to come across results faster.
3.Mask will be expanded/shrunk until the actual hit ratio exceeds the target hit ratio.
Mask margin will be measured at the point where the actual hit ratio is just below the
target hit ratio. Both Mask margin and actual hit ratio are given in results.
Measurement
configuration
The measurement configuration applies to the NRZ measurement selection to
further define the measurement parameters.
NRZ-M4 Application Help 11
Operating basics
MeasurementsDescription
Mask Configurations
Select Mask File
Target Hit RatioEnter the target hit ratio.
Optimize Mask Filtting (takes
more time)
Enable PlotsThis is enabled by default.
Eye Configurations
TDEC BEREnter the TDEC BER value.
General Configurations
PopulationSpecify the acquisition population. Specify number of samples
Save Results to FileThis is disabled by default.
Use Phase Reference module. This is disabled by default.
■
100GBaseSR4
■
100GBaseLR4
■
10GBaseR
This is disabled by default.
When enabled, the mask will be shifted in all directions (up,
down, right and left) and best mask fitting is done to get the
better margin.
When enabled, displays the 2D Eye diagram plot with the
embedded mask in it.
per each acquisition and number of acquisitions. Total population
will be product of these two values.
When enabled, this option saves the results to a .csv file at C:
\Users\<username> \AppData\Local\Temp. File name format is
"<AppInstance>_<ChannelName>_Results.csv".
Select to enable the phase reference clock connected to
channels. Also, select the clock ratio given to the phase
reference module.
Mode selection
MeasurementsDescription
EnableThis is disabled by default.
Enable the channel to analyze the signal. Channel can be
enabled only if the supported module (CH1 to CH4) is installed
and the option key is installed in the oscilloscope.
Scope NoiseEnter the scope noise value for the corresponding channel.
Oscilloscope noise values are automatically read while
connecting to the oscilloscope or while doing Autosync.
Oscilloscope noise characterization tool has to be run on the
oscilloscope to measure the oscilloscope noise for each channel
before running the NRZ-M4 application.
12 NRZ-M4 Application Help
Operating basics
File menu
Clear button
Run button
The Clear button removes all measurement results, including the plot display.
Press the Run button to start the analysis cycle. At least one measurement must
be selected.
The file menu provides the following operations:
SettingDescription
Save SetupUse the dialog screen to navigate to a location to save the setup
file to recall at a later time. Setup files use .gm4 file extension.
Recall SetupUse the dialog screen to navigate to a saved setup file to restore
the application to a known setup.
DefaultUse to configure the default settings in the application.
ExitExits the application.
The File menu operations are unavailable if an analysis is currently running.
Scope menu
Selecting Scope opens the Connect To Scope dialog screen.
NRZ-M4 Application Help 13
Operating basics
ItemDescription
Enter Instrument IP addressEnter the IP address of the oscilloscope you want to connect.
ConnectSelect the Connect button to make the connection. The Connect
button changes to Disconnect if a connection is established.
During the connection process, the NRZ-M4 application detects
the modules installed in the oscilloscope along with their
characteristics (such as the module type, serial number, filters or
bandwidth).
AutoSync to Selected Sources Click to update the NRZ-M4 application, when you change any
module or the characteristics. The NRZ-M4 application detects
the modules installed in the oscilloscope along with their
characteristics (such as the module type, serial number, filters or
bandwidth).
Results elements
The results area is populated with the latest measurements from the latest
analysis. The areas populated with results depend on the selected measurements
to make during analysis.
14 NRZ-M4 Application Help
Operating basics
NRZ-M4 Application Help 15
Operating basics
16 NRZ-M4 Application Help
Programmatic interface
Remote control introduction
The NRZ-M4 software application can be controlled programmatically through
the programmatic interface. Communication with the application is accomplished
using VARIABLE:VALUE remote GPIB commands.
For information on how to operate the sampling oscilloscope and use its
application-specific GPIB commands, refer to the programmers guide for your
sampling oscilloscope.
Your program should comply with the following guidelines:
1. The application startup must complete before sending additional GPIB
commands to the application.
2. The measurements cycle must complete before you query data.
Handshaking protocol
The application handles GPIB communications through its own protocol
handshaking.
The requirements for GPIB communications with a controller are as follows:
1. Once the application has started, it writes an "OK" status to the application
handshake variable. This tells the controller that it may now write a valid
commands into the "NRZ" variable.
2. The GPIB controller polls the handshake variable (VARIABLE:VALUE?
"NRZ") until it detects the OK status.
3. The GPIB controller writes a command string into the application handshake
variable. For example, sending the command VARIABLE:VALUE "NRZ",
"single" writes the string "single" into the variable "NRZ".
4. The application GPIB function polls the handshake variable, reads the
command string and interprets it as a command. If the command is not
understood, it writes an ERROR handshake value to the variable.
5. A good command is parsed and executed. On successful execution, the
application writes an OK to the handshake variable. When the GPIB
controller reads the OK status, it may send a new command string.
NRZ-M4 Application Help 17
Programmatic interface
Setting up the PI environment
To help users get started with using GPIB commands to operate the NRZ-M4
Analysis application, examples of automatic testing script written in Perl and
Python 3.7 is included. These are examples only. Users are free to use any
programming language of their choice as long as the handshaking protocol is
followed.
Start Client with Perl
The prerequisites are:
■
Matlab runtime needs to be installed and in the user’s path
■
Perl v5.24.3 or later needs to be installed and in the user’s path
When the NRZ-M4 is running, you can start the client with the following Perl
script.
perl NRZ-M4_PI_Client.pl
When the NRZ-M4 is not running, the script needs to start the NRZ-M4 as well
as set up the environment by using:
perl NRZ-M4_PI_Client.pl –startApp
NOTE. You may need to use the –filePath “<NRZ-M4>” to tell the client where
to connect to the currently running Applications’ process.
Start Client with Python
The prerequisites are:
■
Matlab runtime needs to be installed and in the user’s path
■
Python 3.7 or above needs to be installed and in the user’s path
When the NRZ-M4 is running, you can start the client with the following Python
script.
python NRZ-M4_PI_Client.py
When the NRZ-M4 is not running, the script needs to start the NRZ-M4, as well
as set up the environment by using:
NOTE. You may need to use the -filePath “<NRZ-M4.exe>” to tell the client
where to connect to the currently running Applications’ process.
Running Multiple Instances
Use the following to start the main UI program with assigned instance id of
<instanceId>. The default <instanceId> is 1. See the Example Main Program
Execution for more details and examples.
Example:VARIABLE:VALUE: "NRZ","CONNECT:134.62.9.4" connects to the instrument with the
Return ExampleReturns: $response = ’134.62.9.4'
The set form provides the IP address or the computer name of the oscilloscope to connect
to the application.
The query form returns the IP address of the connected oscilloscope if it exists.
Make sure TekVISA is turned on and the instrument can be found via the TekVisa before
setting the IP address.
For help with connection issues, refer to Oscilloscope connection tips.
given IP address.
:VARIABLE:VALUE:? "NRZ","CONNECT" returns the IP address of a connected
instrument.
:VARIABLE:VALUE: "NRZ","DISCONNECT" Disconnects the application from the oscilloscope.
Syntax:VARIABLE:VALUE: "NRZ","DISCONNECT"
:VARIABLE:VALUE: "NRZ","CLEAR"Command only.
Clears all measurement results.
Syntax:VARIABLE:VALUE: "NRZ","CLEAR"
:VARIABLE:VALUE "NRZ","EXIT"Command only.
Exits the application.
Syntax:VARIABLE:VALUE "NRZ","EXIT"
:VARIABLE:VALUE "NRZ", "ANALYZE"Command only.
Starts the measurement execution.
Syntax:VARIABLE:VALUE "NRZ", "ANALYZE"
:VARIABLE:VALUE? "NRZ", "STATUS"Query only.
Returns the status of measurement execution.
Syntax:VARIABLE:VALUE? "NRZ", "STATUS"
:VARIABLE:VALUE "NRZ","AUTOSYNC"Command only.
Synchronizes the noise value and module detail with the connected oscilloscope.
Syntax:VARIABLE:VALUE "NRZ","AUTOSYNC"
:VARIABLE:VALUE? "NRZ","INSTANCEID" Query only.
Returns the instance id of the application.
Syntax:VARIABLE:VALUE? "NRZ","INSTANCEID"
:VARIABLE:VALUE "NRZ", "ACTIVATE:5"Command only.
Sets the instance id for the application window.
Syntax:VARIABLE:VALUE "NRZ", "ACTIVATE:5"
20 NRZ-M4 Application Help
Programmatic interface
CommandsDescription
:VARIABLE:VALUE "NRZ",
"DEFAULTSETUP"
Syntax:VARIABLE:VALUE "NRZ", "DEFAULTSETUP"
Command only.
Sets the oscilloscope to default configuration.
Example:VARIABLE:VALUE? "NRZ", "RESULT:Ch2:ALLMEAS" returns the measurement result for
Returns the measurement result for the selected channel.
<X> = 1 to 4
<MeasurementList> = ALLMEAS | AOP | ER | TDEC | +Overshoot
channel 2
NRZ-M4 Application Help 25
Programmatic interface
Programming examples
Perl program example:
configure and operate
NRZ-M4
With available offline analysis, NRZ-M4 offers a programmatic interface similar
to that of TekScope, JNB, or other on-scope applications. A client needs to know
how to interface and synchronize with the application. The Perl script below
gives an example of such a client (similar clients could be implemented in
Python, .NET, etc.). A file interface is used to communicate between NRZ-M4
and the client.
NOTE.
■
The examples presume that you are familiar with designing GPIB programs.
■
All words within quotes are case sensitive and must be entered exactly as
shown, including spaces and quotes.
Prerequisites
■
Matlab runtime needs to be installed and in the user’s path
■
Perl needs to be installed and in the user’s path
■
The client expects to be able to write “NRZ_CommandFile.txt” and “NRZM4_LogFile.txt” to the current working directory (C:\Users\<user>\AppData
\Local\Temp) for communication and logging. For multiple instances, the
files "NRZ_CommandFile<instanceId>.txt" and "NRZM4_LogFile<instanceId>.txt" are used. See below for examples.
The measurement results are captured in NRZ-M4_ResultsFile.txt at the
same directory.
■
The client by default enters an ‘interactive’ mode, reading from STDIN
(which times out and exits after 5 minutes). At this point you can send any of
the specified commands and queries.
Example Main Program Execution
NRZ-M4.exe <instanceId>
Starts the main UI program with assigned instance id of <instanceId>. The
default instanceId is 1. For each instance other than 1, a separate client may
connect to each unique instance. Each separate client for instanceIds other than
1 can connect to that particular <instanceId> via the corresponding
"NRZ_CommandFile<instanceId>.txt". e.g., upon execution of the following:
NRZ-M4.exe 1
NRZ-M4.exe 2
NRZ-M4.exe 3
, client 1 may connect to instance 1 via %TEMP%\NRZ_CommandFile.txt, and
client 2 may connect to instance 2 via %TEMP%\NRZ_CommandFile2.txt, and
client 3 may connect to instance 3 via %TEMP%\NRZ_CommandFile3.txt.
26 NRZ-M4 Application Help
NOTE. For the Example Client Execution below, you would need to use the "–
appInstance=<instanceId>" to tell the client to connect to the specific
<instanceId> UI execution. See the example using the "-appInstance" flag below.
Example Client Execution
perl NRZ-M4_PI_Client.pl
Starts the client in interactive mode, which reads the commands/queries from
stdin. This is ideal if the UI is already running.
NOTE. You may need to use the –filePath “<pathToTDECQexe>” to tell the
client where to connect to the currently running Appplication’s process).
perl NRZ-M4_PI_Client.pl –startApp
Starts the client and the main application (ideal if the UI is not running yet)
which in turn reads the set of commands/queries from stdin.
Programmatic interface
Once stdin is ready to read commands, an example set to send is:
Starts the client and the main application with the instance ID 2, which in turn
reads the set of commands/queries from stdin. A query of :var:val?
"tdecq","instanceid" at this point should return the value of "2".
NOTE.
■
The log file at “%TEMP%\NRZ-M4_LogFile.txt” will contain trace and
debug information from any client run, including the NRZ-M4 MatLab
processing output after exiting the client.
■
Many other behaviors may be configured by the client, such as file paths and
run modes. See the “$configParams” section for details.
Python example
A simple Python programming example file is provided.
The example establishes a connection to the NRZ-M4 application and provides a
simple interface to send commands to the application.
NOTE. Python is required to be installed on the PC.
1. Open a DOS command window.
2. Enter the Python example file name “NRZ-M4_PIClient.py”.
3. Wait for the program to run and for the UI window to open to send
commands.
The actual Python example file is located at C:\Users\Public\Tektronix\TekApplications\NRZ-M4\ PIExamples.
28 NRZ-M4 Application Help
Guide to connect the oscilloscope
Check network access
The first step to troubleshoot a connection problem is to check the network
access.
Ensure that the DSA8300 is connected to the network, and the TekScope
application is running.
TekVISA setup and troubleshooting
■
Verify that TekVISA is installed on the PC.
■
TekVISA is required to be running on both the PC and the target
oscilloscope.Look for the TekVISA icon in task bar.
■
If other VISA software is installed on the PC, verify that TekVISA is the
default VISA. Use the OpenChoice VISA64 Conflict Manger (available in
the list of applications under the TekVISA program folder).
NRZ-M4 Application Help 29
Guide to connect the oscilloscope
■
Make sure that the instrument is detected in the TekVISA Open Choice
Instrument Manager (available in the list of applications under the TekVISA
program folder).
To detect an instrument for through TekVISA, select the Search Criteria
button and then select LAN. Search on the IP address.
30 NRZ-M4 Application Help
Guide to connect the oscilloscope
NRZ-M4 Application Help 31
Guide to connect the oscilloscope
■
Make sure that the VXI-11 server under TekVISA LAN Server is started on
the DSA8300. The server is turned off after the instrument is rebooted, so
user needs to start it manually.
Firewall exceptions
■
Make sure that TekVISA inbound and outbound traffic are allowed through
the Windows Firewall on both the DSA8300 instrument and the PC running
NRZ-M4 application.
■
Make sure that NRZ-M4 application is added to the Windows Firewall
exception list on the PC.
Open the "Windows Firewall" from "Control Panel", and follow instructions
under "Allow an app or feature through Windows Firewall".
handshaking protocol, 17
perl program example, 26
python example, 28
remote control introduction, 17
setting up the PI environment, 18
syntax, 19
variable name arguments and queries, 20
R
Related documentation, 2
Results elements, 14
S
H
Help conventions, 1
I
Installing the software, 5
Instruments and accessories required, 4