0% encontró este documento útil (0 votos)
52 vistas102 páginas

Introducción a Señales y Sistemas

El documento aborda el tema de señales y sistemas en el contexto de la ingeniería biomédica, definiendo señales y sistemas, así como sus clasificaciones y manipulaciones. Se discuten conceptos clave como señales continuas y discretas, señales deterministas y aleatorias, y el procesamiento de señales biomédicas. Además, se presentan operaciones básicas para manipular señales continuas y se introducen las nociones de energía y potencia en señales.

Cargado por

k89szsg8rj
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
52 vistas102 páginas

Introducción a Señales y Sistemas

El documento aborda el tema de señales y sistemas en el contexto de la ingeniería biomédica, definiendo señales y sistemas, así como sus clasificaciones y manipulaciones. Se discuten conceptos clave como señales continuas y discretas, señales deterministas y aleatorias, y el procesamiento de señales biomédicas. Además, se presentan operaciones básicas para manipular señales continuas y se introducen las nociones de energía y potencia en señales.

Cargado por

k89szsg8rj
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Señales y Sistemas

I. Introducción
[email protected]

https://colab.research.google.com/drive/1PpR2zYa_QG2JjHRMP4V-
NYvOjTgAfRSy?usp=sharing

Licenciatura en Ingeniería Biomédica


1
Temario

I.1. Introducción
I.2. Señales continuas elementales
I.3. Manipulación de señales continuas
I.4. Sistemas continuos con y sin memoria
I.5. Linealidad y sus implicaciones
I.6. Sistemas invariantes en el tiempo y sus implicaciones

2
Introducción

Definición de señal
Es una función de una o más variables que transporta
información acerca de la naturaleza de un fenómeno

Unidimensional
Depende de una variable f(t)
Señal

Multidimensional
Depende de dos o más variables f(x,y,t)

3
#cargar librerías
import numpy as np
import sympy as sym
from sympy.plotting import plot
from sympy.plotting import plot3d

#@title Cálculo simbólico


# https://colab.research.google.com/github/jrjohansson/scientific-python-
lectures/blob/master/Lecture-5-Sympy.ipynb

x, y = sym.symbols('x, y') #dos variables simbólicas


f_Unidim = x**2 #depende solo de x la función x^2
f_Muldim = x**3 + y**3; #depende de dos vars: x,y la función x^3 + y^3

#graficar
plot (f_Unidim, (x, -5, 5)) #El rango de visualización es opcional
plot3d(f_Muldim, (x, -5, 5), (y, -5, 5))

4
Google

5
Introducción

Definición de sistema
Es una interconexión de operaciones que transforman una
señal de entrada en una señal de salida con propiedades
diferentes.
La interacción entre un sistema y sus señales puede
representarse como:

Señal de Señal de
entrada
Sistema salida

6
Introducción
Las operaciones de procesamiento de señales pueden ser
implementadas de dos maneras fundamentalmente
diferentes:

1. Analógica (enfoque de tiempo continuo)


Mixtos
2. Digital (enfoque de tiempo discreto)

Restringiremos nuestro análisis a señales unidimensionales


definidas como funciones univaluadas del tiempo continuo.

7
Introducción
Procesamiento de señales biomédicas
Su objetivo es extraer información de una señal biológica
que permita:

• Mejorar el entendimiento de los mecanismos biológicos


básicos

• Ayudar en el diagnóstico y/o tratamiento de una


condición médica

8
Introducción
Señales biomédicas comunes:

9
Fuente de la imagen: Bronzino J. D., Biomedical Engineering Handbook, CRC Press, 2006.
Clasificación de señales
Algunas formas de clasificación de señales son:

• Reales y complejas

• De tiempo continuo y de tiempo discreto

• Pares e impares

• Periódicas y no periódicas

• Deterministas y aleatorias

• De potencia y de energía

10
Señales reales y complejas
Para cada instante de tiempo, la señal puede tomar un solo
valor que puede ser real (señal real) o complejo (señal
compleja)

11
Señales de tiempo continuo y tiempo discreto
Señales de tiempo continuo
Una señal 𝑥(𝑡) es de tiempo continuo si está definida para
todo instante de tiempo 𝑡.
• Surgen de forma natural al convertir una onda física a una señal
eléctrica (transductor). Por ejemplo un micrófono,
electrocardiograma.

Ventajas
Procesamiento analógico
Soluciones exactas
Tiempo real
Bajos costos
12
Señales de tiempo continuo y tiempo discreto

Señales de tiempo discreto


Una señal 𝑥[𝑛] es de tiempo discreto si únicamente está
definida para instantes discretos de tiempo, generalmente
equiespaciados.
• Generalmente, 𝑥[𝑛] se obtiene a partir del muestreo de 𝑥(𝑡). Como
un mp3, electrocardiograma digitalizado.

13
Señales de tiempo discreto
Una señal discreta (tiempo) es aquella que esta definida en intervalos
específicos para su argumento (generalmente equidistantes).

Una señal digital (tiempo y amplitud) es aquella que esta definida en


intervalos específicos para su argumento y con un rango de valores finito
(cuantizada).

14
Señales par e impar

Señales par
Una señal 𝑥(𝑡) es par si
𝑥 𝑡 = 𝑥 −𝑡 , ∀ 𝑡

Señal impar
Una señal 𝑥(𝑡) es impar si
𝑥 𝑡 = −𝑥 −𝑡 , ∀ 𝑡

15
16
#@title Probar si una función es Par ó Impar
x = sym.symbols('x')
f1=x**2
f2=x**3
f3=x+5
f = f2; #función a probar

simetria = False
if f== f.subs(x,-x):
print(str(f)+" es par") #note la conversión a string
simetria = True
if f==-f.subs(x,-x):
print(str(f)+" es impar")
simetria = True

if simetria==False:
print(str(f)+" NO tiene simetría")

17
Señales par e impar

Descomposición par e impar


Una señal arbitraria 𝑥(𝑡) puede descomponerse en sus
componentes par 𝑥𝑒 (𝑡) e impar 𝑥𝑜 (𝑡) mediante:

𝑥 𝑡 = 𝑥𝑒 𝑡 + 𝑥𝑜 (𝑡)
donde
𝑥𝑒 𝑡 = 12 𝑥 𝑡 + 𝑥 (−𝑡)

𝑥𝑜 𝑡 = 12 𝑥 𝑡 − 𝑥(−𝑡)

además 𝑥𝑒 𝑡 = 𝑥𝑒 −𝑡 , −𝑥𝑜 𝑡 = 𝑥𝑜 −𝑡 18
19
#@title Descomposición Par e Impar
t = sym.symbols('t')
f = sym.exp(-2*t)*sym.cos(t) #función a descomponer
f_par = (f+f.subs(t,-t))/2
f_imp = (f-f.subs(t,-t))/2

print('Parte par:')
display(f_par)
print('\n\nParte impar:')
display(f_imp)

20
Señales periódicas y no periódicas

Señales periódicas
Una señal 𝑥(𝑡) es periódica si satisface la condición
𝑥 𝑡 = 𝑥(𝑡 + 𝑇) , ∀ 𝑡
donde 𝑻 es una constante positiva.

Si se cumple la condición de periodicidad para 𝑻 = 𝑻𝟎 ,


también se satisface para 𝑻 = 𝟐𝑻𝟎 , 𝟑𝑻𝟎 , 𝟒𝑻𝟎 , …

El valor más pequeño de 𝑇 que satisface la condición se


denomina periodo fundamental de 𝑥(𝑡). 21
Señales periódicas y no periódicas

Señales periódicas
El recíproco del periodo fundamental corresponde a la
frecuencia fundamental 𝒇, medida en Hz o ciclos/s,

1
𝑓=
𝑇

La frecuencia angular 𝝎, medida en rad/s, se define como


2𝜋
𝜔 = 2𝜋𝑓 =
𝑇
22
Señales periódicas y no periódicas

Señales no periódicas
Cualquier señal 𝑥(𝑡) que no satisface la condición de
periodicidad
𝑥 𝑡 = 𝑥(𝑡 + 𝑇) , ∀ 𝑡
se denomina no periódica o aperiódica.

23
Graficar

24
Sustituir

25
Señales deterministas y aleatorias

Señal determinista
Una señal acerca de la cual NO hay incertidumbre respecto
a su valor en ningún instante de tiempo.
• Pueden ser modeladas como funciones de tiempo completamente
especificadas.

26
Señales deterministas y aleatorias

Señal aleatoria
Una señal acerca de la cual hay incertidumbre antes de que
ocurra.
• Pertenece a un ensamble de señales (grupo) donde cada señal
posee una forma de onda diferente y cierta posibilidad de
ocurrencia.

• Al ensamble de señales aleatorias se le conoce como un proceso


estocástico.

27
Señales de energía y de potencia
La energía de una señal 𝑥(𝑡) en un intervalo 𝑡1 ≤ 𝑡 ≤ 𝑡2
esta dada por
𝑡2
2
𝐸𝑖𝑛𝑡𝑒𝑟𝑣𝑎𝑙𝑜 = න 𝑥 𝑡 𝑑𝑡
𝑡1

Así, la energía total de 𝑥(𝑡) corresponde a


𝑇/2 ∞
𝑙𝑖𝑚 2 2
𝐸∞ = න 𝑥 𝑡 𝑑𝑡 = න 𝑥 𝑡 𝑑𝑡
𝑇→∞
−𝑇/2 −∞
28
Señales de energía y de potencia
La potencia promedio de 𝑥(𝑡) en un intervalo 𝑡1 ≤ 𝑡 ≤ 𝑡2
esta dada por
𝑡2
1 2
𝑃𝑖𝑛𝑡𝑒𝑟𝑣𝑎𝑙𝑜 = න 𝑥 𝑡 𝑑𝑡
𝑡2 − 𝑡1
𝑡1

Así, la potencia promedio de 𝑥(𝑡) en un intervalo infinito


se define como
𝑇/2
𝑙𝑖𝑚 1 2 𝑙𝑖𝑚 1
𝑃∞ = න 𝑥 𝑡 𝑑𝑡 = 𝐸∞
𝑇→∞ 𝑇 𝑇→∞ 𝑇
−𝑇/2 29
Señales de energía y de potencia
A partir de las definiciones anteriores, pueden identificarse
tres clases importantes de señales:

1. Señales con energía finita

2. Señales con potencia promedio finita

3. Señales que no poseen ni energía ni potencia promedio


finitas, i.e,
𝐸∞ = ∞
𝑃∞ = ∞ 30
Señales de energía y de potencia
Señales de energía
Poseen una energía total finita, 𝐸∞ < ∞.
Deben poseer una potencia promedio cero, 𝑃∞ = 0.
𝑙𝑖𝑚 1
𝑃∞ = 𝐸∞ = 0
𝑇→∞ 𝑇

31
Señales de energía y de potencia
Señales de potencia
Poseen una potencia promedio finita, 𝑃∞ < ∞.
Si 𝑃∞ > 0, entonces se tiene que 𝐸∞ = ∞ (poseen energía
infinita).

32
#@title Señales de energía y potencia
x = sym.symbols('x')
f1=sym.exp(-abs(x))
f2=sym.sin(x)
f3=x**2
fp = f1 #función a probar

f = abs(fp)**2
fi = sym.integrate(f, (x,-sym.oo, sym.oo)) #funciona mejor en matlab

print("El resultado de la integral es", end=":")


display(fi)
print("")

if fi.is_finite:
display(fp)
print(' es señal de energía')
else:
display(fp)
print(' NO es señal de energía')

33
Manipulación de señales continuas
El procesamiento de señales generalmente se realiza
mediante operaciones básicas de dos categorías:
1. Operaciones sobre la variable dependiente y(t)
– Escalamiento en amplitud
– Suma
– Multiplicación
– Diferenciación
– Integración

2. Operaciones sobre la variable independiente (t)


– Corrimiento en el tiempo
– Reflexión
– Escalamiento en el tiempo 34
35
36
Manipulación de señales continuas
1. Operaciones sobre la variable dependiente
1.1. Escalamiento en amplitud
𝑦 𝑡 = 𝑐𝑥(𝑡)

donde 𝑐 un escalar (factor de escalamiento)

1.2. Suma
𝑦 𝑡 = 𝑥1 𝑡 + 𝑥2 (𝑡)

1.3. Multiplicación
𝑦 𝑡 = 𝑥1 𝑡 𝑥2 (𝑡)
37
Manipulación de señales continuas
1. Operaciones sobre la variable dependiente
1.4. Diferenciación
𝑑
𝑦 𝑡 = 𝑥(𝑡)
𝑑𝑡

1.5. Integración
𝑡

𝑦 𝑡 = න 𝑥 𝜏 𝑑𝜏
−∞

donde 𝜏 es la variable de integración

38
Manipulación de señales continuas
2. Operaciones sobre la variable independiente
2.1. Corrimiento en el tiempo
𝑦 𝑡 = 𝑥(𝑡 − 𝑡0 )

donde 𝑡0 es el corrimiento en el tiempo (𝑡0 unidades)

𝒕𝟎 Desplazamiento de x(t)
Positivo (𝑡0 > 0) Hacia la derecha
Negativo (𝑡0 < 0) Hacia la izquierda

39
Manipulación de señales continuas
2. Operaciones sobre la variable independiente
2.2. Reflexión en el tiempo
𝑦 𝑡 = 𝑥(−𝑡)

Se produce una versión reflejada de 𝑥(𝑡) alrededor de 𝑡 = 0.

Observaciones:

• Una señal par es la misma que su versión reflejada

• Una señal impar es el negativo de su versión reflejada

40
Manipulación de señales continuas
2. Operaciones sobre la variable independiente
2.3. Escalamiento en el tiempo
𝑦 𝑡 = 𝑥(𝑎𝑡)

donde 𝑎 un escalar (factor de escalamiento)

Factor de escalamiento 𝒚(𝒕)


𝑎>1 versión comprimida de 𝑥(𝑡)
0<𝑎<1 versión expandida de 𝑥(𝑡)

41
Manipulación de señales continuas
Si se desea producir una señal como
𝒚(𝒕) = 𝒙(𝒂𝒕 − 𝒃)

La precedencia de las operaciones es:


1. Corrimiento en el tiempo (remplazo de 𝑡 por 𝑡 − 𝑏)
Resulta en una señal intermedia
𝑣(𝑡) = 𝑥(𝑡 − 𝑏)

2. Escalamiento en el tiempo (remplazo de 𝑡 por 𝑎𝑡)


Resulta en la señal deseada
𝑦(𝑡) = 𝑣(𝑎𝑡)
𝑦(𝑡) = 𝑥(𝑎𝑡 − 𝑏)
42
Manipulación de señales continuas
Dada la relación entre las señales
𝒚(𝒕) = 𝒙(𝒂𝒕 − 𝒃)

Se observa que debe satisfacerse

𝑦(0) = 𝑥(−𝑏)

𝑦(𝑎𝑏 ) = 𝑥(0)

lo cual resulta útil para probar la transformación.


43
44
45
46
#@title Manipulación de señales
t = sym.symbols('t')
tmin = -3
tmax = 3

#función a trozos
x = sym.Piecewise( (t+1, (t>-1) & (t<0)), (-t+1, (t>=0) & (t<1)), (0,
True)) #cond1, cond2, default
print("Función original")
display(x)
plot (x, (t, tmin, tmax), title='Original')

xa = x.subs(t,3*t)
xb = x.subs(t,3*t+2);
xc = x.subs(t,-2*t-1);
plot(x, xa, xb, xc, (t, tmin, tmax), legend = True, label = ['x(t)',
'x(3t)', 'x(3t+2)', 'x(-2t-1)'])

xd = x.subs(t,2*(t+2));
xe = x.subs(t,2*(t-2));
xf = xa+xb;
plot(x, xd, xe, xf, (t, tmin, tmax), legend = True, label = ['x(t)',
'x(2(t+2))', 'x(2(t-2))', 'x(3t)+x(3t+2)'])

47
48
Señales elementales
Bloques constructores básicos para generar señales más
complejas.

– Señales exponenciales
– Señales sinusoidales
– Señales exponenciales complejas
– Señales sinusoidales exponencialmente amortiguadas
– Función escalón
– Función impulso
– Función rampa
49
Señales elementales
Señales exponenciales
𝑥 𝑡 = 𝐵𝑒 𝑎𝑡 , 𝐵, 𝑎 ∈ ℝ
donde
B es la amplitud medida en 𝑡 = 0

𝑎 𝑥(𝑡)
<0 Decaimiento exponencial
>0 Crecimiento exponencial
=0 Señal de DC

50
#@title SEÑALES ELEMENTALES: Exponenciales
t = sym.symbols('t')
B = 0.5 #amplitud
a = -2 #exponente
x = B*sym.exp(a*t) #exponencial decae a<0, crece a>0

if a>0:
titulo = 'Onda Exponencial Creciente';
else:
titulo = 'Onda Exponencial Decreciente';

fig = plot(x, (t,-3,3), xlabel='Eje t', ylabel='Amplitud',


title=titulo)

51
Señales elementales
Señales sinusoidales
𝑥 𝑡 = 𝐴𝑐𝑜𝑠(𝜔𝑡 + ∅)
donde
A es la amplitud
𝜔 es la frecuencia angular [rad/s]
∅ es el ángulo de fase [rad]

– Son señales periódicas con periodo igual a


2𝜋
𝑇=
𝜔 52
#@title SEÑALES ELEMENTALES: Sinusoidales y MATPLOTLIB
A = 4 #amplitud
w0 = 2*sym.pi #frecuencia
phi = sym.pi/6 #fase
t = sym.symbols('t')

coseno = A*sym.cos(w0*t + phi); #función simbólica


lam_coseno = sym.lambdify(t, coseno, modules=['numpy']) #versión numérica para
evaluar con float

x_vals = np.linspace(float(phi), float(sym.pi+phi), 10000) #arreglo flotante de


posiciones a evaluar
y_vals = lam_coseno(x_vals)

plt.plot(x_vals, y_vals)
plt.xlabel('Eje t');
plt.ylabel('Amplitud');
plt.title('Onda Coseno');
plt.grid() #coloca malla de fondo

53
Señales elementales
Señales exponenciales complejas
Considerando una exponencial compleja de la forma

𝑥 𝑡 = 𝐴𝑒 𝑗(𝜔𝑡+∅) , 𝐴 ,𝜔 ∈ ℝ
Mediante la ID de Euler se tiene que
𝑥 𝑡 = 𝐴𝑐𝑜𝑠 𝜔𝑡 + ∅ + 𝑗 𝐴𝑠𝑒𝑛 𝜔𝑡 + ∅
Así, se obtienen una cosenoidal y una senoidal con la misma
𝜋
frecuencia de oscilación pero desfasadas por 𝑟𝑎𝑑, (seno y coseno
𝜋 2
están desfasados ) i.e.,
2

𝐴𝑐𝑜𝑠 𝜔𝑡 + ∅ = ℛℯ 𝐴𝑒 𝑗(𝜔𝑡+∅)
𝐴𝑠𝑖𝑛 𝜔𝑡 + ∅ = ℐ𝓂 𝐴𝑒 𝑗(𝜔𝑡+∅)
54
#@title SEÑALES ELEMENTALES: Exponenciales
complejas
t = sym.symbols('t')
A = 0.5 #amplitud
w = sym.pi #frecuencia
phi = 0 #fase
x = A*sym.exp(sym.I*(w*t+phi)) #I denota complejo

#gráfica en simbólico sin mostrar, DEBE TENER AL


MENOS DOS GRAFICAS (puede repetir la misma)
p1,p2 = plot((sym.re(x), (t,0,sym.pi)),
(sym.im(x), (t,0,sym.pi)), show=False)

#extrae los puntos x,y de las gráficas simbólicas


x1y1 = p1.get_points() # array of 2D
x2y2 = p2.get_points()

#usar matplotlib
fig=plt.figure(figsize = (6,7)) #pulgadas
fig.suptitle('Exponenciales complejas',
fontsize=15)
plt.subplot2grid((2,1), (0, 0));
plt.plot(x1y1[0], x1y1[1], '-r');
plt.title("Parte Real"); plt.grid()
plt.subplot2grid((2,1), (1, 0));
plt.plot(x2y2[0], x2y2[1], '-g');
plt.title("Parte Imaginaria"); plt.grid()
plt.show()

55
Señales elementales
Señales sinusoidales exponencialmente amortiguadas
Resultan de la multiplicación de una sinusoidal y una exponencial
decreciente evaluada en los reales

𝑥 𝑡 = 𝐴𝑒 −𝛼𝑡 𝑠𝑒𝑛 𝜔𝑡 + ∅ , 𝐴 , 𝛼 > 0, 𝜔 ∈ ℝ


Conforme se incrementa el tiempo 𝑡, la amplitud de las oscilaciones
sinusoidales decrece de forma exponencial, aproximándose a cero
para un tiempo infinito.

56
#@title Señal sinusoidal amortiguada
A = 60
w0 = 20*sym.pi
phi = 0
a = 6
t = sym.symbols('t')
expseno = A*sym.sin(w0*t + phi)*sym.exp(-a*t)

#note el uso de Latex en el título


plot(expseno, (t,0,1), xlabel='Eje t', ylabel='Amplitud', title=('Onda
amortiguada: $'+sym.latex(expseno)+'$'))

57
Señales elementales
Función escalón
La función escalón unitario o paso unitario, se define como

1 , 𝑡>0
𝑢 𝑡 =ቊ
0 , 𝑡<0

• Es discontinua en 𝑡 = 0, i.e., 𝑢(0) está indefinida.

• Permite revelar información acerca de la velocidad de respuesta de


un sistema a cambios abruptos en la entrada.

• Útil para construir otras señales discontinuas.

58
Señales elementales
Función impulso
El impulso unitario 𝛿(𝑡), aka función delta de Dirac, se define mediante

𝛿 𝑡 =0 , 𝑡≠0


න 𝛿 𝑡 𝑑𝑡 = 1
−∞

• Es cero en todo instante de tiempo excepto en el origen.

• Posee un área unitaria centrada alrededor del origen.

• No puede generarse físicamente pero brinda mucha información


acerca de las características del sistema.
59
Señales elementales
Relación entre el impulso y el escalón unitario

• 𝛿 𝑡 es la derivada del escalón unitario con respecto al


tiempo, i.e.,
𝑑
𝛿 𝑡 = 𝑢(𝑡)
𝑑𝑡

• 𝑢(𝑡) es la integral continua del impulso unitario con


respecto al tiempo, i.e.,
𝑡
𝑢 𝑡 = න 𝛿 𝜏 𝑑𝜏
−∞
60
Señales elementales
Propiedades del impulso unitario

• 𝛿 𝑡 es una función par del tiempo, i.e.,


𝛿 𝑡 = 𝛿 −𝑡

• Propiedad de corrimiento en el tiempo



න 𝑥 𝑡 𝛿 𝑡 − 𝑡0 𝑑𝑡 = 𝑥(𝑡0 )
−∞

• Propiedad de escalamiento en el tiempo


1
𝛿 𝑎𝑡 = 𝛿 𝑡 , 𝑎>0
𝑎 61
Señales elementales
Función rampa
Esta definida como
𝑡 , 𝑡≥0
𝑟 𝑡 =ቊ
0 , 𝑡<0

Así,

𝑟 𝑡 = 𝑡 𝑢(𝑡)

• Permite evaluar la respuesta de un sistema a una señal


que se incrementa linealmente con el tiempo.
62
#@title Escalón, impulso y rampa
t = sym.symbols('t')

#función escalón
escalon = sym.Heaviside(t)

#función delta de dirac


delta = sym.DiracDelta(t) #para cálculos
deltaK = sym.KroneckerDelta(0,t) #para graficar
deltaK_L= sym.lambdify(t, deltaK, modules=['numpy']) #para operar nuiméricamente

#función rampa
rampa = t*sym.Heaviside(t)

#gráfica en simbólico sin mostrar, DEBE TENER AL MENOS DOS GRAFICAS (puede repetir la misma)
p1,p2,p3 = plot(escalon, deltaK, rampa, show=False)

#extrae los puntos x,y de las gráficas simbólicas


x1y1 = p1.get_points()
x2y2 = p2.get_points()
x3y3 = p3.get_points()

#evaluar KroneckerDelta
result = []
for element in np.round(x2y2[0]): #redondeamos para garantizar la existencia de 0.00
result.append(deltaK_L(element))

#usar matplotlib
fig=plt.figure(figsize = (4,10))
fig.suptitle('Funciones básicas', fontsize=1)
plt.subplot2grid((3,4), (0, 0), colspan=4); plt.plot(x1y1[0], x1y1[1], '-r',
linewidth=3); plt.title("Función Escalón"); plt.grid()
plt.subplot2grid((3,4), (1, 0), rowspan=2); plt.plot(np.round(x2y2[0]), result, '-g',
linewidth=3); plt.title("Función Delta"); plt.grid()
plt.subplot2grid((3,4), (1, 1), colspan=3, rowspan=2); plt.plot(x3y3[0], x3y3[1], color=(0.2,
0.5, 0.8), linewidth=10); plt.title("Función Rampa"); plt.grid()
plt.show() 63
64
Sistemas como Interconexión de Operaciones

Sea 𝓗 el operador que denota la acción de todo el sistema.


Entonces, la aplicación de una señal 𝑥(𝑡) a la entrada del
sistema produce una señal de salida 𝑦(𝑡),

𝑦(𝑡) = ℋ{𝑥(𝑡)}

representada como

𝑥(𝑡) ℋ 𝑦(𝑡)

65
¿Qué hace el sistema?
¿Qué tipo de entradas tiene?
Si se introducen 2 naranjas ¿qué esperaría a la salida?
Si se introduce el número 3 ¿qué esperaría a la salida?

66
Propiedades de los sistemas
Describen las características del operador 𝓗 que
representa al sistema. Algunas de las más estudiadas son:

– Estabilidad
– Memoria
– Causalidad
– Inversibilidad
– Invarianza en el tiempo
– Linealidad

67
Estabilidad
1. Sistemas estables
Se dice que un sistema es estable con entradas acotadas, salidas
acotadas (BIBO estable) si y sólo si toda entrada acotada resulta
en una salida acotada. Un sistema inestable es indeseable pues
puede consumir energía infinita y comportamiento errático.

El operador ℋ es BIBO estable si se satisface que


𝑦(𝑡) ≤ 𝑀𝑦 < ∞ , ∀ 𝑡
siempre que se satisfaga que
𝑥(𝑡) ≤ 𝑀𝑥 < ∞ , ∀ 𝑡
donde 𝑀𝑥 y 𝑀𝑦 representan número positivos finitos.
Es más fácil encontrar un contraejemplo o colocar argumentos.
68
La función 2𝑥(𝑡)𝑢(𝑡) es

BIBO estable pues para cualquier entrada


𝑥 𝑡 ≤ 𝑀𝑥 < ∞ el sistema solo la multiplica por
2, con lo que
𝑦 𝑡 = 2𝑥 𝑡 ≤ 2𝑀𝑥 < ∞
Por lo que es ESTABLE

69
Memoria
2. Sistemas con memoria
Se dice que un sistema posee memoria si su señal de salida en
un tiempo dado depende de muestras pasadas (t-k) o futuras
de la señal de entrada (t+k).

Si para t=0 requieres conocer argumentos t>0 o t<0 tiene


memoria. No puede procesarse en tiempo real, solo fuera de
línea pues requieres valores futuros. Ejemplos de sistemas con
memoria (dependen del pasado o condición inicial).

Sistema Relación I/O


Inductor 1 𝑡
𝑖𝐿 𝑡 = න 𝑣𝐿 𝜏 𝑑𝜏
𝐿 −∞
Capacitor 1 𝑡
𝑣𝐶 𝑡 = න 𝑖𝐶 𝜏 𝑑𝜏
𝐶 −∞ 70
Memoria
2. Sistemas sin memoria
Se dice que un sistema es sin memoria si su salida para
cada valor de tiempo solamente depende del valor
presente (actual) de la señal de entrada.

Puede procesarse en tiempo real. Ejemplos de sistemas sin


memoria.

Sistema Relación I/O


Resistor 𝑖 𝑡 = 𝑣(𝑡)/𝑅
𝑣(𝑡) = 𝑅𝑖(𝑡)
Identidad 𝑦 𝑡 = 𝑥(𝑡)
71
La función 2𝑥(𝑡)𝑢(𝑡) es

Un sistema sin MEMORIA pues solo depende del


valor actual 𝑡.

Por lo que es SIN MEMORIA

72
Causalidad (causa – efecto)
3. Sistemas causales
Se dice que un sistema es causal si el valor presente de la
salida depende solo de los valores presente y pasados de
la entrada. Así, un sistema causal es no anticipativo.
Si para t=0 requieres conocer argumentos solo t<0 tiene
memoria. Puede procesarse en tiempo real almacenando
información. Ejemplos de sistemas causales.
Sistema Relación I/O
Inductor 1 𝑡
𝑖𝐿 𝑡 = න 𝑣𝐿 𝜏 𝑑𝜏
𝐿 −∞
Capacitor 1 𝑡
𝑣𝐶 𝑡 = න 𝑖𝐶 𝜏 𝑑𝜏
𝐶 −∞
73
Causalidad
3. Sistemas no causales
La salida de un sistema no causal depende de uno o más
valores futuros de la señal de entrada.

No puede procesarse en tiempo real, solo fuera de línea


pues requieres valores futuros. Ejemplo de un sistema no
causal.
𝑦 𝑡 = 𝑥(𝑡 + 1)
En t=0, 𝑦 0 = 𝑥(1) dependemos del argumento 1 que esta
en el futuro

¿El sistema 𝑦(𝑡) = 𝑥(𝑡)cos(𝑡 + 1) es causal?


74
Causalidad
• Todos los sistemas sin memoria son causales.

• La propiedad de causalidad se requiere para que un


sistema sea capaz de operar en tiempo real.

• Los sistemas causales no son los únicos de interés, e.g.


– Procesamiento de imágenes
– Procesamiento de señales previamente adquiridas (fuera de
línea, se almacenan y procesan)

75
La función 2𝑥(𝑡)𝑢(𝑡) es

Un sistema CAUSAL pues todos los sistemas SIN


MEMORIA SON CAUSALES. Que se traduce en
que un sistema CAUSAL NO depende de valores
futuros.

Por lo que es CAUSAL

76
Inversibilidad
4. Sistemas invertibles
Se dice que un sistema es invertible si la entrada del
sistema puede ser recuperada de la salida.
Así, existe un sistema inverso que cuando se
conecta en cascada con el sistema original, produce
una salida igual a la entrada del primer sistema.

𝑦(𝑡)
𝑥(𝑡) ℋ ℋ 𝑖𝑛𝑣 𝑥(𝑡)

77
Inversibilidad
4. Sistemas invertibles
Sea ℋ el operador de un sistema con salida 𝑦(𝑡) y entrada
𝑥(𝑡). Si la salida 𝑦(𝑡) se aplica a un sistema denotado por
ℋ 𝑖𝑛𝑣 , se obtiene una salida dada por

ℋ 𝑖𝑛𝑣 𝑦(𝑡) = ℋ 𝑖𝑛𝑣 ℋ 𝑥(𝑡) = ℋ 𝑖𝑛𝑣 ℋ 𝑥(𝑡)

Así, para que el sistema denotado por 𝓗𝒊𝒏𝒗 sea el sistema


inverso del sistema denotado por 𝓗 se requiere que

𝓗𝒊𝒏𝒗 𝓗 = 𝑰
78
La función 2𝑥(𝑡)𝑢(𝑡) es

INVERTIBLE por el operador de DIVIDIR ENTRE 2.


Pudiendo conocer que entrada origino que
salida.

Por lo que es INVERTIBLE

79
• El valor y(t) = 9 puede ser producido por
x(t)=+3, o bien, x(t)=-3, como no sabemos de
donde proviene o se origina, entonces no es
invertible.

80
Invarianza en el tiempo
5. Sistemas invariantes en el tiempo
Un sistema es invariante en el tiempo si cualquier adelanto (o
retraso) en la señal de entrada produce un adelanto (o retraso)
idéntico en la señal de salida. En caso contrario, se habla de un
sistema variante en el tiempo.
Es importante por que nos conduce a que el procesamiento de
una señal va a comportarse IGUAL independientemente del
tiempo en que lo apliquemos
Si
𝑥 𝑡 → ℋ → 𝑦(𝑡)
entonces, si el sistema 𝓗 es invariante en el tiempo

𝑥 𝑡 − 𝑡0 → ℋ → 𝑦(𝑡 − 𝑡0 )
81
Invarianza en el tiempo

• La invarianza en el tiempo implica que el sistema


responde de la misma manera sin importar cuando se
aplique la entrada.

• En otras palabras, las características de un sistema


invariante en el tiempo no cambian con el tiempo.

82
La función 2𝑥(𝑡)𝑢(𝑡) es

VARIANTE en el tiempo
Si retrasamos el tiempo t → 𝑡 − 𝑡0 obtenemos:
2𝑥(𝑡 − 𝑡0 )𝑢(𝑡 − 𝑡0 )

Si retrasamos la entrada x t → x(𝑡 − 𝑡0 ) obtenemos:


2𝑥(𝑡 − 𝑡0 )𝑢(𝑡)

Como son diferentes es VARIANTE en el tiempo (o NO


INVARIANTE en el tiempo)
83
84
85
Invarianza en el tiempo
5. Sistemas invariantes en el tiempo
Un sistema es invariante en el tiempo si los operadores
sistema (𝓗) y desplazamiento en el tiempo (𝑺𝒕𝟎 ) son
conmutativos para todo 𝑡0 , i. e. ,

ℋ𝑆 𝑡0 = 𝑆 𝑡0 ℋ

𝑦1 (𝑡)
𝑥1 (𝑡) ℋ 𝑡
𝑆0 𝑦1 (𝑡 − 𝑡0 )

=
𝑥2 𝑡 = 𝑥1 (𝑡 − 𝑡0 )
𝑥1 (𝑡) 𝑡
𝑆0 𝑦2 (𝑡)
ℋ 86
Linealidad
6. Sistemas lineales
Un sistema es lineal en términos de la I/O si satisfice

1) Principio de superposición

2) Principio de homogeneidad

Cuando el sistema viola alguno de estos principios se dice


que es un sistema no lineal.

87
Linealidad
6. Sistemas lineales
1) Principio de superposición

Si
𝑥1 𝑡 → ℋ → 𝑦1 (𝑡)
𝑥2 𝑡 → ℋ → 𝑦2 (𝑡)
entonces
𝑥1 𝑡 + 𝑥2 𝑡 → ℋ → 𝑦1 𝑡 + 𝑦2 (𝑡)

88
Linealidad
6. Sistemas lineales
2) Principio de homogeneidad

Si
𝑥 𝑡 → ℋ → 𝑦(𝑡)
entonces
𝑎𝑥 𝑡 → ℋ → 𝑎𝑦 𝑡

89
Linealidad
6. Sistemas lineales
Generalizando las ideas anteriores, si consideramos un
sistema ℋ cuya entrada esta dada por
𝑁
𝑥 𝑡 =෍ 𝑎𝑖 𝑥𝑖 (𝑡)
𝑖=1

su salida corresponde a
𝑁
𝑦 𝑡 =ℋ ෍ 𝑎𝑖 𝑥𝑖 (𝑡)
𝑖=1

Si el sistema es lineal, la salida puede expresarse como


𝑁
𝑦 𝑡 =෍ 𝑎𝑖 𝑦𝑖 (𝑡)
𝑖=1
90
Linealidad
6. Sistemas lineales
Para que el sistema denotado por ℋ sea lineal se requiere
que el operador sistema conmute con la sumatoria y el
escalamiento en amplitud, i.e.,
𝑁
𝑦 𝑡 =ℋ ෍ 𝑎𝑖 𝑥𝑖 (𝑡)
𝑖=1
𝑁
𝑦 𝑡 =෍ 𝑎𝑖 ℋ 𝑥𝑖 (𝑡)
𝑖=1
𝑁
𝑦 𝑡 =෍ 𝑎𝑖 𝑦𝑖 (𝑡)
𝑖=1
91
• Cumple
H αx + βy = αH x + βH(y)
H αx1 + β𝑥2 = αH x1 + βH(x2 )

92
Linealidad
6. Sistemas lineales
El operador ℋ es lineal si ambas configuraciones producen
la misma salida 𝒚(𝒕)

93
La función 2𝑥(𝑡)𝑢(𝑡) es

Un sistema LINEAL debe cumplir que


𝐻 𝑎𝑥1 𝑡 + 𝑏𝑥2 𝑡 = 𝑎𝐻 𝑥1 𝑡 + 𝑏𝐻 𝑥2 𝑡
Con 𝑥 𝑡 = 𝑎𝑥1 𝑡 + 𝑏𝑥2 𝑡 , debemos poder llegar a
la equivalencia del lado derecho
2 𝑎𝑥1 𝑡 + 𝑏𝑥2 𝑡 𝑢 𝑡 = 𝑎2𝑥1 𝑡 𝑢 𝑡 + 𝑏2𝑥2 𝑡 𝑢(𝑡)

Como son iguales es LINEAL

94
#@title PROPIEDADES DE LOS SISTEMAS

# Memoryless: solo depende del valor actual, es función solo de t


# Causal: solo depende de presente y pasado, es función solo de t y/o t-k con k
positivo

# Stable: entrada finita, salida finita (probar entrada, encontrar contradicción)


print("Probando Estabilidad")
t = sym.symbols('t')
x = sym.symbols('5') #entrada finita
y = sym.integrate(x,(x,-sym.oo,t/2)) #1.64d
#print(y)
if y.is_finite: print(" Es estable")
else: print(" No es estable")

# linear: cumple H(ax+by) = aH(x) + bH(y)


print('\n\nProbando Linealidad')
t,x,y,a,b,ent = sym.symbols('t,x,y,a,b,ent')
sal = sym.cos(ent); #sistema
#sal = 3*ent; #sistema
#H(ax*by) - aH(x)+bH(y) = 0
diferencia = sym.simplify(sal.subs(ent,a*x+b*y) - (a*sal.subs(ent,x) +
b*sal.subs(ent,y)))
display(sal)
if diferencia ==0: print(' Es Lineal')
95
else: print(' No es lineal')
# Time invariant: x(t)->H->y(t) entonces x(t-t0) -> H -> y(t-t0)
print('\n\nProbando Invariante en el Tiempo')
t0 = sym.symbols('t0')
x = sym.Function('x')(t)
y = sym.cos(x) #sistema cos(x(t))
#y = x.subs(t,2-t) #sistema x(t-2)

yr = y.subs(t,t-t0) #versión retrasada de y: y(t-t0)


yt0= y.subs(x,x.subs(t,t-t0)) #salida con entrada retrasada: y->x(t-t0)
diferencia = (yr - yt0)

display(y)
if diferencia ==0: print(' Es invariante')
else: print(' No es invariante')

96
Discusión
• De las propiedades:
– Estabilidad
– Memoria
– Causalidad
– Inversibilidad
– Invarianza en el tiempo
– Linealidad
• Los siguientes sistemas cuales presentan:
– Administración de medicamentos
– Ritmo Cardiaco controlado por el cerebro

97
Memoria
Sin Memoria: la salida (y) solo existe al mismo
tiempo que la entrada (x)

98
Causalidad (no Anticipativo)
Causal: la salida solo depende del presente y del
pasado, pero en la salida y en t=0 ya posee
salida aún cuando la entrada comienza hasta
t=1, y(0)=H(x(1)) (se anticipa a la entrada)

99
Invariante en el
tiempo

• Si existe un retraso en la
entrada la salida conserva
su forma solo se retrasa lo
mismo que la entrada

• Si es Invariante: da la
posibilidad de conocer
salidas para cualquier t
(misma versión retrasada)
100
Lineal
• Si el sistema es lineal entra
combinación de entradas
conocidas 𝑎𝑥1 + 𝑏𝑥2 debe
resultar en la misma
combinación de sus salidas
𝑎𝑦1 + 𝑏𝑦2

• Si es lineal: Da la posibilidad
de conocer salidas para una
combinación de entradas
101
Lineal e invariante
(LTI: linear time
invariant)
Si sabemos que es LTI
podemos conocer salidas
desfasadas en tiempo,
escaladas y sumadas de
versiones de entradas
conocidas.

102

También podría gustarte