""" Traçage d'un signal numérisé """

import matplotlib.pyplot as plt
import numpy as np

# Entrée des valeurs

ch = '001000011110101001000011110101010'
q = 2 #V
Te = 0.002 #s
n = 3 #Nombre de bits sur lequel le signal est numérisé

temps = [0]
for k in range(1,len(ch)//3):
    temps.append(k*Te)
    temps.append(k*Te)
temps.pop(-1)

# Création du tableau de valeurs

Yn = []    # liste des valeurs numérisées

for k in range((len(ch)//n)-1):
    val = int(ch[k*n:(k+1)*n],2)
    Yn.append(val)
    Yn.append(val)


#Fonction de référence

X = np.linspace(0,0.02,1000)
Y = [7+7*np.sin(2*np.pi*100*x-(6*np.pi/7)) for x in X]

# Tracé

fig, ax1 = plt.subplots()

ax2 = ax1.twinx()
ax1.plot(X,Y,label = 'courbe réelle',color = 'b')
ax2.plot(temps,Yn,label = 'courbe échantillon',color = 'r')
ax1.set_xlabel('Temps (s)')
ax1.set_ylabel('Signal s(t) (V)',color = 'b')
ax2.set_ylabel('Niveaux',color = 'r')
ax1.set_ylim(-0.5,14.5)
ax2.set_ylim(-0.25,7.25)
ax1.legend()
ax2.legend()
ax1.grid()
plt.show()

        


    