import scipy as sc
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inlineSeñales en tiempo discreto¶
Están definidas sólo en valores discretos de tiempo. Los instantes de tiempo no necesariamente están equiespaciados.
En general, las señales en Tiempo Discreto (TD) aparecen cuando se muestrea una señal analógica, es decir, cuando se toman muestras de la señal a instantes discretos de tiempo.
Si los instantes de tiempo están equiespaciados, el muestreo se denomina periódico o uniforme.

Figure 1:Muestreador ideal
: frecuencia de muestreo [Hz]
: período de muestreo [seg]
consideramos muestreo periódico o uniforme intervalos entre muestras sucesivas constante
Por lo tanto, la frecuencia (o ) de una señal periódica en Tiempo Continuo, estará relacionada con la frecuencia (o ) de la correspondiente señal muestreada.
Consideremos que
es muestreada a
entonces se tiene
donde:
Periodicidad de una señal en tiempo discreto¶
En contraste con las señales sinusoidales en Tiempo Continuo, las señales senoidales en tiempo discreto verifican:
Una señal sinusoidal en Tiempo Discreto es periódica si y sólo si su frecuencia es un numero racional. Por definición es periódica si y solo si tal que:
que se verifica si y sólo si:
El menor valor de que verifica esta propiedad se denomina período fundamental.
Para determinar el período fundamental de una senoide discreta, expresamos como cociente de dos números enteros primos relativos. Entonces el período es el denominador de esta expresión.
Aliasing¶
Señales sinusoidales en Tiempo Discreto cuyas frecuencias están separadas un múltiplo entero de son idénticas.
Como consecuencia todas las secuencias de sinusoides
donde: son indistinguibles (idénticas).
En particular, una sinusoide con frecuencia en el rango será equivalente a una sinusoide en el rango y se la denomina un alias de la sinusoide en el rango
Mientras que las señales en tiempo continuo es:
La máxima frecuencia de oscilación de una senoide en tiempo discreto es (o ) Consideremos que:
y que , que resulta que la máxima frecuencia de la señal que en tiempo discreto muestrearse con una frecuencia sin que se produzca aliasing es:
En otras palabras, para evitar que se produzca aliasing y de esa forma poder reconstruir una seañal a partir de las muestras debemos seleccionar:
donde es la máxima frecuencia contenida en la señal analógica.
Teorema de muestreo¶
donde
son las muestras de y es la función de interpolación definida como

Figure 2:Teorema de muestreo Nyquist-Shannon
Ejemplo 1¶
Determinar la tasa de muestreo de Nyquist
Solución¶
Veamos que
Sin embargo, si muestreamos con , las muestras de la componente
que son idénticamente nulas y obviamente no puede recuperarse la señal a partir de las muestras!!
Ejemplo 2¶
Supongamos que desea generar y graficar las señales en tiempo continuo y definidas como:
y las correspondientes señales en tiempo discreto que se obtienen muestreandolas con una frecuencia . Notas que las dos señales tienen la misma señal muestreada
Veamos el ejemplo en código, y grafiquemoslo:
t=np.linspace(0,0.02, 20001, endpoint=True)
n=np.linspace(0,10, 11, endpoint=True)
x1=np.cos(2*np.pi*50*t)
x2=np.cos(2*np.pi*550*t)x1n=np.cos(2*np.pi*50/500*n)
x2n=np.cos(2*np.pi*550/500*n)f, ax=plt.subplots(1,1, figsize=(8,3))
ax.plot(t, x1, color="b", label=r"$x_1(t)$")
ax.plot(t, x2, color="r", ls="--", label=r"$x_2(t)$")
ax.scatter(n*0.002, x1n, marker="o", facecolor="None", edgecolor="b", s=90, linewidths=2 , label=r"$x_{1n}(t)$")
ax.scatter(n*0.002, x2n, marker="x", color="r", s=50, linewidths=3, label=r"$x_{2n}(t)$")
plt.legend()
ax.set_xlabel("Tiempo [seg]")
ax.set_ylabel("Amplitud")
ax.set_title("Señales $x_1(t)$ y $x_2(t)$ muestreadas: Aliasing")
ax.grid()