Logo Studenta

GRAFICAS_MODULACIONES_DIGITALES

¡Este material tiene más páginas!

Vista previa del material en texto

See discussions, stats, and author profiles for this publication at: https://www.researchgate.net/publication/271839748
DIGITAL MODULATIONS IN MATLAB
Technical Report · October 2014
CITATIONS
0
READS
11,110
1 author:
Rogelio Rafael Salinas Urtiz
Universidad de Colima
1 PUBLICATION   0 CITATIONS   
SEE PROFILE
All content following this page was uploaded by Rogelio Rafael Salinas Urtiz on 05 February 2015.
The user has requested enhancement of the downloaded file.
https://www.researchgate.net/publication/271839748_DIGITAL_MODULATIONS_IN_MATLAB?enrichId=rgreq-44b39e7d5147c66467c6220e3a743272-XXX&enrichSource=Y292ZXJQYWdlOzI3MTgzOTc0ODtBUzoxOTM1NDQ2ODM2MTQyMTFAMTQyMzE1NjA1NjM1Mg%3D%3D&el=1_x_2&_esc=publicationCoverPdf
https://www.researchgate.net/publication/271839748_DIGITAL_MODULATIONS_IN_MATLAB?enrichId=rgreq-44b39e7d5147c66467c6220e3a743272-XXX&enrichSource=Y292ZXJQYWdlOzI3MTgzOTc0ODtBUzoxOTM1NDQ2ODM2MTQyMTFAMTQyMzE1NjA1NjM1Mg%3D%3D&el=1_x_3&_esc=publicationCoverPdf
https://www.researchgate.net/?enrichId=rgreq-44b39e7d5147c66467c6220e3a743272-XXX&enrichSource=Y292ZXJQYWdlOzI3MTgzOTc0ODtBUzoxOTM1NDQ2ODM2MTQyMTFAMTQyMzE1NjA1NjM1Mg%3D%3D&el=1_x_1&_esc=publicationCoverPdf
https://www.researchgate.net/profile/Rogelio-Salinas-Urtiz-2?enrichId=rgreq-44b39e7d5147c66467c6220e3a743272-XXX&enrichSource=Y292ZXJQYWdlOzI3MTgzOTc0ODtBUzoxOTM1NDQ2ODM2MTQyMTFAMTQyMzE1NjA1NjM1Mg%3D%3D&el=1_x_4&_esc=publicationCoverPdf
https://www.researchgate.net/profile/Rogelio-Salinas-Urtiz-2?enrichId=rgreq-44b39e7d5147c66467c6220e3a743272-XXX&enrichSource=Y292ZXJQYWdlOzI3MTgzOTc0ODtBUzoxOTM1NDQ2ODM2MTQyMTFAMTQyMzE1NjA1NjM1Mg%3D%3D&el=1_x_5&_esc=publicationCoverPdf
https://www.researchgate.net/institution/Universidad_de_Colima2?enrichId=rgreq-44b39e7d5147c66467c6220e3a743272-XXX&enrichSource=Y292ZXJQYWdlOzI3MTgzOTc0ODtBUzoxOTM1NDQ2ODM2MTQyMTFAMTQyMzE1NjA1NjM1Mg%3D%3D&el=1_x_6&_esc=publicationCoverPdf
https://www.researchgate.net/profile/Rogelio-Salinas-Urtiz-2?enrichId=rgreq-44b39e7d5147c66467c6220e3a743272-XXX&enrichSource=Y292ZXJQYWdlOzI3MTgzOTc0ODtBUzoxOTM1NDQ2ODM2MTQyMTFAMTQyMzE1NjA1NjM1Mg%3D%3D&el=1_x_7&_esc=publicationCoverPdf
https://www.researchgate.net/profile/Rogelio-Salinas-Urtiz-2?enrichId=rgreq-44b39e7d5147c66467c6220e3a743272-XXX&enrichSource=Y292ZXJQYWdlOzI3MTgzOTc0ODtBUzoxOTM1NDQ2ODM2MTQyMTFAMTQyMzE1NjA1NjM1Mg%3D%3D&el=1_x_10&_esc=publicationCoverPdf
Universidad de Colima 
 Facultad de Telemática 
 
Colima, col. A 24 de Octubre del 2014 
 
Gráficas de Modulaciones Digitales 
 
 Comunicaciones Digitales 
Profr. Ismael Amezcua Valdovinos 
Sem/Gpo. 5°G 
INGENIERÍA EN TELEMÁTICA 
 
ALUMNO 
SALINAS URTIZ ROGELIO RAFAEL 
 
Facultad de Telemática 
* Comunicaciones Digitales * 
 
Gráficas de Modulaciones de Pulsos Digitales Página 2 de 12 
 
Introducción 
Dentro de los temas abarcados en este segundo parcial fueron las modulaciones digitales entre ellas 
encontramos tales como: PAM, PWM, PPM, PCM, ASK, FSK, PSK y QAM. Como primera instancia fue la 
investigación de su funcionamiento, análisis matemático y representación. Por lo tanto ahora se debe 
realizar una ejemplificación mediante un programa de análisis de señales como Octave o Matlab para 
poder demostrar cómo se pueden realizar algunas de estas modulaciones en base a ciertos valores de 
entrada. En mi caso seleccioné el software Matlab dado a su amplia utilización y más amplia cantidad de 
fuentes de información sobre el mismo. 
 
Desarrollo 
 
 Modulación ASK 
 
Es una modulación de amplitud donde la señal moduladora, los datos, son digitales. Los dos valores 
binarios se representan con dos amplitudes diferentes y es usual que una de las dos amplitudes sea cero; 
es decir uno de los dígitos binarios se representa mediante la presencia de la señal portadora a amplitud 
constante, y el otro dígito se representa mediante la ausencia de la señal portadora. En este caso la señal 
moduladora 
 
 
En la modulación digital de amplitud (ASK), la amplitud de la portadora sinusoidal se conmuta entre dos 
valores en respuesta al código PCM. Por ejemplo, el valor 0 se puede transmitir como una amplitud de A 
volts, mientras que el estado 1 se transmite como una señal sinusoidal de amplitud de B volts. La señal 
ASK resultante consiste en impulsos modulados, llamados marcas, que representan el estado 1, y 
espacios que representan el estado 0. Este tipo de modulación se conoce también con el nombre de 
“modulación OOK (On-Off Keying), donde A=0 volts 
 
 
Facultad de Telemática 
* Comunicaciones Digitales * 
 
Gráficas de Modulaciones de Pulsos Digitales Página 3 de 12 
 
function ASK(g,f) 
 
%Modulación ASK 
%Ejemplo: 
%ASK([0 0 1 1 0],2) 
%La función para modulación ASK recibe 2 parámetros 
%Recibe un vector de elementos en binarios para la señal de entrada 
%Y recibe un valor para la frecuencia 
 
if nargin > 2 %%Número de argumentos de entrada de la función en este caso "g" y "f" 
se evalua si son más de 2 
 error('Demasiados argumentos de entrada') 
elseif nargin==1 %%En caso de que solo se coloque el argumento de la entrada en 
binario el valor de la frecuencia valdrá 1 
 f=1; 
end 
 
if f<1; %%Si la f es menos que 1 no se puede trabajar dado que no es un valor 
visiblemente válido para una frecuencia 
 error('Frecuencia debe ser mayor que 1'); 
end 
 
 t=0:2*pi/99:2*pi; %%Aquí se maneja como "T" el Periodo de nuestra señal 
 cp=[];sp=[]; 
 mod=[];mod1=[];bit=[]; 
 
for n=1:length(g); %%Con este ciclo for se recorre desde 1 hasta "n" elementos que 
tenga nuestro vector de la señal binaria de entrada para generar modulación 
 if g(n)==0; %%Si el valor es cero entonces 
 die=ones(1,100); %% Si es cero se mantienen los valores La función "ONES" nos 
genera un vector 2D de todos unos en este caso de 1-by-100 
 se=zeros(1,100); %% Con la función ZEROS no genera un vector 2D de ceros todos 
en este caso 1-by-100 
 else g(n)==1; 
 die=2*ones(1,100); %amplitud 2 para un uno de la secuencia de entrada (En dado 
caso de que se 
 se=ones(1,100); %amplitud 2 para un cero de la secuencia de entrada 
 end 
 
 %%Todo este proceso se realiza con cada iteración dado que va ligado con cada uno 
de los bits de entrada 
 c=sin(f*t); %% Aquí se nos genera la señal modulada en ASK 
 cp=[cp die]; %%Aquí es donde se nos localizan los unos y ceros evaluados 
 mod=[mod c]; %%Aquí se ubica la modulación en base a la señal 
 bit=[bit se]; 
 
end 
ask=cp.*mod; %%Se realiza el producto punto de vectores en CP donde están los ceros y 
unos y la modulación 
 
%%Con subplot generamos nuestro plano en este caso los 3 valores nos 
%%indican las filas, columnas y puntos eje (cruce) o "axes" 
%%En el plot nos genera un plano de 2 dimensiones en los ejes x,y 
%%Grid on nos permite mostrar el cuadriculado en la imagen de gráfica 
%%Se coloca un título a la página para identificarla 
%%El comando AXIS nos permite modificar los ejes y apariencia de la gráfica 
%%para el primer valor en este caso CERO es el valor mínimo en "x" 
%%El 100*length(g) es como valor máximo de "x" que todo ira en proporción 
%%de la cantidad de valores que le demos de entrada 
%%Los otros 2 son los valores mínimos y máximos respectivamente del eje "y" 
subplot(2,1,1);plot(bit,'LineWidth',1.5); grid on; 
title('Señal Binaria'); 
axis([0 100*length(g) -3 3]); 
Facultad de Telemática 
* Comunicaciones Digitales * 
 
Gráficas de Modulaciones de Pulsos Digitales Página 4 de 12 
 
 
 
subplot(2,1,2);plot(ask,'LineWidth',1.5);grid on; 
title('Modulación ASK'); 
axis([0 100*length(g) -3 3]); 
 
 
 
Diferentes resultados arrojados 
 
Datos de entrada 
g = [1 1 0 1 0 1] 
f = 2 
 
 
 
 
 
 
 
 
 
 
Fueron 6 bits de entrada entonces el eje “x” se expande desde 100 * 6 que es la cantidad de bits entonces 
el valor máximo es 600 
La altura mínima es -3 y la máxima es 3 que se ve reflejada. 
El valor de Grid On nos permite visualizarla cuadrícula punteada. 
 
La parte del comando axis 
se ve reflejado en los ejes 
Facultad de Telemática 
* Comunicaciones Digitales * 
 
Gráficas de Modulaciones de Pulsos Digitales Página 5 de 12 
 
 
Datos de entrada 
g = [1 1 0 1 0 1] 
f = 3 
 
 
 
 
El valor de “f” nos indica la frecuencia que se está manejando en este caso es de 3 ciclos como tal. 
 
Datos de entrada 
g = [1 1 0 1 0 1 1 0 0 1 0] 
f = 1 
 
 
 
Se introduce una señal de 11 términos con un frecuencia de 1 
 
 
 
 
Para los “1” en 
binario queda 
de 2 la 
amplitud 
Para los de “0” 
queda de 1 
Facultad de Telemática 
* Comunicaciones Digitales * 
 
Gráficas de Modulaciones de Pulsos Digitales Página 6 de 12 
 
 
Modulación PSK 
 
La modulación por desplazamiento de fase o PSK es una forma de modulación angular que 
consiste en hacer variar la fase de portadora entre un número de valores discretos. 
 
Transmitir por desplazamiento en fase (PSK) es otra forma de modulación angular, modulación digital de 
amplitud constante. El PSK es similar a la modulación en fase convencional, excepto que con PSK la señal 
de entrada es una señal digital binaria y son posibles un número limitado de fases de salida 
 
 
 
 
 
 
 
Desplazamiento que se da en base al valor de cambio 
 
 
 
 
 
 
 
 
 
 
 
 
 
Facultad de Telemática 
* Comunicaciones Digitales * 
 
Gráficas de Modulaciones de Pulsos Digitales Página 7 de 12 
 
function PSK(g,f) 
 
%Modulación PSK 
%Ejemplo para ingresar datos: 
%PSK([1 0 1 1 0],2) 
%La función para modulación PSK recibe 2 parámetros 
%Recibe un vector de elementos en binarios para la señal de entrada 
%Y recibe un valor para la frecuencia 
 
if nargin > 2 %%Número de argumentos de entrada de la función en este caso "g" y "f" 
se evalua si son más de 2 
 error('Demasiados argumento de entrada'); 
elseif nargin==1 %%En caso de que solo se coloque el argumento de la entrada en 
binario el valor de la frecuencia valdrá 1 
 f=1; 
end 
 
if f<1; %%Si la f es menos que 1 no se puede trabajar dado que no es un valor 
visiblemente válido para una frecuencia 
 error('Frecuencia tiene que se mayor que 1'); 
end 
 
t=0:2*pi/99:2*pi; %%Aquí se maneja como "T" el Periodo de nuestra señal 
cp=[];sp=[]; 
mod=[];mod1=[];bit=[]; 
 
for n=1:length(g); %%Con este ciclo for se recorre desde 1 hasta "n" elementos que 
tenga nuestro vector de la señal binaria de entrada para generar modulación 
 if g(n)==0; %%Si el valor es cero entonces 
 die=-ones(1,100); %%Cambio de fase por entrada en cero (Maneja la función ONES en 
negativa por los 180° de cambio de fase) 
 se=zeros(1,100); %%Se utiliza la función ZEROS explicada en ASK 
else g(n)==1; 
 die=ones(1,100); %%Cambio de fase por entrada en uno 
 se=ones(1,100); 
 end 
 
 %%Proceso generado de manera iterativa con el FOR 
 c=sin(f*t); %señal para modular 
 cp=[cp die]; %%Aquí es donde se nos localizan los unos y ceros evaluados 
 mod=[mod c]; %%Aquí se ubica la modulación en base a la señal 
 bit=[bit se]; 
end 
 
bpsk=cp.*mod; %%Se realiza el producto punto de vectores en CP donde están los ceros y 
unos y la modulación 
 
 
%%El mostrado de las gráficas sigue la misma regla en comandos que 
%%con las de ASK manejando el subplot, grid on y el axis para 
%%Adaptación del plano a necesidades. 
 
subplot(2,1,1);plot(bit,'LineWidth',1.5);grid on; 
title('Señal Binaria'); 
axis([0 100*length(g) -3 3]); 
 
 
subplot(2,1,2);plot(bpsk,'LineWidth',1.5);grid on; 
title('Modulación PSK'); 
axis([0 100*length(g) -3 3]); 
 
Facultad de Telemática 
* Comunicaciones Digitales * 
 
Gráficas de Modulaciones de Pulsos Digitales Página 8 de 12 
 
Diferentes resultados arrojados 
Datos de entrada 
g = [1 1 0 0 1 0 1] 
f = 2 
 
 
 
 
El valor de “f” en este caso es de 2 por lo tanto vemos 2 ciclos ya que es su frecuencia de ocurrencia. 
En las marcas rojas podemos ver como al darse el cambio de valor binario ya sea de uno a cero o 
viceversa se puede apreciar el resultado afectado en la modulación por fase. 
 
Datos de entrada 
g = [1 0 1 0 0 1] 
f = 3 
 
 
 
 
 
 
 
 
 
 
 
 f 
Facultad de Telemática 
* Comunicaciones Digitales * 
 
Gráficas de Modulaciones de Pulsos Digitales Página 9 de 12 
 
 
Modulación FSK 
 
Es un tipo de modulación de frecuencia cuya señal modulante es un flujo de pulsos binarios que varía 
entre valores predeterminados. En los sistemas de modulación por salto de frecuencia. La señal 
moduladora hace variar la frecuencia de la portadora, de modo que la señal modulada resultante codifica la 
información asociándola a valores de frecuencia diferentes 
 
 
 
Señal Generada 
 
 
Facultad de Telemática 
* Comunicaciones Digitales * 
 
Gráficas de Modulaciones de Pulsos Digitales Página 10 de 12 
 
function FSK(g,f0,f1) 
 
%FSK modulación 
%Ejemplo:(f0 y f1 deben ser enteros) 
%FSK([1 0 1 1 0],1,2) 
 
if nargin > 3 %%Se evalua que realmente se hayan introducido los 3 parámetros de la 
función 
 error('Demasiados argumentos de entrada') 
elseif nargin==1 %%Si solamente se ingresa la cadena de entrada en binario los valores 
se dan por defecto a 1 y 2 
 f0=1;f1=2; 
elseif nargin==2 %Si se introducen 2 parámetros el tercero se vuelve 2 (f1) 
 f1=2; 
end 
 
%%Se redondean al valor más próximo cada unas de las frecuencias ingresadas 
%%Y se les resta su valor entero original 
 
val0=ceil(f0)-(f0); 
val1=ceil(f1)-(f1); 
if val0 ~=0 || val1 ~=0; %%Se evalua que los valores sean enteros 
 error('Frecuencia debe ser un entero'); 
end 
 
if f0<1 || f1<1; %%Se verifica que las frecuencias sean mayores de 1 
 error('Frecuencia debe ser mayor que 1'); 
end 
 
t=0:2*pi/99:2*pi; %%Aquí se maneja como "T" el Periodo de nuestra señal 
cp=[];sp=[]; 
mod=[];mod1=[];bit=[]; 
 
for n=1:length(g); %%Con este ciclo for se recorre desde 1 hasta "n" elementos que 
tenga nuestro vector de la señal binaria de entrada para generar modulación 
 
 if g(n)==0;%%Si el valor es cero entonces 
 die=ones(1,100); %% Si es cero se mantienen los valores La funcion "ONES" nos 
genera un vector 2D de todos unos en este caso de 1-by-100 
 c=sin(f0*t); %%señal para modular 
 se=zeros(1,100); %% Con la función ZEROS no genera un vector 2D de ceros todos 
en este caso 1-by-100 
 
 else g(n)==1; %%En caso de que sea 1 se obtiene la señal para modular en base a la 
2da frecuencia obtenida 
 
 die=ones(1,100); 
 c=sin(f1*t); 
 se=ones(1,100); 
 
 end 
 
 %%Proceso generado de manera iterativa con el FOR 
 cp=[cp die]; %%Aquí es donde se nos localizan los unos y ceros evaluados 
 mod=[mod c]; %%Aquí se ubica la modulación en base a la señal 
 bit=[bit se]; 
 
end 
 
ask=cp.*mod; %%Se realiza el producto punto de vectores en CP donde están los ceros y 
unos y la modulación 
Facultad de Telemática 
* Comunicaciones Digitales * 
 
Gráficas de Modulaciones de Pulsos Digitales Página 11 de 12 
 
 
%%El mostrado de las gráficas sigue la misma regla en comandos que 
%%con las de ASK manejando el subplot, grid on y el axis para 
%%Adaptación del plano a necesidades. 
 
subplot(2,1,1);plot(bit,'LineWidth',1.5);grid on; 
title('Señal Binaria'); 
axis([0 100*length(g) -3 3]); 
 
subplot(2,1,2);plot(ask,'LineWidth',1.5);grid on; 
title('Modulación FSK'); 
axis([0 100*length(g) -3 3]); 
 
Diferentes resultados arrojados 
Datos de entrada 
g = [1 1 0 0 1 0 1] 
f1 = 1 
f2 = 3 
 
 
 
 
 
 
 
Para la modulación por cambio de frecuencia vemos que tenemos 1 y 3 para los valores negativos se da el 
cambio de frecuencia a “1” y cuando es positivo la entrada se da el cambio a “3”. 
 
f2 f1 
Facultad de Telemática 
* Comunicaciones Digitales * 
 
Gráficas de Modulaciones de Pulsos Digitales Página 12 de 12 
 
Datos de entrada 
g = [0 1 1 0 1 0] 
f1 = 2 
f2 = 4 
 
 
 
Aquíse puede apreciar mejor manejando frecuencias de 2 y 4 podemo ver los cambios en base a las 
entradas en 1 y 0 de la señal binaria. 
 
 
 
Conclusión 
 
Este trabajo nos ayudó para poder así ir manejando un software para señales ya que será de utilidad para 
la realización del proyecto integrador tanto en la asignatura de comunicaciones digitales como en la de 
análisis de señales. 
 
Así mismo esto nos ayuda a conocer mejor las distintas modulaciones digitales que hay como se ven ya en 
un graficador. 
 
 
 
 
 
View publication stats
https://www.researchgate.net/publication/271839748

Otros materiales