Periodicidad señales analógicas y digitales

Considere la exponencial compleja discreta con frecuencia (ω0 + 2π)

ej(ω0 + 2π)n = ej2πn e0n = e0n

Se puede ver que la exponencial con frecuencia ω0 + 2π es la misma que aquella con la frecuencia ω0.
Existe una situación diferente en el caso contínuo, en el cual las señales e0t son todas distintas para distintos valores de ω0.
En el caso discreto, éstas señales no son distintas, ya que la señal con frecuencia ω0 es idéntica a las señales con frecuencias ω0 ± 2π , ω0 ± 4π, … y las que le siguen. Por lo tanto, al considerar las exponenciales complejas, necesitamos tomar en cuenta solamente un intervalo de frecuencia de longitud 2π dentro del cual se escoge ω0.
ω0N = 2π m
o de otra forma
ω0/2π = m/N

Para el caso de m=1 y N=2

otra prueba con m=7 y N=4

con m=2 y N=1

El código en python para realizar las gráficas es:

# Señales discretas
# y(t)  a  y[t]
# propuesta:edelros@espol.edu.ec
import numpy as np
import math
import matplotlib.pyplot as plt

# Definir la funcion para el ejemplo
def ejemplo_funcion(f,t):
    # función matemática CAMBIAR AQUI
    y=np.cos(f*t)
    # función matemática CAMBIAR AQUI
    return(y)

# Programa para graficar la función
# INGRESO
rango=float(input('rangos en periodos de analogica:'))
fa=float(input('frecuencia de analógica:'))
fd=float(input('frecuencia digital:'))

# PROCEDIMIENTO
n=500  # puntos en eje t para el gráfico analogica
t0=-rango*2*np.pi*fa/2
tn=rango*2*np.pi*fa/2
delta=(tn-t0)/n
deltaD=(2*np.pi*fa)/(2*fd)
nd=int((tn-t0)//deltaD +1)   # número de muestras para gráfica
# Dimensiona los arreglos
t=np.zeros(n, dtype=float)  # para la analogica
yanalog=np.zeros(n, dtype=float)
td=np.zeros(nd, dtype=float)    # Para la digital
ydigital=np.zeros(nd, dtype=float)
# valores para analogica
for i in range(0,n):
    t[i]=t0+delta*i     # para el eje x
    yanalog[i]=ejemplo_funcion(fa,t[i])
#valores para digital
for i in range(0,nd):
    td[i]=t0+deltaD*i   #para el eje x
    ydigital[i]=ejemplo_funcion(fa,td[i])

# SALIDA
#Escala y para el grafico
ymax=np.max(yanalog)+0.1*np.max(yanalog)# rango en el eje y
ymin=np.min(yanalog)-0.1*np.max(yanalog)
plt.figure(1)       # define la grafica
plt.suptitle('Señal Analogica vs digital')
plt.subplot(211)    # grafica de 2x1 y subgrafica 1
plt.ylabel('y(t)')
plt.axis((t0,tn,ymin,ymax))
plt.plot(t,yanalog)
plt.subplot(212)    # grafica de 2x1 y subgrafica 2
plt.ylabel('Digital: y[t]')
plt.axis((t0,tn,ymin,ymax))
plt.plot(td,ydigital,'ro')
plt.show()

 

Publicado por

Edison Del Rosario

edelros@espol.edu.ec / Profesor del FIEC/FCNM-ESPOL