The NRZ Pulse Generator component allows users to create a sequence of non-return to zero pulses that are coded by a digital signal input. This video describes how to setup and modify the NRZ Pulse Generator in OptiSystem.

Using The Component

The NRZ pulse generator Generates a Non-Return to Zero coded electrical signal which is dependent on a bit sequence input. Since the pulse generator’s output is dependent on a bit sequence, we will connect a user defined bit sequence generator to it’s input.

 The pulse generator outputs an electric signal so we will be using an oscilloscope to visualize it. The bit sequence we should expect at the output is dependent on the bit sequence generator and can be seen here. Calculating the project, we can see the output of the pulse generator in the oscilloscope. As you can see the pulse generator replicates the input bit sequence as the output stays high when the input bit is 1 and goes low when the input bit is 0.

The general properties of the pulse generator can be found by double clicking the block. In the main window we have parameters that alter properties of the pulse.

The rectangle shape property can change the shape of how pulse transitions from low to high and from high to low. Currently an exponential shape is selected. Going into the visualizer and zooming in on the pulse we can see that the transition is curved in an exponential fashion. Going back into the Pulse generator and changing the rectangle shape to linear we can see how that will affect the transition shape. Upon calculating the project, we find that the transition is no longer curved and is now a straight line. Changing “format for pulse range” from min/max to DC bias/ amplitude allows you to alter the DC bias and Amplitude of the pulse instead of defining the maximum and minimum of the pulse. In this format , the Maximum would be equal to the Dc bias plus the amplitude and the minimum value would be equal to the DC bias minus the amplitude.

Calculating the project and checking the visualizer we see that the DC bias is -1 and the amplitude is 2 as expected.

For the next demonstration we will revert back to maximum and minimum format. The position option affects the phase shift of the pulse. With the position set to 0 we go into the visualizer and observe that the transition happens at the start of Bit 1. If we are to change the position to 0.5 we will observe that every transition is delayed by 0.5 of a bit.

In the general properties of the pulse generator we can also change the Rise time and the fall time. Increasing the rise time will increase the time it takes for the pulse to go from low to high. Increasing the fall time will increase the time it takes for the pulse to go from high to low.

Calculating the project and opening the visualizer we can see that the time it takes for the pulse to rise and fall have both significantly increased as expected.

Going back to the pulse generator and going into the simulation window we can modify the sample rate. The sample rate can be changed to take on the value of other layout parameter or can be defined by a function. Pressing evaluate we can see the value of the sample rate. Sample rate affects the rate at which the pulse generator samples the binary input so Raising the sample rate would increase the resolution of the output while decreasing it would do the opposite. Double clicking the work space brings up the global parameters window. In this window the sample rate can be altered. Going back to the pulse generator we can see that the sample rate has been updated to what we defined it as.