Active maintenance & support users may download the latest version here.

NOTE FOR USB KEY LICENSES: You must update your USB key before installing the new version (please contact us)!


OptiSystem 15.0 includes the creation of several new components and enhancement of many existing components.


New components include:

  • Python scripting
  • Measured Optical Sensor
  • BER Test Multiple
  • Electrical Complex conjugate
  • Optical Complex Conjugate
  • Electrical Eye Viewer


Enhancements include:

  • Adding a tab to the dual port visualizers to enable viewing signals in separate screens (top-bottom) of the display window.
  • Adding new parameters to the views of the Optical Time Domain Visualizer, Oscilloscope Visualizer, and Electrical Constellation Visualizer components to allow users to set plot style and point style.
  • Adding a new function to the Electrical Downsampler component to specify the “Sampling position”.
  • Adding geometric loss and gain calculations to the Free Space Optics components.
  • Adding Lambertian order and optical lens concentration factor to the Diffused Channel component.
  • Adding a new parameter to the Digital Filter component to allow loading of filter coefficients automatically.
  • Enabling resizing of all OptiSystem components to allow for easier connections between them.
  • Adding a warning message that pops-up when the user loads a file with an incorrect path.
  • Enabling resizing of “Component properties” and “Global parameters” windows.

New Features


New library components and enhancements

Python Scripting:

OptiSystem 15.0 supports Python scripting (similar to VBscripting). Users can set parameters, launch simulations and retrieve results from OptiSystem via Python scripting language (see OptiSystem_Component_Library.pdf). There are many tutorial examples in “OptiSystem_Tutorial_python.pdf” which describe, in detail, the Python component. These examples include:

  1. Basic Manipulation of a Binary Signal
  2. Basic Manipulation of an M-ary Signal
  3. Basic Manipulation of an Electrical Signal
  4. Basic Manipulation of an Optical Signal

The user can load any of these examples in order to get familiar with Python component scripting.

Fig. 1 shows a project layout implementation of an optical attenuator using Python component scripting. The signal of a directly modulated laser is attenuated using the Python component and then detected using a pin photodiode. Fig. 2 illustrates the Python Component properties setup window.

Fig 1: Project layout of an optical attenuator implementation using Python component – This example shows how to use the Python component as an optical attenuator to control the signal level of a directly modulated laser.


Fig 2: Python Component Properties setup window This window displays the tabs used to setup the different parameters of the Python component used as an optical attenuator.


Optical fiber sensor design: Measured Optical Sensor:

A Measured Optical Sensor component that uses measured sensing data has been created in OptiSystem 15.0. The measured data is used to calculate the performance at other “non-measured” values of input parameters. The component can be used with one or two experimental input data values. The input(s) can be any parameter such as temperature, pressure, bacterial density, etc. The transmission and reflection transfer functions of the measured optical sensor component are characterized by the coefficients (S11, S12, S21, and S22) of an S-matrix. This matrix is used to calculate the sensing system performance at different values of input parameters. Fig. 3 shows the block diagram of the S-matrix of the Measured Optical Sensor component, where the relationships between its inputs and outputs are given by:

Out1(f)= S11(f)*In1(f) + S12(f)*In2(f)

Out2(f) = S22(f)*In2(f) + S21(f)*In1(f)

Fig 3: S-matrix block diagram The S-parameters S11, S12, S21, and S22 define the transfer functions of the Measured Optical Sensor.



Compare Visualizers (top-bottom): Dual Port Binary Sequence Visualizer, Dual Port M-ary Sequence Visualizer, Dual Port Optical Time Domain Visualizer, Dual Port Optical Spectrum Analyzer, Dual Port Oscilloscope Visualizer, Dual Port RF Spectrum Analyzer:

A new tab has been added to the Compare visualizers (listed above) that allows viewing of signals in a separate viewer (top-bottom). For optical viewers, this dual display is only available for the Total Signal Power (Power X and Power Y must be viewed in separate windows).

Fig. 4 illustrates the display of a Dual Port Optical Spectrum Analyzer that is used to monitor the input and output of an optical fiber cable.


Fig 4: Dual Port Optical Spectrum Analyzer display The display of the input and output CW light of a 50km optical fiber cable.


BER Test Multiple:

The new BER Test Multiple can be used to measure bit-error-rate (BER) of multiple devices under test (DUT); up to 80 binary channels simultaneously. This test set is best fit for DWDM systems where multiple transmitted channels can be characterized at the same time. The BER Test Multiple performs direct error counting and BER calculations for each channel separately.


Electrical Complex Conjugate:

This is a new component that performs a complex conjugate operation on the complex data array of an electrical signal (aeib= ae-ib) .


Optical Complex Conjugate:

This new component performs a complex conjugate operation on the complex field envelope of an optical signal carried on X and Y polarizations (aeib= ae-ib) .


Electrical Eye Viewer:

This new component allows for direct and quick viewing of the signals’ electrical eye along the transmission link without the need to attach binary or reference input signals to the visualizer. There are no calculations or performance estimation performed in this component. The component requires only a single electrical waveform as an input.


Other product improvements and fixes

Directly Detected Eye Analyzer Visualizer:

A new component; Electrical Eye Viewer, has been added to the Visualizer Library. This visualizer component replaces the obsolete Directly Detected Eye Analyzer Visualizer. For any design which contains the latter component, it is recommended to delete this component and replace it with the new Electrical Eye Viewer.


Raman Amplifier Average Power Model/Raman Amplifier Steady State Model/Raman Amplifier Dynamic Model:

When using the Average Power Model, Steady State Model, or the Dynamic Model in the Raman amplifier component, it is important to setup a valid file and path for the Raman gain profile (otherwise the component will fail). Example files can be found under “OptiSystem 15.0 Samples\Optical amplifiers\Raman amplifiers”, specifically RGEfficiency_FusedSilica_NLO_3rdEd_Agrawal_Fig8-1_p300_Hz.dat for “Raman gain efficiency” and RGNorm_FusedSilica_NLO_3rdEd_Agrawal_Fig8-1_p300_Hz.dat for “Raman gain”. The pump reference for these data files is 1000nm. A warning message pops-up if the path of the data file is not correct. Fig. 5 shows the error message that will pop-up when the data file path is incorrect.

Fig 5: Error message displayed –  The error message that pops-up when the data file path is incorrect.


Application Updates

The Samples folder (OptiSystem 15.0 Samples) has been updated as follows:

  • A MATLAB version of an OFDM system design has been added to “Advanced modulation systems\OFDM systems\OFDM MATLAB”.
  • A new “Optical wireless” folder has been added to the OptiSystem 15.0 samples. New examples have been added for indoor wireless (Li-Fi), terrestrial free space optics, and earth-satellite communications.
  • A new set of examples and an overview package have been added to “Software interworking\MATLAB co-simulation\OptiSystem MATLAB data model”. These new examples provide further details on how the data model and structure between OptiSystem and MATLAB works.
  • A new “Link equalization and FIR filters” folder has been added to the OptiSystem 15.0 samples. New examples have been added for IIR filter design (S-domain, Z-domain and link equalization techniques).
  • A new subdirectory “PythonScripts” has been added to the Samples folder, which has a tutorial on Python scripting and few examples.



Documentation Updates

OptiSystem Component Library:

The parameter tables and/or technical description sections of the following components have been updated or created:

  • Electrical Eye Viewer (new)
  • BER Test – Multiple (new)
  • Measured Optical Sensor (new)
  • Python Component (new)
  • Electrical Complex Conjugate (new), Optical Complex Conjugate (new)
  • Digital Filter
  • Free Space Optics
  • Dual Port Visualizers
  • Electrical Downsampler
  • Electrical Constellation Visualizer
  • Oscilloscope Visualizer
  • Optical Time Domain Visualizer


New Features



Features Added In Version 14 >>