Informe 01

21
Diego Rosado Málaga PRÁCTICA 01 ACTIVIDADES 1. Genere y visualice en Matlab las siguientes secuencias impulso unitario en los intervalos temporales que se especifican: X 1 [ n ]=−2 δ [ n] 10 ≤n≤ 15 n=-10:15; x=zeros(size(n)); x(0--10+1)=-2; stem(n,x) -10 -5 0 5 10 15 -2 -1.8 -1.6 -1.4 -1.2 -1 -0.8 -0.6 -0.4 -0.2 0 X 2 [ n ]=3 δ [ n50 ]+ 5 δ[ n70 ] 40 ≤n≤ 80 n=40:80; x=zeros(size(n)); x(50-40+1)=3; x(70-40+1)=5; stem(n,x)

Transcript of Informe 01

Page 1: Informe 01

Diego Rosado Málaga

PRÁCTICA 01

ACTIVIDADES

1. Genere y visualice en Matlab las siguientes secuencias impulso unitario en los intervalos temporales que se especifican:

X 1 [n ]=−2δ [n ]−10≤n≤15

n=-10:15;x=zeros(size(n));x(0--10+1)=-2;stem(n,x)

-10 -5 0 5 10 15-2

-1.8

-1.6

-1.4

-1.2

-1

-0.8

-0.6

-0.4

-0.2

0

X 2 [n ]=3δ [n−50 ]+5δ [n−70]40≤n≤80

n=40:80;x=zeros(size(n));x(50-40+1)=3;x(70-40+1)=5;stem(n,x)

40 45 50 55 60 65 70 75 800

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

Page 2: Informe 01

Diego Rosado Málaga

X 3 [n ]=−1.5δ [n+50 ]−50≤n≤0

n=-50:0;x=zeros(size(n));x(-50--50+1)=-1.5;stem(n,x)

-50 -45 -40 -35 -30 -25 -20 -15 -10 -5 0-1.5

-1

-0.5

0

2. Genere (usando la función zeros y el operador “:”) y visualice el tren periódico de impulsos:

X [n ]=∑k→∞

δ [n−4k ]−20≤n≤20

n=-20:20;x=zeros(size(n));i=[-20 -16 -12 -8 -4 0 4 8 12 16 20];x(i--20+1)=1;stem(n,x)

-20 -15 -10 -5 0 5 10 15 200

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

3. Genere y visualice las siguientes secuencias:

u1 [n ]=−3u [n ]−15≤n≤15

Page 3: Informe 01

Diego Rosado Málaga

n=-15:15;x=zeros(size(n));i=find(n>=0)x(i)=-3;stem(n,x)

-15 -10 -5 0 5 10 15-3

-2.5

-2

-1.5

-1

-0.5

0

u2 [n ]=3u [n−45 ]+4u [n−60]40≤n≤80

n=40:80;x1=zeros(size(n));i=find(n>=45);x1(i)=3;x2=zeros(size(n));i1=find(n>=60);x2(i1)=4;x=x1+x2;stem(n,x)

40 45 50 55 60 65 70 75 800

1

2

3

4

5

6

7

u3 [n ]=−0.5u [n+50 ]−100≤n≤0

n=-100:0;x=zeros(size(n));i=find(n>=-50);x(i)=-0.5;

Page 4: Informe 01

Diego Rosado Málaga

stem(n,x)

-100 -90 -80 -70 -60 -50 -40 -30 -20 -10 0-0.5

-0.45

-0.4

-0.35

-0.3

-0.25

-0.2

-0.15

-0.1

-0.05

0

4. Genere y visualice en el intervalo de tiempos −30¿ n¿ 23, exponenciales reales considerando α = ±0.25;±0.5;±1.5;±1;±2.5

Para 0.25

n=-30:23;x=(0.25.^n)stem(n,x)

-30 -20 -10 0 10 20 300

2

4

6

8

10

12x 10

17

Para -0.25

n=-30:23;x=(-0.25.^n)stem(n,x)

Page 5: Informe 01

Diego Rosado Málaga

-30 -20 -10 0 10 20 30-12

-10

-8

-6

-4

-2

0x 10

17

Para 0.5

-30 -20 -10 0 10 20 300

2

4

6

8

10

12x 10

8

Para -0.5

-30 -20 -10 0 10 20 30-12

-10

-8

-6

-4

-2

0x 10

8

Para 1.5

Page 6: Informe 01

Diego Rosado Málaga

-30 -20 -10 0 10 20 300

2000

4000

6000

8000

10000

12000

Para -1.5

-30 -20 -10 0 10 20 30-12000

-10000

-8000

-6000

-4000

-2000

0

Para 1

-30 -20 -10 0 10 20 300

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Para -1

Page 7: Informe 01

Diego Rosado Málaga

-30 -20 -10 0 10 20 30-1

-0.9

-0.8

-0.7

-0.6

-0.5

-0.4

-0.3

-0.2

-0.1

0

Para 2.5

-30 -20 -10 0 10 20 300

5

10

15x 10

8

Para -2.5

-30 -20 -10 0 10 20 30-15

-10

-5

0x 10

8

5. Genere y visualice las siguientes secuencias sinusoidales:

d 1 [n ]=5 sen [ πn/4 ]−20≤n≤20

Page 8: Informe 01

Diego Rosado Málaga

n=-20:20;x=5*sin(pi.*n./4);stem(n,x)

-20 -15 -10 -5 0 5 10 15 20-5

-4

-3

-2

-1

0

1

2

3

4

5

d 2 [n ]=2.5 sin( πn10+ π

4 )−50≤n≤50

n=-50:50;x=2.5*sin(pi.*n./10+pi/4);stem(n,x)

-50 -40 -30 -20 -10 0 10 20 30 40 50-2.5

-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

2.5

d 3 [n ]=2 cos( nπ5 )0≤n≤50

Page 9: Informe 01

Diego Rosado Málaga

n=0:50;x=2*cos(pi.*n./5);stem(n,x)

0 5 10 15 20 25 30 35 40 45 50-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

6. Empleando el editor xedit, programe una función para Matlab, gencos.m que genere sinusoides reales. La cabecera de la función será:

function [s,n] = gencos(A,wo,fi,n0,n1);% Entradas:% A : amplitud% wo: frecuencia en radianes% fi: fase en radianes% no: índice temporal de comienzo de la secuencia% n1: índice temporal de finalización de la secuencia% Salidas:% s : la secuencia sinusoidal% n : vector con los índices temporales

function [s,n] = gencos(A,wo,fi,n0,n1);% Entradas:% A : amplitud% wo: frecuencia en radianes% fi: fase en radianes% no: índice temporal de comienzo de la secuencia% n1: índice temporal de finalización de la secuencia% Salidas:% s : la secuencia sinusoidal% n : vector con los índices temporalesn=n0:n1;s=A*cos(wo.*n+fi);stem(n,s)end

Page 10: Informe 01

Diego Rosado Málaga

7. Empleando el editor xedit, programe una función para Matlab, genexp.m que genere exponenciales complejas. La cabecera de la función será:

function [e,n] = genexp(absA,fasA,absa,fasa,n0,n1);% Entradas:% absA : valor absoluto de amplitud% fasA: fase de amplitud% absa: valor absoluto del exponente% fasa: fase del exponente% n0: índice temporal de comienzo de la secuencia% n1: índice temporal de finalización de la secuencia% Salidas:% e : la secuencia sinusoidal% n : vector con los índices temporales

function [e,n] = genexp(absA,fasA,absa,fasa,n0,n1);% Entradas:% absA : valor absoluto de amplitud% fasA: fase de amplitud% absa: valor absoluto del exponente% fasa: fase del exponente% n0: índice temporal de comienzo de la secuencia% n1: índice temporal de finalización de la secuencia% Salidas:% e : la secuencia sinusoidal% n : vector con los índices temporalesn=n0:n1;e=absA.*exp(fasA)*absa.*exp(fasa.*n);stem(n,e)end

8. Empleando la función anterior con los siguientes valores: A = 4e jπ /3, wo =π /5, no = 3 y n1 = 50, represente dos exponenciales complejas, una creciente y otra decreciente y una sinusoide compleja. Salve en el workspace la exponencial decreciente con el nombre ’ e ’ para utilizar más adelante.

Exponencial decreciente

>> e=genexp(4,pi/3,-9,pi/5,3,50)

Page 11: Informe 01

Diego Rosado Málaga

0 5 10 15 20 25 30 35 40 45 50-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0x 10

15

Exponencial creciente

>> genexp(4,pi/3,5,pi/5,3,50)

0 5 10 15 20 25 30 35 40 45 500

0.5

1

1.5

2

2.5

3x 10

15

Sinusoide compleja

>> genexp(4,pi/3*i,5,pi/5*i,3,50)

Page 12: Informe 01

Diego Rosado Málaga

0 5 10 15 20 25 30 35 40 45 50-20

-15

-10

-5

0

5

10

15

20

9.a) Represente la secuencia resultante de sumar las secuencias u2[n] y x1[n] de los ejercicios

anteriores.

n1=-10;n2=15;n3=40;n4=80; nx=n1:n2;x1=zeros(size(nx));x1(0--10+1)=-2; ny=n3:n4;u1=zeros(size(ny));i=find(ny>=45);u1(i)=3;u2=zeros(size(ny));i1=find(ny>=60);u2(i1)=4;u0=u1+u2; n5=min(n1,n3);n6=max(n2,n4); N=n5:n6;x1=[zeros(1,n1-n5) x1 zeros(1,n6-n2)];u0=[zeros(1,n3-n5) u0 zeros(1,n6-n4)];sum=x1+u0;stem(N,sum)

Page 13: Informe 01

Diego Rosado Málaga

-10 0 10 20 30 40 50 60 70 80-2

-1

0

1

2

3

4

5

6

7

b) Represente la secuencia resultante de efectuar el producto entre d2[n] y u3[n].

n1=-50;n2=50;n3=-100;n4=0; nx=n1:n2;d2=2.5*sin(pi.*nx./10+pi/4); ny=n3:n4;u3=zeros(size(ny));i=find(ny>=-50);u3(i)=-0.5; n5=min(n1,n3);n6=max(n2,n4); N=n5:n6;d2=[zeros(1,n1-n5) d2 zeros(1,n6-n2)];u3=[zeros(1,n3-n5) u3 zeros(1,n6-n4)];sum=d2.*u3;stem(N,sum)

Page 14: Informe 01

Diego Rosado Málaga

-100 -50 0 50-1.5

-1

-0.5

0

0.5

1

1.5

10. Programe tres funciones cuyas cabeceras sean:

Desplazamiento Lineal

function [y,ny] = desplin(x,n,m);% Entradas:% x : vector de entrada% n : vector de índices temporales de la entrada% m : valor entero del desplazamiento% Salidas:% y : vector desplazado linealmente% ny : vector de índices temporales de la saliday=x;ny=n+m;stem(ny,y)

1 1.5 2 2.5 3 3.5 4 4.5 5-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

Page 15: Informe 01

Diego Rosado Málaga

Desplazamiento Circular

function [y,ny] = despcirc(x,n,m);% Entradas:% x : vector de entrada% n : vector de índices temporales de la entrada% m : valor entero del desplazamiento circular% Salidas:% y : vector desplazado circularmente% ny : vector de índices temporales de la salidaa=length(n);ny=n+m;if ny<=n(a) y=x;else ny=ny(a)-n(a);endstem(ny,y)

function [y,ny] = despcirc(x,n,m);% Entradas:% x : vector de entrada% n : vector de índices temporales de la entrada% m : valor entero del desplazamiento circular% Salidas:% y : vector desplazado circularmente% ny : vector de índices temporales de la salidaa=length(n);ny=n+m;if ny<=a y=x; ny(a)=-1;endstem(ny,y)

-1 -0.5 0 0.5 1 1.5 2 2.5 3 3.5 4-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

Reflexión

function [y,ny] = ref(x,n);% Entradas:% x : vector de entrada% n : vector de índices temporales de la entrada

Page 16: Informe 01

Diego Rosado Málaga

% Salidas:% y : vector reflejado circularmente% ny : vector de índices temporales de la saliday=x;ny=-n;stem(ny,y)

-3 -2.5 -2 -1.5 -1 -0.5 0 0.5 1-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

11. Para comprobar las funciones que acaba de programar, considere la secuencia:

a) efectué un desplazamiento lineal de 10 unidades a la derecha de dicha secuencia.

11 11.5 12 12.5 13 13.5 14 14.5 15-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

b) efectué un desplazamiento circular de 10 unidades a la izquierda de dicha secuencia.

c) Represente la secuencia reflejada.

Page 17: Informe 01

Diego Rosado Málaga

-1 -0.5 0 0.5 1 1.5 2 2.5 3-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

12. Para la secuencia d3[n] anterior, calcule los siguientes valores:

a) El valor de d3[n] en el instante n = 8.

d 3 [n ]=2 cos( nπ5 )0≤n≤50

x(8)ans = -0.6180

b) El valor máximo de la secuencia d3[n] y el instante en el que está situado dicho máximo (la función max le será de utilidad).

d 3 [n ]=2 cos( nπ5 )0≤n≤50

n=0:50x=2.*cos(pi.*n/5);stem(n,x)max(x) ans =

2

CONCLUSIONES

- En MATLAB, podemos usar comandos que nos permiten muestrear funciones, ya sean impulso, rampa, parábolas o sinusoidales, a este tipo de funciones se les llama, funciones en el plano discreto Z.

- Podemos definir funciones que nos permitan mover, trasladar, o rotar las muestras, sin varias el valor de la muestra, solamente variando su posición.

Page 18: Informe 01

Diego Rosado Málaga

- Además también podemos operar estas funciones creadas, ya sea multiplicándolas, o sumándolas, etc. Definiendo un vector que contenga los datos, otro que contenga las posiciones (de donde hasta donde) y la operación que se quiera realizar.

- La visualización de estas secuencias de señales, las podemos obtener gracias al empleo del comando “stem”.

CUESTIONARIO/EJERCICIOS

Siendo una constante compleja sin ninguna restricción,

a) evalué la expresión:

n=-20:40;x=(2*j).^n;stem(n,x)

-20 -10 0 10 20 30 40-4

-2

0

2

4

6

8

10

12x 10

11

b) Considerando ahora |α |< 1 evalúe , demuestre que

n=0:20;x=(0.5j).^n;stem(n,x)

Page 19: Informe 01

Diego Rosado Málaga

0 2 4 6 8 10 12 14 16 18 20-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

n=-20:20;x=(0.5j).^n;stem(n,x)

-20 -15 -10 -5 0 5 10 15 20-4

-2

0

2

4

6

8

10

12x 10

5