You are on page 1of 11

PRÁCTICA 6 MODULACIÓN DIGITAL EN BANDA BASE

MODULADOR Y DEMODULADOR

OBJETIVO:

Construcción de los bloques de procesamiento de señales digitales necesarios para operar un enlace de comunicación inalámbrica digital. (Mapeo, máxima verisimilitud, probabilidad de error) Construir un modem digital de banda base que pueda utilizar modulación BPSK y QPSK.

MARCO TEÓRICO:

El sistema considerado se ilustra en la Figura 6.1. El modem transmite símbolos y aplica un algoritmo de detección asumiendo un canal AWGN. El transmisor transforma los bits en elementos de una constelación de símbolos. A la secuencia de símbolos se le aplica upsampling, y luego se la filtra para crear una nueva señal discreta con cierta forma de pulso. Luego la secuencia filtrada pasa a través de un convertidor discreto a continuo para finalmente ser amplificada. El receptor muestrea la señal recibida y la pasa a través del filtro de formación de pulsos del receptor, conocido como filtro de acoplamiento. Luego, los símbolos filtrados pasan a través de un bloque de detección de símbolos para estimar el símbolo transmitido por cada muestra observada. Posteriormente, los símbolos detectados pasan por un bloque de mapeo inverso de símbolos para traducir los símbolos estimados en bits.

PRÁCTICA 6 MODULACIÓN DIGITAL EN BANDA BASE MODULADOR Y DEMODULADOR OBJETIVO: Construcción de los bloques de

FIGURA 6. 1

MODULACIÓN

La modulación digital consiste en el mapeo de una secuencia de bits a un conjunto (finito) de señales analógicas que son apropiadas para la transmisión sobre un canal particular. Existen muchos tipos de modulación. Este laboratorio y los posteriores se centran en lo que se conoce como modulación de amplitud de pulsos complejos. Con esta técnica de modulación, los símbolos son modulados en formas de pulsos.

La fuente para la modulación digital es una secuencia de bits

. La secuencia de bits es

llevada

a

la

capa

física

inalámbrica

desde

las

capas

superiores

de

un

sistema

de

comunicaciones.

 

La secuencia de bits es procesada por un bloque de mapeo de símbolos, el cual produce la

secuencia de símbolos

. Esencialmente, cada valor de

es un número complejo que

proviene de un conjunto finito de símbolos llamado constelación y representado de la siguiente forma:

Las elementos de la constelación son valores complejos, excepto para BPSK. El tamaño de la constelación, o cardinalidad, se denota , donde es el número de símbolos en la

constelación. Para la aplicación práctica

, donde

es el número de bits por símbolo, de

tal forma que un grupo de bits de entrada de tamaño se pueda mapear a un símbolo.

Esta práctica considera dos de las modulaciones más comúnmente encontradas en sistemas inalámbricos comerciales.

Binary Phase Shift Keying (BPSK) donde:

 

Esta es sin duda la constelación más simple de utilizar. El mapeo de bits a símbolos se

representa en la Tabla componentes imaginarios.

6.A.

BPSK es

una

constelación real,

ya

que no contiene

Quadrature Phase Shift Keying (QPSK) es una generalización compleja de BPSK con:

Esencialmente QPSK utiliza BPSK para el componente real y BPSK para el componente imaginaria. QPSK es también conocido como 4-QAM. El mapeo de bits a símbolos se representa en la Tabla 6.B.

TABLA 6.A

Bit de entrada

Símbolo

   
   

TABLA 6.B

Bits de entrada Símbolo
Bits de entrada
Símbolo

Para la implementación y análisis, es conveniente normalizar la constelación a la energía unitaria. Esto significa escalar la constelación de tal manera que:

La constelación normalizada QPSK se ilustra en la Figura 6.2.

TABLA 6.B Bits de entrada Símbolo Para la implementación y análisis, es conveniente normalizar la constelación

FIGURA 6. 2

Los símbolos toman una forma de pulso y son escalados por compleja de banda base.

para producir la señal

(6.1)

El factor de escalamiento

es usado para modelar el efecto de añadir energía o potencia a

. Este factor de escalamiento es añadido comúnmente en el sistema de RF, por el controlador de ganancia del amplificador de potencia de transmisión. La forma de pulso está dada por la función . Para preservar la energía, la función de formación de pulsos se

asume como normalizada de tal forma que por . La tasa de símbolo es

. El periodo de símbolo está dado

Nos referimos a

como una señal de amplitud de pulso compleja porque los símbolos

complejos modulan a una sucesión de pulsos dados por la función

. Efectivamente, los

símbolos moldean al pulso . La tasa de símbolo correspondiente a en la

Ec. 6.1 es

y su unidad es símbolos por segundo. Note que

no es necesariamente el

ancho de banda de

, el cual depende de

. La tasa de bit es

(para

símbolos en

la constelación) y se mide en bits por segundo. La tasa de bit es una medida del número de bits

por segundo que la señal de banda base

transporta.

Las señales complejas de banda base son utilizadas por conveniencia notacional. La señal es compleja porque facilita el proceso de conversión a una señal de pasa banda utilizando una frecuencia de portadora. Luego del la conversión, la señal pasa banda resultante será . La conversión a una frecuencia de pasa banda superior se realiza en el hardware analógico. La señal será enviada desde las antenas de transmisión hacia el ambiente de propagación.

Para su implementación práctica, la formación de pulsos se realiza en el tiempo discreto. Una

manera de implementar la formación de pulsos se ilustra en la Figura 6.1. La idea es usar un

convertidor discreto a continuo que opera a un periodo de

es un

entero que

denota el factor de oversampling.

Se

realiza el proceso

donde de upsampling a

la

secuencia de símbolos por un factor de pulsos denotado por

y luego se pasa a través del filtro de formación de

.

DETECCIÓN EN EL RECEPTOR

Cuando una señal se propaga a través de un canal inalámbrico, se verá afectada por el ruido y otros tipos de distorsión del canal. Estos tipos de distorsión influyen en la arquitectura del receptor y en el diseño de los algoritmos de procesamiento de señales. En esta práctica de laboratorio, se asume que la señal transmitida sólo se ve afectada por AWGN.

El canal de comunicación AWGN es un buen modelo para las distorsiones debidas al ruido térmico presente en cualquier sistema de comunicación inalámbrico. Matemáticamente:

Donde

es la señal compleja de banda base,

es el AWGN, y

es la señal recibida.

La asunción de que

es el ruido AWGN significa que es una variable aleatoria Gaussiana

compleja, independiente e idénticamente distribuida. En presencia de ruido térmico, la

varianza total es , donde es la constante de Boltzman

y

la

temperatura de

ruido efectiva

del

dispositivo

es

medida en

grados Kelvin. La

temperatura efectiva de ruido es una función de la temperatura ambiente, el tipo de antenas,

así como de las propiedades del material del extremo frontal analógico.

Bajo la estructura de transmisión asumida, la estructura óptima del receptor incluye un filtro de acoplamiento, un muestreo a la tasa de símbolo, y detección. La estructura que se implementará en esta práctica se ilustra en la Figura 6.1. La señal recibida , que se asume que es limitada en ancho de banda, se muestrea con una tasa de muestreo de . La tasa de

muestreo debe ser tal que cumpla el criterio de Nyquist. En este laboratorio se asume que

, donde es filtrada por

es un entero que representa el factor de oversampling. La señal recibida

donde

es el filtro de acoplamiento.

Después del filtrado digital, se aplica el proceso de downsampling a la señal por un factor de

para producir la señal muestreada a la tasa de símbolos dada por

. El filtrado digital se

lleva

a

cabo

de

tal

manera

que

es

el

equivalente

a

muestreada a

 

.

Bajo las consideraciones acerca de la forma de pulsos de transmisión y recepción, descritos con más detalle en una siguiente práctica, un modelo para la señal recibida es:

Donde

es el ruido Gaussiano estadísticamente independiente con

, donde

para un ruido térmico AWGN complejo. Un detector de símbolo es un algoritmo que dada la observación

, produce las mejores

estimaciones de de acuerdo con algún criterio de decisión. En esta práctica se considera el criterio de decisión de máxima verosimilitud, que se describe:

Donde

es la distribución condicional de

dado

y que se conoce como la función

de probabilidad condicional. Para ruido blanco gaussiano aditivo, la probabilidad condicional tiene una forma simple. Esto permite que el problema de detección sea simplificado:

Esencialmente, el algoritmo funciona de la siguiente manera. Teniendo en cuenta un elemento

observado , que determina el símbolo transmitido

, escalado por

, que está más

cerca de en términos de la distancia euclidiana; en el término de error

. El

algoritmo de la ecuación anterior se puede simplificar mediante la explotación de la estructura y la simetría en la constelación.

MODULACIÓN Y DETECCIÓN EN LABVIEW

Para esta práctica se requiere la construcción de los bloques de mapeo de símbolos (modulate.vi) y detección (decode.vi) de la Figura 6.1. Las Tablas 6.2 y 6.3 describen los detalles de los VIs que se deben implementar.

Modulate.vi.- Mapea la secuencia de símbolos usando la constelación apropiada, normaliza la energía de símbolo de la secuencia de símbolos de salida.

 

Nombre

Tipo de número

Descripción

input bit sequence

Arreglo de U8 (unsigned bytes)

Secuencia de bits de entrada (cada elemento del arreglo toma valores de 0 o

1)

ENTRADAS

modulation type

String

Determina el tipo de modulación (por ej. BPSK o QPSK)

Symbol energy

Double

Determina la energía por símbolo de la secuencia de salida

(Default=1)

SALIDAS

output symbols

Arreglo de CDB (complex double)

Símbolos de salida apropiadamente modulados

 

decode.vi.- Realiza la detección de máxima verisimilitud de una secuencia de símbolos dada.

 

Nombre

Tipo de número

Descripción

input symbols

Arreglo de CDB

Símbolos de entrada a ser decodificados

ENTRADAS

modulation type

String

Determina el tipo de modulación (por ej. BPSK o QPSK)

 

estimated bit

 

Secuencia de bits de

SALIDAS

sequence

Arreglo de U8

salida decodificada

Se recomienda el uso de las siguientes funciones:

Case Structure

Case Structure

UBICACIÓN:

Functions>>Programming>>Structures>>Case Structure

DESCRIPCIÓN:

Tiene uno o más subdiagramas, o casos, de entre los cuales únicamente uno se ejecuta cuando la estructura se ejecuta. El valor conectado al terminal selector determina qué caso se ejecutará y puede ser de tipo:

boolean, string, entero, enumeración, o un cluster de error. Haga clic

 

en el borde de la estructura para agregar o eliminar casos. Utilice la herramienta de Etiquetado para introducir el valor (s) en la etiqueta del selector de caso y configurar el valor (s) a cargo de cada caso.

ENTRADAS:

Selector.

For Loop
 

For Loop

UBICACIÓN:

Functions>>Programming>>Structures>>For Loop

 
 

Ejecuta su subdiagrama

veces, donde

es el valor conectado a la

DESCRIPCIÓN:

terminal de conteo (

). El terminal de iteración ( ) proporciona el valor

de la iteración actual, que va desde a .

 

ENTRADAS:

Conteo (

).

Array Size

Array Size

UBICACIÓN:

Functions>>Programming>>Array>>Array Size

DESCRIPCIÓN:

Retorna el número de elementos en cada dimensión del arreglo.

ENTRADAS:

Arreglo.

SALIDA:

Tamaño del arreglo.

Build Array

Build Array

UBICACIÓN:

Functions>>Programming>>Array>>Build Array

DESCRIPCIÓN:

Concatena arreglos.

ENTRADAS:

Arreglo 1, Arreglo 2, etc.

SALIDA:

Arreglo concatenado.

Index Array

Index Array

UBICACIÓN:

Functions>>Programming>>Array>>Index Array

DESCRIPCIÓN:

Retorna el elemento del arreglo que corresponde al índice.

ENTRADAS:

Arreglo, índice.

SALIDA:

Elemento.

Complex to Polar

Complex to Polar

UBICACIÓN:

Functions>>Numeric>>Complex>>Complex to Polar

DESCRIPCIÓN:

Divide un número complejo en sus componentes polares.

ENTRADAS:

Número complejo.

SALIDA:

R, θ

Se le ha provisto de las plantillas para los VIs que necesita crear en esta práctica los cuales tienen todas las entradas y salidas cableadas para usted. Lo que se requiere es terminar de construir el diagrama de bloques para proporcionar la funcionalidad de los VIs.

Una vez construidos los bloques correspondientes a modulate.vi y decode.vi, deberán insertarse en transmitter.vi y receiver.vi, mostrados en la Figuras 6.3 y 6.4 respectivamente. Colocará sus VIs reemplazando así las versiones bloqueadas que se encuentran en transmitter.vi y receiver.vi. Luego accederá a simulator.vi en donde confirmará a través de simulaciones que sus VIs operan de forma correcta antes de implementarlos en el NI-USRP.

Complex to Polar UBICACIÓN: Functions>>Numeric>>Complex>>Complex to Polar DESCRIPCIÓN: Divide un número complejo en sus componentes polares.

FIGURA 6.3: Diagrama de bloques de transmitter.vi.

Complex to Polar UBICACIÓN: Functions>>Numeric>>Complex>>Complex to Polar DESCRIPCIÓN: Divide un número complejo en sus componentes polares.

FIGURA 6.4: Diagrama de bloques de receiver.vi.

Los parámetros de modulación de entrada (modulation parameters in) contienen muchos de los parámetros que necesitan sus VIs y serán extraídos de ellos a través de la función Unbundled. Algunos VIs también tendrán parámetros de modulación de salida (modulation

parameters out), para que así los parámetros de modulación se puedan transmitir y utilizar en los VIs que siguen.

Después de la construcción de modulate.vi y decode.vi, reemplace los subVI en el transmisor (transmitter.vi) y receptor (receiver.vi) haciendo clic derecho en el VI apropiado y seleccionando Replace>>Select a VI. Recuerde cablear los clusters de error respectivos y ejecute simulator.vi.

PREGUNTAS

Conteste las siguientes preguntas sobre la modulación PSK:

  • 1. PSK es un esquema de modulación de envolvente constante. Esto significa que todos los símbolos tienen la misma energía después de la modulación. ¿Cuál es la energía de los símbolos modulados en BPSK y QPSK mostrados en las Tablas 6.1 (a) y 6.1 (b), respectivamente?

  • 2. En modulate.vi, ¿Cuál debe ser el valor por default de la energía símbolo de la secuencia modulada?

  • 3. Considere de un flujo de bits aleatorios uniformemente distribuidos

 

(es decir,

). Supongamos

es

modulado

en

BPSK

de

tal

manera que cada símbolo tiene energía . En un canal AWGN, ¿Cuál es la

probabilidad de error promedio binaria en función del SNR cuando se utiliza la estimación de máxima verosimilitud? Puede asumir que el ruido es una variable

aleatoria gaussiana de valor real con varianza , [por eje.,

].

Sugerencia: Puede expresar la respuesta en términos de la función-Q, la cual se deriva

de la distribución

.

COMUNICACIÓN SOBRE UN ENLACE INALÁMBRICO

En esta práctica ejecutará su implementación de modulate.vi y decode.vi sobre un enlace inalámbrico real. Usando los bloques source.vi y error_detect.vi de las prácticas de laboratorio anteriores en conjunto con los nuevos bloques creados, completará el sistema para los bloques transmisor y receptor en este laboratorio.

Antes de comenzar las pruebas de sus bloques

a través de un enlace inalámbrico real,

establezca los siguientes parámetros de banda base en los paneles frontales de top_tx.vi y

top_rx.vi.

top_tx.vi

Modulation Parameters:

Modulation type: QPSK

TX sample rate: 1M

Packet lenght: 100 bits

top_rx.vi

HW Parameters:

Capture Time: 2.00m

Modulation Parameters:

Modulation type: QPSK

RX simple rate: 1M

Además asegúrese de que los parámetros RF hayan sido establecidos correctamente, a través de HW parameters en el panel frontal de top_tx.vi definidos en la práctica anterior.

El sistema de comunicación digital inalámbrico que se utiliza en el laboratorio genera una pequeña ráfaga de datos, transmite a través de un enlace inalámbrico, y decodifica la señal recibida. Para poner en funcionamiento el sistema realice lo siguiente:

  • 1. Acceda al panel superior de su transmisor (top_tx.vi) y de clic en Run para transmitir.

  • 2. Espere hasta que el indicador Transmitting se ilumine.

  • 3. Acceda al panel superior de su receptor (top_rx.vi) y de clic en Run para recibir.

  • 4. En el panel frontal de top_rx.vi observe la constelación y el diagrama de ojo de la señal recibida.

Acceda al panel frontal de top_rx.vi para observar la constelación de la señal recibida. Tenga en cuenta que una cola se ha utilizado para transmitir la secuencia de bits clave desde el transmisor al receptor, equivalente al mensaje original, para la detección de errores. Observe también en el panel frontal de top_tx.vi que hay una ventana de control para los parámetros del modelo del canal utilizados por transmitter.vi. Estos parámetros se utilizan para aplicar un

modelo de canal deseado para la señal transmitida. El canal inalámbrico real se convolucionará con este modelo de canal impuesta artificialmente para crear una especie de canal equivalente.

PREGUNTAS

Conteste las siguientes preguntas acerca del sistema de comunicación de este laboratorio:

  • 1. ¿Cuál es el nombre de la cola que se utiliza para pasar la secuencia de bits generada desde top_tx.vi a top_rx.vi? (es decir, la secuencia de bits necesaria para llevar a cabo la detección de errores).

  • 2. Describir lo que ocurre con la constelación recibida a medida que aumenta la potencia de ruido en el nivel superior del transmisor, (es decir, top_tx.vi).

  • 3. Basado en su observación de la constelación de la señal recibida. Explique ¿cual esquema de modulación (BPSK o QPSK) funciona mejor (en promedio) en los canales ruidosos, y por qué? Suponga que ambos esquemas están utilizando la misma energía de símbolo promedio.

BIBLIOGRAFÍA:

[1] Ph. D. Robert W. Heath Jr.,"Digital Communications" Physical Layer Exploration Lab using the NI USRP Platform, 2012.