Laboratorio2 Ocampo Perdomo Rogel
Laboratorio2 Ocampo Perdomo Rogel
Laboratorio2 Ocampo Perdomo Rogel
TELECOMUNICACIONES
COMUNICACIÓN DIGITAL
LABORATORIO 2
AUTOR:
Steven Rogel
Anthony Ocampo
Dylan Perdomo
● Desarrollar una interfaz gráfica en MATLAB que permita visualizar las distintas
modulaciones analógicas.
QPSK, para de esta manera obtener las modulaciones de una manera mas aleatoria
posible sin la necesidad de generar el tren de bits.
IV. MARCO TEÓRICO
La modulación por fase cuadrada, también conocida como QPSK (Quadrature Phase Shift
Keying), es una técnica de modulación por fase que utiliza cuatro fases diferentes para
representar los bits 0 y 1.
● Software Matlab
● Computadora
VI. DESARROLLO
Para el desarrollo del presente laboratorio se hace uso del software MATLAB®, en donde por
medio del App Designer realizamos la interfaz gráfica del laboratorio. El punto de partida es
programar cómo se harán las 3 diferentes modulaciones (ASK, FSK, PSK), para ello se tomó
el código compartido por el Ingeniero y se adaptó a lo requerido, una vez adaptado y
funcionando se integró a una interfaz gráfica.
Dentro de este código se encuentra una función que convierte cadenas de texto en código
binario y gráfica el código binario, las modulaciones y las gráficas de estas.
● Push Button: Se usa 3 de estos para seleccionar el tipo de modulación que se desea
hacer.
Una vez determinado todos los componentes a usar, se procede a juntar el código de las
modulaciones junto con el de la interfaz gráfica.
1. Se añadió un callback a cada uno de los botones, de esta forma cada vez que se
presione alguno de los botones se ejecuta una porción del código. El callback creado
en cada botón genera automáticamente una función en el apartado del código de la
interfaz gráfica, como se puede ver a continuación.
2. Se crearon cuatro funciones privadas, una para cada una de las modulaciones (ASK,
FSK, PSK) y una de conversión de texto a bits que a su vez gráfica el tren de bits y
dentro de cada función de modulación está la graficación de las señal modulada.
3. Una vez definida todas las funciones se llama a estas en cada uno de los botones
Una vez hecho todo esto se manda a correr a la interfaz para verificar que todo funcione
correctamente.
VII. RESULTADOS
Luego de comprobar la interfaz se obtuvo los siguientes resultados, en este caso se presenta
una ejecución del programa para cada una de las modulaciones, con esto se puede observar
claramente el funcionamiento, para este ejemplo se usa:
● Frecuencia de muestreo: 1 MHz
● Frecuencia moduladora: 10 kHz
Cabe aclarar que se usó una palabra muy corta (Test) para que se pueda observar de mejor
manera las modulaciones
Se logró desarrollar una interfaz gráfica interactiva que permite visualizar de manera efectiva
las modulaciones ASK, FSK y PSK. Dentro de la interfaz, el usuario puede ajustar la
frecuencia de muestreo y de la señal portadora, también puede ingresar una cadena de
caracteres y modular dicha cadena, esta interfaz muestran dos gráficas una del tren de bits y
otra de ese tren de bits modulado.
Si se ingresa una cadena de caracteres muy larga la gráfica de la señal modulada no puede
ser apreciada correctamente, y para visualizar el tipo de modulación se debe hacer un
acercamiento
IX. CONCLUSIONES
● Como se pudo observar anteriormente se necesito realizar una interfaz para las
siguientes modulaciones ya que es aun mas facil manejar las modulaciones que se
quieran tomando en cuenta que se puede colocar el tren de caracteres que se quiera y
de esta manera poder obtener una modulación más apropiada a nuestro requerimiento.
● Mediante la obtención de las modulaciones requeridas es más sencillo realizar la
interfaz ya que solo necesitamos de colocar los requerimientos de nuestra interfaz y
unir a nuestras modulaciones y así obtener resultados que nosotros queramos.
● Finalmente al colocar la cadena de bits debemos de tener en cuenta que si colocamos
una palabra muy corta esto se verá reflejado en una mejor gráfica de modulación ya
que así se podría visualizar de mejor manera las modulaciones que requeramos.
X. RECOMENDACIONES
● Al momento de realizar la interfaz debemos de conocer todos los requerimientos que
necesitamos para nuestra interfaz como en este caso frecuencia de portadora,
frecuencia moduladora, tren de bits, tipos de modulaciones.
● La mayor parte de modulaciones viene dado mediante la imposición de un cierto
número de caracteres lo cual en este caso se necesito realizar mediante código la
introducción de cualquier valor de tren de caracteres y así obtener una modulación
más acercada a lo que necesitamos.
● A la hora de realizar la interface debemos de conocer más a profundo la creación de
ventanas, botones barras de escritura, etc, ya que si no se tiene una idea de creación de
interfaces es muy complicado realizarlas e introducir las modulaciones requeridas,
XI. REFERENCIAS
[1] J. G. Proakis and M. Salehi, "Digital Communications," 5th ed. New York, NY, USA:
McGraw-Hill, 2008.
[2] B. Sklar, "Digital Communications: Fundamentals and Applications," 2nd ed. Upper
Saddle River, NJ, USA: Prentice-Hall, 2001.
[3] S. Haykin, "Communication Systems," 4th ed. Hoboken, NJ, USA: Wiley, 2001.
[4] A. Goldsmith, "Wireless Communications," Cambridge, UK: Cambridge University
Press, 2005.
[5] T. S. Rappaport, "Wireless Communications: Principles and Practice," 2nd ed. Upper
Saddle River, NJ, USA: Prentice-Hall, 2002.
XII. ANEXOS
% Tiempo
t = 0:1/fs:t_total-(1/fs); % Vector de tiempo
for i = 1:length(bits)
start_index = (i-1) * samples_per_bit + 1;
end_index = i * samples_per_bit;
if bits(i) == 1
signal(start_index:end_index) = A * cos(2 * pi * fc *
t(start_index:end_index));
end
end
% Gráfica Modulada
plot(app.Modu,t * 1000, signal, 'LineWidth', 1.5);
title(app.Modu, 'Señal Modulada en ASK');
xlabel(app.Modu, 'Tiempo (ms)');
ylabel(app.Modu, 'Amplitud (V)');
end
% Tiempo
t = 0:1/fs:t_total-(1/fs);