UNIVERSIDAD CATÓLICA BOLIVIANA “SAN PABLO”
UNIDAD ACADÉMICA REGIONAL LA PAZ
Señales y sistemas
PREINFORME DE ANÁLISIS DE SEÑALES
PERIÓDICAS Y SU REPRESENTACION EN SERIES DE
FOURIER
ESTUDIANTE : CORTEZ ESPINOZA MARIA FERNANDA
DOCENTE : CONDORI QUISPE HUGO ORLANDO
CARRERA : INGENIERÍA MECATRÓNICA
La Paz - Bolivia, Febrero de 2025
Preinforme de Laboratorio 1
1. Simular la respuesta del generador de onda diente de sierra en LTspice. Obtener los
resultados de simulación en el dominio del tiempo y frecuencia. Indicar la frecuencia de
oscilación.
Figura 1: Simulación del circuito A
En la figura 1 se muestra una la simulación que se realizó en Ltspice del circuito A, en el cual, al correrlo, se
pudo comprobar la forma de la onda de salida.
Al simular y ver la onda de salida se vio como este tenía una forma de diente de sierra, que se
asemejaba a la onda de carga de un capacitor. Al medir la distancia entre 2 picos de la onda
se determinó que la frecuencia de oscilación de este era de 36.75k[Hz], con un periodo de
27.21[us].
Figura 2: Simulación del circuito B
En la figura 2 se muestra una la simulación que se realizó en Ltspice del circuito B, en el cual, al correrlo, se
pudo comprobar la forma de la onda de salida.
Al simular y ver la onda de salida se vio como este tenía una forma de diente de sierra, pero
esta era distinta del circuito A, ya que su subida parecía más una función lineal que la de
carga y descarga del capacitor. Al medir la distancia entre 2 picos de la onda se determinó
que la frecuencia de oscilación de este era de aproximadamente 2k[Hz], con un periodo de
500 [us].
2. Indicar los parámetros del circuito que afectan la frecuencia de oscilación.
Al simular los dos circuitos, se pudo identificar que los parámetros que afectan la frecuencia
en el circuito A son los valores de la resistencia y el capacitor en el circuito, ya que de estos
valores depende el tiempo de carga y descarga del capacitor. Mientras que del circuito B
también son estos los parámetros que afectan la frecuencia de la señal de salida, ya que de
estos valores depende la corriente que sale del transistor.
3. Representar este circuito como un sistema. Indicar las señales de entrada y salida.
Describir el sistema
Figura 3: Diagrama de bloques de los circuitos
En la figura 3 se muestra una representación como sistemas en diagrama de bloques de los circuitos
A y B.
El circuito se modela como un sistema de primer orden donde la entrada puede considerarse
la alimentación Vcc y la salida es el voltaje en el capacitor Vc(t), que sigue una forma de
onda diente de sierra. Su comportamiento se describe mediante la ecuación diferencial
dVC/dt+VC/RC=Vcc/RC, donde RR y CC determinan la frecuencia de oscilación. En
términos de la función de transferencia, el sistema actúa como un integrador con
H(s)=1/RCs+1lo que indica que la respuesta del circuito depende de la constante de tiempo
τ=RC\tau = RC. Este modelo permite representar el circuito como un sistema dinámico con
una entrada y salida bien definidas, facilitando su análisis en el dominio del tiempo y la
frecuencia.
4. Encuentre la potencia de la se˜ nal peri´ odica x(t) mostrada en la figura. Adem´ as,
determine las potencias y los valores RMS de: a) −x(t), b) 2x(t). Comente los resultados.
5. Para la señal mostrada en la figura 2, encontrar la representación en una serie de Fourier
compleja. Mostrar el procedimiento
6. Graficar la serie de Fourier encontrada en el anterior punto. Si n representa el n´ umero
de componentes a tomar en la serie de Fourier, generar 4 gráficas con: a) n = 5, b) n = 10,
c) n = 50, d) n = 100. En todos los casos superponer la gráfica encontrada con la señal
original.
def fourier_coeff(n):
n = float(n)
try:
term_1 = 8 * 1j * (-1)**n / (n * [Link])
term_2 = 48 * 1j * (-1)**n / (n * [Link])**3
return term_1 - term_2
except ZeroDivisionError or ValueError:
return 0
def fourier_series_complex(t, N):
sum_fourier = np.zeros_like(t, dtype=np.complex_)
for n in range(-N, N+1):
C_n = fourier_coeff(n)
sum_fourier += C_n * [Link](1j * n * w0 * t) # Sumatoria de
Fourier Compleja
return sum_fourier.real # Tomamos solo la parte real
t = [Link](-6, 6, 1000) # Rango de tiempo extendido para ver
periodicidad
n_values = [5, 10, 50, 100] # Número de términos en la serie
fig, axes = [Link](2, 2, figsize=(12,8))
axes = [Link]()
for ax, N in zip(axes, n_values):
S = fourier_series_complex(t, N)
[Link](t, periodic_t3(t), 'k--', alpha=0.5, label='Señal
original') # Señal real
[Link](t, S, label=f'Serie de Fourier con {N} términos',
color='b')
ax.set_title(f'N = {N}')
ax.set_xlabel('Tiempo (s)')
ax.set_ylabel('x(t)')
[Link](True)
[Link]()
[Link]("Aproximaciones de la Serie Compleja de Fourier para x(t)
= t³ con Periodo 4s")
plt.tight_layout()
[Link]()
Figura 4: resultado de la sumatoria compleja de Fourier en Python
7. Graficar la magnitud de los coeficientes de la serie de Fourier en función de su
componente fundamental y armónicos.
k_vals = [-10,-9,-8,-7,-6,-5,-4,-3,-2,-1,1,2,3,4,5,6,7,8,9,10]
c_k = np.zeros_like(k_vals, dtype=complex)
for idx, k in enumerate(k_vals):
if k == 0:
pass
else:
c_k[idx] = (8 * (-1)**k / (1j* k * [Link]))-(48 * (-1)**k /
(1j*k * [Link])**3)
amp = [Link](c_k)
[Link](figsize=(8,4))
[Link](k_vals, amp)
[Link]('Espectro de Frecuencia: Magnitud de $c_k$')
[Link]('Índice k')
[Link](r'$|c_k|$')
[Link](True)
[Link]()
Figura 5: Resultado del análisis de los coeficientes de la Serie de Fourier
8. Encontrar la potencia de la señal mostrada en la figura 2. Utilizar ambas definiciones
mostradas en las ecuaciones: ec. 5 (en el dominio del tiempo) y ec. 7 (en el dominio de la
frecuencia).
Figura 6: Potencia en función del tiempo
n_vals = [Link](([Link](-20, 0), [Link](1, 21)))
C_n = [Link]([fourier_coeff(n) for n in n_vals])
f_vals = n_vals *f0
amp = [Link](C_n)
[Link](figsize=(8, 4))
[Link](f_vals, amp, basefmt=" ", markerfmt="ro")
[Link]('Espectro de Frecuencia con Delta de Dirac')
[Link]('Frecuencia (Hz)')
[Link](r'$|C_n|$')
[Link](True)
[Link]()
Figura 6: Potencia en función de la frecuencia
[Link] de señales en su parte par e impar: a) Graficar la componente par e
impar de la función x(t) = 2−tcos(2πt)u(t − π) b) Graficar la componente par e impar de la
función x(t) = 2−t/2 cos(4πt)u(t − 0.5)
def u(t):
return [Link](t >= 0, 1, 0)
def x1(t):
return (2**-t) * [Link](2 * [Link] * t) * u(t - [Link])
def x2(t):
return (2**(-t/2)) * [Link](4 * [Link] * t) * u(t - 0.5)
t = [Link](-7, 7, 1000)
# Calcular las partes par e impar
def even_part(x):
return (x(t) + x(-t)) / 2
def odd_part(x):
return (x(t) - x(-t)) / 2
# Graficar la descomposición de x1(t)
[Link](figsize=(10, 5))
[Link](2, 2, 1)
[Link](t, x1(t), label=r'$x_1(t)$', color='black')
[Link](r'$x_1(t)$')
[Link]()
[Link]()
[Link](2, 2, 2)
[Link](t, even_part(x1), label=r'$x_{1,\text{par}}(t)$', color='b')
[Link](r'Parte Par de $x_1(t)$')
[Link]()
[Link]()
[Link](2, 2, 3)
[Link](t, odd_part(x1), label=r'$x_{1,\text{impar}}(t)$', color='r')
[Link](r'Parte Impar de $x_1(t)$')
[Link]()
[Link]()
plt.tight_layout()
[Link]()
# Graficar la descomposición de x2(t)
[Link](figsize=(10, 5))
[Link](2, 2, 1)
[Link](t, x2(t), label=r'$x_2(t)$', color='black')
[Link](r'$x_2(t)$')
[Link]()
[Link]()
[Link](2, 2, 2)
[Link](t, even_part(x2), label=r'$x_{2,\text{par}}(t)$', color='b')
[Link](r'Parte Par de $x_2(t)$')
[Link]()
[Link]()
[Link](2, 2, 3)
[Link](t, odd_part(x2), label=r'$x_{2,\text{impar}}(t)$', color='r')
[Link](r'Parte Impar de $x_2(t)$')
[Link]()
[Link]()
plt.tight_layout()
[Link]()
Figura 7: Gráfica de x(t) = 2−tcos(2πt)u(t − π) (además de su parte Par e Impar)
Figura 7: Gráfica de x(t) = 2−t/2 cos(4πt)u(t − 0.5) (además de su parte Par e Impar)
10. Se definen las se{ales x(t) = et(1+j2π)u(−t) , y(t) = Re 2·x −5−t 2
def x(t):
return [Link](t * (1 + 1j * 2 * [Link])) * u(-t)
def y(t):
return [Link](2 * x(-5 - t/2))
a) Graficar la parte real de x(t) en función de la parte imaginaria de x(at), considerando
los valores a = 0.5,1, y 2 en el intervalo −10 ≤ t ≤ 10. Analizar cómo influye el factor de
escala a en la forma de la figura resultante.
t = [Link](-10, 10, 1000)
a_values = [0.5, 1, 2]
[Link](figsize=(10, 5))
for a in a_values:
[Link]([Link](x(t)), [Link](x(a * t)), label=f'a = {a}')
[Link]("Parte Real de $x(t)$")
[Link]("Parte Imaginaria de $x(at)$")
[Link]("Parte Real de $x(t)$ vs Parte Imaginaria de $x(at)$")
[Link]()
[Link]()
Figura 8: Parte real de x(t)
b) Graficar la función y(t) en el rango −10 ≤ t ≤ 10. Determinar de forma analítica el
valor de t0 donde la función presenta una discontinuidad y verificarlo con la gráfica
obtenida.
t = [Link](-10, 10, 1000)
[Link](figsize=(8, 4))
[Link](t, y(t), label="$y(t)$", color='b')
[Link]("Tiempo (s)")
[Link]("$y(t)$")
[Link]("Gráfico de $y(t)$")
[Link](x=-10, color="r", linestyle="--", label="Posible
discontinuidad")
[Link]()
[Link]()
[Link]()
Figura 9: Grafico de y(t)
(c) Calcular la energía Ex de la señal x(t) mediante integración numérica.
(d) Determinar la energía Ey de la señal y(t) aplicando integración numérica.
Figura 10: Resultados de los cálculos de energías