Cse350 (2) LabReport
Cse350 (2) LabReport
Cse350 (2) LabReport
Submitted To
Md. Mahir Ashhab
Lecturer
Department of Computer Science and Engineering
Faculty of Sciences and Technology
Submitted By
Jaser Maharus
ID: 2018-3-60-070
Submission Date
July 28, 2022
NRZ-L
Introduction:
In polar NRZ encoding, two levels of voltage amplitude are used, so there are two versions of polar
NRZ and the first one is NRZ-L. NRZ-L refers to Non-Return-to-Zero (Level), in which the
voltage level determines the value of a bit. The logic low (binary zero) is represented by a positive
voltage while the logic high (binary one) is represented by a negative voltage. In NRZ-L, the level
of the voltage determines the value of the bit. The average signal rate of NRZ-L is N/2 Bd (baud).
Description:
In theory, when we use NRZ-L line coding we represent positive voltage level with logic zero and
negative voltage level with logic one.
In coding, when we want to implement the NRZ-L logic in our code as a function or method we
replace the logical zero and one with plus ‘+’ and minus ‘-’ signs respectively. We send a bit string
of the length of 1200 through the sender and on the receiver side we decode it bit by bit.
Conclusion:
NRZ-L is a line coding scheme which is relatively simple to implement and requires low
bandwidth. Comparing to other line coding schemes, NRZ-L has a lot of drawbacks, such as
baseline wandering problem. NRZ-L cannot solve this problem. Self-synchronization problem is
another problem which it can not solve. Another problem with NRZ-L occurs when there is a
sudden change of polarity in the system. DC component is another problem which NRZ-L cannot
solve. Among the other line coding schemes NRZ-L is the weakest.
NRZ-I
Introduction:
In polar NRZ encoding, two levels of voltage amplitude are used, so there are two versions of polar
NRZ, and NRZ-I is the second one. NRZ-I refers to Non-Return-to-Zero (Invert), in which the
value of a bit is determined by the presence or absence of a transition from a positive voltage to a
negative voltage, or vice versa. A transition signals that the next bit is a logic high (binary one),
while no transition signals a logic low (binary zero). In NRZ-I, the change or lack of change in the
level of the voltage determines the value of the bit. If there is no change, the bit is 0; if there is a
change, the bit is 1. The average signal rate of NRZ-I is N/2 Bd (baud).
Description:
In theory, when we use NRZ-I line coding we represent logic zero when there is no change in the
level of the voltage and logic one when there is a change in the level of the voltage.
In coding, when we want to implement the NRZ-I logic in our code as a function or method we
replace the logical zero and one with plus ‘+’ and minus ‘-’ signs respectively. We send a bit string
of the length of 1200 through the sender and on the receiver side we decode it bit by bit. By the
change of the signs we can easily detect whether there is any inversion happing or not.
Conclusion:
NRZ-I is a line coding scheme which is also simple to implement and requires low bandwidth
usage. NRZ-I is also known as a differential code, because it makes use of transitions rather then
levels to signify logic values. This makes it less error prone in noisy environments and eliminates
the need for the receiver to determine polarity. NRZ-I has drawbacks too, such as baseline
wandering problem (not bad as NRZ-L). The synchronization problem also exists in this scheme,
but not so serious as NRZ-L. In NRZ-I there is no problem when the polarity of the system changes.
There is no DC component problem in it. Despite all these problems, NRZ-I is much better than
NRZ-L.
RZ
Introduction:
RZ is the Return-to-Zero form of polar line coding. In RZ, three signaling levels are used. The
logic low is represented by a positive voltage and logic high is represented by a positive voltage,
but in both cases the signal level returns to zero halfway through the bit time and stays there until
the next bit is transmitted.
Description:
In theory, when we use RZ line coding we use three values: positive, negative and zero. There are
also called three signaling levels. The logic low is represented by a positive voltage and logic high
is represented by a negative voltage, but in both cases the signal level returns to zero halfway
through the bit time and will stay there until the next bit is transmitted.
In coding, when we want to implement the RZ logic in our code as a function or method we replace
the logic low and high with plus ‘+’ and minus ‘-’ signs respectively. We send a bit string of the
length of 2400 through the sender and on the receiver side we decode it bit by bit. While
implementing RZ function, we do not need to worry about the zero part because when we will
send the bit string through the function it will automatically handle the zero level part.
Conclusion:
RZ line coding scheme is easy to implement. It uses less power than polar NRZ-L and NRZ-I. In
RZ re-synchronization is possible. Although RZ’s implementation is easy, the complexity of it is
greater than polar NRZ-L and NRZ-I. It has DC component problem and requires twice as much
bandwidth as either polar NRZ-L or NRZ-I. Still RZ is a better choice than NRZ-L or NRZ-I in
terms of performance.
Manchester
Introduction:
Manchester encoding is a widely used line coding scheme that embeds timing information in the
transmitted signal. It does this by ensuring that there is a transition (high-to-low or low-to-high) in
the middle of every bit time, making it easy for the receiver to retrieve a clock signal from the
incoming bit stream and maintain synchronization with the transmitted signal. Manchester
encoding is sometimes referred to as Bi-phase encoding, because each of its bit consists of both a
positive and a negative pulse. In Manchester, the bandwidth requirement is much higher than the
other line coding schemes (two times that of NRZ).
Description:
In theory, when we use Manchester line coding a logic high (binary zero) is represented by a
positive pulse with a period of half bit time followed by a negative pulse of the same duration.
Similarly, a logic low (binary one) consists of a negative pulse followed by a positive pulse. The
receiver looks for a transition in the middle of each bit time. A positive to negative transition is
interpreted as a binary one and a negative to positive transition is seen as a binary zero.
In coding, when we want to implement the Manchester logic in our code as a function or method
we replace the logical zero and one with plus ‘+’ and minus ‘-’ signs respectively. We also use a
special character to represent the middle point. We send a bit string of the length of 2400 through
the sender and on the receiver side we decode it bit by bit. On the receiver side of our code if we
see any special character between the signs we can be sure that it is the middle point and by
detecting the middle point we can identify the pattern as well.
Conclusion:
Manchester encoding addresses the shortcomings of polar NRZ-L and RZ schemes by ensuring
that there is sufficient embedded timing information in the transmitted signal to enable the receiver
to easily maintain synchronization. Manchester also eliminates the possibility of a DC component
problem by spending half of the duration of each bit at a positive voltage level and the other half
at a negative voltage level. There is no possibility of baseline wandering in Manchester encoding.
The Manchester encoding suffer from its inefficient use of bandwidth.
Differential Manchester
Introduction:
Differential Manchester is the combination of the idea of RZ and NRZ-I. In this scheme, there is
always a transition at the middle of the bit, but the bit values are determined at the beginning of
the bit. If the next bit is zero, there is a transition; if the next bit is one, there is no transition. The
transition at the middle of the bit is used for synchronization in differential Manchester. The
minimum bandwidth of differential Manchester is two times that of NRZ.
Description:
In theory, when we use differential Manchester line coding we see a transition at the start of a bit
time if the bit will be a logic high (binary zero). There is no transition at the start of the bit time
if the bit will be a logic low (binary one). It is the presence or absence of a transition at the
beginning of a bit time that signifies what logic state the bit represents.
In coding, when we want to implement the differential Manchester logic in our code as a
function or method we replace the logical zero and one with plus ‘+’ and minus ‘-’ signs
respectively. We also use a special character to represent the middle point. We send a bit string
of the length of 2400 through the sender and on the receiver side we decode it bit by bit. On the
receiver side we will see patterns like ‘+-+-’, ‘-++-’, ‘+--+’, ‘-+-+’. These patterns will indicate if
there is any inversion in the message or not. In terms of coding, the differential Manchester logic
will look like mirrored bits of plus-minus.
Conclusion:
Differential Manchester encoding addresses the problems associated with NRZ-I coding and
essentially has the same advantages and disadvantages as Manchester coding. There is no DC
component in the signal, baseline wandering is not a problem and the embedded timing
engendered by the presence of at least one transition per bit time ensures that the receiver can
maintain synchronization. There is also the added advantage that if the signal is inverted
somewhere along the transmission path, the information carried by the line-coded signal will not
change. Unfortunately, differential Manchester suffers from the same inefficiency as Manchester
in terms of bandwidth usage, but it has commercial use.