You are on page 1of 10

PRÁCTICA # 8

MODULACIÓN DIGITAL EN BANDA BASE

RECUPERACIÓN DEL TIEMPO DE SÍMBOLO EN CANALES DE BANDA


ANGOSTA

OBJETIVOS:

 Implementar el método de la máxima energía y el algoritmo de Early-Late Gate para


sincronización de símbolo.
 Analizar la constelación y diagrama de ojo al variar el factor de Oversampling en un
canal multipaso de banda angosta.
 Realizar la gráfica de Error estadístico ∈ [𝑁] vs. Factor de Oversampling.

MARCO TEÓRICO:
En esta práctica consideraremos el problema de recuperación del tiempo de símbolo, también
conocido como sincronización de símbolo. La recuperación del tiempo es una de las muchas
tareas de sincronización; otras serán consideradas en las siguientes prácticas.

El canal de comunicación inalámbrico no es correctamente modelado al añadir Ruido Blanco


Gaussiano Aditivo simple. Un modelo de canal más realista incluye además atenuación,
cambios de fase, y retardos de propagación. Tal vez el modelo de canal más simple es
conocido como el canal plano de frecuencia. El canal plano de frecuencia crea una señal
recibida:

𝑧(𝑡) = 𝛼𝑒 𝑗∅ 𝑥(𝑡 − 𝜏𝑑 ) + 𝑣(𝑡)

Donde 𝛼 es la atenuación, ∅ es un cambio de fase, y 𝜏𝑑 es el retraso.

El objetivo de esta práctica es el de corregir este retraso causado por 𝜏𝑑 en el tiempo discreto.
El enfoque será el de determinar la cantidad de retraso 𝑘̂ antes del proceso de downsampling.
Esto será modificado por el procesamiento en el receptor como se ilustra en la Figura 7.1.
Figura 7.1 Diagrama de recepción

Dos algoritmos serán implementados para la sincronización de símbolos en esta práctica: el


método de la máxima energía y el algoritmo de Early-Late Gate. El método de la máxima
energía intenta encontrar el punto de muestra que maximice la energía promedio recibida. El
algoritmo de Early-Late Gate implementa una versión discreta en el tiempo de una
optimización continua en el tiempo para maximizar una determinada función de costo. Para
el mejor desempeño, ambos algoritmos requieren que se implemente un valor alto de
sobremuestreo (es decir 𝑀 es grande).

En presencia de desvanecimiento plano en frecuencia, la entrada al receptor tiene la siguiente


forma:

𝑧(𝑡) = 𝛼𝑒 𝑗∅ √𝐸𝑥 ∑ 𝑠[𝑚]𝑔𝑇𝑥 (𝑡 − 𝑚𝑇 − 𝜏𝑑 ) + 𝑣(𝑡)


𝑚

Ahora, considerando que 𝑔(𝑡) es la convolución de 𝑔𝑇𝑥 (𝑡) y 𝑔𝑅𝑥 (𝑡). Con el modelo en la
Ecuación 9.2 luego del filtro de acoplamiento y muestreo, la señal recibida es:

𝑦[𝑛] = √𝐸𝑥 𝛼𝑒 𝑗∅ ∑ 𝑠[𝑚]𝑔((𝑛 − 𝑚)𝑇 − 𝜏𝑑 ) + 𝑣[𝑚]


𝑚

Es posible encontrar muchos impedimentos distintos dependiendo del valor de 𝜏𝑑 . A menos


de que se especifique lo contrario, se asume la forma de un pulso de Nyquist.

Primero considere el caso donde 𝜏𝑑 es una fracción del periodo de símbolo 0 < 𝜏𝑑 < 𝑇. Esto
puede modelar el efecto del error en el tiempo de muestreo, o el muestreo en el momento
incorrecto. Bajo estos supuestos:

𝑦[𝑛] = √𝐸𝑥 𝛼𝑒 𝑗∅ 𝑠[𝑛]𝑔(𝜏𝑑 ) + √𝐸𝑥 𝛼𝑒 𝑗∅ ∑ 𝑠[𝑚]𝑔((𝑛 − 𝑚)𝑇 − 𝜏𝑑 ) + 𝑣[𝑛]


𝑚≠𝑛

Deseado ISI Ruido


La interferencia intersimbólica se produce cuando el pulso de Nyquist no es muestreado
exactamente a 𝑛𝑇. Necesitará sincronización de símbolo o ecualización para mitigar el efecto
del error en el tiempo de muestreo.

Segundo, supongamos que 𝜏𝑑 = 𝑑𝑇 para algún entero 𝑑. En este caso donde el tiempo de
símbolo ha sido definido por un retraso de propagación desconocido, el cual es múltiplo del
periodo de muestreo. Bajo estos supuestos.

𝑦[𝑛] = √𝐸𝑥 𝛼𝑒 𝑗∅ ∑ 𝑠[𝑚]𝑔((𝑛 − 𝑚)𝑇 − 𝜏𝑑 ) + 𝑣[𝑚]


𝑚≠𝑛

𝑦[𝑛] = √𝐸𝑥 𝛼𝑒 𝑗∅ ∑ 𝑠[𝑚]𝑔((𝑛 − 𝑚)𝑇 − 𝑑𝑇) + 𝑣[𝑚]


𝑚≠𝑛

𝑦[𝑛] = √𝐸𝑥 𝛼𝑒 𝑗∅ 𝑠[𝑛 − 𝑑] + 𝑣[𝑚]

Esencialmente los offsets crean un desajuste entre los índices de los símbolos transmitidos y
recibidos. Necesitaremos sincronización de trama para encontrar el inicio de los datos.

Tercero, suponga que el error en el tiempo ha sido removido del canal, equivalente a 𝜏𝑑 = 0.
Por lo tanto:

𝑦[𝑛] = √𝐸𝑥 𝛼𝑒 𝑗∅ 𝑠[𝑛] + 𝑣[𝑚]

Muestreando y removiendo el retraso deja la distorsión debido a 𝛼 y ∅, donde son


desconocidos por el receptor. Los cambios de amplitud y la fase serán estimados y ecualizados
en el Laboratorio 9.

ENERGÍA MÁXIMA DE SALIDA

Asumiendo que 𝑦(𝑡) sea 𝑧(𝑡) luego de ser filtrada por el filtro de acoplamiento en el tiempo
continuo. Dado un avance 𝜏, note que la función que determina la energía de salida se define:

𝐽(𝜏) = 𝔼|𝑦(𝑛𝑇 + 𝜏)|2 = 𝐸𝑥 ∑|𝑔(𝑚𝑇 + 𝜏 − 𝜏𝑑 )|2 + 𝜎𝑣 2


𝑚

𝐽(𝜏) = 𝔼|𝑦(𝑛𝑇 + 𝜏)|2 ≤ 𝐸𝑥 ∑|𝑔(0)|2 + 𝜎𝑣 2


𝑚

El máximo de la función 𝐽(𝜏) ocurre cuando 𝜏 − 𝜏𝑑 es un múltiplo entero de la tasa de


símbolo. Este valor de 𝜏 es conocido como la solución de máxima energía de salida. El valor
resultante de 𝜏 en el cual 𝐽(𝜏) se maximiza es como la solución de máxima energía de salida.
En esta práctica implementaremos dos algoritmos para encontrar la solución de máxima
energía de salida en el tiempo discreto. Otro criterio para realizar la sincronización de símbolo
es posible, por ejemplo, la solución de máxima verosimilitud. El enfoque descrito es robusto
para ruido aditivo, ciertas clases de desvanecimientos de canales, y pequeños cambios en la
frecuencia de portadora.

En esta práctica implementaremos una versión digital de la maximización de 𝐽(𝜏). Esto


significa que usted realizará la estimación y corrección luego del filtrado de acoplamiento
digital en el receptor, antes del proceso de downsampling.

MAXIMIZACIÓN DIRECTA DE LA ENERGÍA DE SALIDA EN EL TIEMPO DISCRETO

Considerando que 𝑟[𝑛] es la salida del filtro de acoplamiento.

𝑟[𝑛] = ∑ 𝑧[𝑚]𝑔𝑇𝑥 [𝑛 − 𝑚]
𝑚

La energía de salida en el tiempo discreto puede ser calculado a partir de:

𝐽[𝑘] = 𝐸|𝑟(𝑛𝑀𝑇 + 𝑘)|2

Donde 𝑘 es un offset de muestras entre 0, 1, … , 𝑀 − 1 correspondiente a un estimado de 𝜏̂ =


𝑘𝑇/𝑀. La esperanza puede ser reemplazada con el tiempo promedio sobre 𝑃 símbolos para
crear la función:
𝑃−1
1
𝐽𝑎𝑝𝑝𝑟𝑜𝑥 [𝑘] = ∑|𝑟(𝑝𝑀𝑇 + 𝑘)|2
𝑃
𝑝=0

La solución de maximización directa de la energía de salida esta dada por 𝑘̂ = 𝑚𝑎𝑥𝐽𝑎𝑝𝑝𝑟𝑜𝑥 [𝑘].
Porque el receptor solo está realizando la sincronización de símbolo, es suficiente evaluar
𝐽𝑎𝑝𝑝𝑟𝑜𝑥 [𝑘] para valores de 𝑘 = 0, 1, … , 𝑀 − 1. El valor resultante de 𝑘̂ será implementado en
una operación avanzada en el Figura 9.1 dado en el domino Z como 𝑧 𝑘̂ . En lugar de un avance,
un retraso puede ser usado con un valor de 𝑍 𝑀−𝑘̂ . Generalmente grandes valores de 𝑃
generarán mejores resultados.

MAXIMIZACIÓN INDIRECTA DE LA ENERGÍA DE SALIDA EN EL TIEMPO DISCRETO

Un enfoque alternativo, útil para implementaciones adaptativas, envuelven la derivada de la


función de costo y la discretización del resultado. Derivando la esperanza y asumiendo que
pueden ser intercambiados.

𝑑 𝑑
𝐽𝑜𝑝𝑡 (𝜏) ≅ 𝐸 { |𝑦(𝑛𝑇𝑠 + 𝜏)|2 }
𝑑𝜏 𝑑𝜏
𝑑 𝛿 𝛿
𝐽𝑜𝑝𝑡 (𝜏) = 𝐸 {𝑦(𝑛𝑇 + 𝜏) 𝑦 ∗ (𝑛𝑇 + 𝜏)} + 𝐸 {𝑦 ∗ (𝑛𝑇 + 𝜏) 𝑦(𝑛𝑇 + 𝜏)}
𝑑𝜏 𝛿𝜏 𝛿𝜏
𝑑 𝛿
𝐽𝑜𝑝𝑡 (𝜏) = 2𝑅𝑒 [𝐸 {𝑦(𝑛𝑇 + 𝜏) 𝑦 ∗ (𝑛𝑇 + 𝜏)}]
𝑑𝜏 𝛿𝜏

Usando una aproximación a una derivada de primer orden:

𝛿 ∗
𝑦 (𝑛𝑇 + 𝜏) ≅ 𝑦 ∗ (𝑛𝑇𝑠 + 𝜏 + 𝛿) − 𝑦 ∗ (𝑛𝑇𝑠 + 𝜏 − 𝛿)
𝛿𝜏
Ahora, como se realizó anteriormente, reemplazando la esperanza por un tiempo promedio:
𝑃−1
𝑑 1
𝐽𝑜𝑝𝑡 (𝜏) ≅ ∑ 2𝑅𝑒{𝑦(𝑛𝑇𝑠 + 𝜏)(𝑦 ∗ (𝑛𝑇𝑠 + 𝜏 + 𝛿) − 𝑦 ∗ (𝑛𝑇𝑠 + 𝜏 − 𝛿))}
𝑑𝜏 𝑃
𝑛=1

Escoja 𝛿 de tal manera que sea múltiplo de 𝑇/𝑀. Usando 𝑟[𝑛] como se definió anteriormente,
obtenemos:
𝑃−1

𝐽𝛿 [𝑘] = ∑ 2𝑅𝑒{𝑟[𝑛𝑃 + 𝑘](𝑟 ∗ [𝑛𝑃 + 𝑘 + 𝛿] − 𝑟 ∗ [𝑛𝑃 + 𝑘 − 𝛿])}


𝑛=0

Lo que llamamos como solución de maximización indirecta de la energía de salida está dado
por 𝑘̂ = 𝑚𝑎𝑥𝑘=0,1 ,… ,𝑀−1 𝐽𝛿 [𝑘]. Un valor típico de 𝛿 es 1.

ACTIVIDADES A DESARROLLAR:
En esta práctica generaremos un código en LabVIEW que estime la maximización de la energía
de salida en el tiempo discreto y el algoritmo de Early-Late Gate. Las siguientes tablas
describen los detalles de los VIs a implementarse.

align_MaxEnergy.vi.- Calcula el offset de muestreo al maximizar 𝐽𝑎𝑝𝑝𝑟𝑜𝑥 [𝑘] y corrige


el offset.

Secuencia recibida
Input complex IQ Waveform
ENTRADAS luego del filtro de
waveform cluster
acoplamiento.

Secuencia recibida
Output complex IQ Waveform luego de la
SALIDAS waveform cluster recuperación del
tiempo de símbolo.

offset I32 (entero) Offset calculado


align_ELgate.vi.- Estima el offset de muestreo al minimizar 𝐽𝛿 [𝑘] y corrige el offset.

Secuencia recibida
Input complex IQ Waveform
ENTRADAS luego del filtro de
waveform cluster
acoplamiento.

Secuencia recibida
Output complex IQ Waveform luego de la
SALIDAS waveform cluster recuperación del
tiempo de símbolo.

offset I32 (entero) Offset calculado

INSTRUCCIONES:
Se recomienda el uso de las siguientes funciones:

For Loop

UBICACIÓN: Functions>>Programming>>Structures>>For Loop

Ejecuta su subdiagrama 𝑁 veces, donde 𝑁 es el valor conectado a


DESCRIPCIÓN: la terminal de conteo (𝑁). El terminal de iteración (𝑖) proporciona
el valor de la iteración actual, que va desde 0 a 𝑁 − 1.

ENTRADAS: Conteo (𝑁).

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.


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

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.

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.

Luego de reemplazar align_ELgate.vi y align_MaxEnergy.vi en simbol_timing.vi, deberá


probar su código añadiendo un pequeño retraso a su canal. El retraso en el modelo del canal
puede ser modificado usando el control channel model parameters en el Panel Frontal de
Simulator.vi. Considere que el retraso en el modelo de canal está relacionado con channel.vi
(por ejemplo, no podrá añadir un retraso grande arbitrario al canal). Puede usar los controles
del Panel Frontal para modificar el método de recuperación del tiempo de símbolo usado en
el simulador. Luego de seleccionar el método y el retraso, puede comprobar el offset
estimado que se genera por el receptor cambia a medida que varía el retraso. Este valor de
offset entero incluye el retraso introducido por el filtro de formación de pulsos y el filtro de
acoplamiento.

La salida del simulador muestra el retraso estimado del canal (por ejemplo, luego de corregir
los offset causados por el filtrado) como un error estadístico. El VI simulator.vi compara este
retraso estimado con el retraso actual y calcula el error cuadrático medio, el cual ha sido
normalizado por el periodo del símbolo 𝑇𝑠 .
2
𝜏̂ (𝑁)– 𝜏𝑑
∈ [𝑁] = 𝐸 {‖ ‖ }
𝑇𝑠

Donde 𝑁 es el factor de oversample en el receptor, 𝜏̂ (𝑁) es el retraso estimado del canal


calculado por el receptor, y 𝜏𝑑 es el retraso actual del canal.

Grafique el error estadístico ∈ [𝑁] versus el factor de oversample 𝑁, usando los parámetros
a continuación. Dado que el canal no tiene ruido, sólo necesitará ejecutar una sola iteración
del simulador para recolectar el error estadístico del tiempo. Considere que al modificar el
factor de oversample 𝑁, el periodo del símbolo 𝑇𝑠 debe permanecer constante (por ejemplo,
𝑇𝑠 = 𝑁𝑇𝑁 , usted deberá además modificar la tasa de muestreo del receptor apropiadamente)

 Retraso: 𝜏𝑑 = 0.34𝑇𝑠 .
 Factor de oversampling 𝑁 = 2, 4, 6, … , 20.
 Modelo de canal: ℎ = 0.75𝑒 𝑗𝜋/4 . (Canal de banda angosta).
 Potencia de ruido: −∞ 𝑑𝐵.

En resumen:

 Después align_ELgate.vi y align_MaxEnergy.vi, reemplace estos VIs en el simulador.


 Modifique el método de recuperación de tiempo y el retraso introducido por el canal
desde el Panel Frontal de Simulator.vi.
 Luego, verificando la funcionabilidad de su código, observe como estos algoritmos
operan en presencia de un canal de banda angosta con AWGN. En presencia de estos
impedimentos, observe como la longitud del paquete afecta el rendimiento de los
algoritmos que implementó.
 Usando un retraso 𝜏𝑑 = 0.34𝑇𝑠 y los parámetros listados en la parte superior, grafique
el error estadístico ∈ [𝑁], como se define en la Ecuación 9.5, para factores de
oversampling de 𝑁 = 2, 4, 6, … , 20 (incluso enteros sobre 20). Use una escala
logarítmica para el error del tiempo y una escala líneas para 𝑁.
LABORATORIO

En esta práctica se utilizarán sus implementaciones de align_ELgate.vi y align_MaxEnergy.vi


sobre un enlace inalámbrico real. Inserte su código como se realizó en el Pre-Laboratorio. En
el pre-laboratorio usted observó como el error de tiempo varía con el factor de oversampling
𝑁 en el receptor.

Configure los siguientes parámetros en su sistema bandabase.

 Longitud del paquete = 500 bits.


 Tipo de modulación = QPSK
 Filtro de formación de pulsos = Raíz de Coseno Elevado.
 Parámetro del filtro = 0.5
 Longitud del filtro = 8
 Modelo del canal = ℎ = 0.75𝑒 𝑗𝜋/4 (Canal de banda angosta)
 Potencia de ruido = −𝐼𝑛𝑓 𝑑𝐵
 Tx Tasa de muestreo= 20 Mmuestras/seg
 Tx factor oversample = 20
 Rx Tasa de muestreo= 2 Mmuestras/seg
 Rx factor oversample = 2
 Método de recuperación de símbolo = Máx Energía.

Además asegúrese que los siguientes parámetros de RF estén configurados apropiadamente.

 Tiempo de captura = 400μseg

PREGUNTAS A CONTESTAR:
Conteste las siguientes preguntas referentes a la recuperación del tiempo de símbolo:

1. Demuestre que, en ausencia de ruido, 𝛼 y ∅ en la Ecuación 9.2 no tiene impacto alguno


en la solución de máxima energía de salida.

2. ¿Cuáles son los dos supuestos críticos que son usados para formular la maximización
indirecta de la energía de salida? Considere como la presencia del desvanecimiento
del canal AWGN plano puede impactar en este método. Específicamente, usando al
menos uno de los supuestos críticos, explique cómo podría mitigar el impacto de esos
impedimentos al seleccionar adecuadamente los parámetros.
3. Luego de que una secuencia, originalmente muestreada a una tasa de 1/𝑇𝑧 , pase por
el proceso de downsampling, por un factor 𝑀, ¿Cuál es el periodo de muestreo de la
señal resultante?
4. ¿Cuál es la tasa de símbolo del sistema basado en los parámetros que se encuentran
en la parte superior?

5. Como se realizó en el pre-laboratorio, varíe el factor de oversample 𝑁 en el receptor.


Observe la forma general de la constelación recibida para un número de paquetes (por
ejemplo, para eliminar cualquier desacuerdo que podría causar la corrección de los
errores en el offset de frecuencia o en la estimación de canal). Observe cómo la
constelación cambia cuando 𝑁 = 2, 4, 10 𝑦 20.
Basado en lo observado y en lo que ha aprendido en el pre-laboratorio, describa como
la relación entre el error de muestreo y el factor de oversample 𝑁 se manifiesta en la
constelación en top_rx.vi.

6. Para cada uno de los factores en la pregunta previa (por ejemplo 𝑁 = 2, 4, 10 𝑦 20),
específicamente en qué valor estableció la tasa de muestreo Rx en el Panel Frontal de
top_rx.vi.

BIBLIOGRAFÍA:
[1] James H. McClellan, R. W. (2008). Signal processing first.