Monday, 22 September 2014

UniPolar Encoding

Unipolar encoding has 2 voltage states with one of the states being 0 volts. Since Unipolar line encoding has one of its states being 0 Volts, it is also called Return to Zero (RTZ). A common example of Unipolar line encoding is the logic levels used in computers and digital logic. A logic High (1) is represented by +5V and a logic Low (0) is represented by 0V.

Unipolar line encoding works well for inside machines where the signal path is short but is unsuitable for long distances due to the presence of stray capacitance in the transmission medium. On long transmission paths, the constant level shift from 0 volts to 5 volts causes the stray capacitance to charge up. There will be a "stray" capacitor effect between any two conductors that are in close proximity to each other. Parallel running cables or wires are very suspectible to stray capacitance.
If there is sufficient capacitance on the line and a sufficient stream of 1s, a DC voltage component will be added to the data stream. Instead of returning to 0 volts, it would only return to 2 or 3 volts! The receiving station may not recognize a digital low at voltage of 2 volts!
Unipolar line encoding can have synchronization problems between the transmitter and receiver's clock oscillator. The receiver's clock oscillator locks on to the transmitted signal's level shifts (logic changes from 0 to 1). If there is a long series of logical 1s or 0s in a row. There is no level shift for the receive oscillator to lock to. The receive oscillator's frequency may drift and become unsynchronized. It could lose track of where the receiver is supposed to sample the transmitted data!
Receive oscillator may drift during the period of all 1s

Below is an simulation for unipolar encoding in java.


 import java.util.Scanner;  
 public class Lowhigh {  
   public static void main(String[] args) {  
     String input = "";  
     String line1 = "";  
     String line2 = "";  
     String line3 = "";  
     int flag = 0, i;  
     Scanner inputs = new Scanner(;  
     System.out.print("Enter the binary number :");  
     input =;  
     for (i = 0; i < input.length(); i++) {  
       if (input.charAt(i) == '1') {  
         if (flag == 0) {  
           line1 += " ";  
           line2 += "|";  
           line3 += "|";  
           flag = 1;  
         line1 = line1 + " _ ";  
         line2 = line2 + "  ";  
         line3 = line3 + "  ";  
       } else {  
         if (flag == 1) {  
           line1 += " ";  
           line2 += "|";  
           line3 += "|";  
           flag = 0;  
         line1 = line1 + "  ";  
         line2 = line2 + "  ";  
         line3 = line3 + " _ ";  

1 comment:

  1. UniPolar Encoding is a concept which is clearly mentioned in this blog. All the members will like this is essayshark legit creative work from this blog also. People who just like this blog because of the content are really good and they will surly best people.