Practica Señales Matlab
Practica Señales Matlab
Practica Señales Matlab
En general, una señal quedará representada por un vector fila o por un vector columna (es
decir, por matrices con una única fila o columna). En MATLAB, todos los vectores se indexan
comenzando por el 1, es decir, y(1) es el primer elemento del vector y. Cuando este criterio no
coincida con el del problema a resolver (e.g., porque el primer valor del vector y corresponda al
índice -5), se puede crear un vector adicional de índices. Por ejemplo, para representar la
señal:
( 0 , 2 n , −3≤0
x ( n )=
r e st o )
<3
se puede usar el operador ‘:’ para definir un vector con los índices de x[n] no nulos, y luego
definir el propio vector x de modo que contenga los valores deseados en cada uno de estos
índices:
>> n=[-3:3];
>> x=2*n;
Ilustración 0.1
Para examinar la señal en un rango más amplio de índices, será necesario extender tanto el
vector de índices, n, como la señal x:
>> n=[-5:5];
Ilustración 0.2
>> n=[-100:100];
Ilustración 0.3
Sean x [n]= δ [n] 1 y [ ] [ 2] x2 n = δ n + (la función δ [n] toma valor 1 para n=0 y valor nulo en el
resto). Dibuje aparte el aspecto que tienen ambas señales. Estas señales pueden definirse en
MATLAB escribiendo:
>> nx1=[0:10];
Ilustración 0.6
Ilustración 0.7
>> t=linspace(-5,5,101);
Práctica 1: Señales en MATLAB Grupo
Apellido, nombre: Basto Cruz Irving Noel
Fecha 18/09/2017
Hecho esto, para representar la señal x(t) = sen(πt )4/ basta con escribir:
>> x=sin(pi*t/4);
Observe que en MATLAB, cuando el argumento de una función de este tipo (sin, cos, exp, etc.)
es un vector, el resultado es un vector del mismo tamaño, en el que cada valor resulta de la
aplicación de la función a cada valor del vector argumento. Para representar gráficamente la
señal, resaltando su carácter de señal continua, utilice plot en vez de stem:
>> plot(t,x);
Ilustración 0.1
πt πt
( ) ( )
Represente gráficamente las señales x 1 ( t )= s e n 4 y x 2 ( t )= cos 4 en el intervalo −4 ≤
t ≤ 4 dando valores cada 1/8 de segundo. Represente ambas sobre la misma figura utilizando el
comando plot y, a continuación, nuevamente sobre la misma figura, represente ambas con el
comando stem (para ello utilice el comando hold). Utilice dos colores: uno para las dos
representaciones de x ( t )1 y otro para las dos de x ( t )2 .
>> t=[-4:1/8:4];
>> x1=sin(pi*t/4);
>> x2=cos(pi*t/4);
>> plot(t,x1);
>> hold on
>> plot(t,x2);
Práctica 1: Señales en MATLAB Grupo
Apellido, nombre: Basto Cruz Irving Noel
Fecha 18/09/2017
Ilustración 0.2
>> stem(t,x1);
>> hold on
>> stem(t,x2);
Ilustración 0.3
En lo sucesivo, siempre que se quiera representar gráficamente una señal de tiempo discreto
utilice el comando stem; análogamente, siempre que la señal sea de tiempo continuo (aunque
con MATLAB se aproxime por una señal de tiempo discreto definida a intervalos regulares y
muy pequeños) utilice el comando plot para resaltar este hecho y evitar cualquier confusión.
32 :
>> n=[0:32];
>> x=exp(j*(pi/8)*n);
>> stem(n,real(x));
Práctica 1: Señales en MATLAB Grupo
Apellido, nombre: Basto Cruz Irving Noel
Fecha 18/09/2017
Ilustración 0.1
>> stem(n,imag(x));
Ilustración 0.2
>> stem(n,abs(x));
Ilustración 0.3
>> stem(n,angle(x));
Práctica 1: Señales en MATLAB Grupo
Apellido, nombre: Basto Cruz Irving Noel
Fecha 18/09/2017
Ilustración 0.4
>> x1=sin((pi/4)*[0:30]);
>> x2=cos((pi/7)*[0:30]);
>> y1=x1+x2;
>> y2=x1-x2;
>> y3=x1.*x2;
>> y4=x1./x2;
>> y5=2*x1;
>> y6=x1.^x2;
Ilustración 0.3
Ilustración 0.1
Ilustración 0.4
Ilustración 0.2
Ilustración 0.5
Ilustración 0.7
Genere con el editor de MATLAB el siguiente script (asígnele el nombre ‘ejercicio_6.m’), cuyo
objetivo es representar una determinada señal discreta en un intervalo dado, calcular su valor
medio en el citado intervalo, y representar este valor como una función constante:
% ejercicio6.m
n = [0:16];
xl = cos(pi*n/4);
yl = mean(xl);
stem(n,xl)
title(‘xl = cos(pi*n/4)’)
xlabel(‘n (samples)’)
ylabel(‘xl[n]’)
hold on
m1=y1*ones(1,17);
plot(n,m1)
hold off
Ilustración 0.1
≤ 32 , basta con copiar el fichero, asignarle un nuevo nombre (e.g., ‘ejercicio_6b.m’) y cambiar
las líneas que proceda:
% ejercicio6b.m
Práctica 1: Señales en MATLAB Grupo
Apellido, nombre: Basto Cruz Irving Noel
Fecha 18/09/2017
n = [0:32];
x2 = sin(pi*n/4);
y2 = mean(x2);
stem(n,x2)
title(‘x2 = sin(pi*n/4)’)
xlabel(‘n (samples)’)
ylabel(‘x2[n]’)
hold on
m2=y2*ones(1,33);
plot(n,m2)
hold off
Compruebe que obtiene el resultado deseado ejecutando este segundo script desde la línea de
comandos.
Un fichero ‘.m’ también puede representar una función. Para ello, la primera palabra del
fichero ha de ser function. El resto de la línea especifica los parámetros que acepta la función y
los valores que devuelve. El siguiente ejemplo muestra una función llamada f_obtiene_yz, que
toma como parámetro un vector x, y devuelve otros dos vectores, y y z (acostúmbrese a
preceder el nombre de todas las funciones con las letras f_, de modo que se distingan
claramente de funciones de MATLAB o de scripts):
y = 2.*x;
z = (5/9).*(x-3);
El siguiente ejemplo muestra cómo utilizar esta función desde la línea de comandos (o bien
desde un script):
>> n=[0:15];
>> x1=4*sin((pi/4)*n);
>> [y1,z1]=f_obtiene_yz(x1);
>> stem(n,x1);
>> stem(n,y1,’r’);
>> stem(n,z1,’g’);
2 , n=0
( )1 , n=2
x [ n ] −1 , n=3
3 , n=4
0, r e st o
Conclusiones
No supo hacer las últimas partes del trabajo, siento que pudo estar mejor explicado, ya que hay
muchas cosas que tenía duda de cómo hacerlo, aunque creo que con el tiempo podré realizar
más comandos.
Se me complicó recordar los comandos, ya que se me olvidaban mucho, por lo que creo que
me haré una lista de comandos en una hoja para tener acceso a ellos de manera más rápida y
organizada.