You are on page 1of 6

Prctica 3 Modulaciones Digitales: Simulaciones con Matlab

Laboratorio de Procesado de Seal en Comunicaciones

Inma Hernaez Pedro M Pacho Curso 2004-2005

LABORATORIO

DE

PROCESADO DIGITAL

DE LA

SEAL

EN

COMUNICACIONES

CURSO 2004-2005

1 VISUALIZACIN DE LAS CONSTELACIONES


La funcin modmap del Matlab permite mapear de forma muy sencilla datos digitales en diferentes constelaciones. En este apartado nos limitaremos a aprender a mapear un cierto nmero M de smbolo en para generar dichas constelaciones 2D. a) Considerando un mensaje digital de M niveles comienza utilizando dicha funcin de la siguiente forma: modmap('ask',M);pause; modmap('qsk',M);pause; modmap('psk',M);pause; Prueba y observa los resultados para M=4, 8, 32, 64, 256. Explica brevemente las caractersticas ms importantes que diferencian estas modulaciones entre s. b) Con esta misma funcin puedes obtener el valor mapeado

correspondiente a un determinado valor digital. As, si por ejemplo ejecutas: Y=modmap([0 1 2 3 4 5 6 7],1, 1, ask, 8) En el vector Y obtendrs los valores de los puntos de la constelacin correspondientes a los 8 smbolos posibles para la modulacin ASK con M=8 niveles. Repite el comando anterior para las modulaciones qsk y psk. Dibuja los resultados (indica los smbolos asociados a cada punto de la constelacin sobre una grfica, tal y como ocurre en el caso de la modulacin qsk. c) Observa detalladamente la constelacin QSK (conocida tambin como QAM) para M=32. Fjate en el mapeo realizado (asociacin bits smbolo realizada). Qu tiene de particular? Conoces el nombre de esta codificacin? Cul crees que es el motivo de utilizar dicho mapeo? d) Aunque hasta ahora hemos dejado que Matlab realice los mapeos, es posible utilizar el mapeo que se desee, utilizando la funcin modmap con 1

LABORATORIO

DE

PROCESADO DIGITAL

DE LA

SEAL

EN

COMUNICACIONES

CURSO 2004-2005

el mtodo qsk/arb, e indicndole en un par de vectores los valores deseados para los smbolos. Prueba con los siguientes comandos: Inph=[1/2 1 1 1/2 1/2 2 2 5/2]; Quad=[0 1 -1 2 -2 1 -1 0 ]; Inph=[Inph; -Inph]; Inph=Inph(:); Quad=[Quad;Quad]; Quad=Quad(:); modmap('qsk/arb', Inph, Quad); e) En este apartado vamos a obtener un mapeado para la modulacin QAM (o QSK) con M=32 con codificacin o asociacin de smbolos a puntos de la constelacin diferente de la que realiza el Matlab (observada en el apartado c), pero con la misma constelacin. Elige un mapeo de smbolos cualquiera y utiliza el comando

modmap(qsk/arb, In_phase, Quad) para dibujar la constelacin, sabiendo que In_phase y Quad son los vectores que contienen las componentes en fase y en cuadratura de los puntos de la constelacin. El punto de la constelacin para smbolo I, est descrito por los valores de In_phase(I+1) y Quad(I+1). (Recuerda que siempre puedes

consultar la ayuda del Matlab). Adems, debes mantener la misma distancia entre los dos smbolos ms prximos (2). Comprueba los puntos correspondientes a cada smbolo con: Y=modmap([0:1:M-1],1, 1, qsk/arb, In_phase, Quad) Dibuja la constelacin obtenida junto con los valores asociados a cada punto de la constelacin. Fjate que puedes obtener los valores de las componentes en fase y cuadratura de los smbolos correspondientes a cualquier secuencia de smbolos simplemente haciendo: Y=modmap(secuencia,1, 1, qsk/arb, In_phase, Quad)

LABORATORIO

DE

PROCESADO DIGITAL

DE LA

SEAL

EN

COMUNICACIONES

CURSO 2004-2005

En la primera columna de Y obtendrs la secuencia en fase y en la segunda columna la secuencia en cuadratura. Genera una secuencia aleatoria de 1000 elementos que utilice el alfabeto de 32 smbolos, y obtn las componentes en fase y cuadratura correspondientes. Hazlo para las constelaciones del apartado c) y la tuya propia generada en el apartado e). Representa la secuencia temporal obtenida para ambas secuencias. f) Tambin puedes generar constelaciones circulares arbitrarias. Utiliza la ayuda del Matlab y prueba el resultado del siguiente comando: modmap('qask/cir', [24 8], [1 1/2], [0 pi/10]); Cmo se han asignado los smbolos a los puntos de la constelacin en este ejemplo? Dibjalo. Practica generando diferentes modulaciones circulares. Calcula las componentes en fase y en cuadratura para la misma secuencia del apartado anterior para una modulacin PSK con M=32.

2 COMPARACIN DE MODULACIONES
a) Usar la funcin randint para generar una secuencia de 1000 muestras, uniformemente distribuidas e independientes, con un nivel mximo M. Usar la funcin modmap para mapear la secuencia a la constelacin proporcionada por Matlab para PSK. Visualizar los smbolos para M=2, M=4 y M=32. b) Usar la funcin rcosine con diferentes valores del factor de roll-off, visualizar la seal generada y el espectro de la seal. Explicar la relacin entre roll-off y canal limitado a W, as como la interferencia entre smbolos. c) Mapear las secuencias generadas en el apartado a) al filtro coseno alzado usando la funcin rcosflt con factor de roll-off 0.5, y usando 3

LABORATORIO

DE

PROCESADO DIGITAL

DE LA

SEAL

EN

COMUNICACIONES

CURSO 2004-2005

filtrado FIR para ser transmitidas a travs de un canal W=3/Tsymbol. Visualizar las seales y corregir el desfase introducido por la implementacin del filtro. d) Usar las funciones eyediagram y ScatterPlot sobre la seal del apartado c). Explicar las representaciones grficas. e) Usar la funcin awgn para aadir ruido gaussiano blanco a los smbolos previos a la etapa de transmisin. Repetir los apartados c) y d) y comparar los resultados obtenidos, explicando las caractersticas modificadas. f) Usar la funcin demodmap y calcular la probabilidad de error para cada M=2, 4, 32. Obtener SNR para PE < 10*10 -3 y construir una tabla con los resultados. g) Repetir los pasos a) y f) para ask y qask. h) Comparar las modulaciones entre s con los valores obtenidos y con los valores tericos.

You might also like