Sei sulla pagina 1di 10

UNIVERSIDAD DE SAN BUENAVENTURA

FACULTAD DE INGENIERIA
AREA DE CIENCIAS BASICAS
ANALISIS DE SEÑALES
LABORATORIO No. 1
VARIABLE COMPLEJA Y TRANSFORMACION DE SEÑALES
 

1. Objetivo
Afianzar los conceptos estudiados en clase sobre variable compleja y transformación de señales
mediante el uso de Maple.
 

2. Ayudas Maple
Para obtener ayuda sobre cualquier comando de Maple teclee después del prompt el símbolo ?
seguido del nombre del comando del cual desea conocer mayor información sobre su función y
sintaxis y oprima Enter.
> ?nombre_comando [Enter]

Tambien puede obtener ayuda oprimiendo simultáneamente las teclas Ctrl+F1 y escribiendo el
nombre del comando a estudiar en el campo Search for:

Para tener una mejor idea sobre el funcionamiento y sintaxis de un comando, estudie los ejemplos
del comando proporcionados por el Help.

Algunos comandos de Maple utilizados en este laboratorio son:

evalc(expr) evalúa la expr compleja separándola en sus partes real e imaginaria.


assume(x1, prop1, x2, prop2, ...) establece propiedades de las variables y
relaciones entre variables, por ejemplo, assume(t, real) establece que t sea una variable
real.
subs(x=a,expr) este comando substitutye a por x en la expresión expr.
arrow dibuja una flecha.
conjugate halla el conjugado de un número complejo.
argument halla el valor principal del argumento de un número complejo.
Re halla la parte real de un número complejo.
Im halla la parte imaginaria de un número complejo.
solve resuelve una ecuación o inecuación para sus incógnitas.
map(fcn,expr) esta familia de comandos aplica fcn a los operandos o elementos de
expr.
expand distribuye productos sobre sumas.
sort ordena ascendentemente los elementos de una lista.
display puede mostrar varias figuras en un solo gráfico.
piecewise permite construir funciones a trozos.
 

3. Repaso de Conceptos
Para realizar este laboratorio debe repasar los siguientes conceptos:

Aritmética de los números complejos


Fórmula de De Moivre
Integral de contorno
Fórmula Integral de Cauchy
Transformaciones de la variable independiente:
1. Corrimiento en el tiempo
2. Inversión en el tiempo
3. Escalamiento en el tiempo

4. Problemas con Solución


4.1 Problemas guiados

4.1.1 Suma y resta de números complejos

Dados z1 = 3 C 7 i y z2 = 5K 6 i. Hallar (a) z1 C z2 y (b) z1 K z2. Solución:

> z:='z':
> Z1 := 3 + 7*I:
> Z2 := 5 - 6*I:
> z[1] = Z1;
> z[2] = Z2;
> z[1] + z[2] = Z1 + Z2;
> z[1] - z[2] = Z1 - Z2;
> `Dibujamos los números complejos. La SUMA es el vector ROJO`;
> with(plottools):
> l1 := arrow([0,0], [5,3], .2, .5, .1, color=green):
> l2 := arrow([0,0], [1,-6], .2, .5, .1, color=blue):
> l3 := arrow([0,0], [8,1],.2,.5,.1,color=red):
> plots[display](l1,l2,l3, axes=normal,view=[-2.5..9,-7..4]);
> `Dibujamos los números complejos. La RESTA es el vector AMARILLO`;
> l1 := arrow([0,0], [5,3], .2, .5, .1, color=green):
> l2 := arrow([0,0], [1,-6], .2, .5, .1, color=blue):
> l3 := arrow([0,0], [-2,13],.2,.5,.1,color=YELLOW):
> plots[display](l1,l2,l3, axes=normal,view=[-2.5..6,-7..14]);
4.1.2. Multiplicación y división de números complejos

1 1 1 1
Dados z1 = C i y z2 = C i. Hallar (a) z1 , z2 y (b) z1 /z2.
4 2 2 3
Solución:
> z:='z':
> Z1 := 1/4 + 1/2*I:
> Z2 := 1/2 + 1/3*I:
> z[1] = Z1;
> z[2] = Z2;
> z[1]*z[2] = Z1*Z2;
> z[1]/z[2] = Z1/Z2;
> `Dibujamos los números complejos. El PRODUCTO es el vector ROJO`;
> with(plottools):
> l1 := arrow([0,0], [1/4,1/2], .01, .03, .1, color=green):
> l2 := arrow([0,0], [1/2,1/3], .01, .03, .1, color=green):
> l3 := arrow([0,0], [-1/24,1/3],.01,.03,.1,color=red):
> plots[display](l1,l2,l3, axes=normal,view=[-0.6..0.6,-
0.6..0.6],scaling=constrained);
> `Dibujamos los números complejos. El COCIENTE es el vector ROJO`;
> l1 := arrow([0,0], [1/4,1/2], .01, .03, .1, color=blue):
> l2 := arrow([0,0], [1/2,1/3], .01, .03, .1, color=blue):
> l3 := arrow([0,0], [21/26,6/13],.01,.03,.1,color=red):
> plots[display](l1,l2,l3, axes=normal,view=[-0.85..0.85,-
0.85..0.85],scaling=constrained);

4.1.3. Partes real e imaginaria y conjugado de números complejos

Dados z1 = K 3 C 7 i y z2 = 9 C 4 i. Hallar (a) Re ( z1 ) y (b) Re ( z2 ) . Solución:

> z:='z':
> Z1 := -3 + 7*I: z[1] = Z1;
> Re(z[1]) = Re(Z1);
> z[1] = Z1;
> Z2 := 9 + 4*I: z[2] = Z2;
> Re(z[2]) = Re(Z2);

Dados z1 = K 3 C 7 i y z2 = 9 C 4 i. Hallar (a) Im ( z1 ) y (b) Im ( z2 ) .

Solución:

> z:='z':
> Z1 := -3 + 7*I: z[1] = Z1;
> `Im(z1) ` = Im(Z1);
> Z2 := 9 + 4*I: z[2] = Z2;
> `Im(z2) ` = Im(Z2);
Dados z1 = K 3 C 7 i y z2 = 9 C 4 i. Hallar (a) (b) .

Solución:

> z:='z':
> Z1 := -3 + 7*I: z[1] = Z1;
> conjugate(z[1]) = conjugate(Z1);
> `Dibujamos los números complejos CONJUGADOS.`;
> with(plottools):
> l1 := arrow([0,0], [-3,7], .1, .3, .1, color=green):
> l2 := arrow([0,0], [-3,-7], .1, .3, .1, color=blue):
> plots[display](l1,l2, axes=normal,view=[-5..1,-8..8]);
> Z2 := 9 + 4*I: z[2] = Z2;
> conjugate(z2) = conjugate(Z2);
> `Dibujamos los números complejos CONJUGADOS.`;
> with(plottools):
> l1 := arrow([0,0], [9,4], .1, .3, .1, color=green):
> l2 := arrow([0,0], [9,-4], .1, .3, .1, color=blue):
> plots[display](l1,l2, axes=normal,view=[-2..10,-5..5]);

4.1.4. Potencias y raíces de números complejos

3
Mostrar que ( K 3 K i) = 8 de dos maneras.
Solución:

> z := - sqrt(3) - I: `z ` = z;
> `En coordenadas Cartesianas z^3 es`;
> w1 := z^3: `w1 ` = w1;
> w1 := evalc(z^3): `w1 ` = w1;
> r := abs(z):
> t := argument(z):
> `r ` = r, theta = t;
> `En coordenadas polares z^3 es`;
> w2 := r^3*exp(I*3*t): `w2 ` = w2;

Hallar todas las raíces de la ecuación: z8 = 1.


Solución:

> z:='z':
> `Hallamos las soluciones de: z^8 = 1 mediante`;
> solset := {solve(z^8 = 1, z)}:
> `Soluciones ` = solset;
> pts := map(w->[Re(w),Im(w)], solset);
> plot(pts, style=point, symbol=circle, scaling=constrained, color=red,
labels=[` x`,`y `], view=[-1.1..1.1,-1.1..1.1] );

4.1.5. Fórmula de De Moivre


Use la fórmula de De Moivre para mostrar que:
cos ( 5 q ) = cos ( q ) 5 K 10 cos ( q ) 3 sin( q ) 2 C 5 cos ( q ) sin( q ) 4.
Solución:

> t:='t';
> z1 := cos(5*t) + I*sin(5*t);
> z2 := (cos(t) + I*sin(t))^5;
> z2 := evalc(z2);
> u1 := Re(z1);
> u2 := Re(z2);
> assume(t, real);
> `Igualemos las partes reales de z1 y z2, es decir, Re(z1) = Re(z2)`;
> subs(t='t',u1) = subs(t='t',u2);

4.2. Integración Compleja


4.2.1. Integral de Contorno

8C6i

Evaluar la integral definida ⎮ 1
dz = 1 C .
⎮ 2 z
⌡4
Solución:

> f:='f': F:='F': g:='g': z:='z':


> f := z -> 1/(2*z^(1/2)):
> a := 4:
> b := 8+6*I:
> g := z -> subs(Z=z,int(f(Z),Z)):
> `f(z) ` = f(z);
> `a ` = a, ` b ` = b;
> `g(z) = `, Int(f(z), z) = g(z);
> `g(b) ` = expand(g(b)),` and `,`g(a) ` = expand(g(a));
> `g(b) - g(a) ` = g(b) - g(a);
> `g(b) - g(a) ` = evalc(g(b) - g(a));
> `g(b) - g(a) ` = simplify(g(b) - g(a),power);
> Int(f(z), z=a..b) = int(f(z), z=a..b);

4.2.1. Fórmula de Cauchy para un polo simple


Muestre que:


⎮ sin( z) dz = K i 2 p ,
⎮ 4 zC p 4
⌡C

donde C es el círculo C: |z| = 1 con orientación positiva.

Solución:

> f :='f'; F:='F'; z:='z'; Z:='Z'; Zn:='Zn';


> w := sin(z)/(4*z + Pi);
> print(`Calcular`,Int(w ,z=C..``));
> Zn := sort([solve(denom(w)=0, z)]);
> `Hay singularidad en`, z[0] = Zn[1];
> `La singularidad en`, z[0] = evalf(Zn[1]);
> f := Z -> subs(z=Z, simplify(w*(z - Zn[1])));
> `Se toma f(z) ` = f(z);
La integral de f( z) tomada sobre C es :
> `f(z)` = f(z);
> `f(z0) ` = f(Zn[1]);
> `f(z0) ` = evalc(f(Zn[1]));
> val := 2*Pi*I*f(Zn[1]);
> Int(w ,z=C..``) = `2 Pi I f(z0)`;
> Int(w ,z=C..``) = val;

4.2.3. Fórmula de Cauchy para varios polos simples




⎮ e(i p z ) 2p
Muestre que dz = , donde C es el círculo C: |z| = 1 con
⎮ 2 z2 K 5 z C 2 3

⌡C
orientación positiva.

Solución:

1
Hallamos que z0 = es la única singularidad que queda dentro de C.
2

> f :='f': F:='F': z:='z': Z:='Z': Zn:='Zn':


> w := exp(I*Pi*z)/(2*z^2 - 5*z + 2);
> print(`Hallemos`,Int(w ,z=C..``));
> Zn := sort([solve(denom(w)=0, z)]);
> `Las singularidades están en: ` = Zn;
> `La singularidad dentro de C es`, z[0] = Zn[1];
> f := Z -> subs(z=Z, simplify(w*(z - Zn[1])));
> `Se toma f(z) ` = f(z);
La integral de f( z) tomada sobre C es :
> `f(z)` = f(z);
> `f(z0) ` = f(Zn[1]);
> `f(z0) ` = evalc(f(Zn[1]));
> val := 2*Pi*I*f(Zn[1]);
> Int(w ,z=C..``) = `2 Pi I f(z0)`;
> Int(w ,z=C..``) = val;
4.3. Transformación de Señales
4.3.1. Corrimiento en el tiempo

Dibujar la señal paso unitario y realizar un corrimiento en el tiempo tres unidades hacia el futuro y
cuatro unidades hacia el pasado.

Solución:

> with(plots):
> u:=Heaviside:
> pasou:=t->u(t);
> plot( pasou(t) ,t=-8..20, -2.5..4.5, thickness=2, scaling = constrained,
tickmarks=[10,4], color = green);
> plot( pasou(t-3) ,t=-4..15, -2.5..4.5, thickness=2, scaling = constrained,
tickmarks=[14,4], color = red);
> plot( pasou(t+4) ,t=-8..15, -2.5..4.5, thickness=2, scaling = constrained,
tickmarks=[14,4], color = blue);

p p
Dibujar la señal 2 sen ( t ) y realizar un corrimiento en el tiempo hacia el futuro y
3 4
hacia el pasado. Dibujar las tres señales en la misma gráfica.
Solución:

> with(plots):
> a := plot( 2*sin(t) ,t=-8..10, -2.5..4.5, thickness=2, scaling = constrained,
tickmarks=[18,4], color = green, legend="2sen(t)"):
> b := plot( 2*sin(t-Pi/3) ,t=-8..10, -2.5..4.5, thickness=2, scaling =
constrained, tickmarks=[18,4], color = red, legend="2sen(t-Pi/3)"):
> c := plot( 2*sin(t+Pi/4) ,t=-8..10, -2.5..4.5, thickness=2, scaling =
constrained, tickmarks=[18,4], color = blue, legend="2sen(t+Pi/4)"):
> display( [a,b,c], view=[-6.5..6.5, -2.5..2.5],tickmarks=[16,4]);

4.3.2. Inversión en el tiempo

Dibujar una señal pulso cuadrado de ancho 2 unidades y centrado en t = 4 y luego realizar inversión
en el tiempo de dicho pulso.

Solución:

> with(plots):
> u:=Heaviside:
> rect:=t->(2*u(t-3)-2*u(t-5)):
> plot( rect(t) ,t=-8..8, -3.5..3.5, thickness=2, scaling = constrained,
tickmarks=[10,4], color = green);
> plot( rect(-t) ,t=-8..8, -3.5..3.5, thickness=2, scaling = constrained,
tickmarks=[10,4], color = red);
p
Dibujar la señal sen ( t ) en el intervalo [ , 2p ] y luego realizar inversión en el tiempo de
2
esa señal. Dibujar las dos señales en la misma gráfica.

Solución:
> with(plots):
> u:=Heaviside:
> spu:=t->sin(t)*(u(t-2*Pi)-u(t-Pi/2)):
> a:=plot( spu(t) ,t=-8..8, -1.5..1.5, thickness=2, scaling = unconstrained,
tickmarks=[18,4], color = green, legend="Señal Original"):
> b:=plot( spu(-t) ,t=-8..8, -1.5..1.5, thickness=2, scaling = unconstrained,
tickmarks=[18,4], color = red, legend="Invertida en el tiempo"):
> display( [a,b], view=[-9.5..9.5, -1.5..1.5],tickmarks=[16,4]);

4.3.3. Escalamiento en el tiempo

Dibujar una señal pulso cuadrado de ancho 2 unidades y centrado en t = 4 y luego escalizarlo en el
1
tiempo por 2 y , respectivamente.
2

Solución:
> with(plots):
> u:=Heaviside:
> rect:=t->(2*u(t-3)-2*u(t-5)):
> plot( rect(t) ,t=-2.5..12.5, -3.5..3.5, thickness=2, scaling =
constrained, tickmarks=[10,4], color = green);
> plot( rect(2*t) ,t=-2.5..12.5, -3.5..3.5, thickness=2, scaling =
constrained, tickmarks=[12,4], color = red);
> plot( rect(t/2) ,t=-2.5..12.5, -3.5..3.5, thickness=2, scaling =
constrained, tickmarks=[12,4], color = blue);

Dibujar la señal sen ( t ) en el intervalo [ K 4p, 4p ] y luego realizar escalización en el

1
tiempo de esa señal por y 2, respectivamente. Dibujar las tres señales en la misma gráfica. Para
4
observar mejor la gráfica "estire" la que produce el comando display.

Solución:
> with(plots):
> a:=plot( sin(t) ,t=-12.8..12.8, -1.5..1.5, thickness=2, scaling =
unconstrained, tickmarks=[32,4], color = green, legend="Señal Original"):
> b:=plot( sin(t/4) ,t=-12.8..12.8, -1.5..1.5, thickness=2, scaling =
unconstrained, tickmarks=[32,4], color = red, legend="Escalada por 1/4"):
> c:=plot( sin(2*t) ,t=-12.8..12.8, -1.5..1.5, thickness=2, scaling =
unconstrained, tickmarks=[18,4], color = blue, legend="Escalada por 2"):
> display( [a,b,c], view=[-15.5..15.5, -1.5..1.5],tickmarks=[32,4]);
4.3.4. Combinación de las tres operaciones

Dibujar la señal:

⎧⎪ 0 t ! K1

⎪ K2 K1 ! t y t ! 0

tr(t) = ⎨ 3 0!t y t!1 .

⎪ 1 1!t y t!3
⎪⎪
⎩ 0 3!t
3
Desplácela 7 unidades hacia el futuro, inviértala en el tiempo y escalela por el factor . Solución:
5

> with(plots):
> tr:=t->piecewise(t<-1, 0, t>-1 and t<0, -2, t>0 and t<1, 3, t>1 and t<3, 1,
t>3, 0):
> a2 := plot( tr(t) ,t=-8..16, -2.5..4.5, thickness=3, scaling = constrained,
tickmarks=[18,4], color = blue, legend="Señal Original"):
> b2 := plot( tr(-(3*t/5)+7) ,t=-8..16, -2.5..4.5, thickness=2, scaling =
constrained, tickmarks=[18,4], color = red, legend="Señal Tansformada"):
> display( [a2,b2], view=[-5.5..17.5, -5..5],tickmarks=[16,4]);

5. Ejercicios
1. Hallar la suma, resta, multiplicación y división de los números complejos:

z1 = 1 C 2i y z2 = 1 C 0.8i. Dibuje cada uno de los resultados.

2. Hallar todas las raíces cúbicas de 8 , es decir, halle todas las raíces cúbicas de la ecuación

z3 = 8 . Dibújelas.
3. Hallar mediante la fórmula de De Moivre una expresión para cos ( 4q ) .


⎮ ez
4. Mostrar que ⎮ z K 1 dz = 2pie , donde C es el círculo C: |z| = 2 con orientación

⌡C
positiva.

5. Dibujar la señal:
⎧⎪ 0 t ! K2

⎪ 2 K2 ! t y t ! 0

usb(t) = ⎨ K1 0!t y t!1 .

⎪ 4 1!t y t!2
⎪⎪
⎩ 0 2!t
1
Desplácela 3 unidades hacia el pasado, inviértala en el tiempo y escálela por el factor .
3