Вы находитесь на странице: 1из 8

viernes, 17 de noviembre de 2017

Modulacin Digital utilizando MATLAB


Guillermo G. Capetillo V.
Universidad Politcnica de Puebla, Tercer Carril del Ejido Serrano s/n,
San Mateo Cuanal, Juan C. Bonilla, Puebla, Pue. CP. 72640
Modulaciones Digitales MOD-ES

1. INTRODUCCIN
Esta prctica de laboratorio virtual fue elaborada para poner a prueba y
a comprobacin los distintos tipos de modulaciones digitales en banda
base comnmente utilizados para transmisin de datos. Los esquemas
de modulacin que incluye este reporte son; ASK (Amplitude Shift Keying),
FSK (Frequency Shift Keying) y PSK (Phase Shift Keying) los cuales fueron
programados y simulados utilizando el entorno MATLAB.
1.1. ASK
Es una modulacin de amplitud donde la seal moduladora (datos)
es digital. 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 dgitos binarios se representa mediante la presencia de la
portadora a amplitud constante, y el otro dgito se representa
mediante la ausencia de la seal portadora.
1.2. FSK
Es una modulacin de frecuencia donde la seal moduladora (datos)
es digital. Los dos valores binarios se representan con dos frecuencias
diferentes (f1 y f2) prximas a la frecuencia de la seal portadora fp.
Generalmente f1 y f2 corresponden a desplazamientos de igual
magnitud, pero en sentidos opuestos de la frecuencia de la seal
portadora.
1.3. PSK
Es una modulacin de fase donde la seal moduladora (datos) es
digital.
Existen dos alternativas de modulacin PSK: PSK convencional, donde
se tienen en cuenta los desplazamientos de fase y PSK diferencial, en
la cual se consideran las transiciones [1].

2. DESARROLLO
Para poder interactuar con el usuario se decidi realizar una interfaz
grfica con MATLAB GUI la cual contiene todo los necesario para que la
persona que utilice esta aplicacin pueda modificar los distintos
parmetros de una seal de salida deseada, tales como, amplitud,
frecuencia, fase, tipo de modulacin etc. Utilice como referencia la
ilustracin 2.1 la cual representa la interfaz principal del sistema.
Figura 2.1. Interfaz grfica del sistema de modulacin digital en banda base

Para tener un mejor entendimiento de cmo funciona y realiza las


operaciones algebraicas y aritmticas con la informacin contine con
las subsecciones siguientes.
2.1. Programacin ASK
Para realizar el script en MATLAB que realic las operaciones debidas,
ser necesario crear una funcin que reciba como parmetros la
amplitud, frecuencia y fase de la seal de salida junto con el arreglo de
bits de entrada, recuerde que son dos bits por smbolo para el caso de
este proyecto. Por lo cual, localic la tabla 2.1.1 que es un resumen de
los parmetros de entrada y salida.

Tabla 2.1.1. Parmetros de la funcin ASK

Entrada Salida
Amplitud
Frecuencia Arreglo de tiempo
Fase Arreglo de funcin y(t)
Arreglo de bits

Ser necesario realizar un ciclo MIENTRAS (While) con la condicin de que


N (variable iteradora) comience en 1 hasta llegar a L (L es el nmero de
elementos con el que cuenta el arreglo de bits de entrada). Al final de cada
iteracin N se actualiza como N++. Desempear lo siguiente:

Sea un h un arreglo de dos bits por cada smbolo para cada caso de
combinacin de elementos, hacer t = n-1:0.001: n
h(n) == 00
GRAFICAR
y = 0
h(n) == 01

2
GRAFICAR
y = amp*sin(2*pi*freq*t+ (tetha*2*pi)/360)
h(n) == 10
GRAFICAR
y = 1.5*amp*sin(2*pi*freq*t+ (tetha*2*pi)/360)
h(n) == 11
GRAFICAR
y = 2*amp*sin(2*pi*freq*t + (tetha*2*pi)/360)

donde n es el ndice del arreglo en el cual se extrae los datos de inters.


Al final del ciclo ALMACENAR todos los puntos creados [t,y] para su uso posterior en el
programa principal.

Se utiliza el pseudocdigo anterior como modelo conceptual para


desarrollar el script de MATLAB de la figura 2.1.1

%Guillermo G. Capetillo Velazco


% Proyecto de modulaciones digitales
function [b,d] = ASKmod(amplitud,frecuencia,fase,h)
%[b,d] es anlogo a la salida [t,y]
n = 1; %variable iteradora (recorre cada ndice del vector entrada h)
a = {}; %cell array de t
b = []; %arreglo final de t;
c = {}; %cell array de y
d = []; %arreglo final de y
L = length(h); %tamao de h
amp = amplitud; %amplitud portadora
freq = frecuencia; %frecuencia de la portadora
tetha = fase; %theta est en grados
%creacin de grafica (t,y)
% 00 equivale a 0v
% 01 equivale a amplitud min
% 10 equivale a 1.5*amplitud min
% 11 equivale a 2*amplitud min
while n<=L
t = n-1:0.001:n;
if h(n) == 11
y = 2*amp*sin(2*pi*freq*t + (tetha*2*pi)/360);
elseif h(n) == 10
y = 1.5*amp*sin(2*pi*freq*t+ (tetha*2*pi)/360);
elseif h(n) == 1
y = amp*sin(2*pi*freq*t+ (tetha*2*pi)/360);
else
y = (t>n); %cero v
end
y = double(y); %logic -> double
a{1,n} = t; %refrescar nuevos elementos de t
c{1,n} = y; %refrescar nuevos elementos de y
n=n+1;
end
b = cell2mat(a); %arreglo con todos los elementos de t
d = cell2mat(c); %arrreglo con todos los elementos de y

Figura 2.1.1. Script de la funcin ASK

2.2. Programacin FSK


De manera similar a la anterior se modifica el pseudocdigo para
adaptarlo ahora a variar la frecuencia de la seal de salida. Analice el
pseudocdigo siguiente que simplifica el proceso de obtencin de una
modulacin FSK.

Ser necesario realizar un ciclo MIENTRAS (While) con la condicin de que

3
N (variable iteradora) comience en 1 hasta llegar a L (L es el nmero de
elementos con el que cuenta el arreglo de bits de entrada). Al final de cada
iteracin N se actualiza como N++. Desempear lo siguiente:

Sea un h un arreglo de dos bits por cada smbolo para cada caso de
combinacin de elementos, hacer t = n-1:0.001: n
h(n) == 00
GRAFICAR
y = amp*sin(2*pi*freq*t+(tetha*2*pi)/360)
h(n) == 01
GRAFICAR
y = amp*sin(2*pi*2*freq*t+(tetha*2*pi)/360)
h(n) == 10
GRAFICAR
y = amp*sin(2*pi*5*freq*t+(tetha*2*pi)/360)
h(n) == 11
GRAFICAR
y = amp*sin(2*pi*10*freq*t+(tetha*2*pi)/360)

donde n es el ndice del arreglo en el cual se extrae los datos de inters.


Al final del ciclo ALMACENAR todos los puntos creados [t,y] para su uso posterior en el
programa principal.

Se utiliza el pseudocdigo anterior como modelo conceptual para


desarrollar el script de MATLAB de la figura 2.2.1

%Guillermo G. Capetillo Velazco


% Proyecto de modulaciones digitales
function [b,d] = FSKmod(amplitud,frecuencia,fase,h)
%[b,d] es anlogo a la salida [t,y]
n = 1; %variable iteradora (recorre cada indice del vector entrada h)
a = {}; %cell array de t
b = []; %arreglo final de t;
c = {}; %cell array de y
d = []; %arreglo final de y
L = length(h); %tamao de h
%parmetros de la seal de salida
amp = amplitud; %amplitud portadora
freq = frecuencia; %frecuencia de la portadora
tetha = fase; %theta esta en grados
% 00 equivale a 1*freq
% 01 equivale a 2*freq
% 10 equivale a 5*freq
% 11 equivale a 10*freq
while n<=L
t = n-1:0.001:n;
if h(n) == 11
y = amp*sin(2*pi*10*freq*t+(tetha*2*pi)/360);
elseif h(n) == 10
y = amp*sin(2*pi*5*freq*t+(tetha*2*pi)/360);
elseif h(n) == 1
y = amp*sin(2*pi*2*freq*t+(tetha*2*pi)/360);
else
y = amp*sin(2*pi*freq*t+(tetha*2*pi)/360);
end
y = double(y); %logic -> double
a{1,n} = t; %refrescar nuevos elementos de t
c{1,n} = y; %refrescar nuevos elementos de y
n=n+1;
end
b = cell2mat(a); %arreglo con todos los elementos de t
d = cell2mat(c); %arreglo con todos los elementos de y

Figura 2.2.1. Script de la funcin FSK

4
2.3. Programacin PSK
De manera similar a la seccin 2.1 se modifica el pseudocdigo para
adaptarlo ahora a variar la fase de la seal portadora. Analice el
pseudocdigo siguiente que simplifica el proceso de obtencin de una
modulacin PSK. Tambin se recomienda que compare con las
secciones anteriores. Si se percata, las tres funciones cumplen con los
mismos parmetros de entrada y salida como lo indica la tabla 2.1.1.

Ser necesario realizar un ciclo MIENTRAS (While) con la condicin de que


N (variable iteradora) comience en 1 hasta llegar a L (L es el nmero de
elementos con el que cuenta el arreglo de bits de entrada). Al final de cada
iteracin N se actualiza como N++. Desempear lo siguiente:

Sea un h un arreglo de dos bits por cada smbolo para cada caso de
combinacin de elementos, hacer t = n-1:0.001: n
h(n) == 00
GRAFICAR
y = amp*sin(2*pi*freq*t+(tetha*2*pi)/360)
h(n) == 01
GRAFICAR
y = amp*sin(2*pi*freq*t+((90+tetha)*2*pi)/360)
h(n) == 10
GRAFICAR
y = amp*sin(2*pi*freq*t+((180+tetha)*2*pi)/360)
h(n) == 11
GRAFICAR
y = amp*sin(2*pi*freq*t+((270+tetha)*2*pi)/360)

donde n es el ndice del arreglo en el cual se extrae los datos de inters.


Al final del ciclo ALMACENAR todos los puntos creados [t,y] para su uso posterior en el
programa principal.

Se utiliza el pseudocdigo anterior como modelo conceptual para


desarrollar el script de MATLAB de la figura 2.3.1

%Guillermo G. Capetillo Velazco


% Proyecto de modulaciones digitales
function [b,d] = PSKmod(amplitud,frecuencia,fase,h)
%[b,d] es anlogo a la salida [t,y]
n = 1; %variable iteradora (recorre cada indice del vector entrada h)
a = {}; %cell array de t
b = []; %arreglo final de t;
c = {}; %cell array de y
d = []; %arreglo final de y
L = length(h); %tamao de h
%parmetros de la seal de salida
amp = amplitud; %amplitud portadora
freq = frecuencia; %frecuencia de la portadora
tetha = fase; %theta esta en grados
% 00 equivale a 0 grados + tetha
% 01 equivale a 60 grados + tetha
% 10 equivale a 120 grados + tetha
% 11 equivale a 180 gados + tetha

a)

5
while n<=L
t = n-1:0.001:n;
if h(n) == 11
y = amp*sin(2*pi*freq*t+((270+tetha)*2*pi)/360);
elseif h(n) == 10
y = amp*sin(2*pi*freq*t+((180+tetha)*2*pi)/360);
elseif h(n) == 1
y = amp*sin(2*pi*freq*t+((90+tetha)*2*pi)/360);
else
y = amp*sin(2*pi*freq*t+(tetha*2*pi)/360);
end
%y = double(y); %logic -> double
a{1,n} = t; %refrescar nuevos elementos de t
c{1,n} = y; %refrescar nuevos elementos de y
n=n+1;
end
b = cell2mat(a); %arreglo con todos los elementos de t
d = cell2mat(c); %arreglo con todos los elementos de y

b)

Figura 2.3.1. Script de la funcin PSK


a) Primera parte (lneas 1-18)
b) Segunda parte (lneas 19-36)

2.4. Resultados de la simulacin

Con todos los controles e indicadores numricos programados (refirase


al archivo ModulacinDigital.m) se simula el siguiente arreglo de bits con
los parmetros correspondientes:
Arreglo de entrada = [00 10 01 01 11 10 10 11]
Frecuencia = 2 Hz
Fase = 0 (seno)
Amplitud = 5V (pico)

Observe la ilustracin 2.4.1 la cual representa los datos anteriores


ingresados al programa principal de la interfaz grfica creada en
MATLAB.

Figura 2.4.1. Datos ingresados a la ventana principal

A continuacin, observe la seal en banda base resultante y comprelas


con los distintos tipos de modulacin en la portadora para el
correspondiente arreglo de bits de entrada. Utilice la figura 2.4.2 como
referencia para realizar dichas comparaciones. Dicha figura es evidencia
del correcto funcionamiento de la interfaz grfica diseada y
programada utilizando MATLAB.

6
a)

b)

c)

d)

Figura 2.4.2. Simulacin del proyecto de Modulacin Digital


a) Banda Base
b) ASK
c) FSK
d) PSK

7
3. CONCLUSIN
Como se pudo comprobar las modulaciones digitales son importantes
para poder transmitir informacin por medio de seales elctricas
dndole una serie de cambios en uno o ms de sus parmetros para que
de esta forma el equipo de recepcin pueda recibir de la manera ms
fiel la informacin que es enviada por el emisor. Las tres tcnicas de
modulacin presentadas; amplitud, frecuencia y fase son las ms
utilizadas ya que para realizar los sistemas electrnicos que realicen
dichas modulaciones son relativamente de bajo costo y tiempo para
producir seales. Para el caso de este reporte, era necesario contar con
la teora y principios de los esquemas de modulacin antes de poder
encapsularlos y extraerlos a cdigo de MATLAB, una vez entendido los
conceptos se lleva a cabo la programacin y comprobar que los
resultados de las simulaciones son los indicados. Note que las pruebas
realizadas como aparecen en la figura 2.4. dependiendo de la
combinacin de bits {00, 01, 10, 11} y del tipo de modulacin
seleccionado, ser el comportamiento que tome la seal portadora de
la informacin digital.
El programa ejecuta de manera apropiada, pero no significa que no
tenga bugs. Por ejemplo, si el usuario ingresa una cadena de caracteres
a uno de los controles numricos, el sistema no realizar nada sin
embargo la maquina no est diseada para manipular datos de tipo
String. Tampoco servir si se le introducen aquellos nmeros diferentes de
1s y 0s, pues las sentencias condicionales (IFs) solo funcionan para los
distintos casos de combinaciones de dos bits dentro de un arreglo.

REFERENCIAS
[1] Presentacin PPT Tcnicas de Modulacin. Noviembre 2017. Elaborado por Dra.
Carolina Rosas Huerta. Universidad Politcnica de Puebla.

Вам также может понравиться