Está en la página 1de 5

Transmisión Cifrada

El número de cédula utilizado está contenido en el siguiente vector:


yd = [1,0,5,3,8,6,9,5,5]
Se realiza la conversación de cada dígito a un número binario de 4 bits:
 Conversión
bnr = []
bits = 4
for i in yd:
v = bin(round(i))
if v.find('-0b') == -1:
bnr.append(v.replace("0b", "000")[-bits:])
else:
bnr.append(v.replace("-0b", "010")[-bits:])
 Resultado
['0001', '0000', '0101', '0011','1000', '0110', '1001', '0101', '0111','0101']
Se separan los valores para que cada grupo de 4 bits quede en un vector
Bn = []
for i in bnr:
n = list(i)
for j in n:
Bn.append(int(j))
while(len(Bn)%3 !=0):
Bn.append(0)

A continuación es necesario convertir los 0 y 1 en números entre 0 y 7 utilizando 3 bits


D = []
for i in range(int(len(Bn)/3)):
x = Bn[3*i:3*i+2]
v = int(''.join(map(lambda x: str(int(x)), x)), 2)
D.append(v)

El mensaje a modular es el siguiente:


[0, 2, 0, 2, 0, 3, 0, 3, 2, 2, 1, 3, 1, 2]

Al realizar la comparación del mensaje a modular obtenido con respecto al binario es evidente la
reducción de posiciones:
[0,0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0,1,
0,
1,
0,
1,
0,
1,
1,
1,
0,
1,
0,
1,
0,
0]

Modulación 8PSK
Para esta modulación se usó una frecuencia de 100Hz y el tiempo de bit es de 0.02 seg.

El vector modulado es el siguiente:


array([[ 1.00000000e+00],
[ 6.12323400e-17],
[ 1.00000000e+00],
[ 6.12323400e-17],
[ 1.00000000e+00],
[-7.07106781e-01],
[ 1.00000000e+00],
[-7.07106781e-01],
[ 6.12323400e-17],
[ 6.12323400e-17],
[ 7.07106781e-01],
[-7.07106781e-01],
[ 7.07106781e-01],
[ 6.12323400e-17]])

Se obtiene la gráfica mostrada a continuación:

Figura 1. Gráfica Señal Modulada

Se procede a calcular la constelación de la siguiente manera


M = np.arange(0,m) #all information symbols m={0,1,...,M-1}
I = 1/np.sqrt(2)*np.cos(M/m*2*np.pi)
Q = 1/np.sqrt(2)*np.sin(M/m*2*np.pi)
constellation = I + 1j*Q #reference constellation

Y la constelación obtenida es la siguiente

Figura 2. Gráfica Constelación Obtenida


Al realizar la comparación con la constelación que se considera ideal, podemos observar que acorde
con el mensaje que se envía (el cual no tiene valores de 4, 5, 6 o 7) esto sólo corresponde a una
parte de dicha gráfica ideal.

Figura 3. Gráfica Constelación Ideal


La modulación 8PSK nos permite únicamente cambiar o variar la fase de la señal.
Modulación 8QAM
Para esta modulación se realizó el mismo proceso inicial que con la Modulación 8PSK donde se usó
el mismo número de cédula hasta obtener el vector con el mensaje a modular.
Número de cédula: yd = [1,0,5,3,8,6,9,7,5]
Vector del mensaje a modular: [0, 2, 0, 2, 0, 3, 0, 3, 2, 2, 1, 3, 1, 2]
Para esta modulación se usó una frecuencia de 100Hz y el tiempo de bit es de 0.02 seg.
m=8
"""Performs the 8QAM modulation on image data"""
# carrier generation
fc = 100 # Hz
A=2 #V
bit_rate = 0.02
amplitude = []
phase = []
for i in D:
if i < 4:
amplitude.append(A/2)
phase.append(90*i)
else:
amplitude.append(A)
phase.append(90*(i-4))
amplitude = np.array(amplitude)
phase = np.array(phase)
time = np.arange(0, 1, 1 / bit_rate)
modulated = amplitude*np.sin(2*np.pi*fc*time +phase/180.0*np.pi)

El vector modulado es el siguiente:


array([ 0.0000000e+00, 1.2246468e-16, 0.0000000e+00, 1.2246468e-16,
0.0000000e+00, -1.0000000e+00, 0.0000000e+00, -1.0000000e+00,
1.2246468e-16, 1.2246468e-16, 1.0000000e+00, -1.0000000e+00,
1.0000000e+00, 1.2246468e-16])

Figura 4. Gráfica Señal Modulada

Se procede a calcular la constelación de la siguiente manera


I = amplitud*np.cos(phase/180.0*np.pi)
Q = amplitud*np.sin(phase/180.0*np.pi)
Y la constelación obtenida es la siguiente

Figura 5. Gráfica Constelación Obtenida

Con respecto a la gráfica obtenida y a la constelación ideal, podemos notar que contamos sólo con
las 4 coordenadas externas debido que en el vector con el mensaje a modular no tenemos valores
superiores a 3.
Figura 6. Gráfica Constelación Ideal

La modulación 8QAM nos permite cambiar o variar la fase y la amplitud de la señal.

También podría gustarte