PAM a PSK Gráfica

Referencia: Problema 9.133 Leon-García p.574

Un proceso de modulación por fase se define como:

Y(t) = a \cos \big( 2\pi t + \frac{\pi}{2}X(t) \big)

Sea X(t) un proceso de modulación de amplitud de pulsos con valores de +1 y -1 que representan a los bits 1 y 0 como se muestra en la tabla.

dato en binario (bit) símbolo
1 +1
0 -1

Suponga que T=1, que es la duración de cada símbolo X(t).


 

Algunos datos:

De los experimentos realizados con BPSK y Delta-Sigma para entrontrar la pmf de [+1,-1], se encontró que la media del proceso era igual a 0.


a) Dibuje una muestra de la función Y(t) correspondiente a la secuencia binaria 0010110

# Problema 9.133 Leon-Garcia p.574
# PAM - Pulse Amplitude Modulation
# PSK - Phase Shift Keying
# literal a)
import numpy as np
import matplotlib.pyplot as plt

# INGRESO
# secuencia = input('secuencia binaria: ')
secuencia = '0010110'

# PROCEDIMIENTO
n = len(secuencia)
# texto a símbolos PAM
senalbit = np.zeros(n,dtype=int)
for i in range(0,n,1):
    senalbit[i] = int(secuencia[i])
    if (senalbit[i]==0):
        senalbit[i] = -1
# Señal en PAM
anchobit = 100 # muestras dentro de cada bit
senalpam = np.repeat(senalbit, anchobit)
m = len(senalpam)

# Eje de tiempo:
ti = np.arange(0,m,dtype=float)
ti = ti/anchobit

# Señal PSK
f = 1
senalpsk = np.zeros(m,dtype=float)
for i in range(0,m,1):
    fase = (np.pi/2)*senalpam[i]
    senalpsk[i] = np.cos(2*np.pi*f*ti[i] + fase)

# SALIDA Gráfica
# Señal PAM
plt.subplot(211)
plt.plot(ti,senalpam, color='g')
for k  in range(0,n,1):
    plt.vlines(k,1,-1, color= 'm', linestyles='dotted')
plt.ylabel('Señal PAM')
# Señal PSK
plt.subplot(212)
plt.plot(ti,senalpsk, color='b')
for k  in range(0,n,1):
    plt.vlines(k,1,-1, color= 'm', linestyles='dotted')
plt.ylabel('señal PSK')
plt.suptitle('Secuencia binaria PAM a PSK')
plt.show()

continua…