0% found this document useful (0 votes)
42 views12 pages

Encoding Modulation

The document discusses various encoding and modulation techniques used in digital communication systems. It provides examples and code to demonstrate unipolar encoding, NRZ-L encoding, NRZ-I encoding, RZ encoding, biphase-manchester encoding, differential manchester encoding, ASK modulation, FSK modulation, PSK modulation, AM modulation, FM modulation, and PM modulation. Plots and signals are generated to illustrate each technique.

Uploaded by

jenny khan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
42 views12 pages

Encoding Modulation

The document discusses various encoding and modulation techniques used in digital communication systems. It provides examples and code to demonstrate unipolar encoding, NRZ-L encoding, NRZ-I encoding, RZ encoding, biphase-manchester encoding, differential manchester encoding, ASK modulation, FSK modulation, PSK modulation, AM modulation, FM modulation, and PM modulation. Plots and signals are generated to illustrate each technique.

Uploaded by

jenny khan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

Unipolar Encoding Technique:

import numpy as np

import [Link] as plt Example 1:

arr=input("Enter all bits with space in one line: ")

f=list(map(int,[Link](' ')))

print("Unpipolar output for input: ")

unipolar=[0]

if f[0]==1:

unipolar = [1]

else:

unipolar = [0]

for i in range(0,len(f)):

[Link](f[i]) Example 2:

time = [Link](0, len(unipolar))

[Link](321)

[Link]("Unipolar Encoding")

[Link]("Time")

[Link]("Bit")

[Link](time,unipolar)

plt.tight_layout()

[Link](time)

[Link]([0,1])

[Link](0,len(f))

[Link](True)

[Link]()
Polar NRZ-L technique:
from copy import copy

import [Link] as plt

import numpy as np Example 1:

[Link]()

f = [0, 1, 0, 0, 1, 1]

[Link](321)

nrz_f=[1 if f[0]==0 else -1]

for i in range(0, len(f)):

k = f[int(i)]

if k == 0:

nrz_f.append(1)
Example 2:
else:

nrz_f.append(-1)

t = [Link](0, len(nrz_f))

nrz_t = t

[Link]("NRZ-L Encoding")

[Link]("Time")

[Link]("Bit")

[Link](nrz_t, nrz_f)

[Link](nrz_t)

[Link](y=0, color="r")

[Link](0, len(nrz_f))

plt.tight_layout()

[Link]()
Polar NRZ-I Technique :
from copy import copy Example 1:

import numpy as np

import [Link] as plt

f = [0,1,0,0,1]

bit= 1

nrz_i=[1]

for i in range(0,len(f)):

if f[i]==1:
Example 2:
if bit==1:

bit=-1

else:

bit=1

nrz_i.append(bit)

nrz_t=[Link](0,len(nrz_i))

[Link](311)

[Link](True)

[Link](y=0,color="r")

[Link]("NRZ-I Encoding")

[Link]("Time")

[Link]("Bit level")

[Link](nrz_t,nrz_i)

[Link](nrz_t)

[Link](0,len(nrz_i))

[Link]()
Polar RZ Technique: [Link](True)

import [Link] as plt [Link]()

import numpy as np

from copy import copy


Example 1:

[Link]()

f = [0,1,0,0,1,1]

t = [Link](0, len(f))

[Link](321)

[Link]("RZ encoding")

rz_bit=[-1 if f[0]==0 else 1]

for i in range(0,len(f)):

k=f[int(i)]
Example 2:
if k == 0:

rz_bit.append(-1)

rz_bit.append(0)

else:

rz_bit.append(1)

rz_bit.append(0)

rz_time=[Link](0,len(rz_bit))

[Link](rz_time,rz_bit)

label=[Link](0,len(rz_time))

label_name=["" if a%2==1 else int(a*0.5) for a in label]

[Link](ticks=label,labels=label_name)

[Link]("Bit level")

[Link]("Time")

[Link](0,len(rz_bit))
Polar Biphase-Manchester: Example 1:

import [Link] as plt

import numpy as np

from copy import copy

f = [0,1,0,0]

t = [Link](0, len(f))

[Link](321)

[Link]("Manchester encoding")
Example 2:
rz_bit=[1 if f[0]==0 else 0]

for i in range(0,len(f)):

k=f[int(i)]

if k == 0:

rz_bit.append(1)

rz_bit.append(-1)

else:

rz_bit.append(-1)

rz_bit.append(1)

rz_time=[Link](0,len(rz_bit))

[Link](rz_time,rz_bit)

label=[Link](0,len(rz_time))

label_name=["" if a%2==1 else int(a*0.5) for a in label]

[Link](ticks=label,labels=label_name)

[Link]("Bit level")

[Link]("Time")

[Link](0,len(rz_bit))

[Link](True)

[Link]()
Differential Manchester Encoding: Example 1:

import [Link] as plt

import numpy as np

from copy import copy

data = input("Input the binary stream: ");

data_temp = [ord(x) - 48 for x in data]

data = [1]

for d in data_temp:
Example 2:
if (d == 1 and data[len(data) - 1] == 1) or (d == 0 and
data[len(data) - 1] == -1):

[Link]([1, -1])

else:

[Link]([-1, 1])

time = [Link](0,len(data))

[Link](time,data)

label=[Link](0,len(data))

[Link](321)

label_name=["" if a%2==1 else int(a*0.5) for a in label]

[Link](ticks=label,labels=label_name)

[Link]("Differential Manchester : ")

[Link]("Bit level")

[Link]("Time")

[Link](True)

[Link]()
ASK Modulation:
import [Link] as plt Example 1:

import numpy as np

from copy import copy

low_amp=1

high_amp=2

f=2

time=[Link](0,1,0.01)

b1=2*[Link](2*[Link]*f*time)

b0=1*[Link](2*[Link]*f*time)

or_data=input("Enter digital data bits: ")

or_data=[ord(x) -48 for x in or_data]


Example 2:
data=[]

for x in or_data:

if x==1:

[Link](b1)

else:

[Link](b0)

time=[Link](0,len(data))

[Link](time,data)

[Link]('Time')

[Link]('Amplitude')

[Link]()

[Link]()
FSK Modulation:
import [Link] as plt Example 1:

import numpy as np

from copy import copy

phase=0

f=2

time=[Link](0,1,0.01)

b1=2*[Link](2*[Link]*4*time)

b0=1*[Link](2*[Link]*2*time)

or_data=input("Enter digital data bits: ")


Example 2:
or_data=[ord(x) -48 for x in or_data]

data=[]

for x in or_data:

if x==1:

[Link](b1)

else:

[Link](b0)

time=[Link](0,len(data))

[Link](time,data)

[Link]()

[Link]()
PSK Modulation: Example 1:

import [Link] as plt

import numpy as np

from copy import copy

phase=0

f=2

p0=[Link]

time=[Link](0,1,0.01)

b1=1*[Link](2*[Link]*f*time) Example 2:

b0=1*[Link](2*[Link]*f*time+p0)

or_data=input("Enter digital data bits: ")

print_data=copy(or_data)

or_data=[ord(x) -48 for x in or_data]

data=[]

for x in or_data:

if x==1:

[Link](b1)

else:

[Link](b0)

time=[Link](0,len(data))

[Link]('PSK for '+print_data)

[Link](time,data)

[Link]()

[Link]()
AM Modulation: plt.tight_layout()

import numpy as np [Link]()

import [Link] as plt Example 1:

print('Amplitude Modulation')

time= [Link](0,10,0.01)

fc=2

ac=2

[Link](3,1,1)

carrier_signal=ac*[Link](2*[Link]*fc*time)

[Link]('Carrier')

[Link]('Time')

[Link]('Amplitude')

[Link](carrier_signal)
Example 2:
message_amplitude=.2

message_frequency=.2

[Link](3,1,2)

[Link]('Message Signal')

message_signal=message_amplitude*[Link](2*[Link]*m
essage_frequency*time)

[Link]('Time')

[Link]('Amplitude')

[Link](message_signal)

[Link](3,1,3)

[Link]('Amplitude Modulated Signal')

modulated_s=carrier_signal*message_signal

[Link]('Time')

[Link]('Amplitude')

[Link](modulated_s)
FM Modulation: [Link]('Time')

import numpy as np plt.tight_layout()

import [Link] as plt [Link]()

modulator_frequency =4.0 Example 1:

carrier_frequency = 40.0

time = [Link](441.0) / 441.0

modulator = [Link](2 * [Link] * modulator_frequency *


time)

carrier = [Link](2 * [Link] * carrier_frequency * time)

product = np.zeros_like(modulator)

for i, t in enumerate(time):

product[i] = [Link](2* [Link] * (carrier_frequency * t +


modulator[i])) Example 2:

[Link](3, 1, 1)

[Link]('Modulator')

[Link](modulator)

[Link]('Amplitude')

[Link]('Time')

[Link](3, 1, 2)

[Link]('Carrier')

[Link](carrier)

[Link]('Amplitude')

[Link]('Time')

[Link](3, 1, 3)

[Link]("Frequency Modulated signal")

[Link](product)

[Link]('Amplitude')
PM Modulation : [Link]()

import numpy as np

import [Link] as plt Example 1:

carrier = 220.0

modulator = 440.0

beta = 1.0

x1 = [Link](0.0, 0.03, num=2000)

carrierWave = [Link]

modulatorWave = [Link]

y1 = [Link](carrier * [Link] * x1)

y2 = [Link](modulator * [Link] * x1)

y3 = [Link](carrier * [Link] * x1 + beta * y2)

plt.subplots_adjust(left = 0.1, bottom = 0.25)

[Link](3, 1, 1)

carrierObj, = [Link](x1, y1, '-')

[Link]([0, 0.03, -1.1, 1.1])

[Link]('Phase Modulation')

[Link]('Carrier')

[Link](3, 1, 2)

modulatorObj, = [Link](x1, y2, '-')

[Link]([0, 0.03, -1.1, 1.1])

[Link]('Modulator')

[Link](3, 1, 3)

modulatedObj, = [Link](x1, y3, '-')

[Link]([0, 0.03, -1.1, 1.1])

[Link]('time (s)')

[Link]('Modulated Carrier')

plt.tight_layout()

You might also like