Lab 01 - Análisis de señales - UNTECS
-
Upload
ing-electronica-xd -
Category
Documents
-
view
12.731 -
download
16
Transcript of Lab 01 - Análisis de señales - UNTECS
UNIVERSIDAD NACIONAL TECNOLOGICA DEL CONO SUR DE LIMA
INGENIERÍA ELECTRÓNICA Y TELECOMUNICACIONES
INFORME 1
DE LABORATORIO DE
ANÁLISIS DE SEÑALES Y SISTEMAS
(Software MATLAB)
Alumno: Código:
Marvin Thomas Concha Sandoval 2009200023
2012 – II
INTRODUCCIÓN
Con el Software MATLAB es muy fácil generar señales elementales, tales como
exponenciales, senoidales, cuadradas, triangulares, etc. En este laboratorio
analizaremos diversos tipos de Señales Periódicas:
1. ONDA CUADRADA
Generamos la señal cuadrada con las siguientes características:
Amplitud (A) = 1
Frecuencia (w) = 10π
Ciclo útil (D) = 0.5
En un tiempo comprendido entre 0 y 1 segundos.
Su programación en MATLAB será:
>>A = 1;
>>w = 10 * pi;
>>cu = 0.5;
>>t = 0:0.001:1;
>>oc = A * square(w*t + cu);
>>plot(t,oc);
Al introducir los comandos en MATLAB obtenemos como resultado (gráfica):
Para contemplar mejor la onda, tenemos que editarla, para ello vamos a propiedades y
definimos nuevos parámetros para los ejes ‘x’ e ‘y’, y obtenemos:
Gráfica final de la Onda cuadrada
2. ONDA TRIANGULAR
Generamos ahora una señal triangular con las siguientes características:
Amplitud (A) = 1
Frecuencia (w) = 10π
Ciclo útil (D) = 0.5
En un tiempo comprendido entre 0 y 1 segundos.
Su programación en MATLAB será:
>>A = 1;
>>w = 10 * pi;
>>cu = 0.5;
>>t = 0:0.001:1;
>>ot = A * sawtooth(w*t + cu);
>>plot(t,ot);
Al introducir los comandos en MATLAB obtenemos como resultado (gráfica):
Nuevamente definimos los valores para el eje ‘y’ obteniendo:
Gráfica final de la Onda triangular
3. ONDA CUADRADA (DISCRETA)
Ya hemos generado una señal cuadrada. Ahora lo haremos pero no en continua, sino
en su forma discreta. Usaremos las siguientes características:
Amplitud (A) = 1
Frecuencia (w) = π/4
Ciclo útil (D) = 0.5
En un tiempo comprendido entre 0 y 1 segundos.
Su programación en MATLAB será:
>> A = 1;
>>w = pi/4;
>>cu = 0.5;
>>n = -10:10;
>>ocd = A * square(w*n + cu);
>>stem(n,ocd);
Al introducir los comandos en MATLAB obtenemos como resultado (gráfica):
Definiendo valores para el eje y de <-2,2>:
Gráfica final de la Onda cuadrada (discreta)
4. SEÑAL EXPONENCIAL
Aunque existen 2 tipos de señales exponenciales (crecientes y decrecientes), ambas
son posibles de generarlas con MATLAB solo con cambiar un signo. Vamos a graficar
ambas a continuación:
Amplitud (A) = 5
Base (a) = 6
a. Creciente:
>>A = 5;
>>a = 6;
>>t = 0:0.001:1;
>>expc = A*exp(a*t);
>>plot(t,expc);
Su gráfica es:
b. Decreciente:
>>A = 5;
>>a = 6;
>>t = 0:0.001:1;
>>expc = A*exp(a*t);
>>plot(t,expc);
Su gráfica es:
5. SEÑAL EXPONENCIAL DISCRETA (BASE DISTINTA A “e”)
Usaremos una base distinta a e = 2.71828…
Su programación en MATLAB será:
>>A = 1;
>>b = 0.85
>>n = -10:10;
>>expb = A * b.^ n;
>>stem(n,expb);
Al introducir los comandos en MATLAB obtenemos como resultado (gráfica):
6. SEÑALES SENO Y COSENO
Generaremos 1 señal seno y 1 coseno
a. Señal Coseno:
Escribimos en MATLAB:
>>A = 4;
>>wo = 20 * pi;
>>phi = pi/6;
>>t = 0:0.001:1;
>>coseno = A * cos(wo*t + phi);
>>plot(t,coseno);
Gráfica de la Señal Coseno
b. Señal Seno:
Escribimos en MATLAB:
>>A = 0.5;
>>wo = 20 * pi;
>>t = 0:0.001:1;
>>seno = A * sin(wo*t);
>>plot(t,seno);
Gráfica de la señal Seno
7. SEÑAL SENOIDAL CON AMORTIGUACIÓN EXPONENCIAL
Ahora trabajaremos con un producto de funciones: la señal seno y la señal
exponencial decreciente.
Escribimos en MATLAB:
>>A = 60;
>>wo = 20 * pi;
>>phi = 0;
>>b = 6;
>>expdsen = A*sin(wo*t + phi) .* exp(-b*t);
>>plot(t,expdsen);
Su gráfica será:
Gráfica de la señal senoidal amortiguada
8. SEÑAL SENOIDAL CON AMORTIGUACIÓN (DISCRETA)
Para graficar la misma señal anterior pero en su forma discreta, cambiamos los
parámetros e introducimos a MATLAB lo siguiente:
>>A = 10;
>>B = 5;
>>a = -0.1;
>>wo = 2 * pi/12;
>>phi = 0;
>>n = -30:30;
>>x = A * sin(wo*n + phi);
>>y = B * exp(a*n);
>>z = x .* y;
>>stem(n,z);
La gráfica resulta:
9. SEÑAL PASO (DISCRETA Y CONTINUA)
Para ambas señales escribiremos lo siguiente en MATLAB, dependiendo del tipo de
señal que deseemos generar:
9.1. SEÑAL PASO CONTINUA
>>u=[zeros(1,10),ones(1,11)];
>>t = -1:0.1:1;
>>plot(t,u);
Señal de paso discreta
9.2. SEÑAL PASO DISCRETA
>>u=[zeros(1,10),ones(1,11)];
>>n = -10:10;
>>stem(n,u);
Señal de paso en continua
10. SEÑAL IMPULSO
Para ambas señales escribiremos lo siguiente en MATLAB, dependiendo del tipo de
señal que deseemos generar:
10.1. SEÑAL IMPULSO DISCRETA
>>u=[zeros(1,10),1,zeros(1,10)];
>>n = -10:10;
>>stem(n,u);
Señal impulso en discreta
10.2. SEÑAL IMPULSO EN CONTINUA 1
>>u=[zeros(1,10),1,zeros(1,10)];
>>t = -1:0.1:1;
>>plot(t,u);
Señal impulso en continua 1
10.3. SEÑAL IMPULSO EN CONTINUA 2
>>u=[zeros(1,10),1,zeros(1,10)];
>>t = -1:0.001:1;
>>plot(t,u);
Señal impulso en continua 2
11. SEÑAL RAMPA
Para ambas señales escribiremos lo siguiente en MATLAB, dependiendo del tipo de
señal que deseemos generar:
11.1. SEÑAL RAMPA EN CONTINUA
>> t1 = 0:0.1:10;
>>rampa1 = t1;
>>rampa = [zeros(1,101),rampa1];
>>t2 = -10:0.1:0;
>>t = [t2,t1];
>>plot(t,rampa);
Señal rampa en continua
CONCLUSIONES
A través del laboratorio me he podido dar cuenta que MAtrix LABoratory (MATLAB)
es una poderosa herramienta para modelar ecuaciones matemáticas.
Más que eso, es fundamental para interactuar con las ciencias aplicadas (por ejemplo
la electrónica).
Y con unas pocas líneas podemos trabajar en continuas y discretas, lo que lo hace casi
imprescindible para el tratamiento de señales (como la voz y otras señales analógicas
y digitales).
En cuanto a la programación, es sumamente simple y amigable (debido a su lenguaje
de alto nivel).
EXPERIMENTOS
1. Desarrollar un conjunto de comandos MATLAB para aproximar las siguientes señales periódicas en tiempo continuo, dibujando 5 ciclos de cada una:
a. Onda Cuadrada, de amplitud 5 Volts, frecuencia fundamental 20 Hz y ciclo útil del 60%.
Solución:
Comandos:
A = 5; w = 2*pi*20; t = 0:0.001:0.25; sq = A * square(w*t,60); plot(t,sq,'g');
Gráfica:
b. Señal diente de sierra, amplitud 5 Volts y frecuencia fundamental 20Hz
Solución:
Comandos:
A = 5; w = 2*pi*20; t = 0:0.001:0.25; st = A * sawtooth(w*t,0.6); plot(t,st,'g');
Gráfica:
2. La solución a una ecuación diferencial está dada por la siguiente expresión:
Usando MATLAB, grafique la solución de la ecuación en el siguiente intervalo
[0,5] con una frecuencia de muestreo de 100 Hz.
Solución:
Comandos:
A = 10; B = 5; a = 1; b = 0.5; fm = 100; t = 0:1/fm:5; exp1 = A*exp(-a*t); exp2 = B*exp(-b*t); fexp = exp1 - exp2; plot(t,fexp,'r');
Gráfica:
3. Repita el problema número dos para la siguiente expresión:
Solución:
Comandos:
A = 10; B = 5; a = 1; b = 0.5; fm = 100; t = 0:1/fm:5; exp1 = A*exp(-a*t); exp2 = B*exp(-b*t); fexp = exp1 + exp2; plot(t,fexp,'r');
Gráfica:
4. Una señal senoidal con amortiguación exponencial está definida por la siguiente expresión:
Donde el parámetro a es variable y toma valores sobre el siguiente conjunto:
500, 750, 1000. Usando MATLAB, investigar el efecto de variar dicho
parámetro en la señal en el intervalo [-2,2].
Solución: La señal exponencial es demasiado grande para poder graficarla en un
intervalo de [-2,2]. Podemos fácilmente comprobarlo si tomamos un a = 100,
entonces en el punto t= -2, obtenemos que: exp(-a*t) = 7.23 x 1086. Si hacemos a =
500, 750 o 1000, las cuentas son tan grandes que no podremos ver
completamente el comportamiento de la función.
Gráfica en t = [-2;2]:
Por ello he visto conveniente tomar un pequeño intervalo [-0.005 ; 0]:
En este pequeño intervalo próximo a 0, vemos que la gráfica verde (a = 1000)
decrece más rápido que la gráfica azul (a = 750) y la gráfica roja (a = 500) es más
lenta para decrecer.
Visto de otra manera: Dado un t = to, la amplitud es mayor con a = 1000, y es
menor con a = 500.