Vous êtes sur la page 1sur 9

1

Laboratorio 6 “Modulación en Amplitud”.


Edward Nicolas Montoya Arcila Juan Daniel González Puerta
nicolas96.un@gmail.com / edward.montoya@udea.edu.co jdaniel.gonzalez@udea.edu.co
Dept. Ingeniería electrónica Dept. Ingeniería telecomunicaciones
Universidad de Antioquia Universidad de Antioquia

Abstract This article is the result of the second report of the signal laboratory, in which we use MATLAB as a tool to perform
the mathematical procedure known as correlation, which is based on the indicator of the signals in the time domain and arrive at
a quantified result Of similarity Among these, through this laboratory you can see that MATLAB is a great tool that helps us to
perform this procedure that is so useful in the field of sciences and engineering.

Este artículo es el resultado del sexto informe del laboratorio de señales, en el, usamos los equipos de laboratorio para realizar el
procedimiento matemático conocido como modulación en amplitud, el cual se basa en tomar una señal de información y con esta
hacer que medio de este laboratorio podemos ver que MATLAB es una gran herramienta que nos ayuda a realizar este
procedimiento que es tan útil en el campo de las ciencias y las ingenierías.

Index Terms— Señales, MATLAB, frecuencia, periodo, pulso, senoidal, ruido, correlaci

En Matlab una señal discreta en el tiempo se representa


I. INTRODUCTION1 exactamente, porque los valores de la señal son
representados como los elementos de un vector. Sin
A ctualmente MATLAB se posiciona como una de las
principales herramientas de simulación y análisis de
proyectos aplicados a la ingeniería, sus múltiples toolbox y
embargo, las señales de tiempo continuo en Matlab son tan
solo aproximaciones. La aproximación consiste en un vector
facilidades de procesamiento de datos nos permiten crear y cuyos elementos son muestras de la verdadera señal de
estructurar proyectos de tal manera que la herramienta se tiempo continuo. Cuando se usa esta técnica para la
convierte un centro funcional de investigaciones o estudios. representación de señales continuas es importante escoger el
intervalo de muestreo lo suficientemente pequeño para
II. MARCO TEÓRICO asegurar que las muestras capturan todos los detalles de la
señal [1].
El objeto más básico en Matlab es una matriz numérica con
la posibilidad de almacenar números complejos. Por
La documentación de MATLAB nos da una excelente
supuesto, los datos obtenidos en el estudio de señales y
información de las distintas señales que es posible generar
sistemas son muy bien representados en forma de matrices.
mediante sus funciones. Algunas de estas señales son:
El ToolBox de procesamiento de señales de Matlab posee
Señal cuadrada:
una gran variedad de funciones para la generación de señales,
estas señales requieren de una representación vectorial de la
x = square(t) genera una onda cuadrada con periodo 2π para
variable tiempo, de manera continua o discreta. Para realizar
los elementos del vector de tiempo t. square(t) es similar al
una simulación de un intervalo continuo, se usa un vector de
sin(t), sino que crea una onda cuadrada con picos de ±1 en
valores discretos con un intervalo de muestreo muy pequeño.
lugar de una onda senoidal [2].
Después de creado el vector que representa la variable
x = square(t,duty) genera una onda cuadrada con ciclo de
tiempo, es posible iniciar el desarrollo de alguna señal de
trabajo especificado, duty, que es un número entre 0 y 100.
interés.
El ciclo de servicio es el porcentaje del periodo en que la
señal es positiva [2]. vector, la función de parcelas cada fila de la matriz
y el vector.
Señal diente de sierra: - Si la matriz es cuadrada, la función de parcelas
cada columna versus el vector.
Sawtooth(t) genera una onda diente de sierra con periodo 2π - Si uno de X o Y es un escalar y el otro es un escalar
para los elementos del vector de tiempo t. sawtooth(t) es o un vector, la función de la plot parcelas puntos
similar al sin(t), pero crea una onda diente de sierra con picos discretos. Sin embargo, debe especificar un símbolo
de – 1 y 1 en lugar de una onda senoidal. La onda diente de de marcador, por ejemplo, plot(X,Y,'o') para ver los
sierra se define a – 1 en múltiplos de 2π y a aumentar puntos.
linealmente con el tiempo con una pendiente de 1 /π en todo
momento [3]. Stem: stem(Y) traza la secuencia de datos, Y, como tallos
que se extienden desde una instantánea a lo largo del x-eje.
Sawtooth(t,width) genera una onda de triángulo modificado Los valores de datos se indican con círculos final cada tallo
donde width, un parámetro escalar entre 0 y 1, se determina [7].
el punto entre 0 y 2π en que se produce el máximo. La
función aumenta de – 1 a 1 en el intervalo de 0 a 2π × width, - Si Y es un vector, entonces el x-eje escala se
luego disminuye linealmente desde 1 a – 1 en el intervalo 2π extiende de 1 a length(Y).
× width a 2π. Así un parámetro de 0, 5 especifica una onda
triangular estándar, forma simétrica sobre tiempo
instantáneos π con una amplitud pico a pico de 1.
sawtooth(t,1) es equivalente a sawtooth(t) [3]. III. PRACTICA

Señal sinusoidal: Generación de señales básicas:

Y = sin(X) devuelve el seno de los elementos de X. La 1.1. Tren pulsado con duty 50%, frecuencia 5*pi Hz y
función acepta entradas real y complejo. Para los valores de amplitud 1db.
X en el intervalo [-Inf, Inf], sin devuelve valores reales en el
intervalo [-1, 1]. Para valores complejos de X, sin devuelve Código:
valores complejos. Todos los ángulos están en radianes [4].
t = 0:0.0001:0.1;
Señal exponencial: y=square(t*2*pi*(5*pi),50);
plot(t,y);
Y = exp(X) devuelve el exponencial e x para cada elemento title('Señal cuadrada con frecuencia de
de la matriz X. Para elementos complejos z = x + iy, devuelve 5*pi, amplitud de 1dB y dutty de 50%');
ylabel('[dB]');
el complejo exponencial [5].
xlabel('Tiempo [s]')
Dos funciones continuamente usadas en este laboratorio
fueron plot y stem, según la documentación de MATLAB,
estas se definen como:

Plot: plot(X,Y) crea una trama de líneas 2D de los datos en


Y frente a los correspondientes valores de X [6].

- Si X e Y son dos vectores, entonces deben tener


igual longitud. La función de la plot parcelas Y
versus X.
- Si X e Y son ambas matrices, entonces deben tener
igual tamaño. La función de la plot parcelas
columnas de Y frente a columnas de X.
- Si uno de X o Y es un vector y la otra es una matriz,
entonces la matriz debe tener dimensiones tales que
una de sus dimensiones es igual a la longitud del
vector. Grafica 1. Señal cuadrada.
- Si el número de filas de la matriz es igual a la
longitud del vector, la función de la plot parcelas La grafica numero 1 es una señal cuadrada con las
cada columna de la matriz y el vector. Si el número características pedidas, lo cual es posible apreciarse
de columnas de la matriz es igual a la longitud del analizando su periodo, el cual equivale al inverso de la
3

frecuencia, es decir, 0.0637 (1/5*pi), su amplitud que es de 1 title('Señal senoidal con periodo 10Hz,
dB pico y finalmente es posible observar que el duty de la amplitud 1dB y fase 0 rad');
señal es de 0.5, es decir 50% subida y 50% bajada de cada ylabel('[dB]');
periodo de la señal. xlabel('Tiempo [s]')

1.2 Señal periódica diente de sierra con amplitud 1 Db y


frecuencia 5*pi Hz.

Código:

T=0:0.001:4*(1/(5*pi));
x = sawtooth(2*pi*5*pi*T);
plot(T,x);
title('Señal diente de sierra con:
frecuencia 5*pi Hz y amplitud 1dB');
ylabel('[dB]');
xlabel('Tiempo [s]')

Grafica 3. Señal sinusoidal, primer caso.

La grafica 3 nos permite identificar una señal sinusoidal con


periodo 10 segundos, es de resaltar que la guía se nos pedía
una señal con periodo de 10Hz, y como no identificamos si
correspondía a frecuencia por las unidades o periodo por el
enunciado se decidió tomar el enunciado con dimensión en
segundos. Por las demás características podemos identificar
que presenta correctamente una amplitud de 1Db y fase de 0
radianes.

Codigo:

t=0:0.001:200;
x = sin((pi/50)*t + pi);
Grafica 2. Señal diente de sierra. plot(t,x);
title('Señal senoidal con periodo 100
La grafica 2 nos permite identificar una señal diente de sierra segundos, amplitud 1dB y fase pi rad');
la cual posee un periodo de 0.063, el cual equivale al inverso ylabel('[dB]');
de la frecuencia deseada y de igual forma la señal cuenta con xlabel('Tiempo [s]')
una amplitud de 1db como era solicitado.

1.3 Señal sinusoidal con las siguientes características.

- Frecuencia de 10 y 100Hz
- Amplitud de 1 y 15dB
- Fase de 0, pi y pi/3.

Para este punto se generarán tres graficas donde sea posible


tener dos o más características pedidas de tal manera que se
cumplan todos los requisitos sin tener que graficar una a una
las condiciones.

Código

t=0:0.001:20;
x = sin((pi/5)*t);
plot(t,x);
Grafica 4. Señal sinusoidal, Segundo caso.
La grafica 4 nos permite identificar una señal sinusoidal con
periodo de 100 segundos, amplitud de 1dB y una fase de pi,
respecto a la señal seno característica.

Codigo

t=0:0.001:200;
x = 15*sin((pi/50)*t+(pi/3));
plot(t,x);
title('Señal senoidal con periodo 100
segundos, amplitud 15dB y fase pi/3
rad');
ylabel('[dB]');
xlabel('Tiempo [s]')

Grafica 6. Señal exponencial positiva.

Grafica 5. Señal sinusoidal, tercer caso.

La grafica 5, nos permite identificar el último de los casos de


la señal sinusoidal donde se usan las características restantes,
las cuales son una amplitud de 15 dB y una fase respecto a la
señal seno característica de pi/3 radianes. Grafica 7. Señal exponencial negativa.

1.4 Generar señales exponenciales negativas y positivas De la gráfica 6 tenemos que el parámetro B cumple la
siguiendo la forma B*exp(A*t). función de incrementar o decrementar el punto máximo de la
función y A se toma como u factor de la velocidad con la
Código cual crece la función. De la gráfica 7 podemos definir B
como el punto máximo de donde inicia la función en el eje
t=0:0.001:10; de Db y A corresponde al tiempo característico de la función
x = 2*(exp(t/2)); exponencial, el cual al llegar a 5 veces su valor podemos
plot(t,x); argumentar que la función se encuentra en su valor estable.
title('Señal exponencial positiva
siguiendo la forma B*exp(A*t)'); 1.5 Generar una señal sinusoidal amortiguada.
ylabel('[dB]');
xlabel('Tiempo [s]') Código

Código t=0:0.001:100;
x = sin(pi*t/5).*(exp(-t/10));
t=0:0.001:10; plot(t,x);
x = 2*(exp(-t/2)); title('Señal sinusoidal amortiguada');
plot(t,x); ylabel('[dB]');
title('Señal exponencial negativa xlabel('Tiempo [s]')
siguiendo la forma B*exp(A*t)');
ylabel('[dB]');
xlabel('Tiempo [s]')
5

La grafica 9 es una señal por tramos y dado que MATLAB


no brinda la posibilidad de generar señales por tramos
automáticamente, se generó un arreglo de valores donde para
valores menores a t=30, el valor de la señal era 0, pero al
llegar a 30 la señal comienza a crecer conforme una línea
recta de pendiente 1.

Generación de señales discretas.

Dado que ya se explicó cómo se formaron las ondas para


todas las señales continuas, únicamente se adjuntará el
código y la gráfica para casa señal discreta. Es de resaltar que
el vector tiempo cambia para cada una de estas señales, lo
que depende de la frecuencia de muestreo con la cual
esperemos capturar las señales.

Código
Grafica 8. Señal sinusoidal amortiguada.
t = 0:0.5:8;
La grafica 8 se formó mediante la función exponencial y=square(t*(5/4),50);
decreciente y la función sinusoidal convencional. Esta unión stem(t,y);
permite que mientras la función exponencial se encuentre en title('Señal cuadrada discreta');
sus primeros valores, la señal sinusoidal pueda identificarse, ylabel('[dB]');
pero conforme pasa el tiempo la señal exponencial tiende a xlabel('Tiempo [s]')
cero, atenuando el valor de la sinusoidal hasta que esta
termina por estabilizarse. Frecuencia de muestreo 2 Hz

1.6 Generar una señal tipo rampa que comience en 30


segundo y tenga el eje temporal hasta 60 segundos.

Código

t1=30:0.1:60;
rampa1=t1-30;
rampa=[zeros(1,301),rampa1];
t2=0:0.1:30;
t=[t2,t1];
plot(t, rampa);
title('Señal rampa desplazada');
ylabel('[dB]');
xlabel('Tiempo [s]')

Grafica 10. Señal cuadrada discreta.

Código

T=0:0.003:4*(1/(5*pi));
x = sawtooth(2*pi*5*pi*T);
stem(T,x);
title('Señal diente de sierra discreta');
ylabel('[dB]');
xlabel('Tiempo [s]')

Frecuencia de muestreo 333.33 Hz

Grafica 9. Señal rampa.


Grafica 11. Señal diente de sierra discreta. Grafica 13. Señal sinusoidal discreta, con periodo de 100
segundos, amplitud 1 dB y fase pi radianes.
Código
Frecuencia de muestreo caso 3: 1 Hz
t=0:0.1:10;
x = sin((pi/5)*t);
stem(t,x);
title('Señal sinusoidal caso 1
discreta');
ylabel('[dB]');
xlabel('Tiempo [s]')

Frecuencia de muestreo caso 1: 10 Hz

Grafica 14. Señal sinusoidal discreta, con periodo de 100


segundos, amplitud 15 dB y fase pi/3 radianes.

Código

t=0:1/10:10;
x = 2*(exp(t/2));
stem(t,x);
title('Señal exponencial positiva
discreta');
Grafica 12. Señal sinusoidal discreta, con periodo de 10 ylabel('[dB]');
segundos, amplitud 1 dB y fase 0 radianes. xlabel('Tiempo [s]')

Dado que ya se conoce el código de las siguientes graficas Frecuencia de muestreo: 10 Hz


senoidales no se adjuntará el código, pero se especificará la
frecuencia de muestreo a la cual se capturo la señal.

Frecuencia de muestreo caso 2: 1 Hz


7

Grafica 12. Señal exponencial positiva, muestreada a 10 Hz.


Grafica 14. Señal amortiguada sinusoidal, muestreada a 3.33
Hz.

3. Generar una la siguiente señal muestreada a 100Hz

t=0:1/10:5;
x = 10*exp(-t)-5*exp(-0.5*t);
stem(t,x)
title('Señal 10*exp(-t)-5*exp(-0.5*t)
muestreada a 10 Hz ');
ylabel('[dB]');
xlabel('Tiempo [s]')

Grafica 13. Señal exponencial negativa, muestreada a 10


Hz.

Dada la similitud del código con su homóloga positiva no se


considera necesario adjuntar de nuevo el código para la señal
exponencial negativa.

Código

t=0:0.3:80;
x = sin(pi*t/5).*(exp(-t/10));
stem(t,x);
title('Señal sinusoidal amortiguada
discreta');
ylabel('[dB]');
xlabel('Tiempo [s]')
Grafica 15. Señal combinada muestreada a 10 Hz.
Frecuencia de muestreo: 3.33 Hz
Es de resaltar en la gráfica 15, que el muestreo no se realizó
a 100 Hz sino a 10 Hz para poder visualizar con mayor
claridad la naturaleza discreta de la señal y dejar más limpia
la gráfica.

4. Considerando la siguiente señal, analice el efecto al variar


el parámetro a.
plot(t,x)
hold on
end
Para realizar de manera más exacta el análisis de la señal x,
ante cambios del parámetro a, se dividirá su estudio en dos title('Señal 20*sin(2000*pi*t-
partes, la primera cuando el parámetro es menor que cero y (pi/3)).*exp(-a*t)')
la segunda cuando el parámetro es mayor que 0. legend('a = 0','a = 1','a = 2','a = 3','a
= 4')
ylabel('[dB]')
Parámetro menor que 0:
xlabel('tiempo [s]')
figure
t=0:0.000001:1;
for a=-4:0
x = 20*sin(2000*pi*t-(pi/3)).*exp(-
a*t);
plot(t,x)
hold on
end

title('Señal 20*sin(2000*pi*t-
(pi/3)).*exp(-a*t)')
legend('a = -4','a = -3','a = -2','a = -
1','a = 0')
ylabel('[dB]')
xlabel('tiempo [s]')

Grafica 17. Señal x(t) con frecuencia de 1000 Hz y amplitud


base de la señal sinusoidal 15 dB (parámetro variable de 0 a
4).

Para el caso en el cual el parámetro crece, la función x(t)


tiende a amortiguarse con mayor rapidez, es decir la función
decrece su amplitud hasta volverse estable.

Nota: La señal x(t) posee un periodo bastante pequeño por


lo que puede llegar a parecer una representación matemática
que no cumple con la definición de función, pero en realidad
si se realiza un zoom, es posible identificar la forma
sinusoidal de la señal a lo largo del tiempo.

Grafica 16. Señal x(t) con frecuencia de 1000 Hz y amplitud


base de la señal sinusoidal 15 dB (parámetro variable de -4 REFERENCIAS
hasta 0). [1] Torres Vicente, “Ejemplos de código para formar señales discretas en
Matlab”,
http://5minutosdematlab.blogspot.com.co/2011/09/ejemplos-de-
Para el caso en el cual el parámetro decrece, la función x(t) codigo-para-formar-senales.html [online].
tiende a crecer exponencialmente su oscilación y [2] MatWorks, Square Wave
teóricamente aumenta su amplitud hasta infinito. Mientras https://www.mathworks.com/help/signal/ref/square.html?s_tid=doc_t
a [online].
menor sea el parámetro más rápido crece la amplitud de la [3] MatWorks, Sawtooth,
oscilación de la señal x(t). https://www.mathworks.com/help/signal/ref/sawtooth.html?s_tid=do
c_ta [online].
Parámetro mayor que 0: [4] MatWorks, Sine wave,
https://www.mathworks.com/help/matlab/ref/sin.html?s_tid=doc_ta
[online].
figure [5] MatWorks, Exponential wave,
t=0:0.000001:1; https://www.mathworks.com/help/matlab/ref/exp.html?s_tid=doc_ta
for a=0:4 [online].
x = 20*sin(2000*pi*t-(pi/3)).*exp(- [6] MatWorks, Plot,
https://www.mathworks.com/help/matlab/ref/plot.html?searchHighli
a*t); ght=plot&s_tid=doc_srchtitle [online].
9

[7] MatWorks, Stem,


https://www.mathworks.com/help/matlab/ref/stem.html?s_tid=doc_ta
[online].