-
Notifications
You must be signed in to change notification settings - Fork 3
/
32-PSK_ Eye Diagrams.py
37 lines (33 loc) · 992 Bytes
/
32-PSK_ Eye Diagrams.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import numpy as np
import matplotlib.pyplot as plt
# Definir las constantes
M = 32 # Número de símbolos en la constelación
N = 20 # Número de muestras
fc = 100 # Frecuencia de la portadora
# Definir los símbolos de la constelación
constelacion = np.exp(1j*2*np.pi*np.arange(M)/M)
# Generar los datos de prueba
bits = np.random.randint(0, M, size=N)
simbolos = constelacion[bits]
t = np.arange(N)
portadora = np.sin(2*np.pi*fc*t/N)
senal_modulada = np.real(simbolos*np.exp(1j*2*np.pi*fc*t/N))
'''
# Graficar el diagrama de constelación
plt.subplot(2,2,1)
plt.plot(np.real(simbolos), np.imag(simbolos), 'o')
plt.title('Diagrama de constelación')
'''
# Graficar el diagrama de ojo
plt.subplot()
for i in range(M):
plt.plot(t, np.real(senal_modulada*(constelacion[i]/np.abs(constelacion[i]))))
plt.title('Diagrama de ojo')
# Graficar la señal modulada
'''
plt.subplot(2,1,2)
plt.plot(t, senal_modulada*portadora)
plt.title('Señal modulada')
plt.xlabel('Tiempo')
'''
plt.show()