Upload
diego-rosado-malaga
View
69
Download
2
Embed Size (px)
Citation preview
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
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
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;
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)
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
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
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
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
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
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)
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)
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)
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)
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
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
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.
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.
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)
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