#!/usr/bin/env python
# coding: utf-8
# # SEÑALES PARES E IMPARES
# ## SISTEMAS Y SEÑALES
# ### Ingenieria de Telecomunicaciones
# ### Universidad Pontificia Bolivariana
# ### Por: Jose R. Zapata - [https://joserzapata.github.io/](https://joserzapata.github.io/)
# **joser.zapata@upb.edu.co**
# In[1]:
# Script para ver y ocultar el codigo del jupyter
from IPython.display import HTML
HTML('''
''')
# Contenido
#
# # Señales Pares
# Una señal $x(t)$ ó $x[n]$ es par si se «refleja» en el eje vertical u ordenadas.
#
# $x(t) = x(-t)$
#
# $x[n] = x[-n]$
#
# La señal tiene los mismos valores para el lado positivo o negativo de $|t|$.
#
# Es como si se aplicara el valor absoluto de t antes de hacerlo en la ecuación.
# In[2]:
import numpy as np
import matplotlib.pyplot as plt
plt.style.use('bmh') # estilo de las graficas
get_ipython().run_line_magic('matplotlib', 'inline')
# parámetros
T = 2*np.pi
m = 1 #periodos para la gráfica
t0 = -m*T #usa lado negativo de abscisas
n = 100
# ## Ejemplo función par
# Una señal par conocida es $\large cos(\omega t)$
#
# Para observar mejor, se marcará el área que genera la función dentro de un periodo centrado en el origen.
#
# Se marcara el periodo comprendido en: $[-T/2,T/2]$, sombreando alrededor de $t=0$
# In[3]:
# PROCEDIMIENTO
# vector de tiempo
tn = -t0 # completa el reflejo positivo
dt = (tn-t0)/n
t = np.arange(t0,tn,dt)
# Señal
f = 1/T
w = 2*np.pi*f
senalpar = np.cos(w*t)
# marcar un periodo en [desde, hasta)
desde = -T/2
hasta = desde + T + dt
tperiodo = np.arange(desde,hasta,dt)
periodopar = np.cos(w*tperiodo)
# Gráficas
plt.plot(t,senalpar)
plt.xlabel('t')
plt.ylabel('señal $x(t) = cos(\omega t)$')
plt.grid(True)
# marcar un periodo
plt.title('Señal par')
plt.fill_between(tperiodo,0, periodopar,color='lightgreen')
plt.axvline(x=0, color='red')
plt.show()
# # Señales Impares
# Una señal $x(t)$ ó $x[n]$ es impar si se cumple que:
#
# $x(t) = -x(-t)$
#
# $x[n] = -x[-n]$
#
# Una señal impar debe ser necesariamente 0 en $t=0$ o $n=0$.
# ## Ejemplo función impar
# Una señal impar conocida es $\large sin(\omega t)$
#
# Para observar mejor, se marcará el area que genera la función dentro de un periodo centrado en el origen.
#
# Como el eje t ya fué generado en el ejercicio anterior, se continúa con la generación de la gráfica.
# In[4]:
# señal
senalimpar = np.sin(w*t)
# marcar un periodo
periodoimpar = np.sin(w*tperiodo)
# SALIDA
# Gráficas
plt.plot(t,senalimpar)
plt.xlabel('t')
plt.ylabel('señal $x(t) = sin(\omega t)$')
plt.grid(True)
# marcar un periodo
plt.title('Señal impar')
plt.fill_between(tperiodo,0, periodoimpar,color='lightblue')
plt.axvline(x=0, color='red')
plt.show()
# Cualquier señal se puede separar en la suma de 2 señales, una de las cuales es par y la otra impar
#
# \begin{equation}
# \large Par|x(t)|= \frac{1}{2}[x(t)+x(-t)]
# \end{equation}
#
# \begin{equation}
# \large Impar|x(t)|= \frac{1}{2}[x(t)-x(-t)]
# \end{equation}
# # Ejercicios
# probar Si las siguientes funciones son pares o impares
#
# - $\large t$
# - $\large |t|$
# - $\large t^2$
# - $\large t^3$
# - $\large |-e^t|$
# # REFERENCIAS
# Oppenheim Seccion 1.2.3
# **Phd. Jose R. Zapata**
# - [https://joserzapata.github.io/](https://joserzapata.github.io/)
# - https://twitter.com/joserzapata
#