análisis y simulación de un receptor rake y comparación con el

Anuncio
ANÁLISIS Y SIMULACIÓN DE UN RECEPTOR RASTRILLO Y
COMPARACIÓN CON EL RECEPTOR ÓPTIMO PARA CDMA
MELISSA DUARTE GÉLVEZ
Trabajo de grado para optar por el título de
Ingeniero Electrónico
Director
ADOLFO LEÓN RECIO VÉLEZ
Ingeniero Electrónico M.Sc.
PONTIFICIA UNIVERSIDAD JAVERIANA
FACULTAD DE INGENIERIA
DEPARTAMENTO DE ELECTRONICA
BOGOTÁ
2004
PONTIFICIA UNIVERSIDAD JAVERIANA
FACULTAD DE INGENIERÍA
CARRERA DE INGENIERÍA ELECTRÓNICA
RECTOR MAGNIFICO: R.P. GERARDO REMOLINA S.J.
DECANO ACADÉMICO: Ing. ROBERTO ENRIQUE MONTOYA VILLA
DECANO DEL MEDIO UNIVERSITARIO: R.P. ANTONIO JOSÉ SARMIENTO NOVA S.J.
DIRECTOR DE CARRERA: Ing. JUAN CARLOS GIRALDO CARVAJAL
DIRECTOR DEL PROYECTO: Ing. ADOLFO LEÓN RECIO VÉLEZ M.Sc.
2
ARTICULO 23 DE LA RESOLUCIÓN No. 13 DE JUNIO DE 1946
"La universidad no se hace responsable de los conceptos emitidos por sus alumnos en
sus proyectos de grado.
Sólo velará porque no se publique nada contrario al dogma y la moral católica y porque
los trabajos no contengan ataques o polémicas puramente personales. Antes bien, que se
vea en ellos el anhelo de buscar la verdad y la justicia".
3
A mi querida familia
A mi querido Fred
4
CONTENIDO
Pág.
CONTENIDO................................................................................................................... 5
LISTA DE FIGURAS ...................................................................................................... 8
INTRODUCCIÓN.......................................................................................................... 10
1. MARCO TEÓRICO ............................................................................................... 13
1.1
ESPECTRO DISPERSO DE SECUENCIA DIRECTA (DSSS) ................... 13
1.1.1
Transmisión ............................................................................................ 13
1.1.2
Recepción ............................................................................................... 14
1.2
SECUENCIAS GOLD ................................................................................... 16
1.3
NOTACIÓN o-minúscula .............................................................................. 21
1.4
ENERGÍA EFECTIVA .................................................................................. 21
1.5
RESISTENCIA CERCA – LEJOS................................................................. 22
2. ESPECIFICACIONES ........................................................................................... 24
2.1
SEÑAL TRANSMITIDA POR UN USUARIO ............................................ 24
2.2
MODELO DEL CANAL Y SEÑAL RECIBIDA.......................................... 25
2.2.1
Efecto multicamino y desvanecimiento Rayleigh ................................... 25
2.2.2
Señal recibida modelo síncrono ............................................................. 28
2.3
DIVERSIDAD................................................................................................ 29
2.3.1
Diversidad debida a múltiples caminos – Combinación de tasa máxima
29
2.4
MODELO RECEPTOR RASTRILLO........................................................... 31
2.5
RECEPTOR ÓPTIMO PARA CDMA........................................................... 32
2.6
RELACIÓN SEÑAL A RUIDO .................................................................... 35
2.7
DIAGRAMA DE FLUJO DE LAS SIMULACIONES ................................. 36
2.8
PARÁMETROS SIMULACIONES .............................................................. 37
3. DESARROLLO...................................................................................................... 39
3.1
DESARROLLO PASO A PASO DE LAS ECUACIONES QUE
CARACTERIZAN AL RECEPTOR RASTRILLO .................................................. 39
3.1.1
Etapa 1. Línea de retardo....................................................................... 39
3.1.2
Etapa 2: Correlatores............................................................................. 41
3.1.3
Etapa 3: Combinación de tasa máxima.................................................. 44
3.1.4
Etapa 4: Toma de decisión ..................................................................... 45
3.2
DESARROLLO DE ECUACIONES PARA LA PROBABILIDAD DE
ERROR DE BIT DEL RECEPTOR RASTRILLO.................................................... 45
3.2.1
Probabilidad de error de bit. Caso: Receptor rastrillo con estimación
perfecta de los coeficientes de desvanecimiento del canal y sincronización perfecta
de la señal firma. .................................................................................................... 46
3.2.2
Probabilidad de error de bit. Caso: Receptor rastrillo con error en la
estimación de los coeficientes de desvanecimiento del canal y sincronización
perfecta de la señal firma. ...................................................................................... 49
3.2.3
Probabilidad de error de bit. Caso: Receptor rastrillo con error en la
sincronización de la señal firma y estimación perfecta de los coeficientes de
desvanecimiento del canal...................................................................................... 52
3.3
RESUMEN DE LAS FUNCIONES CREADAS PARA REALIZAR LAS
SIMULACIONES. ..................................................................................................... 56
3.3.1
Función transmisor ................................................................................ 57
3.3.2
Función Canal ........................................................................................ 58
3.3.3
Función Receptor ................................................................................... 61
5
3.3.3.1 Función Rakep.................................................................................... 62
3.3.3.2 Función Rakeme34 ............................................................................. 63
3.3.3.3 Función Rakeme121 ........................................................................... 64
3.4
COTAS PARA LA PROBABILIDAD DE ERROR DE BIT DEL
RECEPTOR ÓPTIMO DE CDMA ............................................................................ 66
3.5
APROXIMACIÓN DE Lck PARA EL CÁLCULO DE LAS ECUACIONES
69
4. ANÁLISIS DE RESULTADOS............................................................................. 72
4.1
PROBABILIDAD DE ERROR DE BIT DEL RECEPTOR RASTRILLO EN
FUNCIÓN DE LOS PARÁMETROS DE ESTIMACIÓN DEL CANAL. ............... 73
4.1.1
Probabilidad de error de bit del receptor rastrillo con estimación
perfecta de los coeficientes de desvanecimiento del canal y sincronización perfecta
de la señal firma. .................................................................................................... 73
4.1.2
Probabilidad de error de bit del receptor rastrillo con error en la
estimación de los coeficientes de desvanecimiento del canal y sincronización
perfecta de la señal firma. ...................................................................................... 75
4.1.3
Probabilidad de error de bit del receptor rastrillo con error en la
sincronización de la señal firma y estimación perfecta de los coeficientes de
desvanecimiento del canal...................................................................................... 77
4.2
ANÁLISIS DE LA ENERGÍA EFECTIVA DEL RECEPTOR RASTRILLO
Y COMPARACIÓN CON EL RECEPTOR ÓPTIMO PARA CDMA ..................... 79
4.2.1
Análisis de la energía efectiva del receptor rastrillo en el caso de
estimación perfecta de los coeficientes de desvanecimiento del canal y
sincronización perfecta de la señal firma. Comparación con el receptor óptimo
para CDMA ............................................................................................................ 79
4.2.2
Análisis de la energía efectiva del receptor rastrillo en el caso de error
en la estimación de los coeficientes de desvanecimiento del canal y sincronización
perfecta de la señal firma. ...................................................................................... 81
4.2.3
Análisis de la energía efectiva del receptor rastrillo en el caso de error
en la sincronización de la señal firma y estimación perfecta de los coeficientes de
desvanecimiento del canal...................................................................................... 83
4.3
ANÁLISIS DE LA RESISTENCIA CERCA LEJOS DEL RECEPTOR
RASTRILLO Y COMPARACIÓN CON EL RECEPTOR ÓPTIMO PARA CDMA
84
4.3.1
Análisis de la resistencia cerca lejos del receptor rastrillo en el caso de
estimación perfecta de los coeficientes de desvanecimiento del canal y
sincronización perfecta de la señal firma. Comparación con el receptor Óptimo
para CDMA ............................................................................................................ 84
4.3.2
Análisis de la resistencia cerca lejos del receptor rastrillo en el caso de
error en la estimación de los coeficientes de desvanecimiento del canal y
sincronización perfecta de la señal firma. ............................................................. 85
4.3.3
Análisis de la resistencia cerca lejos del receptor rastrillo en el caso de
error en la sincronización de la señal firma y estimación perfecta de los
coeficientes de desvanecimiento del canal. ............................................................ 86
5. CONCLUSIONES.................................................................................................. 88
5.1
TRABAJO FUTURO ..................................................................................... 94
6. BIBLIOGRAFÍA .................................................................................................... 95
7. ANEXO 1. ALGUNOS CONCEPTOS DE PROBABILIDAD............................. 99
7.1
Variable aleatoria con distribución Gaussiana ............................................... 99
6
7.2
Variable aleatoria compleja formada a partir de dos variables aleatorias
Gaussianas ................................................................................................................ 100
7.3
Distribución Rayleigh................................................................................... 101
7.4
Ruido blanco Gaussiano aditivo ................................................................... 102
7.5
Funciones erf y Q ........................................................................................ 102
7.6
Señales continuas en tiempo en ruido blanco Gaussiano aditivo ................. 103
8. ANEXO 2. COMBINACIÓN DE TASA MÁXIMA, REGLA DE DECISIÓN
ÓPTIMA EN EL CONTEXTO DE DIVERSIDAD Y UN USUARIO PRESENTE EN
EL CANAL .................................................................................................................. 105
9. ANEXO 2. CÓDIGO DE LAS FUNCIONES IMPLEMENTADAS EN C++.... 108
9.1
FUNCIÓN ‘transmisorg.cpp’ ....................................................................... 108
9.2
FUNCIÓN ‘canalxu3.cpp’ ........................................................................... 110
9.3
FUNCIÓN ‘etapas12.cpp’ ............................................................................ 118
9.4
FUNCIÓN ‘etapas34.cpp’ ............................................................................ 120
9.5
FUNCIÓN ‘etpas12me1.cpp’....................................................................... 122
9.6
FUNCIÓN ‘etapas34me.cpp’ ....................................................................... 125
7
LISTA DE FIGURAS
Pág.
Figura 1-1 Diagrama en bloques de la transmisión en banda base usando DSSS.......... 14
Figura 1-2 Ejemplo de las señales que hacen parte del proceso de transmisión en banda
base usando DSSS. N=127, numero de bits transmitidos = 3 ........................................ 14
Figura 1-3 Diagrama en bloques de la recepción en banda base cuando la señal se
transmite usando DSSS .................................................................................................. 15
Figura 1-4 Diagrama en bloques del proceso de generación de una secuencia pseudo
aleatoria .......................................................................................................................... 17
Figura 1-5 Generación de una secuencia pseudo aleatoria............................................. 17
Figura 1-6 Generación de una secuencia Gold a partir de dos polinomios que cumplen
con las condiciones del teorema de Gold. ...................................................................... 19
Figura 1-7 Diagrama en bloques que muestra cómo generar diferentes secuencias Gold a
partir de dos secuencias de longitud máxima. ................................................................ 19
Figura 1-8 Ejemplo de una secuencia Gold:Gold1......................................................... 20
Figura 1-9 Autocorrelación de la secuencia Gold1 ........................................................ 20
Figura 1-10 Ejemplo de una secuencia Gold: Gold 2..................................................... 20
Figura 1-11 Autocorrelación de la secuencia Gold2 ...................................................... 21
Figura 1-12 Correlación entre las secuencias Gold 1 y Gold 2 ...................................... 21
Figura 2-1 Reflexión, difracción y dispersión generando varias réplicas de la señal
original enviada por el transmisor. Potencia instantánea en el receptor. Figura tomada de
las notas de G. Mandyam. .............................................................................................. 26
Figura 2-2 Diagrama en bloques de un canal multicamino con desvanecimiento
Rayleigh. Figura tomada del artículo de C. D’ Ámours et al. ........................................ 27
Figura 2-3 Diagrama en bloques de un canal de comunicaciones inalámbricas con K
usuarios y la señal del usuario k se afecta de acuerdo a la respuesta impulso hk(t) que
representa un canal multicamino con desvanecimiento Rayleigh. Figura tomada del
artículo de Kumar y Panicker. ........................................................................................ 29
Figura 2-4 Fasores que representan las señales provenientes de tres caminos diferentes
........................................................................................................................................ 30
Figura 2-5 Combinación de tasa máxima para el caso de tres señales multicamino..... 31
Figura 2-6 Diagrama en bloques del receptor rastrillo ................................................... 32
Figura 2-7 Diagrama en bloques del recepto óptimo para CDMA propuesto por Verdú.
........................................................................................................................................ 34
Figura 2-8 Diagrama de flujo de las simulaciones ......................................................... 37
Figura 3-1 Representación de los tiempos de llegada de las señales multicamino para un
usuario ............................................................................................................................ 39
Figura 3-2 Ejemplo de la función de la línea de retardos............................................... 40
Figura 3-3 Ejemplo de lo que sucede en los correlatores cuando hay error de
sincronización................................................................................................................. 44
Figura 3-4 Cota inferior exacta y cota inferior aproximada para la probabilidad de error
de bit del receptor óptimo para CDMA .......................................................................... 68
Figura 3-5 Cotas para la probabilidad de error de bit del receptor óptimo para CDMA 69
Figura 4-1 Probabilidad de error de bit del receptor rastrillo en el caso de estimación
perfecta de los coeficientes de desvanecimiento del canal y sincronización perfecta de la
señal firma. ..................................................................................................................... 73
8
Figura 4-2 Resultados de Kumar y Panicker para la probabilidad de error de bit del
receptor rastrillo.............................................................................................................. 74
Figura 4-3 Probabilidad de error de bit del receptor rastrillo con error en la estimación
de los coeficientes de desvanecimiento del canal y sincronización perfecta de la señal
firma ............................................................................................................................... 75
Figura 4-4 Resultados de Kumar y Panicker para la probabilidad de error de bit del
receptor rastrillo teniendo en cuenta error en la estimación de los coeficientes de
desvanecimiento del canal. ............................................................................................. 76
Figura 4-5 Probabilidad de error de bit del receptor rastrillo con error en la
sincronización de la señal firma y estimación perfecta de los coeficientes de
desvanecimiento del canal. ............................................................................................. 77
Figura 4-6 Probabilidad de que la probabilidad de error de bit del receptor rastrillo con
error en la sincronización de la señal firma y estimación perfecta de los coeficientes de
desvanecimiento esté dentro del rango delimitado por F=0.005.................................... 78
Figura 4-7 Relación señal a ruido promedio en función de la probabilidad de error de bit
promedio para el receptor rastrillo con sincronización perfecta de la señal firma y
estimación perfecta de los coeficientes de desvanecimiento del canal y para el receptor
óptimo para CDMA. ....................................................................................................... 79
Figura 4-8 Señal a ruido promedio efectiva en función de la probabilidad de error de bit
promedio. Receptor rastrillo con error en la estimación de los coeficientes de
desvanecimiento del canal. ............................................................................................. 82
Figura 4-9 Señal a ruido promedio efectiva en función de la probabilidad de error de bit
promedio. Receptor rastrillo con error en la sincronización de la señal firma............... 83
Figura 4-10 Probabilidad de error de bit promedio. Receptor rastrillo con
sincronización perfecta de la señal firma y estimación perfecta de los coeficientes de
desvanecimiento del canal. Cotas para la probabilidad de error de bit del receptor
óptimo para CDMA. ....................................................................................................... 84
Figura 4-11 Probabilidad de error de bit promedio. Receptor rastrillo con error en la
estimación de los coeficientes de desvanecimiento del canal ........................................ 86
Figura 4-12 Probabilidad de error de bit promedio. Receptor rastrillo con error en la
sincronización de la señal firma ..................................................................................... 86
Figura 7-1 Función de densidad de probabilidad de una variable aleatoria Gaussiana de
media cero. ..................................................................................................................... 99
Figura 7-2 Función de densidad de probabilidad de una variable aleatoria con
distribución Rayleigh.................................................................................................... 101
9
INTRODUCCIÓN
En un sistema de comunicación de acceso múltiple varios usuarios desean acceder al
canal al mismo tiempo. Para implementar un sistema de comunicación de acceso
múltiple existen técnicas que permiten que los usuarios compartan el canal. En la
técnica de acceso múltiple por división de código (CDMA por sus siglas en inglés) los
usuarios pueden acceder al canal simultáneamente y compartir el mismo ancho de
banda. Acceso múltiple por división en frecuencia (FDMA por sus siglas en inglés) y
acceso múltiple por división en tiempo (TDMA por sus siglas en inglés), son otros
ejemplos de técnicas de acceso múltiple. Estas tres técnicas (CDMA, FDMA y TDMA)
son usadas en sistemas de comunicaciones inalámbricas de acceso múltiple. Cada
técnica se implementa utilizando diferentes esquemas de modulación, por lo tanto los
esquemas de demodulación también son diferentes en cada caso. Independientemente de
la técnica de acceso múltiple que se implemente, el receptor debe ser diseñado teniendo
en cuenta que el canal o el medio por el cual viaja la señal transmitida no es ideal. En el
caso de un sistema de comunicaciones inalámbricas es muy importante tener en cuenta
las características del canal en el momento de diseñar el receptor. En este tipo de
sistemas el medio por el cual viaja la señal introduce no sólo ruido aditivo sino que
también puede distorsionar la señal y se presentan fenómenos como la generación de
varias señales réplica de la señal enviada originalmente (multicamino). El receptor
rastrillo (‘rake receiver’) introducido en 1958 por Price y Green surge como un método
de detección de CDMA en un sistema de comunicaciones inalámbricas. Este receptor no
sólo tiene en cuenta las características de modulación de CDMA sino que para mejorar
su desempeño utiliza constructivamente las réplicas que se producen de la señal
enviada, lo cual se conoce como diversidad debida a múltiples caminos.
10
Para su funcionamiento el receptor rastrillo debe estimar algunos parámetros del canal.
En la práctica no es posible hacer una estimación perfecta por lo tanto es importante
analizar cuánto se afecta el desempeño del receptor rastrillo debido a errores de
estimación del canal. Este tema y temas relacionados con el efecto de los errores de
estimación del canal en sistemas de comunicaciones CDMA han sido tratados de
diferentes maneras por diferentes autores. Por ejemplo, Kumar y Panicker modelaron
los errores de estimación como variables aleatorias Gaussianas de media cero y a partir
de su estudio propusieron una ecuación para la probabilidad de error de bit del receptor
rastrillo. Por otro lado, McLane y Sunay supusieron en su estudio que los errores que
tuvieron en cuenta estaban uniformemente distribuidos en un rango pequeño y a partir
de esta suposición desarrollaron una ecuación para la probabilidad de error de bit de un
sistema de comunicaciones basado en CDMA. En éstos dos casos los autores modelaron
los errores de estimación como variables aleatorias con una función de densidad de
probabilidad específica y se ignoró el estimador del canal como tal. Autores como
Felström y Zigangirov y Huang et al. tomaron un estimador específico, hallaron la
función de densidad de probabilidad del error y a partir de esta función realizaron
análisis numéricos para evaluar el efecto de los errores de estimación del canal en el
desempeño de los sistemas de comunicaciones basados en CDMA. Como una tercera
aproximación al problema se tiene la propuesta por Quirk y Milstein en la que tienen en
cuenta algunas características del estimador a partir de las cuales logran obtener la cota
inferior para la probabilidad de error de bit del receptor rastrillo cuando se utiliza un
esquema de estimación específico.
11
En este trabajo de grado el enfoque es parecido al de Kumar y Panicker ya que no se
tiene en cuenta un estimador del canal específico sino que se supone que los errores de
estimación tienen una función de densidad de probabilidad Gaussiana de media cero. La
principal diferencia está en que en el desarrollo de las ecuaciones para la probabilidad
de error de bit, Kumar y Panicker consideraron todas las fuentes de error a la vez
mientras que acá se analiza cada fuente de error por aparte, es decir se obtiene una
ecuación para la probabilidad de error de bit para cada parámetro de estimación del
canal que se analiza. Esto es una aproximación más sencilla que la presentada por los
autores anteriormente mencionados y simplifica el desarrollo de las ecuaciones siendo
una buena primera aproximación al problema en cuestión. Además, se incluye un
análisis detallado del receptor rastrillo teniendo en cuenta las ecuaciones de cada una de
las etapas que lo conforman y se hace un análisis de la energía efectiva y de la
resistencia cerca lejos del receptor rastrillo a partir de simulaciones y de las ecuaciones
propuestas.
Paralelamente al análisis del receptor rastrillo en función de los errores de estimación
del canal, se lleva a cabo una comparación entre el receptor rastrillo y el receptor
óptimo para CDMA propuesto por Verdú. El objetivo de esta comparación es resaltar
características, ventajas y desventajas propias de cada uno de los dos receptores.
12
1.
1.1
MARCO TEÓRICO
ESPECTRO DISPERSO DE SECUENCIA DIRECTA (DSSS)
Cuando se implementa CDMA la técnica de modulación que más se utiliza es la de
espectro disperso de secuencia directa (DSSS por sus siglas en inglés) y es con la cual
funciona el receptor rastrillo. A continuación se explica la transmisión y la recepción
cuando se utiliza DSSS.
1.1.1 Transmisión
En DSSS la señal de banda angosta que contiene la información del usuario k, bk(t), se
multiplica por una señal firma, sk(t), la cual es una señal pseudo aleatoria de banda
ancha1. El resultado de la multiplicación es la señal de banda ancha Xk(t) que contiene la
misma información que la señal bk(t) y ocupa un rango en frecuencia mucho mayor.
Para el caso de transmisión en banda base Xk(t) es la señal transmitida.
X k (t ) = bk (t ) s k (t )
En DSSS las señales bk(t) y sk(t) son antipodales y además sk(t) cumple que:
Tb
∫s
2
k
(t )dt = 1
0
La figura 1-1 muestra el proceso que sigue la señal de información para una
transmisión en banda base usando DSSS, la figura 1-2 muestra un ejemplo de una señal
de información, una señal firma y el resultado de su multiplicación.
1
El análisis de esta sección está basado en el de Haykin en su libro ‘Communication Systems’ por lo
tanto se exponen sólo los puntos importantes
13
Señal de
información
usuario k
bk(t)
Señal
transmitida
usuario k
Xk(t)
Señal firma
usuario k
sk(t)
Figura 1-1 Diagrama en bloques de la transmisión en banda base usando DSSS
Figura 1-2 Ejemplo de las señales que hacen parte del proceso de transmisión en banda base usando
DSSS. N=127, numero de bits transmitidos = 3
1.1.2
Recepción
El modelo banda base que representa el proceso de recepción de una señal transmitida
usando DSSS se presenta en la figura 1-3.
Suponiendo que el único efecto del canal es sumar ruido aditivo a la señal transmitida
Xk(t), la señal recibida Y(t) es:
Y (t ) = X k (t ) + n(t ) ,
14
en donde n(t) representa el ruido aditivo. Al multiplicar en el receptor por la señal firma
se obtiene g(t):
g (t ) = Y (t ) s k (t )
= ( X k (t ) + n(t ) )s k (t )
2
= bk (t ) s k (t ) + n(t ) s k (t )
Integrando g(t) entre 0 y Tb y suponiendo que durante este intervalo de tiempo llega un
bit de la señal de información transmitida por el usuario k se obtiene:
Tb
G = ∫ g (t )dt
0
Tb
Tb
= bk ∫ s k (t )dt + ∫ n(t ) s k (t )dt
2
0
0
= bk + nk
Señal recibida
Y(t)
g(t)
Tb
∫dt
0
G
Toma de
decisión
Estimado de
la señal
enviada por el
transmisor
bˆ (t)
k
Señal firma
usuario k
sk(t)
Figura 1-3 Diagrama en bloques de la recepción en banda base cuando la señal se transmite usando DSSS
El análisis hecho hasta ahora implica que la señal firma debe ser conocida tanto por el
receptor como por el transmisor, por lo tanto, como es conocida por ambos, esta señal
no lleva información y la única información es la de la señal bk(t). Para poder hacer el
desarrollo anterior usando sk2(t) es necesario suponer que el transmisor y el receptor
están en perfecto sincronismo lo cual significa que la señal firma en la señal Y(t) está
perfectamente alineada con la señal firma generada internamente por el receptor.
La forma de implementar DSSS en un sistema de comunicación de acceso múltiple es
15
asignando a cada usuario una señal firma diferente. La condición que éstas señales firma
deben cumplir es que para usuarios que comparten un mismo canal las diferentes
señales firma deben ser todas ortogonales entre sí. Si se cumple ésta condición, al
multiplicar en el receptor por la señal firma apropiada el efecto de los usuarios
interferentes se cancela. De esta forma CDMA usando DSSS permite que muchos
usuarios accedan al canal al mismo tiempo. En aplicaciones reales la condición de
ortogonalidad para las señales firma usadas en un mismo medio no es tan estricta y
puede que las señales no sean estrictamente ortogonales pero sí hay un límite para el
valor de la correlación entre señales firma diferentes (Verdú 2001).
1.2
SECUENCIAS GOLD
Como se dijo anteriormente la señal firma es una señal pseudo aleatoria. Esto significa
que se genera a partir de una secuencia de bits pseudo aleatoria que a su vez se genera
utilizando un registro de corrimiento y una etapa de retroalimentación. El registro de
corrimiento está compuesto por n flipflops y la etapa de retroalimentación consiste en
sumas módulo dos cuyo resultado depende del estado de los flipflops, este resultado es
la entrada al primer flipflop del registro de corrimiento.
Una secuencia pseudo aleatoria generada de la forma que ilustra la figura 1-4 está
determinada por la longitud n del registro de corrimiento, su estado inicial y la lógica de
la etapa de retroalimentación. Como la retroalimentación consiste sólo de sumas
módulo dos el estado cero (salida de todos los flipflops en cero) no es permitido ya que
de ocurrir el registro permanecería en este estado indefinidamente. Consecuentemente el
período de una secuencia pseudo aleatoria generada de la forma indicada no excede de
16
2n-1 bits. Cuando el período N es exactamente 2n-1 la secuencia se conoce como una
secuencia de longitud máxima (SLM por sus siglas en inglés).
Etapa de retroalimentación
(Circuito Lógico, Implementa sumas modulo 2)
Flip Flop
Flip Flop
1
2
....
Flip Flop
Secuencia
Pseudo aleatoria
n
Reloj
Figura 1-4 Diagrama en bloques del proceso de generación de una secuencia pseudo aleatoria
La suma módulo dos que se realiza en la etapa de retroalimentación se puede
representar por un polinomio p(x) de grado n. El siguiente es un ejemplo para n = 7, los
bloques enumerados en la figura 1-5 representan los flipflops del registro de
corrimiento.
Ej 1:
n = 7, p(x) = x7 + x3 + x2 + 1
1
2
3
4
5
6
7
Secuencia
pseudo
aleatoria
Figura 1-5 Generación de una secuencia pseudo aleatoria.
A partir de la Xor de dos SLM de periodo N (SLM1 y SLM2) se puede generar una
secuencia Gold de periodo N, las condiciones que deben cumplir las dos secuencias
SLM están dadas por el teorema de Gold a continuación:
A partir de dos polinomios primitivos p1(x) y p2(x) de grado n cuyos
registros de corrimiento generan secuencias de longitud máxima de
período 2n-1 cuya función de correlación tiene magnitud igual o menor a
17
2(n+1)/2 + 1 para n impar, o
2(n+2)/2 + 2 para n par y n ≠0 mod 4,
es posible generar, a partir de la xor de las dos secuencias generadas por
p1(x) y p2(x), 2n+1 secuencias diferentes cada una con periodo igual a 2n-1 y la correlación entre cualquier par de estas secuencias cumple la
condición de correlación mencionada anteriormente2.
Teniendo en cuenta que sólo se están considerando polinomios con coeficientes iguales
a 0 o 1, un polinomio p(x) de grado n es primitivo si el menor entero m para el cual el
polinomio divide el factor xm+1 es m = 2n-1 (Haykin 2001). Los polinomios primitivos,
para un grado dado, se pueden generar con la función ‘primpoly’ de Matlab.
A continuación se muestra en un ejemplo la configuración con la cual, a partir de dos
polinomios que cumplen con las condiciones del teorema de Gold, se puede generar una
secuencia Gold.
Ej. 2:
Los polinomios de grado n = 7, p1(x) = x7+x3+x2+1 y p2(x) = x7+x3+1,
cumplen con las condiciones dadas por el teorema de Gold. La
generación de una secuencia Gold a partir de la xor de las secuencias de
longitud máxima generadas por cada uno de estos polinomios se ilustra
en la siguiente figura:
2
Haykin, pg.505
18
1
2
3
4
5
6
7
Secuencia
Gold
1
2
3
4
5
6
7
Figura 1-6 Generación de una secuencia Gold a partir de dos polinomios que cumplen con las condiciones
del teorema de Gold.
Para generar 2n+1 secuencias Gold a partir de las secuencias generadas por dos
polinomios primitivos se hace un corrimiento circular a una de las dos secuencias tal y
como se muestra en la figura 1-7.
Generar SLM1
Generar SLM2
Corrimiento circular
Corrimiento
Secuencia Gold
Figura 1-7 Diagrama en bloques que muestra cómo generar diferentes secuencias Gold a partir de dos
secuencias de longitud máxima.
Utilizando el esquema anterior se generan 2n-1 secuencias Gold, las dos que faltan para
completar las 2n+1 que se pueden generar son SLM1 y SLM2.
Las figuras 1-8 a 1-12 muestran dos secuencias Gold generadas a partir de los
polinomios p1(x) = x7+x3+x2+1 y p2(x) = x7+x3+1. También se muestra su
autocorrelación y su correlación.
19
Figura 1-8 Ejemplo de una secuencia Gold:Gold1
Figura 1-9 Autocorrelación de la secuencia Gold1
Figura 1-10 Ejemplo de una secuencia Gold: Gold 2
20
Figura 1-11 Autocorrelación de la secuencia Gold2
Figura 1-12 Correlación entre las secuencias Gold 1 y Gold 2
1.3
NOTACIÓN o-minúscula
En la cota de la probabilidad de error de bit del receptor óptimo para CDMA aparece la
notación o-minúscula la cual corresponde a la siguiente definición (Apostol 1980):
f ( x) = o( g ( x) ) significa que lim
x →∞
1.4
f ( x)
=0
g ( x)
ENERGÍA EFECTIVA
De acuerdo a Verdú, suponiendo que hay varios usuarios compartiendo el canal, la
energía efectiva del usuario k es la energía que este usuario requeriría para alcanzar una
probabilidad de error de bit igual pero en el caso en que sólo exista el usuario k y el
21
resto de las características del canal sean las mismas. Es decir, si con K usuarios
compartiendo el canal se alcanza una probabilidad de error de bit para el usuario k igual
a Pek, la energía efectiva del usuario k es la energía con que este usuario alcanza una
probabilidad igual a Pek pero en el caso en que este sea el único usuario en el canal y el
resto de las características del canal sean las mismas. De acuerdo a esta definición, la
energía efectiva debe ser siempre menor o igual a la energía verdadera con que está
transmitiendo el usuario k. que es la energía a la que le corresponde una probabilidad de
error de bit igual a Pek en el caso de K usuarios compartiendo el canal.
1.5
RESISTENCIA CERCA – LEJOS
La resistencia cerca-lejos mide cuán robusto es el sistema con respecto al efecto cerca
lejos. El efecto cerca-lejos se debe a la diferencia en potencia con que llegan señales de
diferentes usuarios a la estación base. Por lo general la estación base mide la potencia de
llegada de la señal de cada usuario para luego indicarle a cada uno si debe subir o bajar
su potencia de transmisión. Esta regulación no se puede hacer completamente perfecta
y puede ocurrir que la potencia de llegada de un usuario sea mucho mayor que la de otro
causando gran interferencia en la detección del usuario cuya potencia de transmisión es
baja. Por lo general esta diferencia de potencias se debe a que unos usuarios están más
cerca de la estación base que otros y por esta razón se conoce como el efecto cercalejos. Debido a que no es posible garantizar que la potencia recibida de todos los
usuarios sea la misma es importante analizar cómo se afecta el funcionamiento del
receptor con respecto al efecto cerca-lejos. Este análisis se hará comparando la
probabilidad de error de bit en la recepción de un usuario cuando la potencia recibida de
cada usuario es la misma, con la probabilidad de error de bit del mismo usuario cuando
22
aumenta la potencia recibida de la señal de los otros usuarios los cuales pueden ser
llamados usuarios interferentes.
23
2.
ESPECIFICACIONES
En esta sección se presentan los modelos de transmisor, canal y receptor que se
suponen durante el desarrollo del trabajo de grado. Al final de la sección se presenta el
diagrama de flujo de las simulaciones y los parámetros que se tuvieron en cuenta al
realizarlas.
2.1
SEÑAL TRANSMITIDA POR UN USUARIO
Teniendo en cuenta la teoría presentada en la sección 1.1.1 la señal transmitida por el
usuario k es:
X k (t ) = bk (t ) s k (t )
=
M
Ebk
bk [i ] pTb (t − iTb ) s k [ j ] pTch (t − jTch )
Tb
MN
∑ ∑
i = − M j = − MN
(2-1)
En donde Ebk es la energía con que transmite el usuario k, 2M+1 es el número de bits de
información transmitidos, bk[i] representa un bit de la señal de información, sk[j]
representa un bit de la señal firma, Tb es el tiempo de bit el cual es igual al inverso de la
tasa de envío de información, Tch es el tiempo de chip igual a Tb/N y pTb(t) y pTch(t)
corresponden a la siguiente definición:
1 → 0 ≤ t ≤ Tx
pTx (t ) = 
0 → otro ⋅ t
El usuario k envía una secuencia de 2M+1 bits:
bk[-M],....bk[0],….bk[M]
La señal de información bk(t) correspondiente a esta secuencia es:
bk (t ) =
M
∑
i=− M
Ebk bk [i] pTb (t − iTb )
24
La señal firma del usuario k, sk(t), está determinada por la secuencia firma sk que es una
secuencia Gold de periodo N. Para una secuencia de 2M+1 bits transmitidos la señal
firma consta de 2NM+1 bits:
sk[-NM],......sk[0],......sk[NM] en donde sk[i] = sk[i+N]
La señal sk(t) correspondiente a esta secuencia es:
s k (t ) =
MN
∑
j = − MN
1
Tb
s k [ j ] pTch (t − jTch )
Las secuencias que definen la señal de información y la señal firma son antipodales:
bk[i] y sk[i] ∈ {-1,1}. La multiplicación de bk(t) por sk(t) da como resultado la señal
transmitida Xk(t).
2.2
MODELO DEL CANAL Y SEÑAL RECIBIDA
2.2.1 Efecto multicamino y desvanecimiento Rayleigh
Un modelo que se utiliza para ver los efectos de un canal de comunicaciones
inalámbricas es el ‘modelo a pequeña escala’ el cual caracteriza la potencia instantánea
de la señal en el receptor cuando éste se mueve distancias cortas o durante pequeños
períodos de tiempo (Rappaport 1999). En este modelo las fluctuaciones de la potencia
instantánea se deben a la generación de réplicas de la señal enviada las cuales al llegar
al receptor pueden sumarse constructiva o destructivamente. Estas réplicas se presentan
en los sistemas de comunicaciones inalámbricas debido a las características del medio
por el cual viaja la señal. Por ejemplo, en un sistema celular el camino entre el
transmisor y el receptor está lleno de obstáculos como carros, edificios y árboles cuya
presencia genera tres tipos de fenómenos: reflexión, difracción y dispersión (Rappaport
1999). Debido a estos tres fenómenos la señal enviada por el transmisor toma varios
25
caminos y al receptor le llegan varias señales, todas replica de la señal original, las
cuales son llamadas señales multicamino.
El canal que genera este tipo de
comportamiento se llama canal multicamino (‘multipath channel’). El resultado de la
suma de las señales multicamino se conoce como desvanecimiento (‘fading’). La figura
2-1 muestra cómo la difracción, reflexión y dispersión pueden producir más de una
señal en el receptor y también muestra una gráfica de la potencia instantánea en el
receptor debida al desvanecimiento.
Figura 2-1 Reflexión, difracción y dispersión generando varias réplicas de la señal original enviada por el
transmisor. Potencia instantánea en el receptor. Figura tomada de las notas de G. Mandyam.
Cada uno de los K usuarios transmite su correspondiente señal Xk(t) definida en la
ecuación (2-1). El canal afecta la señal de cada usuario de acuerdo a la respuesta
impulso:
C
hk (t ) = ∑ Ack (t )δ (t − τ ck )
c =1
En este modelo, debido al fenómeno multicamino, la señal transmitida por el usuario k
toma C caminos diferentes. Se supone que C es igual para todos los usuarios. La señal
que viaja por el camino c se retrasa τck y se atenúa según Ack(t). La siguiente figura
ilustra el modelo correspondiente.
26
Señal
Transmitida por
el usuario k
Xk(t)
τ1k
Camino 1
A1k(t)
Camino 2
τ 2k
Σ
A2k(t)
Camino 3
τ 3k
Señal correspondiente al
usuario k,
Yk(t), resultado del
fenómeno multicamino y el
desvanecimiento Rayleigh
A3k(t)
..
.
..
.
τ Ck
Camino C
ACk(t)
Figura 2-2 Diagrama en bloques de un canal multicamino con desvanecimiento Rayleigh. Figura tomada
del artículo de C. D’ Ámours et al.
Después de pasar por el canal multicamino la señal del usuario k, Xk(t), queda:
C
Yk (t ) = ∑ Ack (t ) X k (t − τ ck )
c =1
C
= ∑ Ack (t )bk (t − τ ck ) s k (t − τ ck )
c =1
C
=∑
M
MN
∑ ∑
c =1 i = − M j = − MN
Ebk
Ack (t )bk [i ] pTb (t − iTb − τ ck ) s k [ j ] pTch (t − jTch − τ ck )
Tb
Ahora se va a suponer que los coeficientes de desvanecimiento Ack(t) permanecen
constantes durante el envío de varios bits de información, es decir se supone un canal
con desvanecimiento lento ‘slow fading’. Teniendo esto en cuenta la señal Yk(t) se
puede escribir de la siguiente manera:
C
Yk (t ) = ∑
M
MN
∑ ∑
c =1 i = − M j = − MN
Ebk
Ack [i ]bk [i ] pTb (t − iTb − τ ck ) s k [ j ] pTch (t − jTch − τ ck )
Tb
(2-2)
27
Cada Ack[i] es una muestra de la variable aleatoria compleja Ack = AckR + jAckI cuyas
partes real e imaginaria son independientes y AckR~N(0,σ2A) y AckI~N(0,σ2A). La
magnitud de los coeficientes de desvanecimiento tiene una función de densidad de
probabilidad de tipo Rayleigh y por esta razón el canal presentado se conoce como canal
con desvanecimiento Rayleigh.
2.2.2 Señal recibida modelo síncrono
En el estándar IS-95 tanto el receptor de la estación base como el de la estación móvil
son receptores rastrillo (Garg 2002, Rappaport 1999). En el sentido hacia abajo
(‘Downlink’) hay un transmisor (Estación Base) y varios receptores (Estaciones
Móviles) y el modelo más apropiado para representarlo es el modelo síncrono, tal y
como lo hacen Bottomley et al. y Noneaker. En el sentido hacia arriba (‘Uplink’) hay un
receptor (Estación Base) y varios transmisores (Estaciones móviles). El modelo más
apropiado para representar la comunicación en este sentido es el modelo asíncrono, tal y
como lo hacen Kumar y Panicker. Con cualquiera de los dos modelos se pueden realizar
los análisis de interés por lo tanto se supone el modelo síncrono ya que es más sencillo
de trabajar.
Teniendo en cuenta la ecuación (2-2) que define a Yk(t), la señal que llega al receptor
teniendo en cuenta todos los usuarios y su transmisión síncrona es:
K
Y (t ) = ∑ Yk (t ) + σn(t )
k =1
28
K
C
= ∑∑
M
MN
∑ ∑
k =1 c =1 i = − M j = − MN
Ebk
Ack [i ]bk [i ] pTb (t − iTb − τ ck ) s k [ j ] pTch (t − jTch − τ ck ) + σn(t )
Tb
(2-3)
La siguiente figura representa el modelo propuesto:
Usuario 1
X1(t)
h1(t)
Usuario 2
X2(t)
h2(t)
Usuario K
..
.
XK(t)
..
.
Σ
Señal que llega
al receptor
σn(t)
hK(t)
Figura 2-3 Diagrama en bloques de un canal de comunicaciones inalámbricas con K usuarios y la señal
del usuario k se afecta de acuerdo a la respuesta impulso hk(t) que representa un canal multicamino con
desvanecimiento Rayleigh. Figura tomada del artículo de Kumar y Panicker.
En este modelo n(t) representa el ruido aditivo cuyas partes real e imaginaria son
independientes y corresponden a ruido blanco Gaussiano aditivo con densidad espectral
de potencia unitaria.
2.3
DIVERSIDAD
Antes de presentar el modelo del receptor rastrillo es importante tener claro el concepto
de diversidad ya que el diseño del receptor rastrillo se basa en este concepto.
2.3.1 Diversidad debida a múltiples caminos – Combinación de tasa máxima
Señales provenientes de diferentes caminos tienen diferentes desfases y amplitud pero
todas tienen la misma información. La variación de la potencia instantánea de la señal
recibida se debe a que la señal que le llega al receptor es el resultado de la suma de
29
todas las señales multicamino y en algunos casos la suma resulta constructiva pero en
otros resulta destructiva. El poder recuperar cada una de las señales multicamino por
aparte para después combinarlas de manera apropiada de tal forma que el resultado sea
siempre constructivo es lo que se conoce como diversidad debida a múltiples caminos.
El objetivo del receptor rastrillo es proveer diversidad en la recepción de CDMA de tal
forma que las señales que lleguen al receptor desde diferentes caminos sean combinadas
constructivamente.
En la siguiente figura se supone que al receptor le llega la superposición de tres señales
multicamino, la amplitud de la señal transmitida es A y los coeficientes de
desvanecimiento tienen amplitudes A1, A2 y A3 y fases φ1, φ2 y φ3 respectivamente.
Señal
proveniente
del camino 1
AA1ejφ1
Señal
proveniente
del camino 2
AA2ejφ2
Señal
proveniente
del camino 3
AA3ejφ3
Figura 2-4 Fasores que representan las señales provenientes de tres caminos diferentes
Como al receptor le llega la superposición de las señales multicamino si fuera posible
separarlas se podría idear alguna manera de que su suma fuera siempre constructiva.
Suponiendo que es posible separarlas se puede implementar la técnica de combinación
de tasa máxima (MRC por sus siglas en inglés). En está técnica, tal y como se muestra
en la figura 2-5, se multiplica la señal de un camino por el complejo conjugado del
coeficiente de desvanecimiento que afectó la señal en ese camino y de esta manera la
señal queda netamente real y se garantiza que su contribución, a la suma que se hace
posteriormente, va a ser siempre constructiva.
30
AA1ejφ1
Señal
proveniente
del camino 1
AA2ejφ2
Señal
proveniente
del camino 2
Señal
proveniente
del camino 3
AA3ejφ3
Combinación de tasa máxima:
A1e
A2ej-φ2
j-φ1
AA21
AA22
A3ej-φ3
AA23
AA21 + AA22 + AA23
Figura 2-5 Combinación de tasa máxima para el caso de tres señales multicamino
2.4
MODELO RECEPTOR RASTRILLO
El receptor rastrillo se implementa para recibir la señal de sólo uno de los K usuarios
presentes en el canal. Si se desea obtener la información de todos los K usuarios es
necesario implementar K receptores rastrillo. Se supondrá que el usuario de interés es el
usuario x (x ∈ {1..K}) y los otros K-1 son usuarios interferentes. El receptor tiene D
ramas y el objetivo es que cada rama recupere la señal del usuario x proveniente de un
camino diferente para luego sumarlas constructivamente utilizando la técnica de
combinación de tasa máxima, por lo tanto, lo ideal es que C = D y se supone así durante
los análisis que se desarrollen en adelante. La siguiente figura representa el modelo del
receptor rastrillo.
31
….
Señal recibida
Y(t)
Retardo τR2x
Retardo τR1x
Señal firma
Usuario x
sx(t-τ)
YR1x(t)
Generada por
el receptor
YR2x(t)
….
YR2x
YR1x
AR2x
Correlator D
….
Etapa 1:
Línea de retardo
YRDx(t)
Correlator 2
Correlator 1
AR1x
Retardo τRDx
Etapa 2:
correlatores
YRDx
ARDx
Rama 2
Rama 1
Rama D
Σ
Etapa 3:
Ajustes de fase y
ganancia.
Combinación de
Tasa Máxima
YRx
ℜ{ }
sgn (
Etapa 4:
Toma de decisión
)
Estimado de la señal enviada
por el transmisor usuario x
Figura 2-6 Diagrama en bloques del receptor rastrillo
El modelo está dividido en cuatro etapas las cuales se explicarán más adelante
incluyendo las ecuaciones que las caracterizan.
2.5
RECEPTOR ÓPTIMO PARA CDMA
En esta sección se presenta un resumen del planteamiento del receptor óptimo para
CDMA propuesto por Verdú y generalizado por Brady y Zovonar al caso de un
multicamino con desvanecimiento Rayleigh. En este modelo se supone que la
transmisión es CDMA-DSSS, que sólo hay un camino entre el transmisor y el receptor y
que el receptor conoce o es capaz de estimar los parámetros del canal.
De acuerdo la con ecuación (2-3), cuando hay varios usuarios y la señal de todos viaja
por un sólo camino, la señal recibida es:
32
K
Y (t ) = ∑
M
MN
∑ ∑
k =1 i = − M j = − MN
Ebk
A1k [i ]bk [i ] pTb (t − iTb − τ 1k ) s k [ j ] pTch (t − jTch − τ 1k ) + σn(t )
Tb
Si se desea hacer una demodulación óptima del i-ésimo bit que envía usuario k, bk[i],
no basta con observar la señal recibida en el intervalo de tiempo que ocupa este bit, es
necesario observar todo el intervalo de tiempo que toma el usuario k en enviar los 2M+1
bits, esto corresponde a observar una ventana de tiempo de duración (2M+2)Tb. Hay
dos tipos de receptores que siguen este criterio y por lo tanto toman decisiones óptimas:
el receptor individualmente óptimo ‘individually optimum receiver’ y el conjuntamente
óptimo ‘jointly optimum receiver’.
El criterio de decisión del receptor individualmente óptimo, diseñado para demodular el
bit i del usuario k, selecciona el bit bk[i] ∈ {-1,1} tal que rehaga máximo: P[bk[i]|{Y(t), t
∈ [-MTb,(M+2)Tb]].
El criterio de decisión del receptor conjuntamente óptimo selecciona
bT = [b1[-M] ...bK[-M]....b1[M]...bK[M]] bk[i] ∈ {-1,1}
(2-4)
tal que se haga máximo: P[b|Y(t), t ∈ [-MTb,(M+2)Tb]] y el estimado de bk[i] se obtiene
a partir de la secuencia bT.
Si se implementa el receptor individualmente óptimo se obtiene la mínima probabilidad
de error de bit. Si se implementa el conjuntamente óptimo se decide por el b que esté lo
más cerca posible, en el sentido medio cuadrático, a la señal recibida Y(t). El receptor
óptimo que se considera en adelante es el conjuntamente óptimo que también es
conocido como ‘Maximum Likelihood Sequence Detector’ (MLS). El uso del receptor
33
conjuntamente óptimo se justifica debido a que su complejidad es menor y a no ser que
la relación señal a ruido sea muy baja la probabilidad de error de bit que se logra es muy
cercana a la probabilidad de error de bit mínima que se logra con el receptor
individualmente óptimo (Verdú 2001).
El modelo del MLS es
Matched filter
usuario 1
Señal recibida
..
Matched filter
usuario 2
Algoritmo
de
Viterbi
..
Estimado de la
señal enviada por el
transmisor
Matched filter
usuario K
Figura 2-7 Diagrama en bloques del recepto óptimo para CDMA propuesto por Verdú.
La señal recibida Y(t) se puede escribir en forma vectorial:
Y(t) = bTASt + σn(t)
En donde bT corresponde al definido en la ecuación (2-4), A es la matriz de coeficientes
de desvanecimiento del canal:
A = diag(A(-M),..A(M)); A(i) = diag(A11[i],
A12[i],…,
A1K[i])
y St corresponde a la matriz con la señal firma de todos los usuarios
St = [sT(t+M)…sT(t-M)]T; s(t) = [s1(t-τ11),…,sK(t- τ1K)] T
El objetivo del receptor MLS es hacer máximo:

1
f [{Y (t ), t ∈ [− MT , MT + 2T ]} | b] = exp −
 2σ 2

2
MT + 2T
∫ Y (t ) − T (b)
t
− MT

dt 


En donde Tt(b) = bTASt. Hacer máximo f[{Y(t),t ∈ [-MTb,MTb+2Tb]}|b] equivale a
hacer máxima la función L(b):
∞
∞
L(b)= 2 ∫ Tt (b)Y (t )dt − ∫ Tt (b) dt
−∞
∗
2
∞
34
{
}
L(b)= 2ℜ b H Y − b H A H RAb
∞
En donde Y = ∫ Y (t ) H AS t dt es la salida de los ‘matched filters’ muestreada cada Tb y
*
−∞
∞
R es la matriz de correlación R = ∫ S t S t dt .
*
T
−∞
El b que hace máxima la función L(b) se encuentra con ayuda de un algoritmo de
programación dinámica ‘dynamic programming algorithm’. En este algoritmo, de
acuerdo a lo que se mencionó anteriormente, es necesario esperar a que llegue toda la
trama de 2M+1 bits de cada usuario para luego tomar una decisión. Esperar a que
lleguen los 2M+1 bits no resulta muy útil en la práctica y por lo general no se espera a
que llegue toda la trama sino que se hace una aproximación en la que cada L bis
recibidos (L<2M+1) se toma una decisión. Esta versión modificada del algoritmo de
programación dinámica se conoce como algoritmo de Viterbi.
2.6
RELACIÓN SEÑAL A RUIDO
La relación señal a ruido se define:
SNR =
E Bx
,
2σ 2
en donde EBx es la energía con que se recibe un bit de la señal enviada por el usuario x y
σ2 es la densidad espectral de potencia del ruido Gaussiano aditivo. De acuerdo con la
definición de energía de Proakis:
T
E Bx
2
1 b
= ∫ Yx (t ) dt
20
Yx(t) corresponde a la definición hecha en la ecuación (2-2) y al reemplazar en la
ecuación anterior se obtiene:
35
E
= bx
2
E BX
C
∑ A [i ]
c =1
2
cx
,
y
C
SNR =
Ebx ∑ Acx [i ]
c =1
4σ 2
Como los coeficientes Acx varían con el tiempo la energía recibida por bit EBx y la
relación señal a ruido SNR también varían con el tiempo y un valor más útil resulta ser
el valor promedio de SNR:
SNR = E [SNR ] =
E Bx
,
2σ 2
donde
E Bx
E
= bx
2
∑ E [ A [i ]
C
c =1
cx
2
]
Teniendo en cuenta la descripción de los coeficientes del canal hecha al final de la
sección 2.2.1 se llega a que:
[
]
E Adx [i ] = 2σ A
2
2
y finalmente se obtiene:
CE bxσ A
SNR =
2σ 2
2.7
2
(2-5)
DIAGRAMA DE FLUJO DE LAS SIMULACIONES
Para las simulaciones se crearon tres funciones, una simula el transmisor del usuario de
interés (usuario x), otra simula el canal y otra simula el receptor rastrillo. En la figura 28 se resaltan los bloques con que se implementaron la función transmisor y la función
canal.
36
INICIO
Función
transmisor
usuario x
Generar
secuencia gold
usuario x
Generar
secuencia de
bits de
información
multiplicación
Generar
secuencia firma
usuario x
Generar señales
usuarios
interferentes
teniendo en
cuenta efecto
multicamino y
desvanecimiento
Rayleigh
Función Canal
hx(t)
Añadir efecto
multicamino y
desvanecimiento
Rayleigh
suma
Sumar AWGN
Receptor Rake
FIN
Figura 2-8 Diagrama de flujo de las simulaciones
2.8
PARÁMETROS SIMULACIONES
N
= 127
C
= 3
D
= C
Ack: Permanecen constantes durante el envió de 10 bits de información
σ2A = 0.3
σ2A: El mismo para todos los usuarios y todos los caminos
τ1k < τ2k < τ3k
Usuario de interés: usuario x
τ1x = 20
τ2x = 40
τ3x = 60
Para usuarios interferentes
τ11 = …= τ1k =...= τ1K = 30,k ≠ x
τ21 = …= τ2k =...= τ2K = 50,k ≠ x
τ31 = …= τ3k =...= τ3K = 70,k ≠ x
37
El número de bits enviados en cada simulación se calculó con el método de Montecarlo.
En el artículo de Jeruchim se encuentra una explicación detallada de cómo utilizar éste
método.
38
3.
3.1
DESARROLLO
PASO
DESARROLLO
A
PASO
DE
LAS
ECUACIONES
QUE
CARACTERIZAN AL RECEPTOR RASTRILLO
El desarrollo que se presenta a continuación se remite al modelo presentado en la
sección 2.4 figura 2-6.
3.1.1 Etapa 1. Línea de retardo
Señales provenientes de diferentes caminos llegan en diferentes momentos, esto está
representado en el siguiente esquema
t= 0
Se envía señal desde el
transmisor x.
t = τ1x
Llega primera señal
multicamino
usuario x.
t =τ2x
Llega segunda señal
multicamino
usuario x.
…….
t = τCx
Llega última señal
multicamino
usuario x.
τR1X
τR2X
..
..
Figura 3-1 Representación de los tiempos de llegada de las señales multicamino para un usuario
La función de la línea de retardo es que las señales multicamino correspondientes al
usuario x se retrasen el tiempo necesario para que al pasar a los correlatores parezca
como si llegaran todas al tiempo. Para cumplir ésto los retardos τRdx (ver figuras 2-6 y 31) deben ser iguales a τRdx = τCx – τdx, como se supone C = D entonces también se puede
escribir τRdx = τDx – τdx.
39
La señal recibida, descrita en la ecuación (2-3), también se puede escribir de la siguiente
manera:
K
C
Y (t ) = ∑∑ Ack (t )bk (t − τ ck ) s k (t − τ ck ) + σn(t )
k =1 c =1
Teniendo en cuenta esta ecuación, la salida de la línea de retardo son las D señales
YR1x(t) a YRDx(t) en donde:
YRdx (t ) = Y (t − τ Rdx )
K
C
= ∑∑ Ack (t )bk (t − τ ck − τ Rdx )s k (t − τ ck − τ Rdx ) + σn(t − τ Rdx )
(3-1)
k =1 c =1
Para entender mejor la función de la línea de retardo un ejemplo ilustrativo para tres
caminos es el siguiente:
Ej. 3: Suponiendo que C = 3, la señal que llega al receptor es la
superposición de las señales provenientes de los 3 caminos diferentes.
Suponiendo que la señal del camino 1 llega con retardo de Tch (señal
triángulo negra en la figura 3-2), que la señal del camino 2 llega con
retardo de 2Tch (señal café en la figura 3-2) y la señal del camino 3 llega
con retardo de 3Tch (señal verde en la figura 3-2), la señal a la entrada
del receptor está dada por la superposición de estas tres señales. Las
señales a la entrada del receptor se pueden ver en la siguiente figura:
Y(t)
Y(t)
Y(t)
t=3Tch
t=Tch
t=2Tch
YR2x(t)
Retardo τR2x
τR2x =Tch
Retardo τR3x
τR3x =0
t=0
YR1x(t)
Retardo τR1x
τR1x =2Tch
YR3x(t)
t=3Tch
t=Tch
t=2Tch
Corr1
Corr2
Corr3
YR1x
Etapas
YR2x
3
YR3x
y
4
t=0
sx(t-τ)
τ = τDx
Señales a la entrada del receptor
Figura 3-2 Ejemplo de la función de la línea de retardos.
40
En la figura se ve que aunque la entrada a cada bloque de retardo es la misma, a la
salida, las señales de caminos diferentes quedan alineadas en t = 3Tch.
3.1.2 Etapa 2: Correlatores
Hay D correlatores, para el correlator d una entrada es la señal firma generada
internamente por el receptor y desfasada τ, sx(t-τ) (τ debe ser igual a τDx como se
muestra en la figura 3-2), y la otra entrada es la señal proveniente de la línea de retardo.
Teniendo en cuenta la ecuación (3-1) la salida del correlator de la rama d es igual a:
Tb
YRdx = ∫ s x (t − τ ) ⋅ YRdx (t )dt
0
Tb
 K C

= ∫ s x (t − τ ) ⋅  ∑∑ Ack (t )bk (t − τ ck − τ Rdx )s k (t − τ ck − τ Rdx ) + σn(t − τ Rdx ) dt
 k =1 c =1

0
El receptor rastrillo toma decisiones bit a bit por lo tanto su análisis se puede limitar a
una ventana de duración Tb suponiendo que durante este tiempo llega sólo un bit de
información relacionado con el usuario x. Durante un intervalo de esta duración los
coeficientes de desvanecimiento del canal permanecen constantes por lo tanto en la
ecuación se pueden dejar como constantes. Bajo estas suposiciones:
Tb
C
0
c =1
YRdx = ∫ s x (t − τ ) ⋅ ∑
(
)
Ebx Acx bx s x (t − τ cx − τ Rdx ) dt +

 K C
 ∑ ∑ Ebk Ack b' k (t − τ ck − τ Rdx ) s k (t − τ ck − τ Rdx ) + σn(t − τ Rdx ) dt
s
(
t
τ
)
−
⋅
∫0 x

 k =1,k ≠ x c =1
Tb
En donde b' k (t ) =
bk (t )
Ebk
y los valores que puede tomar b´k(t) son sólo 1 o –1.
41
Se supone que la diferencia en tiempos de llegada entre señales multicamino
correspondientes a un mismo usuario es mayor al tiempo de chip Tch. Bajo esta
suposición y teniendo en cuenta las propiedades de autocorrelación de las secuencias
Gold, la correlación entre señales de diferente camino pero correspondientes a un
mismo usuario se puede aproximar a cero. Se tiene entonces que:
Tb
∫s
x
(t − τ ) s x (t − (τ cx + τ Rdx ) )dt ≠ 0 solo para |τ – (τcx+τRdx)|<Tch
0
y que la desigualdad se cumple sólo para c = d recordando que τ = τDx y τRdx = τDx - τdx.
Eliminando de la sumatoria los términos correspondientes al usuario x para los cuáles c ≠ d se obtiene:
Tb
YRdx = ∫ s x (t − τ ) Ebx Adx bx s x (t − τ dx − τ Rdx )dt +
0

 K C
 ∑ ∑ Ebk Ack b' k (t − τ ck − τ Rdx ) s k (t − τ ck − τ Rdx ) + σn(t − τ Rdx ) dt
s
(
t
τ
)
−
⋅
∫0 x

 k =1,k ≠ x c =1
Tb
YRdx se puede rescribir de la siguiente forma:
YRdx = Ebx Adx bx ρ xx + σn dx +
K
C
∑ ∑
k =1,, k ≠ x c =1
Ebk Ack Lck
(3-2)
Tb
En donde
ρ xx = ∫ s x (t − (τ dx + τ Rdx ))s x (t − τ )dt ,
(3-3)
0
Tb
Lck = ∫ s x (t − τ )b' k (t − τ ck − τ Rdx )s k (t − τ ck − τ Rdx )dt ,
(3-4)
0
y
Tb
n dx = ∫ s x (t − τ )n(t − τ Rdx )
0
42
La señal firma generada en el receptor debe estar sincronizada con la que llega del
transmisor del usuario de interés, en este caso el usuario x. La sincronización depende
de la estimación que se haga de los retardos τcx. Si estos retardos se estiman
perfectamente τ = τDx y τRdx = τDx - τdx y en consecuencia ρxx = 1. Cuando no se estiman
correctamente el error en la estimación de τ y τRdx se puede representar como un error
neto igual a Tch∆τ. Este error neto, que se supone igual en cada rama, corresponde a que
en el correlator d la señal firma de la señal proveniente del camino d está desfasada
Tch∆τ con respecto a la señal firma generada internamente por el receptor. Como
consecuencia éstas dos señales firma no están sincronizadas y por eso el error en la
estimación de los τcx se conoce como error en la sincronización de la señal firma. La
figura 3-3 da una idea de lo que pasa en el correlator cuando hay error en la
sincronización de la señal firma.
ρxx en la ecuación (3-3) se puede dejar en términos del error de sincronización:
Tb
ρ xx (∆τ ) = ∫ s x (t )s x (t − Tch ∆τ )dt ,
(3-5)
0
y la ecuación (3-2) queda
YRdx = Ebx Adxbx ρ xx (∆τ ) + σndx +
K
C
∑ ∑
k =1, k ≠ x c =1
Ebk Ack Lck
(3-6)
Por ahora se supone que hay sincronización perfecta, ∆τ = 0 y por lo tanto se obtiene:
43
YRdx = Ebx Adxbx + σndx +
K
C
∑ ∑
k =1, k ≠ x c =1
Ebk Ack Lck
(3-7)
T ch
Señal firma
usuario x
camino c
Señal firma
generada por el
receptor,
sincronizada
Señal firma
generada por
el receptor,
con error de
sincronización
T ch∆ τ
Figura 3-3 Ejemplo de lo que sucede en los correlatores cuando hay error de sincronización
3.1.3 Etapa 3: Combinación de tasa máxima
En esta etapa se implementa la técnica de combinación de tasa máxima en la cual el
valor de los coeficientes de ajuste de fase y ganancia (ARdx en la figura 2-6) debe ser
igual al valor conjugado de los coeficientes de desvanecimiento del canal, esto de
acuerdo con lo que se dijo en las secciones 2.3.1 y 2.3.2. Esto significa que en el caso de
estimación perfecta de los coeficientes de desvanecimiento del canal ARdx = Adx*.
La salida de esta etapa es:
D
YRx = ∑ ARdx ⋅ YRdx
d =1
Suponiendo estimación perfecta de los coeficientes del canal ARdx = Adx* y teniendo en
cuenta la ecuación (3-7):
D
D
K
C
 *
2
* 
YRx = ∑ Ebx bx Adx + ∑  Adx σndx + ∑ ∑ Ebk Ack Adx L 
d =1
d =1 
k =1, k ≠ x c =1

(3-8)
44
3.1.4 Etapa 4: Toma de decisión
Esta etapa implementa la toma de decisión basada en la regla de decisión que es:
bˆx = sgn (ℜ{YRx })
b̂x es el estimado del bit transmitido bx. Reemplazando (3-8) en la regla de decisión:
D
D
K
C

 *

2
*
bˆx = sgn  Ebx ∑ Adx bx + ∑ ℜ Adx σndx + Adx ∑ ∑ Ebk Ack Lck  
d =1
d =1
k =1, k ≠ x c =1



3.2
(3-9)
DESARROLLO DE ECUACIONES PARA LA PROBABILIDAD DE ERROR
DE BIT DEL RECEPTOR RASTRILLO.
Para los cálculos que se realizan en las tres primeras etapas del receptor rastrillo es
necesario conocer el valor de los parámetros del canal Ack y τck. Los valores de estos
parámetros, con que cuenta el receptor, son el resultado de una estimación.
A
continuación se propone una expresión para la probabilidad de error de bit en el caso en
que la estimación de los parámetros del canal es perfecta (PeP); una expresión para el
caso en que la estimación de los coeficientes de desvanecimiento ARdx es imperfecta
(PeA) y finalmente; una expresión para la probabilidad de error de bit para el caso en
que la estimación de los τcx es imperfecta (Peτ) (error en la estimación de los τcx
significa error en la sincronización de la señal firma) 3.
3
Los análisis de la probabilidad de error de bit se basaron en el análisis para diversidad hecho por S.
Verdú en su libro ‘Multiuser Detecion’
45
3.2.1 Probabilidad de error de bit. Caso: Receptor rastrillo con estimación perfecta
de los coeficientes de desvanecimiento del canal y sincronización perfecta de la
señal firma.
Para este caso la regla de decisión está dada por la ecuación (3-9). Primero resulta
conveniente hallar la probabilidad de error de bit condicionada a los coeficientes Adx,
(PePc). Esta probabilidad es igual a:
Pe Pc (S N R ) = P[bx ≠ bˆx A1x ... ADx ]
= P[bx = −1]P[bˆx = +1 bx = −1, A1x ... ADx ] + P[bx = +1]P[bˆx = −1 bx = +1, A1x ... ADx ]
Se sabe que
P[bx = −1] = P[bx = +1] =
1
2
entonces falta hallar P[bˆ x = +1 b x = −1, A1x ... ADx ] y P[bˆx = −1 bx = +1, A1x ... ADx ] .
Primero se va a hallar:
P[bˆx = +1 bx = −1, A1x ... ADx ]
[
= P bˆx > 0 bx = −1, A1x ... ADx
]
D
K
C
D



 *
2
*
= P − Ebx ∑ Adx + ∑ ℜ Adx σndx + Adx ∑ ∑ Ebk Ack Lck  > 0 bx = −1, A1x ... ADx 
d =1
k =1, k ≠ x c =1
d =1




D
K
C

D  *

2
*
= P ∑ ℜ Adx σndx + Adx ∑ ∑ Ebk Ack Lck  > Ebx ∑ Adx + bx = −1, A1x ... ADx 
d =1
k =1, k ≠ x c =1

 d =1 

como
K
C
K
C
D  *
D
 
*
2
VAR ∑ ℜ Adx σndx + Adx ∑ ∑ Ebk Ack Lck  =  σ 2 + σ A ∑ ∑ Ebk L2 ck ∑ Adx
k =1, k ≠ x c =1
k =1, k ≠ x c =1
 d =1
 
 d =1 
2
se tiene que
46
D

2

Ebx ∑ Adx

d =1
P[bˆx = +1 bx = −1, A1x ... ADx ] = Q
K
C
2
 σ 2 + σ A ∑ ∑ Ebk L2 ck
k =1, k ≠ x c =1







Ahora falta hallar P[bˆx = −1 bx = +1, A1x ... ADx ] . Siguiendo el mismo análisis anterior se
llega a que
P[bˆx = −1 bx = +1, A1x ... ADx ]
D
K
C

D  *

2
*
= P ∑ ℜ Adx σndx + Adx ∑ ∑ Ebk Ack Lck  < − Ebx ∑ Adx + bx = +1, A1x ... ADx  =
d =1
k =1, k ≠ x c =1


 d =1 
La ecuación anterior se puede rescribir:
P[bˆx = −1 bx = +1, A1x ... ADx ]
D
K
C

D  *

2
*
= 1 − P ∑ ℜ Adx σndx + Adx ∑ ∑ Ebk Ack Lck  > − Ebx ∑ Adx + bx = +1, A1x ... ADx 
d =1
k =1, k ≠ x c =1

 d =1 

D

2

Ebx ∑ Adx

d =1
= 1 − Q −
K
C
2
σ 2 + σ A ∑ ∑ Ebk L2 ck

k =1, k ≠ x c =1







Teniendo en cuenta la propiedad Q(-x)+Q(x)=1:
D


2

Ebx ∑ Adx


d =1
P[bˆx = −1 bx = +1, A1x ... ADx ] = 1 − 1 − Q
K
C

2
2
+
σ
σ
Ebk L2 ck

∑
∑
A


k =1, k ≠ x c =1


D

2

Ebx ∑ Adx

d =1
= Q
K
C
2
 σ 2 + σ A ∑ ∑ Ebk L2 ck
k =1, k ≠ x c =1













En resumen
47
P[bˆx = +1 bx = −1, A1x ... ADx ] = P[bˆx = −1 bx = +1, A1x ... ADx ]
D

2

Ebx ∑ Adx

d =1
= Q
K
C
2
2
 σ + σ A ∑ ∑ Ebk L2 ck
k =1, k ≠ x c =1







Y
Pe Pc ( S N R ) = P[bx ≠ bˆx A1x ... ADx ]
= P[bx = −1]P[bˆx = +1 bx = −1, A1x ... ADx ] + P[bx = +1]P[bˆx = −1 bx = +1, A1x ... ADx ]
D

2

Ebx ∑ Adx
1 
d =1
= Q
K
C
2
2
2
 σ + σ A ∑ ∑ Ebk L2 ck
k =1, k ≠ x c =1

D

2

Ebx ∑ Adx

d =1
= Q
K
C
2
 σ 2 + σ A ∑ ∑ Ebk L2 ck
k =1, k ≠ x c =1

D


2


Ebx ∑ Adx
 1 
d =1
K
C
 + 2 Q
2
2

 σ + σ A ∑ ∑ Ebk L2 ck
k =1, k ≠ x c =1














(3-10)
Como Adx es una variable aleatoria, la probabilidad de error de bit no condicionada (Pep)
se va a tomar como el valor esperado de la probabilidad de error de bit condicionada
(Pepc). Esto significa que en realidad Pep es el promedio o valor esperado de la
probabilidad de error de bit. Este valor esperado se halla usando la propiedad de la
función Q que se encuentra en el anexo 2, sección 7.5, teniendo en cuenta que para este
caso:
Xi =
Ebx
σ +σA
2
2
K
C
∑ ∑E
k =1, k ≠ x c =1
bk
2
Adx
L ck
L=Dy
48
Ebx
γ =
σ +σA
2
K
2
C
∑ ∑E
k =1, k ≠ x c =1
bk
2
σA
L ck
Por lo tanto la probabilidad de error de bit no condicionada es:
PeP ( S N R ) =
1 1
−
2 2
1
σ 2 + σ A2
1+
K
C
∑ ∑E
k =1, k ≠ x c =1
2
bx A
E σ
bk
L2 ck










 D −1

1 ⋅ 3 ⋅ 5 ⋅ ⋅ ⋅ ⋅(2n − 1)
n 
1 + ∑

 
 n =1


2

Ebxσ A
n
 
+
n!2
1

K
C
 2
 
2
2

 σ + σ A ∑ ∑ Ebk L ck
 

k =1, k ≠ x c =1

 

(3-11)
3.2.2 Probabilidad de error de bit. Caso: Receptor rastrillo con error en la
estimación de los coeficientes de desvanecimiento del canal y sincronización
perfecta de la señal firma.
Error en la estimación de los coeficientes de desvanecimiento significa que (ver figura
2-6)
ARdx = Adx*+ ∆Ad.
La variable ∆Ad representa el error en la estimación y es igual a ∆Ad = ∆Adr + j∆Adi. ∆Ad
tiene partes real e imaginaria independientes y ∆Adr~N(0,σ2∆A) y ∆Adir~N(0,σ2∆A).
La salida de la etapa 3 (Combinación de tasa máxima) es
D
YRx = ∑ ARdx ⋅ YRdx
d =1
Reemplazando ARdx = Adx*+ ∆Ad y YRdx por su valor correspondiente en el caso en que
no hay error en la sincronización de la señal firma, ecuación (3-7), se obtiene la salida
49
de la etapa 3 en el caso en que hay error en la estimación de los coeficientes de
desvanecimiento del canal:
D
(
)
YRx = ∑ Adx + ∆Ad ⋅ YRdx
d =1
*
(
)
D
K
C


*
= ∑ Adx + ∆Ad ⋅  Ebx Adx bx + σn dx + ∑ ∑ Ebk Ack Lck 
d =1
k =1, k ≠ x c =1


D
= ∑ ( Ebx bx Adx + Ebx bx Adx ∆Ad + Adx σndx + ∆Ad σndx
2
*
d =1
+ Adx
*
K
C
∑ ∑
k =1,, k ≠ x c =1
Ebk Ack Lck + ∆Ad
K
C
∑ ∑
k =1, k ≠ x c =1
Ebk Ack Lc k )
Utilizando este resultado, la regla de decisión b̂x = sgn (ℜ{YRx }) queda igual a:
 D
bˆx = sgn  ℜ∑
  d =1
(
)

2
Ebx bx Adx + E d   ,

en donde
E d = Ebx bx Adx ∆Ad + Adx σn dx + ∆Ad σn dx + Adx
*
*
K
C
∑ ∑
k =1, k ≠ x c =1
Ebk Ack Lck + ∆Ad
K
C
∑ ∑
k =1, k ≠ x c =1
Ebk Ack Lck
Inicialmente se halla la probabilidad de error de bit condicionada PeAc. Siguiendo un
proceso análogo al que se hizo en el caso de estimación y sincronización perfecta, para
hallar
Pe Ac ( S N R ) = P[bx ≠ bˆx A1x ... ADx ]
primero
es
necesario
hallar
P[bˆx = +1 bx = −1, A1x ... ADx ] y P[bˆx = −1 bx = +1, A1x ... ADx ] .
Para empezar se tiene que:
D
D

2
P[bˆx = +1 bx = −1, A1x ... ADx ] = P ∑ ℜ{E d } > Ebx ∑ Adx + bx = −1, A1x ... ADx 
d =1
 d =1

Aproximando que la varianza de
50
D
∑ ℜ{E }
d =1
(3-12)
d
es igual a4 :
K
C
D
  2
D
2
2
2


VAR ∑ ℜ{E d } =  σ + σ A ∑ ∑ Ebk L ck + Ebxσ ∆A ∑ Adx
k =1,, k ≠ x c =1
 
 d =1
 d =1
2
(3-13)
se tiene que
D

2

Ebx ∑ Adx

d =1
P[bˆx = +1 bx = −1, A1x ... ADx ] = Q
K
C
2
 σ 2 + σ A ∑ ∑ Ebk L2 ck + Ebxσ ∆A 2

k =1,, k ≠ x c =1








Y siguiendo un proceso análogo se obtiene:
D

2

Ebx ∑ Adx

d =1
P[bˆx = −1 bx = +1, A1x ... ADx ] = Q
K
C
2
 σ 2 + σ A ∑ ∑ Ebk L2 ck + Ebxσ ∆A 2

k =1,, k ≠ x c =1








La probabilidad de error condicionada es igual a:
D

2

Ebx ∑ Adx

d =1
Pe Ac ( S N R ) = Q
K
C
 σ 2 + σ A 2 ∑ ∑ Ebk L2 ck + Ebxσ ∆A 2

k =1,, k ≠ x c =1








(3-14)
Comparando esta expresión con la equivalente para el caso de estimación perfecta (310) se ve que el error en la estimación de los coeficientes del canal Adx aumenta la
probabilidad de error de bit condicionada y por lo tanto aumentará la probabilidad de
error de bit no condicionada.
4
Para el cálculo de la varianza de 3-12 no se tiene en cuenta el término ∆Adσndx ni el término
∆Ad
K
C
∑ ∑
k =1,, k ≠ x c =1
Ebk Ack Lck ya que su función de densidad de probabilidad no es Gaussiana y esto
complica el desarrollo de las ecuaciones.
51
Para hallar la probabilidad de error no condicionada hay que hallar el valor esperado de
PeAc. Teniendo en cuenta la propiedad de la sección 7.5 con:
Ebx
Xi =
σ +σ A
2
K
2
C
∑ ∑E
k =1,, k ≠ x c =1
2
bk
L
+ Ebxσ ∆A
ck
2
⋅ Adx ,
L=Dy
Ebx
γ =
σ +σ A
2
K
2
C
∑ ∑E
k =1,, k ≠ x c =1
2
bk
L
ck
+ Ebxσ ∆A
2
σA
se obtiene la probabilidad de error no condicionada:
Pe A ( S N R ) =
1 1
−
2 2
1
σ 2 +σ A2
1+
K
C
∑ ∑E
k =1, , k ≠ x c =1
bk
E bx σ A
L2 ck + E bx σ ∆A
2
2











 D −1
1 ⋅ 3 ⋅ 5 ⋅ ⋅ ⋅ ⋅(2n − 1)

1 + ∑
n
 n =1
 

 

2

E bx σ A

n

n!2 
+ 1 
K
C


2
2
 
 σ 2 + σ A ∑ ∑ E bk L2 ck + E bx σ ∆A

k =1, k ≠ x c =1
 


(3-15)
3.2.3
Probabilidad de error de bit. Caso: Receptor rastrillo con error en la
sincronización de la señal firma y estimación perfecta de los coeficientes de
desvanecimiento del canal
Al encontrar la salida de la etapa 2 (correlatores) se llegó a la ecuación (3-6)
YRdx = Ebx Adx bx ρ xx (∆τ ) + σndx +
K
C
∑ ∑
k =1,, k ≠ x c =1
Ebk Ack Lck
Tb
En donde
ρ xx (∆τ ) = ∫ s x (t )s x (t − Tch ∆τ )dt
0
y
Tb
Lck = ∫ s x (t − τ )b' k (t − τ ck − τ Rdx )s k (t − τ ck − τ Rdx )dt
0
52
Como se supone que el valor de los ARdx corresponde a una estimación perfecta la salida
de la etapa 4 es:
D
D
K
C


 *
2
*
bˆx = sgn  Ebx ∑ Adx bx ρ xx (∆τ ) + ∑ ℜ Adx σndx + Adx ∑ ∑ Ebk Ack Lck   , (3-16)
d =1
d =1
k =1, k ≠ x c =1



D
ya que bˆx = sgn (ℜ{YRx }) y YRx = ∑ ARdx ⋅ YRdx
d =1
La función ρxx(∆τ) se puede definir a trozos en función del tiempo de chip Tch:
Tch − Tch ∆τ
→ para ∆τ < 1

Tch
y según esta definición 0< ρxx(∆τ)<1
ρ xx (∆τ ) = 
0 → para ∆τ ≥ 1

Se define ∆τ~N(0,σ2∆τ). En el caso en que |∆τ| ≥ 1 la correlación es cero: ρxx(∆τ)=0 y la
regla de decisión queda solo en función de la variable aleatoria:
K
C
 D  *

*
bˆx = sgn  ∑ ℜ Adx σndx + Adx ∑ ∑ Ebk Ack L  
k =1, k ≠ x c =1

 d =1 
y para este caso la probabilidad de error de bit (Peτ) es igual a ½.
En el caso en que |∆τ|<1, ρxx(∆τ)≠0 y la regla de decisión es (3-16). Para el desarrollo
de las ecuaciones se supone que ρxx(∆τ) es una constante, es decir, las ecuaciones se van
a hallar para un ∆τ fijo. Comparando la ecuación (3-16) con la ecuación (3-9) se ve que
el único término diferente es ρxx(∆τ) y como éste se supone constante el desarrollo de
las ecuaciones es el mismo que para el caso en que hay estimación perfecta de los
coeficientes y sincronización perfecta. De acuerdo a esto la probabilidad de error de bit
condicionada es:
53
D

2
2

Ebx ρ xx (∆τ )∑ Adx

d =1
Peτc (S N R ) = Q
K
C
 σ 2 + σ A 2 ∑ ∑ Ebk L2 ck

k =1, k ≠ x c =1








(3-17)
Para hallar la probabilidad de error no condicionada hay que hallar el valor esperado de
Peτc. Teniendo en cuenta la propiedad de la sección 7.5 para la función Q con:
Ebx ρ xx (∆τ )
2
Xi =
σ +σ A
2
K
2
Adx
C
∑ ∑E
k =1, k ≠ x c =1
2
bk
L
ck
L=Dy
Ebx
γ =
σ +σ A
2
2
K
ρ xx (∆τ )σ A
C
∑ ∑E
k =1, k ≠ x c =1
2
bk
L
ck
Se obtiene:
Peτ ( S N R ) =
1 1
−
2 2
1
σ 2 + σ A2
1+
Ebx ρ
K
C
∑ ∑E
bk
k =1, k ≠ x c =1
2
2
xx
A
(∆τ )σ
L2 ck










 D −1

1 ⋅ 3 ⋅ 5 ⋅ ⋅ ⋅ ⋅(2n − 1)
1 + ∑
n 

 
 n =1

 
2
2

Ebx ρ xx (∆τ )σ A
n

+ 1 
n!2 
K
C
2


2
2
 σ + σ A ∑ ∑ Ebk L ck
 

k =1, k ≠ x c =1

 

(3-18)
Cuando ρxx(∆τ)=1 la probabilidad de error de bit queda igual a la probabilidad que se
halló para el caso de estimación perfecta: PeP. De acuerdo con esto, cuando hay error en
la estimación de τ la probabilidad de error está entre dos límites: PeP < Peτ < 1/2
En este punto el siguiente paso sería hallar el valor esperado de Peτ con respecto a la
variable aleatoria ρxx(∆τ). Cuando las variaciones de ∆τ son lentas en comparación a la
54
tasa de envío de información (1/Tb) el resultado de la ecuación (3-18) resulta más útil si
se usa para calcular la probabilidad de que la probabilidad de error de bit esté por debajo
de cierto margen. Esto se debe a que cuando se trabaja con variables aleatorias cuya
variación es lenta en comparación a la tasa de envío de información, el valor esperado
de la probabilidad de error de bit puede alejarse considerablemente del valor real debido
a condiciones desfavorables y raras del canal (Verdú 2001). Suponiendo que las
variaciones de ∆τ son lentas en comparación a la tasa de envío de información, el
resultado obtenido en la ecuación 3-18 se puede usar para dados F y E calcular el rango
admisible de la varianza del error (σ2∆τ) para garantizar que P[PeP < Peτ < F] > E. El
procedimiento es el siguiente: Dado F se puede usar la ecuación 3-18 para hallar el
valor de ρxx(∆τ) con el que Peτ = F. Suponiendo que este valor es igual a ρA la siguiente
afirmación es cierta: P[PeP < Peτ < F]=P[ρA< ρxx(∆τ) <1].
Como ρ A =
Tch − Tch ∆τ
Tch
entonces ∆τ = 1 − ρ A y
 1− ρA
P[PeP < Peτ < F] = P[ρA< ρxx(∆τ) <1] = P[ |∆τ|<1-ρA] = erf 
 2σ
∆τ





(3-19)
El resultado anterior implica que para que la probabilidad, de que la probabilidad de
error de bit sea menor que F, sea mayor a E, se debe garantizar un σ∆τ menor o igual al
que cumple con la siguiente igualdad:
 1− ρA
erf 
 2σ ∆τ

=E


55
3.3
RESUMEN DE LAS FUNCIONES CREADAS PARA REALIZAR LAS
SIMULACIONES.
Las simulaciones se basan en tres funciones principales creadas en Matlab:
1. Función Transmisor
2. Función Canal
3. Función Receptor
Es importante resaltar que estas funciones hacen llamados a funciones implementadas
en C++ las cuáles realizan la mayor parte de los cálculos. A continuación se presenta el
código en Matlab de las funciones transmisor, canal y receptor; el código de las
funciones creadas en C++ se incluye en el Anexo 1. Los códigos presentados se
encuentran bien documentados y en los códigos de Matlab se resalta en negrilla la parte
que define las entradas, la parte que define las salidas y los pasos importantes. En la
documentación de las funciones se supone que el usuario de interés es el usuario 1.
Las variables aleatorias Gaussianas de media cero generadas en Matlab se crearon a
partir de la función ‘randn’ y las generadas en C++ se crearon a partir del algoritmo de
Box-Müller presentado por Donadio.
La función receptor implementa el modelo de la figura 2-6 y no implementa el
estimador del canal. Por esta razón entre las entradas a la función receptor están los
coeficientes de desvanecimiento del canal y los retardos multicamino correspondientes
al usuario de interés. En los casos en que hay error en la estimación de los parámetros
56
del canal, este se genera dentro de las mismas funciones y corresponden a los modelos
planteados: variables aleatorias Gaussianas de media cero.
3.3.1
Función transmisor
La función ‘txg.m’ genera la señal transmitida por el usuario de interés que se define
según la ecuación (2-1). En la figura 2.8 se resaltan los bloques que representan el
proceso para generar esta señal. ‘txg.m’ se encarga de crear la secuencia de bits
transmitidos por el usuario de interés (usuario 1 en la documentación de los códigos) y
de llamar la función ‘transmisorg.cpp’ la cual genera la secuencia Gold del usuario de
interés y su señal firma y se encarga de multiplicarla por la señal de información. El
código de la función ‘transmisorg.cpp’ se encuentra en el anexo 1a.
Función ‘txg.m’:
function [X1,bitsinfo,gold] = txg(corrimiento,numbitsinfo,Eb)
%Genera
la señal transmitida por el usuario 1
%Se definió Tb = 127, Tc =1
%ENTRADAS:
%corrimiento:
Indica el corrimiento de una de las dos maximal
sequences
%
usadas para generar la secuencia Gold a partir de la cual
%
se genera la señal firma del usuario 1.
%numbitsinfo:
Indica el número de bits de información que envía el
usuario
%
1
%Eb:
Energía por bit transmitida por el usuario 1
Tb = 127;
%1. Generar la secuencia de bits transmitidos:
%(La probabilidad de transmitir un 1 es igual a la probabilidad de
%transmitir un cero, esta probabilidad es igual a 0.5):
bitsinfo= randsrc(1,numbitsinfo);
%2. Cada bit transmitido se multiplica por sqrt(Eb/Tb) de acuerdo al
%modelo propuesto:
senalinfo = sqrt(Eb/Tb)*bitsinfo;
57
%3. Se llama a la función en C++ llamada `transmisorg´
%Esta función se encarga de generar la señal transmitida multiplicando la
%señal de información (senalinfo) por la secuencia Gold del usuario 1 la
%cual se genera internamente en la funcion`transmisorg´ y depende del
%parámetro de entrada: corrimiento
%SALIDAS:
%X1 :
Vector que contiene la señal transmitida por el usuario 1
%Gold : Vector que contiene la secuencia Gold que se uso para generar
%
la señal transmitida por el usuario 1 : X1. Esta secuencia se
%
genera de acuerdo al parámetro de entrada 'corrimiento'
%bitsinfo:Vector que contiene la secuencia de bits de información
transmitidos.
[X1,Gold] = transmisorg(corrimiento,senalinfo);
3.3.2
Función Canal
La función ‘canalxusuarios2.m’ implementa los bloques correspondientes a la función
canal que se resaltan en la figura 2-8. La salida de esta función corresponde a Y(t),
ecuación (2-3). Esta función llama a la función en C++ ‘canalxu3.cpp’ que es la que
realiza la mayoría de los cálculos. Las señales firma de los usuarios interferentes se
generan a partir de los mismos polinomios primitivos usados en la función
‘trasnsmisorg.cpp’ para generar la señal firma del usuario de interés. Para generar la
secuencia Gold del usuario interferente 1 se usa un corrimiento de 1, para generar la
secuencia Gold del usuario interferente 2 se usa un corrimiento de 2 por lo tanto si hay
L usuarios interferentes es importante que en la función ‘txg.m’ definida en la sección
anterior el parámetro de entrada corrimiento sea igual a 0 o mayor a L.
Función ‘canalxusuarios2.m’:
function[Yr,Yi,A1r,A1i] =
canalxusuarios2(numbitsinfo,numusuariosint,Ebinterferentes,sigA2,taos,sigmaawgn,
x1)
%A partir de la señal transmitida por el usuario 1, X1, la función
%canalxusuarios2 genera (con ayuda de la función en C++ canalxu3)
%la señal Y que corresponde a la señal recibida, es decir la señal
58
%X1 después de haber pasado por un canal con desvanecimiento Rayleigh,
%efecto multicamino y varios usuarios y haberle sumado a la señal AWGN.
%El canal de desvanecimiento Rayleigh se define en este caso como un canal
%que genera 3 señales multicamino
%ENTRADAS
%X1 :
Vector que contiene la señal transmitida por el usuario 1.
%taos:
[tao1,tao2,tao3] Vector que contiene los retardos que afectan
%
la señal del usuario 1 en los caminos 1, 2 y 3 respectivamente.
%
Se definió que para los usuarios interferentes el numero de
%
caminos es también 3
%
El retardo de los usuarios interferentes se definió como
%
tao1+10 para el primer camino
%
tao2+10 para el segundo camino
%
tao3+10 para el tercer camino
%
Lo anterior significa que para los usuarios interferentes
%
el número de caminos es el mismo y en caminos iguales tienen
%
el mismo retardo
%sigA2: Contiene el valor de la varianza de la parte real y de la
%
parte imaginaria de los coeficientes de desvanecimiento del
%
canal (σ2A)
%
(misma para todos los usuarios y todos los caminos).
%
Recordar que la parte real y la parte imaginaria son
%
variables aleatorias Gaussianas independientes de media cero
%
e igual varianza: sigA2.
%numbitsinfo: Indica el número de bits de información que envió el usuario.
%sigmaawgn: Varianza de la parte real y la parte imaginaria del awgn (σ2).
%Ebinterferentes: Energia usuarios interferentes
%
(Es la misma para todos. No es un vector)
%numusuariosint: Numero de usuarios interferentes
%1.Generar los coeficientes del canal que afectan al usuario x.
%Cada fila representa un camino diferente y el numero de columnas
%corresponde al número de bits que se enviaron
%Se supone que los coeficientes permanecen constantes durante el envió de
%10 bits de información
a = 1;
cont = 0;
while a <= numbitsinfo
if (cont==0 | cont>9)
A1r(a,:) = sqrt(sigA2)*randn(1,3);
A1i(a,:) = sqrt(sigA2)*randn(1,3);
cont = 1;
else
A1r(a,:) = A1r(a-1,:);
A1i(a,:) = A1i(a-1,:);
cont = cont+1;
end
a=a+1;
end
59
%2. Llamar a la función en C++ 'canalxu3' la cual genera Y que es la salida
% del canal:
%SALIDAS:
%Yr: Vector que contiene la parte real de la salida del canal (Re(Y(t)))
%
de acuerdo al modelo propuesto
%Yi: Vector que contiene la parte imaginaria de la salida del canal
%
(Im(Y(t)))de acuerdo al modelo propuesto
%A1r: Matriz, tamaño: numbitsinfox3. Contiene la parte real de los
coeficientes de
%
desvanecimiento del canal que afectan a cada uno de los bits de la
%
señal transmitida por el usuario 1 (X1)
%A1i: Matriz, tamaño: numbitsinfox3. Contiene la parte imaginaria de los
%
coeficientes de desvanecimiento del canal que afectan a cada uno
%
de los bits de la señal transmitida por el usuario 1 (X1)
[Yr, Yi] =
canalxu3(numbitsinfo,numusuariosint,Ebinterferentes,sigA2,taos,sigmaawgn,x1,
A1r,A1i);
Los bloques en la figura 2-8 correspondientes a la función Canal, se implementan en la
función en C++ ‘canalxu3.cpp’ a partir de las siguientes 4 subfunciones:
•
canalxu3
•
sumsusumassint
•
secuencias
•
vgauss
El bloque de la figura 2-8 que representa la generación de la señal correspondiente a los
usuarios interferentes se implementa a partir de ‘canalxu3’ y ‘secuencias’. La función
‘secuencias’ se encarga de generar las secuencias de longitud máxima a partir de las
cuáles se obtiene la secuencia Gold de cada uno de los usuarios interferentes. La
función ‘canalxu3’ se encarga de generar la secuencia Gold de cada uno de los usuarios
interferentes y de añadirle a la señal de cada uno el efecto multicamino, el
desvanecimiento Rayleigh y luego sumarlas.
60
La función ‘sumsusumassint’ se encarga de implementar el bloque hx(t) de la figura 2-8,
de sumar la salida de este bloque con la salida del bloque que genera la señal de los
usuarios interferentes y de sumarle a esto el ruido Gaussiano aditivo que a su vez se
genera con la función vgauss.
El código en C++ de la función ‘canalxu3.cpp’ se encuentra en el anexo 1b.
3.3.3
Función Receptor
A cada tipo de error de estimación que se evalúa le corresponde una función receptor
diferente:
1. Función rakep: Función en Matlab, implementa el receptor rastrillo con
estimación perfecta de los coeficientes de desvanecimiento del canal y
sincronización perfecta de la señal firma.
2. Función rakeme34: Función en Matlab, implementa el receptor rastrillo con
error en la estimación de los coeficientes de desvanecimiento del canal.
3. Función rakeme121: Función en Matlab, implementa el receptor rastrillo con
error en la sincronización de la señal firma.
La implementación de estas funciones se basa en el diagrama en bloques presentado en
la figura 2-6. Las funciones llaman a dos funciones en C++ con las cuáles se
implementan las etapas 1y 2 y las etapas 3 y 4 respectivamente.
61
3.3.3.1 Función Rakep
La función ‘rakep.m’ implementa el diagrama en bloques de la figura 2-6. Esta función
llama a la funciones en C++ ‘etapas12.cpp’ y ‘etapas34.cpp’ que son las que se
encargan de implementar las etapas 1-2 y 3-4 en el caso en que no hay error en la
estimación de los coeficientes de desvanecimiento del canal ni error en la sincronización
de la señal firma.
Función ‘rakep.m’:
function bitsinfoest = rakep(Yr,Yi,A1r,A1i,gold,taos,numbitsinfo)
%función receptor rastrillo con estimación perfecta de los coeficientes de
%desvanecimiento del canal y sincronización perfecta de la señal firma
%ENTRADAS:
%Yr: Vector que contiene la parte real de la salida del canal
%Yi: Vector que contiene la parte imaginaria de la salida del canal
%A1r: Matriz parte real de los coeficientes de desvanecimiento del canal
%
tamaño:(numbitsinfo x 3). Las filas indican los bits y las columnas
%
el camino (hay 3 caminos)
%A1i: Matriz parte imaginaria de los coeficientes de desvanecimiento del
%
canal tamaño:(numbitsinfo x 3). Las filas indican los bits y las
%
columnas el camino (hay 3 caminos)
%Gold: Vector, contiene la secuencia Gold con que se transmitieron los bits
del usuario
%
1
%taos: [tao1 tao2 tao3] retardos correspondientes a los caminos 1,2 y 3 del
usuario 1
%numbitsinfo : numero de bits de información transmitidos
%1. Llamar a la función en C++ 'etapas12' que implementa las etapas
%1(línea de retardos) y 2(correlatores) definidas en el modelo, en el caso
%en que no hay error en la sincronización de la señal firma
[YR1r,YR1i,YR2r,YR2i,YR3r,YR3i]
=
etapas12(Yr,Yi,gold,taos,numbitsinfo);
%YR1r y YR1i son vectores que contienen las partes real e imaginaria de la
%salida de la rama 1 del receptor rastrillo
%YR2r y YR2i son vectores que contienen las partes real e imaginaria de la
%salida de la rama 2 del receptor rastrillo
%YR3r y YR3i son vectores que contienen las partes real e imaginaria de la
%salida de la rama 3 del receptor rastrillo
%2. Llamar a la función C++ 'etapas34' que implementa las etapas
62
%3(MRC) y 4(toma de decisión) definidas en el modelo, en el caso en
%que no hay error en los coeficientes de desvanecimiento del canal
%SALIDAS
%bitsinfoest: Vector que contiene el estimado hecho por el receptor
%
rastrillo de cada uno de los bits enviados por el usuario 1
bitsinfoest
etapas34(YR1r,YR1i,YR2r,YR2i,YR3r,YR3i,A1r,A1i,numbitsinfo);
=
El código en C++ de las funciones ‘etapas12.cpp’ y ‘etapas34.cpp’ se encuentra en los
anexos 1c y 1d respectivamente.
3.3.3.2 Función Rakeme34
La función ‘rakeme34.m’ implementa el diagrama en bloques de la figura 2-6 en el caso
en que hay error en la estimación de los coeficientes de desvanecimiento del canal. Esta
función llama a las funciones en C++ ‘etapas12.cpp’ y ‘etapas34me.cpp’. La función
‘etapas34me.cpp’ implementa las etapas 3 y 4 del receptor rastrillo
en el caso en que hay error en la estimación de los coeficientes de desvanecimiento del
canal, es decir, error en la etapa 3.
Función ‘rakeme34.m’:
(σ2∆A)
function bitsinfoest = rakeme34(Yr,Yi,A1r,A1i,gold,taos,sigdelA,numbitsinfo)
%función receptor rastrillo con error en la estimación de los coeficientes
%de desvanecimiento del canal y sincronización perfecta de la señal firma
%ENTRADAS:
%Yr: Vector que contiene la parte real de la salida del canal
%Yi: Vector que contiene la parte imaginaria de la salida del canal
%A1r: Matriz parte real de los coeficientes de desvanecimiento del canal
%
tamaño:(numbitsinfo x 3). Las filas indican los bits y las columnas
%
el camino (hay 3 caminos)
%A1i: Matriz parte imaginaria de los coeficientes de desvanecimiento del
%
canal tamaño:(numbitsinfo x 3). Las filas indican los bits y las
%
columnas el camino (hay 3 caminos)
%gold: Vector secuencia gold con que se transmitieron los bits del usuario
%
1
%taos: [tao1 tao2 tao3] retardos correspondientes a los caminos 1,2 y 3
%sigdelA: Desviación estándar de la parte real y la parte imaginaria
del error en la estimación de los coeficientes de desvanecimiento del canal
%numbitsinfo : numero de bits de información transmitidos
63
%bitsinfoest: Salida, estimado hecho por el receptor rastrillo de cada uno
%
de los bits enviados
%1. Llamar a la función en C++ 'etapas12' que implementa las etapas
%1(línea de retardos) y 2(correlatores) definidas en el modelo, en el caso
%en que no hay error en la sincronización de la señal firma
[YR1r,YR1i,YR2r,YR2i,YR3r,YR3i]
=
etapas12(Yr,Yi,gold,taos,numbitsinfo);
%YR1r y YR1i son vectores que contienen las partes real e imaginaria de la
%salida de la rama 1 del receptor rastrillo
%YR2r y YR2i son vectores que contienen las partes real e imaginaria de la
%salida de la rama 2 del receptor rastrillo
%YR3r y YR3i son vectores que contienen las partes real e imaginaria de la
%salida de la rama 3 del receptor rastrillo
%2. Llamar a la función C++ 'etapas34me' que implementa las etapas
%3(MRC) y 4(toma de decisión) definidas en el modelo, en el caso en
%que hay error en los coeficientes de desvanecimiento del canal
%SALIDAS
%bitsinfoest: Vector que contiene el estimado hecho por el receptor
%
rastrillo de cada uno de los bits enviados por el usuario 1
bitsinfoest
etapas34me(YR1r,YR1i,YR2r,YR2i,YR3r,YR3i,A1r,A1i,sigdelA,numbitsinfo);
=
El código en C++ de la función ‘etapas34me.cpp’ se encuentra en el Anexo 1f.
3.3.3.3 Función Rakeme121
Esta función implementa el diagrama en bloques de la figura 2-6 en el caso en que hay
error en la sincronización de la señal firma. La función llama a las funciones en C++
‘etapas12me1.cpp’ y ‘etapas34.cpp’. La función ‘etapas12me1.cpp’ implementa las
etapas 1 y 2 del receptor rastrillo en el caso en que hay error en la sincronización de la
señal firma.
Función ‘rakeme121.m’:
function
bitsinfoest
rakeme121(Y1r,Y1i,A1r,A1i,gold,taos,delT,Eb,bitsinfo,numbitsinfo)
=
64
%función receptor rastrillo con error en la sincronización de la señal firma
%y estimación perfecta de los coeficientes de desvanecimiento del canal
%ENTRADAS:
%Yr: Vector que contiene la parte real de la salida del canal
%Yi: Vector que contiene la parte imaginaria de la salida del canal
%A1r: Matriz parte real de los coeficientes de desvanecimiento del canal
%
tamaño:(numbitsinfo x 3). Las filas indican los bits y las columnas
%
el camino (hay 3 caminos)
%A1i: Matriz parte imaginaria de los coeficientes de desvanecimiento del
%
canal tamaño:(numbitsinfo x 3). Las filas indican los bits y las
%
columnas el camino (hay 3 caminos)
%gold: Vector secuencia Gold con que se transmitieron los bits del usuario
%
1
%taos: [tao1 tao2 tao3] retardos correspondientes a los caminos 1,2 y 3
%delT: delta tao, representa al error en la sincronización de acuerdo al
modelo propuesto
%Eb Energía de transmisión del usuario 1
%bitsinfo: Vector que contiene los bits transmitidos por el usuario 1
%numbitsinfo : numero de bits de información transmitidos
%1. Llamar a la función en C++ 'etapas12me1' que implementa las etapas
%1(línea de retardos) y 2(correlatores) definidas en el modelo, en el caso
%en que hay error en la sincronización de la señal firma
[YR1r,YR1i,YR2r,YR2i,YR3r,YR3i] =
etapas12me1(Y1r,Y1i,gold,taos,delT,Eb,bitsinfo,A1r,A1i,numbitsinfo);
%YR1r y YR1i son vectores que contienen las partes real e imaginaria de la
%salida de la rama 1 del receptor rastrillo
%YR2r y YR2i son vectores que contienen las partes real e imaginaria de la
%salida de la rama 2 del receptor rastrillo
%YR3r y YR3i son vectores que contienen las partes real e imaginaria de la
%salida de la rama 3 del receptor rastrillo
%2. Llamar a la función C++ 'etapas34' que implementa las etapas
%3(MRC) y 4(toma de decisión) definidas en el modelo, en el caso en
%que no hay error en los coeficientes de desvanecimiento del canal
%SALIDAS
%bitsinfoest: Vector que contiene el estimado hecho por el receptor
%
rastrillo de cada uno de los bits enviados por el usuario 1
bitsinfoest
etapas34(YR1r,YR1i,YR2r,YR2i,YR3r,YR3i,A1r,A1i,numbitsinfo);
=
Para simular el error en la sincronización de la señal firma la función la función
‘etapas12me1.cpp’ primero crea la salida de las etapas 1y 2 en el caso en que no hay
error, esta salida es equivalente a la ecuación (3-7):
YRdx = Ebx Adx bx + σn dx +
K
C
∑ ∑
k =1, k ≠ x c =1
Ebk Ack Lck
65
Luego, la función ‘etapas12me1.cpp’ le resta a este resultado:
∆Error = Ebx Adx bx ∆τ ,
de tal forma que a la salida de esta etapa se obtiene el resultado equivalente a la
ecuación (3-6) que representa la salida con error en la sincronización, ya que:
YRdx − ∆Error= Ebx Adx bx ρ xx (∆τ ) + σndx +
K
C
∑ ∑
k =1, k ≠ x c =1
Ebk Ack Lck ,
Tch − Tch ∆τ
→ para ∆τ < 1

Tch
teniendo en cuenta que ρ xx (∆τ ) = 
0 → para ∆τ ≥ 1

El código en C++ de la función ‘etapas12me1.cpp’ se encuentra en el anexo 1e.
3.4
COTAS PARA LA PROBABILIDAD DE ERROR DE BIT DEL RECEPTOR
ÓPTIMO DE CDMA
Brady y Zovonar analizaron el caso en que el receptor óptimo de CDMA propuesto por
S.Verdú se encuentra en un canal con desvanecimiento Rayleigh y para todos los
usuarios hay un solo un camino posible entre el transmisor y el receptor. Los autores
proponen las siguientes cotas para la probabilidad de error de bit del receptor MLS:
 σ2 
σ2
σ2


≤
≤
+
Pe
o
MLS
 E σ 2A 
4 Ebxσ 2 A
4 Ebxσ 2 A
 bx

Las cotas son válidas para alta relación señal a ruido. La cota inferior exacta es:
1 1
−
2 2
1
1+
σ2
Ebxσ 2 A
66
Si se compara esta ecuación con la de la probabilidad de error de bit del receptor
rastrillo con estimación perfecta de los coeficientes y sincronización perfecta, ecuación
(3-11), se puede apreciar que corresponde al caso en que hay un solo camino (D = 1) y
un solo usuario (Ebk=0). A continuación se repite la ecuación para el receptor rastrillo:
Pe P ( E bx ) =
1 1
−
2 2
1
σ 2 +σ A2
1+
K
C
∑ ∑E
k =1, k ≠ x c =1
E bx σ A
bk
L2 ck
2










 D −1

1 ⋅ 3 ⋅ 5 ⋅ ⋅ ⋅ ⋅(2n − 1)
1 + ∑

n
 n =1

 

 
2

E bx σ A

n

+ 1 
n!2 
K
C


2
 σ 2 + σ A ∑ ∑ E bk L2 ck
 

k =1, k ≠ x c =1

 

En función de la relación señal a ruido promedio, las cotas escritas anteriormente
quedan de la siguiente forma:
1
1
 1 
≤ PeMLS ≤
+ o

8S N R
8S N R
 2S NR 
y la cota inferior exacta queda:
1 1
−
2 2
1
1+
1
2S NR
En la figura 3-4 se comparan la cota inferior exacta y la cota inferior aproximada. La
figura da una idea a partir de qué valores de relación señal a ruido empiezan a ser
válidas las cotas.
67
Figura 3-4 Cota inferior exacta y cota inferior aproximada para la probabilidad de error de bit del receptor
óptimo para CDMA
La cota superior exacta está en términos de una función desconocida que los autores no
hallaron:
PeMLS ≤
1
+ f desconocida (S N R )
8S N R
 1 
pero lo que sí aseguran los autores es que f desconocida (S N R ) = o
 . De acuerdo con
 2S NR 
la notación o-minúscula la información que suministran los autores es que:
lim
SNR → ∞
f desconocida (S N R )
=0
1
2S NR
Esto significa que cuando la relación señal a ruido tiende a infinito la función
desconocida tiende a cero mucho más rápido que lo que lo hace la función
1
, por
2S N R
lo tanto, no se conoce la cota superior con exactitud, pero si se tiene una idea de su
comportamiento. La figura 3-5 muestra:
68
•
la cota inferior exacta :
•
la cota inferior aproximada :
•
la función
1 1
−
2 2
1
1
1+
2S NR
,
1
,
8S N R
m(S N R ) =
1
1
+
(3-20) ,
8S N R 2 S N R
que aunque no es la cota superior exacta da una idea de su comportamiento.
Figura 3-5 Cotas para la probabilidad de error de bit del receptor óptimo para CDMA
3.5
APROXIMACIÓN DE Lck PARA EL CÁLCULO DE LAS ECUACIONES
Para hacer cálculos utilizando las ecuaciones propuestas para la probabilidad de error
de bit es necesario darle un valor a la variable Lck (las otras variables ya están definidas
de acuerdo a los parámetros que se escogieron para las simulaciones). En la sección
3.1.2 ecuación (3-4) se definió:
69
Tb
Lck = ∫ s x (t − τ )b' k (t − τ ck − τ Rdx )s k (t − τ ck − τ Rdx )dt
0
Como los únicos dos valores que toma b’k(t) son +1 o –1 se va a aproximar Lck a:
Tb
Lck = ∫ s x (t − τ )s k (t − τ ck − τ Rdx )dt
0
Lck se necesita para hallar el término σ A
3
realidad se desea hallar es
∑L
2
ck
2
K
C
∑ ∑E
k =1, k ≠ x c =1
bk
L2 ck . Como C = 3 lo que en
=L21k + L2 2 k + L2 3k . Realizando varias pruebas en
c =1
Matlab se concluyó que para el conjunto de secuencias Gold escogidas como secuencias
firma:
2
2
 Tb
 Tb
 
 
1
1
−
5
E  ∫ s x (t ) s k (t )dt   ≈ 6.28 × 10 y E  ∫ s x (t ) s k (t − ∆)dt   ≈
= , ∆≠0




 0
 0
 
  127 N


L21k, L22k, y L23k, se van a aproximar a alguno de estos dos valores, ahora el problema es
saber si se debe aproximar a 6.28x10-5 o a 1/127. Se tienen las siguientes ecuaciones:
Tb
L1k = ∫ s x (t − τ )s k (t − τ 1k − τ Rdx )dt
(3-21)
0
Tb
L2 k = ∫ s x (t − τ )s k (t − τ 2 k − τ Rdx )dt
(3-22)
0
Tb
L3k = ∫ s x (t − τ )s k (t − τ 3k − τ Rdx )dt
(3-23)
0
Como se dijo en la sección 3.1.2, en el caso de sincronización perfecta τRdx = τDx - τdx y τ = τDx. Es importante recordar nuevamente que Lck se necesita para calcular
σ A2
K
C
∑ ∑E
k =1, k ≠ x c =1
bk
L2 ck por lo tanto k nunca va a tomar el valor x en las ecuaciones (3-21)
70
a (3-23) y como para las simulaciones se supuso que τdk ≠ τdx el término τdk - τRdx nunca
va a ser igual a τ. Teniendo esto es cuenta finalmente se aproxima:
C
∑L
c =1
2
ck
=L21k + L2 2 k + L2 3k =
3
127
71
4.
ANÁLISIS DE RESULTADOS
Para su funcionamiento el receptor rastrillo debe contar con la estimación de los
siguientes dos parámetros del canal:
1. Los coeficientes de desvanecimiento.
2. Los retardos con que llegan las señales multicamino. De esta estimación
depende la sincronización de la señal firma.
De acuerdo con los objetivos planteados se hicieron simulaciones y se propusieron
ecuaciones para la probabilidad de error de bit del receptor rastrillo para cada uno de los
siguientes casos:
a. Receptor rastrillo con estimación perfecta de los coeficientes de
desvanecimiento del canal y sincronización perfecta de la señal firma
b. Receptor rastrillo con error en la estimación de los coeficientes de
desvanecimiento del canal
suponiendo sincronización perfecta de la señal firma.
c. Receptor rastrillo con error en la sincronización de la señal firma suponiendo
estimación perfecta de los coeficientes de desvanecimiento del canal.
También, dentro de los objetivos, se propuso hacer una comparación entre la
probabilidad de error de bit, la energía efectiva y la resistencia cerca lejos del receptor
óptimo para CDMA y el receptor rastrillo y analizar la energía efectiva y la resistencia
cerca lejos del receptor rastrillo en función de los parámetros de estimación del canal. A
continuación se presentan los resultados obtenidos.
72
4.1
PROBABILIDAD DE ERROR DE BIT DEL RECEPTOR RASTRILLO EN
FUNCIÓN DE LOS PARÁMETROS DE ESTIMACIÓN DEL CANAL.
4.1.1 Probabilidad de error de bit del receptor rastrillo con estimación perfecta de
los coeficientes de desvanecimiento del canal y sincronización perfecta de la
señal firma.
Figura 4-1 Probabilidad de error de bit del receptor rastrillo en el caso de estimación perfecta de los
coeficientes de desvanecimiento del canal y sincronización perfecta de la señal firma.
En la figura 4-1 se muestran los resultados de las ecuaciones y las simulaciones para el
caso en que el receptor rastrillo cuenta con una estimación perfecta de los coeficientes
de desvanecimiento del canal y una sincronización perfecta de la señal firma. Los
resultados se muestran para el caso en que hay un usuario en el canal y para el caso en
que hay 8 usuarios compartiendo el canal. En este último caso se supone que la señal de
todos los usuarios se recibe con la misma relación señal a ruido promedio.
Considerando un caso particular, para una relación señal a ruido promedio de 16dB, la
probabilidad de error de bit para ocho usuarios es cien veces el valor de la probabilidad
de error de bit que se alcanza para el caso de sólo un usuario transmitiendo en el canal.
73
Esto es un aumento considerable en la probabilidad de error de bit y se debe a la
presencia de varios usuarios compartiendo el canal. En la figura 4-1 también se observa
que para ocho usuarios la probabilidad de error de bit tiende a estabilizarse en un valor
fijo. Esto significa que para alta relación señal a ruido el término que domina la
ecuación no es el que corresponde al ruido Gaussiano aditivo sino el que corresponde a
los usuarios interferentes, el término con L2ck en las ecuaciones. Al comparar los
resultados de la simulación con los de la ecuación se ratifica la validez de la ecuación
propuesta.
Figura 4-2 Resultados de Kumar y Panicker para la probabilidad de error de bit del receptor rastrillo
La figura 4-1 se puede comparar con la figura 5 en el artículo de Kumar y Panicker que
en este caso corresponde a la figura 4-2. A excepción de N, las condiciones que se
suponen en ambas figuras son las mismas. La figura 4-1 se obtuvo con N=127 y en la
figura 4-2 N = 31. Las gráficas que se pueden comparar son: la correspondiente a ocho
usuarios en la figura 4-1 y la correspondiente a ‘perfect power control ’ en la figura 4-2.
El comportamiento de ambas curvas confirma que para alta relación señal a ruido son
los usuarios interferentes quienes determinan la probabilidad de error de bit. En cuanto a
74
los valores exactos de la probabilidad de error de bit, Kumar y Panicler obtuvieron
valores menores.
4.1.2
Probabilidad de error de bit del receptor rastrillo con error en la estimación de
los coeficientes de desvanecimiento del canal y sincronización perfecta de la
señal firma.
Figura 4-3 Probabilidad de error de bit del receptor rastrillo con error en la estimación de los coeficientes
de desvanecimiento del canal y sincronización perfecta de la señal firma
En la figura 4-3 se muestran gráficas para diferentes valores de la varianza del error de
estimación de los coeficientes del canal (σ2∆A) y se supone un canal con ocho usuarios
en donde la señal de todos se recibe con la misma relación señal a ruido promedio. En la
figura 4-3 se observa una pequeña diferencia entre los resultados obtenidos con la
simulación y los resultados obtenidos con la ecuación propuesta. Esta diferencia se debe
a que en el cálculo de la varianza de la ecuación (3-12) se despreciaron dos términos ya
que correspondían a variables aleatorias cuya función de densidad de probabilidad no
era Gaussiana por lo tanto complicaban el desarrollo de las ecuaciones. De acuerdo a la
figura 4-3, la ecuación propuesta para este caso sirve como una cota inferior bastante
75
aproximada a la probabilidad de error de bit real. En esta misma figura se observa que el
receptor rastrillo es bastante sensible al error en la estimación de los coeficientes de
desvanecimiento del canal ya que por ejemplo, para una varianza del error de 0.5 la
probabilidad de error de bit aumenta hasta cerca de 0.1 manteniéndose en ese valor casi
independientemente de la relación señal a ruido con que se transmita. De acuerdo a la
figura 4-3 la varianza del error en la estimación de los coeficientes de desvanecimiento
del canal debería mantenerse por debajo de 0.1 para que el aumento de la probabilidad
de error bit, con respecto a la probabilidad en el caso de estimación perfecta, no sea tan
crítico.
Figura 4-4 Resultados de Kumar y Panicker para la probabilidad de error de bit del receptor rastrillo
teniendo en cuenta error en la estimación de los coeficientes de desvanecimiento del canal.
La figura 4-3 se puede comparar con la figura 6 en el artículo de Kumar y Panicker que
en este caso corresponde a la figura 4-4. La comparación no se puede hacer directa ya
que los autores supusieron que el error en la estimación de los coeficientes del canal era
Gaussiano de media cero tanto para la amplitud como para la fase mientras que en los
análisis hechos hasta ahora el error ha sido modelado como Gaussiano de media cero
76
para la estimación de la parte real y para la estimación de la parte imaginaria lo cual no
resulta en un error Gaussiano de media cero ni para la amplitud ni para la fase.
Teniendo esto en cuenta, el análisis que se puede hacer es que en las dos figuras, 4-3 y
4-4, se ve que el error en la estimación de los coeficientes de desvanecimiento del canal
causa un aumento considerable en la probabilidad de error de bit.
4.1.3
Probabilidad de error de bit del receptor rastrillo con error en la
sincronización de la señal firma y estimación perfecta de los coeficientes de
desvanecimiento del canal.
Figura 4-5 Probabilidad de error de bit del receptor rastrillo con error en la sincronización de la señal
firma y estimación perfecta de los coeficientes de desvanecimiento del canal.
Como en el caso anterior, se supone un canal con ocho usuarios en donde la señal de
todos se recibe con la misma relación señal a ruido promedio. En la figura 4-5 se
muestran los resultados de la probabilidad de error de bit para diferentes valores de la
función ρxx(∆τ) definida en la sección 3.1.2 ecuación (3-5). En esta gráfica se ve lo
importante que es una buena sincronización de la señal firma ya que ρxx(∆τ) no debe
estar por debajo de 0.8 para que este error no afecte demasiado el desempeño del
77
receptor. Con respecto a los resultados de las simulaciones y de las ecuaciones, la figura
4-5 ratifica la validez de la ecuación propuesta para este caso.
Figura 4-6 Probabilidad de que la probabilidad de error de bit del receptor rastrillo con error en la
sincronización de la señal firma y estimación perfecta de los coeficientes de desvanecimiento esté dentro
del rango delimitado por F=0.005
Además de hallar la probabilidad de error de bit en función de ρ(∆τ), en la sección 3.2.3
se llegó a la ecuación (3-19):
 1− ρA
P[PeP <Peτ<F] = erf 
 2σ ∆τ




,
que permite hallar la probabilidad de que la probabilidad de error de bit esté en un rango
definido por F. La figura 4-6 muestra la gráfica de la ecuación 3-19 para el caso en que
F = 0.005 y σ∆τ = 0.05. La figura indica que entre mayor sea la relación señal a ruido
promedio la probabilidad (de que la probabilidad de error de bit sea menor a F) va a
aumentar. En este caso no se muestra el resultado de la simulación. Aunque se hicieron
varias simulaciones los resultados no fueron satisfactorios ya que eran muy ruidosos.
Esto pudo ser debido a que no se envió el número suficiente de bits para obtener un
78
resultado confiable. Una simulación con el suficiente número de bits podría tomar más
de una semana así que se decidió no incluir resultados de la simulación para este caso.
4.2
ANÁLISIS DE LA ENERGÍA EFECTIVA DEL RECEPTOR RASTRILLO Y
COMPARACIÓN CON EL RECEPTOR ÓPTIMO PARA CDMA
4.2.1
Análisis de la energía efectiva del receptor rastrillo en el caso de estimación
perfecta de los coeficientes de desvanecimiento del canal y sincronización
perfecta de la señal firma. Comparación con el receptor óptimo para CDMA
Figura 4-7 Relación señal a ruido promedio en función de la probabilidad de error de bit promedio para
el receptor rastrillo con sincronización perfecta de la señal firma y estimación perfecta de los coeficientes
de desvanecimiento del canal y para el receptor óptimo para CDMA.
Como la energía de transmisión y la relación señal a ruido promedio están directamente
relacionadas, ecuación (2-5), el estudio se hace en términos de la relación señal a ruido
promedio y no en términos de la energía, hacer este cambio no afecta el objetivo del
análisis que se desea hacer. Generalizando la definición hecha en la sección 1.5 para la
energía efectiva, la relación señal a ruido promedio efectiva es, para una probabilidad de
error de bit dada, la relación señal a ruido que se necesita para alcanzar esa misma
79
probabilidad de error de bit en el caso en que haya sólo un usuario transmitiendo y los
demás parámetros del canal se mantengan iguales. En otras palabras, si hay K usuarios
compartiendo el canal y la probabilidad de error de bit del usuario k es igual a Pek, la
relación señal a ruido promedio efectiva es la relación señal a ruido promedio para la
que se alcanza una probabilidad de error de bit igual a Pek pero en el caso en que sólo
está transmitiendo el usuario k y el resto de las características del canal son las mismas.
La figura 4-7 muestra la relación señal a ruido promedio en función de la probabilidad
de error de bit, las diferentes gráficas corresponden a diferente número de usuarios
compartiendo el canal y en todas se supone que la señal de todos los usuarios se recibe
con la misma relación señal a ruido promedio. En esta figura se puede ver que, por
ejemplo, para alcanzar una probabilidad de error de bit de 0.001 la relación señal a ruido
promedio efectiva es de aproximadamente 8dB. Este resultado es útil si se compara con
el valor de relación señal ruido necesario para alcanzar la misma probabilidad de error
de bit pero en el caso en que haya varios usuarios compartiendo el canal. Para el caso de
8 usuarios compartiendo el canal se ve que la relación señal a ruido promedio necesaria
es de aproximadamente 15 dB, que es un valor considerablemente más grande que 8dB.
Para el caso de 30 usuarios compartiendo el canal no es posible llegar a una
probabilidad de error de bit de 0.001 ya que como se ve en la figura 4-7, la probabilidad
de error se bit se estabiliza en aproximadamente 0.01 y se mantiene alrededor de éste
valor independientemente de la relación señal a ruido promedio.
En la figura 4-7 también se incluyen la cota inferior de la probabilidad de error de bit
del receptor óptimo y la función m(SNR) definida en la sección 3.4 ecuación (3-20). Es
importante recordar que esta función no es la cota superior de la probabilidad de error
80
de bit del receptor óptimo pero sí da una idea de su comportamiento. La figura 4-7
prueba que el receptor óptimo es inmune a la presencia de otros usuarios en el canal.
Esto se debe a que como al tomar una decisión tiene en cuenta la señal recibida de
todos los usuarios presentes en el canal, puede cancelar el efecto negativo de los
usuarios interferentes y finalmente las cotas para la probabilidad de error de bit sólo
dependen de la energía con que transmite el usuario de interés. Las gráficas para el
receptor óptimo que se presentan en la figura 4-7 serán las mismas independientemente
del número de usuarios que estén compartiendo el canal
Para el receptor rastrillo, aunque implementa diversidad en la recepción, para alta
relación señal a ruido el efecto de los usuarios interferentes no permite que la
probabilidad de error de bit baje de cierto valor que depende en cada caso del número
de usuarios compartiendo el canal. En esta comparación entre el receptor rastrillo y el
receptor óptimo no se pueden mirar valores específicos de la probabilidad de error de bit
ya que las condiciones no son las mismas, para el receptor óptimo se supuso que había
un solo camino entre el transmisor y el receptor y para el receptor rastrillo se supuso que
había tres caminos, por esta razón sólo se compara el comportamiento general que
presentan los receptores con respecto a la relación señal a ruido y a la presencia de otros
usuarios en el canal.
4.2.2
Análisis de la energía efectiva del receptor rastrillo en el caso de error en la
estimación de los coeficientes de desvanecimiento del canal y sincronización
perfecta de la señal firma.
Como se dijo en la sección anterior, no se va a mirar la energía efectiva sino un
equivalente, la relación señal a ruido promedio efectiva, que finalmente es la relación
señal a ruido promedio en el caso en que hay sólo un usuario en el canal y se mantienen
81
fijas el resto de las características del canal. La figura 4-8 muestra cómo varía la
relación señal a ruido promedio efectiva para diferentes valores de la varianza del error
de estimación de los coeficientes de desvanecimiento del canal. Se ve que entre mayor
sea la varianza del error mayor será la relación señal a ruido promedio efectiva. Este
resultado es crítico para el desempeño del receptor rastrillo ya que significa que entre
mayor sea la varianza del error mayor va a ser la mínima probabilidad de error de bit
que se puede alcanzar5. Por ejemplo, para una relación señal a ruido de 10dB, si no hay
errores de estimación del canal, la mínima probabilidad de error de bit que se puede
alcanzar es aproximadamente 0.0003, mientras que para la misma relación señal a ruido
y una varianza del error de estimación de 0.1, la mínima probabilidad de error de bit que
se puede alcanzar es de 0.006.
Figura 4-8 Señal a ruido promedio efectiva en función de la probabilidad de error de bit promedio.
Receptor rastrillo con error en la estimación de los coeficientes de desvanecimiento del canal.
5
Dadas las condiciones del canal, la mínima probabilidad de error de bit es la que se logra cuando hay
sólo un usuario en el canal
82
4.2.3
Análisis de la energía efectiva del receptor rastrillo en el caso de error en la
sincronización de la señal firma y estimación perfecta de los coeficientes de
desvanecimiento del canal.
Figura 4-9 Señal a ruido promedio efectiva en función de la probabilidad de error de bit promedio.
Receptor rastrillo con error en la sincronización de la señal firma.
En este caso, de acuerdo a la figura 4-9 y de acuerdo a lo esperado, la relación señal a
ruido efectiva aumenta si disminuye ρ(∆τ) que es la variable que representa el error en
la sincronización; ρ(∆τ) =1 corresponde al caso de sincronización perfecta. Como
ocurre en el caso de error en la estimación de los coeficientes de desvanecimiento del
canal, para una relación señal a ruido dada, la mínima probabilidad de error de bit que
se puede obtener es mayor entre mayor sea el error en la sincronización.
83
4.3
ANÁLISIS DE LA RESISTENCIA CERCA LEJOS DEL RECEPTOR
RASTRILLO Y COMPARACIÓN CON EL RECEPTOR ÓPTIMO PARA
CDMA
4.3.1 Análisis de la resistencia cerca lejos del receptor rastrillo en el caso de
estimación perfecta de los coeficientes de desvanecimiento del canal y
sincronización perfecta de la señal firma. Comparación con el receptor Óptimo
para CDMA
Figura 4-10 Probabilidad de error de bit promedio. Receptor rastrillo con sincronización perfecta de la
señal firma y estimación perfecta de los coeficientes de desvanecimiento del canal. Cotas para la
probabilidad de error de bit del receptor óptimo para CDMA.
La figura 4-10 muestra la probabilidad de error de bit del receptor rastrillo para el caso
en que la señal de todos usuarios se recibe con la misma relación señal a ruido promedio
y para varios casos en que la señal de los usuarios interferentes se recibe con la misma
relación señal a ruido promedio pero algunos dBs por arriba de la relación señal a ruido
promedio con que se recibe la señal del usuario de interés. Para todos los casos se
84
supone que hay ocho usuarios compartiendo el canal. La figura indica, para cada caso,
los dBs de diferencia entre la relación señal a ruido promedio recibida del usuario de
interés y la relación señal a ruido promedio recibida de los usuarios interferentes.
Aunque en este caso el receptor rastrillo no tiene errores de estimación, si la potencia de
transmisión del usuario de interés disminuye, o equivalentemente, la potencia recibida
de los usuarios interferentes aumenta, se afecta su desempeño. Para el caso del receptor
óptimo la probabilidad de error de bit no se afecta si aumenta la potencia recibida de los
usuarios interferentes. Como se dijo en la sección anterior, esto se debe a que en la
estimación de los bits transmitidos el receptor óptimo tiene en cuenta las señales de los
usuarios interferentes y por lo tanto es capaz de cancelar su efecto negativo y finalmente
sus cotas para la probabilidad de error de bit no dependen de la potencia recibida de los
usuarios interferentes, sólo dependen de la potencia recibida del usuario de interés. En
este caso tampoco se pueden comparar valores específicos entre la probabilidad de error
de bit del receptor rastrillo y el receptor óptimo ya que, como se dijo anteriormente, las
condiciones no son las mismas, para el rastrillo se supusieron tres multicaminos
mientras que para el óptimo se supuso uno.
4.3.2 Análisis de la resistencia cerca lejos del receptor rastrillo en el caso de error
en la estimación de los coeficientes de desvanecimiento del canal y
sincronización perfecta de la señal firma.
Los resultados de la figura 4-11 corresponden a ocho usuarios compartiendo el canal
con la señal a ruido promedio recibida de los usuarios interferentes 2dB por encima de
la relación señal a ruido promedio recibida del usuario de interés. Los resultados
verifican lo esperado, entre mayor sea la varianza del error de estimación mayor es la
probabilidad de error de bit y por lo tanto se disminuye la resistencia cerca-lejos.
85
Figura 4-11 Probabilidad de error de bit promedio. Receptor rastrillo con error en la estimación de los
coeficientes de desvanecimiento del canal
4.3.3
Análisis de la resistencia cerca lejos del receptor rastrillo en el caso de error en
la sincronización de la señal firma y estimación perfecta de los coeficientes de
desvanecimiento del canal.
Figura 4-12 Probabilidad de error de bit promedio. Receptor rastrillo con error en la sincronización de la
señal firma
86
Los resultados de la figura 4-12 se obtuvieron suponiendo ocho usuarios compartiendo
el canal con la relación señal a ruido promedio recibida de los usuarios interferentes
2dB por encima de la relación señal a ruido promedio recibida del usuario de interés. La
figura 4-12 muestra, de acuerdo a lo esperado, que el desempeño del receptor rastrillo se
afecta cuando hay error en la sincronización de la señal firma y que entre mayor sea este
error la resistencia cerca lejos es menor.
87
5.
•
CONCLUSIONES
Se hizo un análisis detallado del receptor rastrillo indicando cuáles son las
condiciones de transmisor y canal para las cuales está diseñado.
•
Se propuso una ecuación para la probabilidad de error de bit del receptor
rastrillo para cada uno de los siguientes tres casos:
a. Receptor rastrillo con estimación perfecta de los coeficientes de
desvanecimiento del canal y sincronización perfecta de la señal firma
b. Receptor rastrillo con error en la estimación de los coeficientes de
desvanecimiento del canal suponiendo sincronización perfecta de la señal firma.
c. Receptor rastrillo con error en la sincronización de la señal firma suponiendo
estimación perfecta de los coeficientes de desvanecimiento del canal.
Se realizaron simulaciones para cada uno de los tres casos anteriores.
Para realizar cálculos con las ecuaciones propuestas se aproximó el parámetro
L2ck a 1/127, esta aproximación es válida sólo para el conjunto de señales firma
escogidas.
Se concluye que las ecuaciones propuestas para la probabilidad de error de bit
son una buena aproximación a la probabilidad de error de bit del receptor
rastrillo y su validez y la validez de la estimación del parámetro L2ck se
confirman al comparar los resultados obtenidos con las simulaciones con los
resultados obtenidos con las ecuaciones. Al utilizar las ecuaciones propuestas
88
es importante hacer una buena aproximación del parámetro L2ck el cual va a
variar dependiendo del tipo de señales firma que se utilicen.
La ecuación propuesta para el caso c se obtuvo suponiendo ∆τ constante, que
equivale a un ρxx(∆τ) constante, es decir un error de sincronización constante.
Como en realidad ∆τ es una variable aleatoria, que se modeló como una variable
aleatoria Gaussiana de media cero, se propuso una ecuación que permite utilizar
la ecuación propuesta en el caso c para hallar la probabilidad de que la
probabilidad de error de bit esté dentro de un rango dado. Esta nueva ecuación
no se comparó con simulaciones porque éstas resultan demasiado largas ya que
para obtener resultados confiables es necesario enviar un gran número de bits.
•
Las ecuaciones propuestas para la probabilidad de error de bit del receptor
rastrillo en el caso en que hay error en la estimación de los coeficientes de
desvanecimiento del canal y en el caso en que hay error en la sincronización de
la señal firma se obtuvieron modelando los errores de estimación del canal como
variables aleatorias Gaussianas de media cero. Cuando se implemente un
receptor rastrillo, si los errores del estimador utilizado se pueden modelar de esta
manera, las ecuaciones son completamente válidas. Si por el contrario, el error
del estimador muestra otro tipo de comportamiento, es decir, si sus errores no se
pueden modelar como variable aleatorias Gaussianas de media cero,
las
ecuaciones propuestas pierden validez. En el caso en que no se conozca la
función de densidad de probabilidad del error del estimador las ecuaciones
propuestas sirven para definir rangos de error admisibles.
89
Para el caso del receptor rastrillo con error en la estimación de los coeficientes
de desvanecimiento del canal se obtuvo que para una varianza del error de
estimación, σ2∆A, igual a 0.1 y una relación señal a ruido promedio de 16dB, la
probabilidad de error de bit aumenta aproximadamente 10 veces con respecto a
la probabilidad de error de bit en el caso de estimación perfecta. Para una
varianza de 0.01 y relación señal a ruido promedio de 16dB el aumento es de
aproximadamente 1.5 veces. Para el caso en que sólo hay error en la
sincronización de la señal firma se obtuvo que para un valor de la función ρ(∆τ)
igual a 0.5 y una relación señal a ruido promedio de 16dB, la probabilidad de
error de bit aumenta aproximadamente veinte veces con respecto a la
probabilidad de error de bit en el caso de estimación perfecta y para un valor de
ρxx(∆τ) igual a 0.8 y relación señala ruido promedio de 16dB, la probabilidad de
error de bit aumenta el doble. De acuerdo con esto y como para 16dB las
gráficas ya están cerca de su punto de estabilización, si se quiere que debido al
error de estimación en los coeficientes de desvanecimiento del canal la
probabilidad de error de bit no se aumente más de diez veces, la varianza del
error en la estimación se debe mantener por debajo de 0.1 y si se quiere que la
probabilidad de error no se aumente más de dos veces la varianza del error debe
mantenerse alrededor de 0.01. Por otro lado, si se quiere que debido al error en
la sincronización la probabilidad de error de bit no se aumente más del doble,
ρxx(∆τ) debe mantenerse por encima de 0.8.
•
Los resultados obtenidos para el caso de estimación perfecta de los coeficientes
de desvanecimiento del canal y sincronización perfecta de la señal firma se
compararon con los obtenidos por Kumar y Panicker. No se esperaba que los
90
resultados fueran exactamente iguales debido a que N no es el mismo, en el
artículo de Kumar y Panicker N =31. Con la comparación se confirmó que tal y
como se obtuvo con la ecuación propuesta y con las simulaciones realizadas, que
para alta relación señal a ruido la presencia de usuarios interferentes en el canal
no permite que la probabilidad de error de bit baje de cierto valor el cual
depende del número de usuarios compartiendo el canal y la correlación entre sus
señales firma.
•
Los resultados obtenidos para el caso de error en la estimación de los
coeficientes de desvanecimiento del canal y sincronización perfecta de la señal
firma se compararon con los obtenidos por Kumar y Panicker. La comparación
no puede ser directa ya que el modelo del error es diferente. Lo que se puede
apreciar es que de acuerdo con los resultados que se obtuvieron a partir de la
ecuación propuesta y de las simulaciones, el receptor rastrillo es bastante
sensible a este tipo de error.
•
De acuerdo con las dos conclusiones anteriores, las ecuaciones propuestas para
el caso de estimación perfecta de los coeficientes de desvanecimiento del canal
y sincronización perfecta de la señal firma y para el caso de error en la
estimación de los coeficientes de desvanecimiento del canal y sincronización
perfecta de la señal firma, siendo más sencillas que la ecuación propuesta por
Kumar y Panicker, sirven para realizar análisis similares. La desventaja de las
ecuaciones propuestas es que sólo se puede analizar el efecto de un tipo de error
a la vez.
91
•
Para una probabilidad de error de bit de 0.01, la relación señal a ruido promedio
efectiva es de 4dB, para el caso en que la varianza del error de estimación de los
coeficientes de desvanecimiento del canal, σ2∆A, es igual a 0.01 y aumenta a 8dB
para el caso en que la varianza del error de los coeficientes de desvanecimiento
del canal es igual a 0.1. En el caso en que hay error en la sincronización de la
señal firma, para una probabilidad de error de bit de 0.01, cuando no hay error
(ρxx(∆τ)=1) la relación señal a ruido promedio efectiva es de 4dB y cuando
ρxx(∆τ) es igual a 0.8 la relación señal a ruido promedio efectiva aumenta a 6dB.
El aumento de la relación señal a ruido promedio efectiva al aumentar los
errores de estimación confirma que aunque no haya usuarios interferentes el
desempeño del receptor rastrillo se afecta considerablemente debido los errores
de estimación de los parámetros del canal.
•
Para una relación señal a ruido promedio de 16dB si la señal de los usuarios
interferentes está llegando al receptor con una relación señal a ruido promedio
de 6dB por encima de la potencia del usuario de interés, la probabilidad de error
de bit se aumenta aproximadamente 10 veces. Este aumento no es tan crítico si
se tiene en cuenta que este sería un caso muy desfavorable y poco probable. En
los resultados obtenidos se puede ver, de acuerdo a lo esperado, que hay menos
resistencia cerca lejos si se aumenta el error en la estimación de los coeficientes
de desvanecimiento del canal y si se aumenta el error en la sincronización de la
señal firma. Todos éstos resultados resaltan la necesidad de un buen control de
potencia y la necesidad de utilizar señales firma de baja correlación para que el
efecto de usuarios interferentes se disminuya.
92
•
Las señales firma de los usuarios compartiendo el canal se crearon a partir de
secuencias Gold con N = 127 que corresponden a n = 7. De acuerdo con el
teorema de Gold, para este N se pueden generar hasta 129 secuencias con baja
correlación (menor o igual a 2(n+1)/2+1) por lo tanto se esperaba que fuera posible
tener hasta 129 usuarios compartiendo el canal. Sin embargo, en los resultados
(Fig. 4-7) se observa que para treinta usuarios compartiendo el canal la
probabilidad de error se estabiliza en aproximadamente 0.01 mientras que para
el caso de sólo un usuario presente en el canal y una relación señala ruido
promedio de 10dB la probabilidad de error de bit es mucho menor,
aproximadamente 3x10-4 y es una función decreciente. El gran aumento de la
probabilidad de error de bit como consecuencia de varios usuarios compartiendo
el canal lleva a concluir que aunque las secuencias Gold escogidas tienen baja
correlación ésta no es lo suficientemente baja como para que sean utilizadas
como secuencias que determinan la señal firma de los usuarios que comparten el
canal. También se concluye que un parámetro crítico al diseñar un sistema de
comunicaciones inalámbricas basado en CDMA-DSSS es el tipo de señales
firma que se escojan.
•
Aunque el receptor óptimo no implementa un esquema de recepción basado en
la diversidad su desempeño no se afecta debido a la presencia de varios usuarios
en el canal. Esta característica es una gran ventaja. Por otro lado, para el receptor
rastrillo, aunque implementa diversidad, este esquema no cancela por completo
el efecto negativo que tiene la presencia de varios usuarios en el canal. La gran
desventaja del receptor óptimo es su difícil implementación.
93
5.1
TRABAJO FUTURO
•
Analizar diferentes estimadores del canal y sus rangos de error. Si estos errores
se pueden llegar a modelar como variables aleatorias Gaussianas de media cero
se podrían utilizar los resultados presentados para evaluar la calidad de los
estimadores.
•
Evaluar la probabilidad de error de bit del receptor rastrillo escogiendo señales
firma que no estén basadas en secuencias Gold, por ejemplo, señales firma
basadas en las funciones Walsh.
•
Analizar el desempeño de otro tipo de receptores rastrillo como por ejemplo el
‘Generalized Rake Receiver’ propuesto por Bottomley et al.
y el
‘Decorrelating Rake Receiver’ propuesto por Liu y Li. Investigar para que tipos
de transmisor y canal están diseñados y que técnica de combinación utilizan ya
que éstos dos receptores no están basados en la técnica de combinación de tasa
máxima sino que implementan otras técnicas más específicas que han sido
propuestas por cada uno de los respectivos autores.
94
6.
BIBLIOGRAFÍA
APÓSTOL, T.M. Introducción a la teoría analítica de números. Barcelona : Reverte,
1980.
BOTTOMLEY, G; OTTOSSON, T. and WANG, Y. “A generalized Rake receiver for
interference suppression”. IEEE Journal on Selected Areas in Communications. Vol.
18, No. 8, pp. 1536-1545, Agosto 2000.
BRADY, D. and ZOVONAR, Z. “Multiuser Detection in Single-Path Fadiing
Channels”. IEEE Transactions on Communications. Vol.42,
pp
1729-1739,
Febrero 1994.
D´AMOURS, M.; MOHER, M. and YONGACOGLU, A. “Comparisson of pilot
symbol-assisted and differentially detected BPSK for DS-CDMA systems employing
Rake receivers in Rayleigh fading channels”. IEEE Transactions on vehicular
technology, Vol. 47, No. 4, pp. 1258-1267, Noviembre 1998.
DONADIO, M. “How to generate white Gaussian noise”. dspGuru. Consulta en línea
en: http://www.dspguru.com/howto/tech/wgn2.htm (Acceso Julio de 2004).
FELSTRÖM..A; JIMÉNEZ, A and ZOGANGIROV, K.S. “On coherent reception of
uplink transmitted signals in the DS-CDMA system”. IEEE Transactions on
Information Theory, vol.45, pp. 2655-2661, Noviembre 1999.
95
GARG, V. Wireless Network Evolution: 2G to 3G. Upper Saddle River, New Jersey:
Prentice Hall. 2002.
HAYKIN, S. Communication Systems. New York: Chichester: John Wiley. 2001
HUANG, W; ANDONOVIC, I. and NAKAGAWA, M. “PLL performance of DSCDMA systems in the presence of phase noise, multiuser interference, and additive
Gaussian noise”. IEEE Transactions on Communications, vol. 46, pp.1507-1515,
Noviembre 1998.
JERUCHIM, M.C. “Techniques for Estimating the Bit Error Rate in the Simulation of
Digital Communication Systems”. IEEE Journal on Selected Areas in Communications.
Vol. SAC-2, No.1, pp 153-170, Enero 1984.
LEÓN-GARCÍA, A. Probability and Random processes for Electrical Engineering.
New York: Addison Wesley Publishing Company, 1994.
LIU, H. and LI, K. “A Decorrelating Rake Receiver for CDMA communications over
frequency-selective fading channels”. IEEE Transactions on Communications, Vol.47,
No.7, pp.1036-1045, Julio 1999.
MANDYAM, G. “Wireless Communications ”. The University of Texas at Dallas.
Consulta en línea en:
http://www.utdallas.edu/~gxm016000/Lecture%2018%20November%201%202001.pdf
(Acceso Agosto 2004)
96
MARSLAND, I. “Principles of digital communications”. CarletonUniversity. Consulta
en línea en:
http://www.sce.carleton.ca/courses/sysc-5504/notes/pdf/rv.pdf (Acceso Agosto 2004).
MCLANE, P.J and SUNAY, M.O.. “Probability of error for diversity combining in DSCDMA
systems
with
synchronization
errors”.
European
Transactions
on
Telecommunications, vol. 9, no. 5, pp. 449-463, Septiembre 1998.
MILSTEIN, L. and QUIRK, K. “The effects of phase estimation on Rake receiver
performance”. IEEE Transactions on Information Theory. Vol. 48, no. 3, Marzo 2002.
NONEAKER, D.L. “Optimal Combining for Rake Reception in Mobile Cellular
CDMA
Forward
Links”.
IEEE
MILCOM
98.
Consulta
en
línea
en:
http://www.argreenhouse.com/society/TacCom/papers98/25_03i.pdf. (Acceso Abril de
2004).
KUMAR, S. and PANICKER, J. “Effect of system imperfections on BER performance
of a CDMA receiver with multipath diversity combining”. IEEE Transactions on
Vehicular Technology. Vol. 45, pp.622-630, Noviembre 1996.
PROAKIS, J.G. Digital Communications. New York: McGraw Hill, 1989.
RAPPAPORT, T. Wireless Communications: Principles and Practice. Saddle River,
New Jersey, 1999.
97
STARK, H. and WOODS, J.W. Probability and Random Processes with Applications to
signal Processing. New Jersey: Prentice Hall, 2002.
VERDÚ, S. Multiuser Detection. New York: Cambridge University. 2001
WEISSTEIN, E.W. “Rayleigh distribution”. Mathworld. Consulta en línea en:
http://mathworld.wolfram.com/RayleighDistribution.html (Acceso Julio de 2004)
WEISSTEIN, E.W. “Normal Distribution”. Mathworld. Consulta en línea en:
http://mathworld.wolfram.com/NormalDistribution.html. (Acceso Julio de 2004)
98
7.
7.1
ANEXO 1. ALGUNOS CONCEPTOS DE PROBABILIDAD
Variable aleatoria con distribución Gaussiana
Una variable aleatoria X tiene una distribución Gaussiana o Normal si su función de
densidad de probabilidad es de la forma
f X ( x) =
1
2π σ X
 ( x − m X )2 
 para todo x real
exp −
2

2
σ
X


mX es el valor esperado o media de la variable aleatoria X:
mX = E[X]
Y σ2X es su varianza:
σ2X = VAR[X]
Se dice que X~N(mX, σ2X). La siguiente figura da una idea de la forma que toma la
función de densidad de probabilidad de la variable aleatoria Gaussiana X en el caso en
que mX =0.
Figura 7-1 Función de densidad de probabilidad de una variable aleatoria Gaussiana de media cero.
99
Si a la variable aleatoria Gaussiana X~N(mX, σ2X) se le aplica una transformación lineal
de la forma Y=aX + b, en donde a y b son constantes reales, la distribución de la nueva
variable aleatoria Y también es Gaussiana6 y Y~N(b+ mX, (aσX)2).
La suma de dos variables aleatorias Gaussianas independientes es también una variable
aleatoria Gaussiana. Dicho en términos un poco más formales, si X y Y son variables
aleatorias independientes y su distribución está dada respectivamente por X~N(mX,σ2X)
y Y~(mY,σ2Y), entonces la variable aleatoria C:
C=X+Y tiene una distribución
Gaussiana dada por7 C~N(mX+mY,σ2X+σ2Y).
7.2
Variable aleatoria compleja formada a partir de dos variables aleatorias
Gaussianas
Si X y Y son variables aleatorias reales con distribuciones dadas por X~N(mX,σ2X) y
Y~(mY,σ2Y), la variable aleatoria compleja Z = X + jY tiene las siguientes
características8:
mZ = E[Z] = E[X] + jE[Y] = mX +jmY
y
σ2Z = VAR[Z] = ½( σ2X+ σ2Y)
La función de densidad de probabilidad de Z está dada por la función de densidad de
probabilidad conjunta de X y Y:
f Z ( z ) = f X ,Y (ℜ{z}, ℑ{z})
6
La demostración se encuentra en el libro ‘Probability and Random Processes with Applications to Signal
Processing’ de H. Stark y J.W. Woods
7
La demostración se encuentra en el libro ‘Probability and Random Processes for Electrical Engineering’
de León- García.
8
Resultados tomados de la página web de I. Marsland de la universidad de Carleton
100
Si X y Y son independientes:
f Z ( z ) = f X ( x) f Y ( y )
1
=
2π σ X
 ( y − mY )2 
 ( x − m X )2 
1




exp −
2
 2π σ exp − 2σ 2 Y 
σ
2
X




X
Ahora, suponiendo que σ2X = σ2Y = σZ2:
f Z ( z) =
7.3
1
2πσ 2 Z
 Z − mZ
exp −

2σ 2 Z

2




Distribución Rayleigh
Si Z = X + jY es una variable aleatoria compleja y X~N(0,σ2) y Y~N(0, σ2), la variable
aleatoria R =|Z| tiene una función de distribución Rayleigh :
f R (r ) =
 r2 
 −
;
exp
2 
σ2
 2σ 
r2
r≥0
con E[|Z|] = 1.2533σ, VAR[|Z|] = 2σ2 y la notación es Z~R(1.2533σ , 2σ2). La figura 1-14 da una idea de la forma de la función de densidad de probabilidad para este caso:
Figura 7-2 Función de densidad de probabilidad de una variable aleatoria con distribución Rayleigh.
101
7.4
Ruido blanco Gaussiano aditivo
Es conveniente listar unas propiedades del ruido blanco Gaussiano aditivo con densidad
espectral de potencia unitaria. Algunas de estas propiedades serán utilizadas. Estas
propiedades fueron tomadas del libro de S. Verdú y allí mismo están demostradas:
Suponiendo que n(t) es ruido blanco Gaussiano aditivo con densidad
espectral
de
potencia
unitaria,
teniendo
en
cuenta
que
T
a, b = ∫ a (t )b(t )dt , y dado que h(t) y g(t) son señales determinísticas de
0
energía finita, las propiedades son:
1. E[<n,h>] = 0.
2. E[<n,h>2] = ||h||2
3. Si n(t) es un proceso Gaussiano entonces <n,h> es una variable
aleatoria Gaussiana
4. E[<n,h><n,g>] = <g,h>
5. E[<n,h>n] = h
7.5
Funciones erf y Q
La función erf corresponde a la siguiente definición:
erf ( x) =
2
π
x
∫e
−t 2
dt
0
La función Q corresponde a la siguiente definición:
∞
Q( x) = ∫
x
 t2 
exp − dt
2π
 2
1
102
Q(x) = P[X > x] con X~N(0,1)
Una propiedad importante de la función Q y que se usará durante el desarrollo de las
ecuaciones para la probabilidad de error de bit es la siguiente9:
Si X es un vector complejo de dimensión L con componentes
independientes cada una con varianza igual a E[|Xi|2] = 2γ2 y partes
real e imaginaria independientes siendo tanto la parte real como la parte
imaginaria variables aleatorias Gaussianas de media cero entonces:
E [Q( X
7.6
)] = 1 − 1
2
1
2 1 + γ −2
L

1 ⋅ 3 ⋅ 5 ⋅ ⋅ ⋅ (2n − 1) 
1 + ∑

2
n
n
 n =1 n!2 (γ 1)

Señales continuas en tiempo en ruido blanco Gaussiano aditivo
Para el caso en que se tienen señales continuas afectadas por ruido blanco Gaussiano
aditivo las siguientes regiones de decisión minimizan la probabilidad de error de bit10:
Sean x1,..,xm funciones determinísticas de energía finita definidas en un
intervalo I de la línea real. Sea n(t) ruido blanco Gaussiano aditivo con
densidad espectral de potencia igual a uno. Considerando las m hipótesis
equiprobables:
H1 : y(t) = x1(t) + σn(t), t ε I
.
.
.
Hm : y(t) = xm(t) + σn(t), t ε I
9
Esta propiedad se encuentra en el libro ‘Multiuser Detection’ de S. Verdú
Esta es una proposición explicada con más detalle en libro ‘Multiuser Detection’ de S. Verdú
10
103
Las siguientes regiones de decisión minimizan la probabilidad de error:
{
}
i −1
Ω i = y = {y (t ), t ∈ I } : f [ y | xi ] = max f [ y | x j ] − U Ω j
j =1,...m
j =1
en donde

1
f [ y | xi ] = exp −
2
 2σ

∫ [y(t ) − x (t )] dt 
2
i
I
104
8.
ANEXO 2. COMBINACIÓN DE TASA MÁXIMA, REGLA DE DECISIÓN
ÓPTIMA EN EL CONTEXTO DE DIVERSIDAD Y UN USUARIO
PRESENTE EN EL CANAL
En esta sección se hace un desarrollo para llegar al mismo resultado de Verdú con el
cual el autor justifica la técnica de combinación de tasa máxima como el método con el
cual se implementa la regla de decisión óptima en el contexto de diversidad y un usuario
presente en el canal.
En el caso en que hay sólo un usuario (usuario x) en el canal, la señal recibida es:
Y (t ) = Yx (t ) + σn(t )
En donde
C
Yx (t ) = ∑ Acx (t ) X x (t − τ cx )
c =1
C
= ∑ Acx (t )bx (t − τ cx ) s x (t − τ cx )
c =1
Reemplazando Yx(t) en Y(t):
C
Y (t ) = ∑ Acx (t )bx (t − τ cx ) s x (t − τ cx ) + σn(t )
c =1
Suponiendo que el ruido σn(t) es igual a las contribuciones del ruido en cada camino:
C
σn(t ) = σ ∑ n(t )
c =1
Se tiene que:
C
Y (t ) = ∑ ( Acx (t )bx (t − τ cx ) s x (t − τ cx ) + σnc (t ) )
c =1
Limitando la observación a un intervalo de tiempo t є [0,Tb] en el que se recibe un bit
del usuario x:
105
C
(
Y (t ) = ∑ Acx Ebx bx s x (t − τ cx ) + σnc (t )
c =1
)
Hay dos hipótesis, la primera es que se envíe un 1 y la segunda es que se envíe un -1:
C
(
)
(
)
H 1 : Y (t ) = ∑ + Acx Ebx s x (t − τ cx ) + σnc (t )
c =1
C
H 2 : Y (t ) = ∑ − Acx Ebx s x (t − τ cx ) + σnc (t )
c =1
Estas hipótesis se pueden dividir en cuatro, dos para la parte real y dos para la parte
imaginaria. Para la parte real:
C
(
)
(
)
(
)
(
)
H 1R : YR (t ) = ∑ + AcxR Ebx s x (t − τ cx ) + σncR (t )
c =1
C
H 2 R : YR (t ) = ∑ − AcxR Ebx s x (t − τ cx ) + σncR (t )
c =1
Para la parte imaginaria:
C
H 1I : YI (t ) = ∑ + AcxI Ebx s x (t − τ cx ) + σncI (t )
c =1
C
H 2 I : YI (t ) = ∑ − AcxI Ebx s x (t − τ cx ) + σncI (t )
c =1
YR(t) se puede rescribir de la siguiente manera:
C
YR (t ) = ∑ YEcR (t ) en donde YEcR (t ) = AcxR Ebx bx s x (t − τ cx ) + σncR (t )
c =1
YI(t) también se puede rescribir:
C
YI (t ) = ∑ YEcI (t ) en donde YEcI (t ) = AcxI Ebx bx s x (t − τ cx ) + σncI (t )
c =1
Para la parte real hay que escoger el bx que haga máximo:

1
f [{YR (t ), t ∈ [0, Tb]} | bx ] = exp −
2
 2σ
∫ ∑ [Y
C
I c =1
EcR
]

2
(t ) − AcxR Ebx bx s x (t − τ cx ) dt 

106
Y para la parte imaginaria hay que escoger el bx que haga máximo:

1
f [{YI (t ), t ∈ [0, Tb]} | bx ] = exp −
2
 2σ
∫ ∑ [Y
C
I c =1
EcI
]

2
(t ) − AcxI Ebx bx s x (t − τ cx ) dt 

Como la parte real y la parte imaginaria de Y(t) son independientes y lo que se desea
hacer máximo es la parte real y la parte imaginaria conjuntamente, esto equivale a
hacer máximo:
1

f [{Y (t ), t ∈ [0, Tb]} | bx ] = exp −
2
 2σ
Tb C
∫ ∑Y
0
c =1
Ec
2

(t ) − Acx Ebx bx s x (t − τ cx ) dt  ,

(8-1)
en dónde YEc(t) = YEcR(t) + j YEcI(t). Hacer máximo (8-1) equivale a minimizar:
Tb C
∫∑ Y
0 c =1
2
Ec
(t ) − Acx Ebx bx s x (t − τ cx ) dt ,
lo cual termina siendo un caso minimización de distancia. Como sx(t) es real,
Tb C
2
C Tb
C
∫ ∑ YEc (t ) − Acx Ebx bx s x (t − τ cx ) dt = ∑ ∫ YEc (t ) dt +∑ Acx Ebx bx s x (t − τ cx ) dt
0 c =1
2
c =1 0
c =1

Tb
− 2 Ebx bx ∑ ℜ ∫ YEc (t ) A∗ cx s x (t − τ cx )dt 
c =1

0
C
Y la regla de decisión óptima para estimar el bit transmitido bx es:
Tb
 C 

bˆx = sgn ∑ ℜ A∗cx ∫ YEc (t ) s x (t − τ cx )dt  

 c =1
0



Con la correlación entre YEc(t) y sx(t-τcx) se separa la señal proveniente del camino c de
las señales provenientes de los demás caminos. La regla de decisión óptima dice que
hay que multiplicar el resultado de esta correlación por el complejo conjugado del
coeficiente de desvanecimiento del canal que afecta el camino c. Esto es igual a lo que
se había dicho en la sección 2.3.1 para la técnica de combinación de tasa máxima por lo
tanto, la regla de decisión óptima corresponde a esta técnica.
107
9.
9.1
ANEXO 2. CÓDIGO DE LAS FUNCIONES IMPLEMENTADAS EN C++
FUNCIÓN ‘transmisorg.cpp’
#include <stdlib.h>
#include <math.h>
#include "mex.h"
#include "matrix.h"
#define corrimiento_IN prhs[0]
#define senalinfo_IN prhs[1]
#define tx_OUT plhs[0]
#define gold_OUT plhs[1]
/*corrimiento :
(entrada)
/*senalinfo
desea
(entrada)
/*tx
acuerdo al
(salida)
/*gold
la cual
(salida)
Indica el corrimiento de una de las maximal sequences
usadas para generar la secuencia Gold a partir de la
cual se genera la señal firma del usuario x*/
:
Vector que contiene los bits de información que
:
transmitir el usuario x */
Vector que contiene la señal transmitida de
:
modelo propuesto*/
Vector que contiene la secuencia Gold a partir de
se generó la señal firma del usuario x*/
void transmisorg(int corr, int periodo, double *senalinfo,
double tx[], double gold[])
{
/*Genera la señal transmitida por el usuario x multiplicando una Gold
sequence de periodo 127 bits por cada uno de los bits de la señal de
información*/
/*La Gold sequence es el resultado de la xor de dos maximal sequences
generadas por los polinomios p1=x7+x3+1 y p2=x7+x3+x2+x1+1. p1 genera
smax1
y p2 genera smax2. Ya previamente se verifico que estos polinomios
cumplen las condiciones necesarias*/
/*La variable corrimiento especifica el numero de posiciones que se
rotara smax2 a la derecha antes de hacer la xor con smax1*/
int i,j;
float ff1[7],ff2[7],smax1[127],smax2[127],ressuma1,ressuma2;
/*Se cargan los flip flops con el estado inicial. ff1 representa a los
flipflops para obtener smax1 y ff2 representa a los flipflops
para obtener smax2. Se definió que el estado inicial
108
iba a ser siempre [0 0 1 1 0 0 1] para generar ambas secuencias*/
ff1[0]=ff1[1]=ff1[4]=ff1[5]=ff2[0]=ff2[1]=ff2[4]=ff2[5]=0;
ff1[2]=ff1[3]=ff1[6]=ff2[2]=ff2[3]=ff2[6]=1;
/*Con un loop se generan smax1 y smax2*/
for (i=0;i<127;i++)
{smax1[i] = ff1[6];
if (i+corr>126)
smax2[i+corr-127] = ff2[6];
else
smax2[i+corr] = ff2[6];
if (ff1[2]==ff1[6])
ressuma1 = 0;
else
ressuma1 = 1;
if ((ff2[6]!=ff2[2])^(ff2[1]!=ff2[0]))
ressuma2 = 1;
else
ressuma2 = 0;
ff1[6] = ff1[5]; ff2[6] = ff2[5];
ff1[5] = ff1[4]; ff2[5] = ff2[4];
ff1[4] = ff1[3]; ff2[4] = ff2[3];
ff1[3] = ff1[2]; ff2[3] = ff2[2];
ff1[2] = ff1[1]; ff2[2] = ff2[1];
ff1[1] = ff1[0]; ff2[1] = ff2[0];
ff1[0] = ressuma1; ff2[0] = ressuma2;
}
/*generación secuencia gold = xor entre smax1 y smax2 corrida
llenado de todo el vector salida tx*/
for(i=0;i<periodo*127;i++)
{if(i<127)
{if(smax1[i] == smax2[i])
{gold[i] = -1;
tx[i] = *senalinfo * -1;
}
else
{gold[i] = 1;
tx[i] = *senalinfo * 1;
}
}
else
{j = i/127;
tx[i] = *(senalinfo+j) * gold[i-j*127];
}
}
return;
}
void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])
109
{
double *corrimiento, *senalinfo;
double *tx, *gold;
int periodo, corr;
corrimiento = mxGetPr(corrimiento_IN);
senalinfo = mxGetPr(senalinfo_IN);
periodo = mxGetN(senalinfo_IN);
corr = *corrimiento;
tx_OUT = mxCreateDoubleMatrix(1,periodo*127,mxREAL);
gold_OUT = mxCreateDoubleMatrix(1,127,mxREAL);
tx = mxGetPr(tx_OUT);
gold = mxGetPr(gold_OUT);
transmisorg(corr,periodo,senalinfo,tx,gold);
}
9.2
FUNCIÓN ‘canalxu3.cpp’
#include <stdlib.h>
#include <math.h>
#include "mex.h"
#include "matrix.h"
#define numbitsinfo_IN prhs[0]
#define numusuariosint_IN prhs[1]
#define Ebinterferentes_IN prhs[2]
#define sigA2_IN prhs[3]
#define taos_IN prhs[4]
#define sigmaawgn_IN prhs[5]
#define x1_IN prhs[6]
#define A1r_IN prhs[7]
#define A1i_IN prhs[8]
#define yr_OUT plhs[0]
#define yi_OUT plhs[1]
/*numbitsinfo :
Numero de bits de información transmitidos por el usuario
x
(entrada)*/
/*numusuariosint:
Numero de usuarios interferentes
(entrada)*/
/*Ebinterferentes:
Energía usuarios interferentes, es la misma para todos
(entrada)
(no es un vector)*/
/*sigA2
:
Contiene el valor de la varianza de la parte
real y de la
(entrada)
parte imaginaria de los coeficientes de
desvanecimiento del
canal (misma para todos los usuarios). */
/*taos
:
[tao1,tao2,tao3] Vector que contiene los retardos
que afectan
110
(entrada)
la señal del usuario 1 en los caminos 1, 2 y 3 respectivamente
Se definió que para los usuarios interferentes el
numero de
caminos es también 3
El retardo de los usuarios interferentes se
definió como
tao1+10 para el primer camino
tao2+10 para el segundo camino
tao3+10 para el tercer camino
Lo anterior significa que todos los usuarios
interferentes
tienen el mismo número de caminos y en
caminos iguales tienen
/*sigmaaqwgn:
(entrada)*/
/*x1
usuario 1
(entrada)*/
/*A1r
coeficientes de
(entrada)
de los bits de la
/*A1i
imaginaria de los
(entrada)
cada uno
el mismo retardo*/
Varianza de la parte real y la parte imaginaria del awgn
:
Vector que contiene la señal transmitida por el
:
Matriz-numbitsinfox3. Contiene la parte real de los
desvanecimiento del canal que afectan a cada uno
:
señal transmitida por el usuario 1 (X1)*/
Matriz-numbitsinfox3.
Contiene
la
parte
coeficientes de desvanecimiento del canal que afectan a
de los bits de la señal transmitida por el
usuario 1 (X1) */
/*yr
:
Vector que contiene la parte real de la salida del
canal (Re(Y(t)))
(salida)
de acuerdo al modelo propuesto */
/*yi
:
Vector que contiene la parte imaginaria de la salida
del canal (Im(Y(t)))
(salida)
de acuerdo al modelo propuesto */
void canalxu3(int numuint, int i, int j, int a, double *gold,
double *smax1, double *smax2, double *interferentesr,
double *interferentesi, double *btx, double *AIr, double *AIi)
{
/*interferentesr e interferentesi son vectores de tamaño 3x(numbitsinfoX127)
Cada fila contiene la contribución de los usuarios interferentes en el camino
correspondiente. Es decir la fila 1 contiene la suma de la señal del camino 1
de todos los usuarios interferentes*/
if(i<127) /*Este if genera la secuencia gold del usuario a*/
{if(*(smax1+i) == *(smax2+i*numuint+a))
*(gold+i*numuint+a) = -1;
else
*(gold+i*numuint+a) = 1;
111
}
*(interferentesr+3*i) = *(interferentesr+3*i) +
*(gold+(i-j*127)*numuint+a) * *(btx+a) *
*(AIr+a);
*(interferentesr+3*i+1) = *(interferentesr+3*i+1) +
*(gold+(i-j*127)*numuint+a) * *(btx+a) *
*(AIr+numuint+a);
*(interferentesr+3*i+2) = *(interferentesr+3*i+2) +
*(gold+(i-j*127)*numuint+a) * *(btx+a) *
*(AIr+2*numuint+a);
*(interferentesi+3*i) = *(interferentesi+3*i) +
*(gold+(i-j*127)*numuint+a) * *(btx+a) *
*(AIi+a);
*(interferentesi+3*i+1) = *(interferentesi+3*i+1) +
*(gold+(i-j*127)*numuint+a) * *(btx+a) *
*(AIi+numuint+a);
*(interferentesi+3*i+2) = *(interferentesi+3*i+2) +
*(gold+(i-j*127)*numuint+a) * *(btx+a)*
*(AIi+2*numuint+a);
return;
}
void sumsusumassint(int periodo, int i, int tao31, double *taos, double *x1,
double *A1r, double *A1i, double *interferentesr,
double *interferentesi,double yr[], double yi[],
double *ruidor, double *ruidoi)
{
int c1x,c1A,c2x,c2A,c3x,c3A;
/*Esta función añade a la señal transmitida por el usuario 1 el desvanecimiento
Rayleigh
y el efecto multicamino, y además le suma la señal de los usuarios interferentes
y el ruido
Gaussiano aditivo/
/*Al sumar las señales de los usuarios interferentes se tiene en cuenta, como se
dijo anteriormente, que para todos la señal se propaga por tres caminos y que
para diferentes
usuarios interferentes pero para un mismo camino el retardo es el mismo y es
igual al retardo
correspondiente a ese camino del usuario1 + 10*/
if(i < *taos)
{yr[i] = 0 + *ruidor;
yi[i] = 0 + *ruidoi;
}
else if(i < *(taos+1))
{c1x = i - *(taos); c1A = c1x / 127;
if(i < *(taos)+10)
{yr[i] = *(A1r+c1A) * *(x1+c1x) + *ruidor;
yi[i] = *(A1i+c1A) * *(x1+c1x) + *ruidoi;
}
else
112
{yr[i] = *(A1r+c1A) * *(x1+c1x) + *(interferentesr+3*(c1x-10)) + *ruidor;
yi[i] = *(A1i+c1A) * *(x1+c1x) + *(interferentesi+3*(c1x-10)) + *ruidoi;
}
}
else if(i < *(taos+2))
{c1x = i - *(taos); c1A = c1x / 127;
c2x = i - *(taos+1); c2A = c2x / 127;
if(i < *(taos+1)+10)
{yr[i] = *(A1r+c1A) * *(x1+c1x) + *(interferentesr+3*(c1x-10)) +
*(A1r+c2A+periodo) * *(x1+c2x) +
*ruidor;
yi[i] = *(A1i+c1A) * *(x1+c1x) + *(interferentesi+3*(c1x-10)) +
*(A1i+c2A+periodo) * *(x1+c2x) +
*ruidoi;
}
else
{yr[i] = *(A1r+c1A) * *(x1+c1x) + *(interferentesr+3*(c1x-10)) +
*(A1r+c2A+periodo) * *(x1+c2x) + *(interferentesr+3*(c2x-10)+1) +
*ruidor;
yi[i] = *(A1i+c1A) * *(x1+c1x) + *(interferentesi+3*(c1x-10)) +
*(A1i+c2A+periodo) * *(x1+c2x) + *(interferentesi+3*(c2x-10)+1) +
*ruidoi;
}
}
else
{c1x = i - *(taos); c1A = c1x / 127;
c2x = i - *(taos+1); c2A = c2x / 127;
c3x = i - tao31; c3A = c3x / 127;
if(c1x < periodo*127)
{if(i < *(taos+2)+10)
{yr[i] = *(A1r+c1A) * *(x1+c1x) + *(interferentesr+3*(c1x-10)) +
*(A1r+c2A+periodo) * *(x1+c2x) + *(interferentesr+3*(c2x-10)+1) +
*(A1r+c3A+2*periodo) * *(x1+c3x) +
*ruidor;
yi[i] = *(A1i+c1A) * *(x1+c1x) + *(interferentesi+3*(c1x-10)) +
*(A1i+c2A+periodo) * *(x1+c2x) + *(interferentesi+3*(c2x-10)+1) +
*(A1i+c3A+2*periodo) * *(x1+c3x) +
*ruidoi;
}
else
{yr[i] = *(A1r+c1A) * *(x1+c1x) + *(interferentesr+3*(c1x-10)) +
*(A1r+c2A+periodo) * *(x1+c2x) + *(interferentesr+3*(c2x-10)+1) +
*(A1r+c3A+2*periodo) * *(x1+c3x) + *(interferentesr+3*(c3x-10)+2)
+
*ruidor;
yi[i] = *(A1i+c1A) * *(x1+c1x) + *(interferentesi+3*(c1x-10)) +
*(A1i+c2A+periodo) * *(x1+c2x) + *(interferentesi+3*(c2x-10)+1) +
*(A1i+c3A+2*periodo) * *(x1+c3x) + *(interferentesi+3*(c3x-10)+2)
+
*ruidoi;
113
}
}
else if(c2x < periodo*127)
{if(c1x-10 < periodo*127)
{yr[i] = *(interferentesr+3*(c1x-10)) +
*(A1r+c2A+periodo) * *(x1+c2x) + *(interferentesr+3*(c2x-10)+1) +
*(A1r+c3A+2*periodo) * *(x1+c3x) + *(interferentesr+3*(c3x-10)+2)
+
*ruidor;
yi[i] = *(interferentesi+3*(c1x-10)) +
*(A1i+c2A+periodo) * *(x1+c2x) + *(interferentesi+3*(c2x-10)+1) +
*(A1i+c3A+2*periodo) * *(x1+c3x) + *(interferentesi+3*(c3x-10)+2)
+
*ruidoi;
}
else
{yr[i] = *(A1r+c2A+periodo) * *(x1+c2x) + *(interferentesr+3*(c2x-10)+1)
+
*(A1r+c3A+2*periodo) * *(x1+c3x) + *(interferentesr+3*(c3x-10)+2)
+
*ruidor;
yi[i] = *(A1i+c2A+periodo) * *(x1+c2x) + *(interferentesi+3*(c2x-10)+1) +
*(A1i+c3A+2*periodo) * *(x1+c3x) + *(interferentesi+3*(c3x-10)+2)
+
*ruidoi;
}
}
else
{if(c2x-10 < periodo*127)
{yr[i] = *(interferentesr+3*(c2x-10)+1) +
*(A1r+c3A+2*periodo) * *(x1+c3x) + *(interferentesr+3*(c3x-10)+2)
+
*ruidor;
yi[i] = *(interferentesi+3*(c2x-10)+1) +
*(A1i+c3A+2*periodo) * *(x1+c3x) + *(interferentesi+3*(c3x-10)+2)
+
*ruidoi;
}
else
{yr[i] = *(A1r+c3A+2*periodo) * *(x1+c3x) + *(interferentesr+3*(c3x10)+2) +
*ruidor;
yi[i] = *(A1i+c3A+2*periodo) * *(x1+c3x) + *(interferentesi+3*(c3x10)+2) +
*ruidoi;
}
}
}
return;
}
114
void secuencias(int numuint,double *smax1, double *smax2)
{/*Genera la secuencia smax1 y la matriz smax2. El numero de filas de
smax2 es igual al número de usuarios interferentes y su número de columnas es
igual a 127. Cada fila de smax2 contiene la secuencia smax2 con el corrimiento
apropiado para generar un numero de secuencias gold igual al numero de
usuarios
interferentes*/
int a,i;
float ff1[7],ff2[7],ressuma1,ressuma2;
/*Se cargan los flip flops con el estado inicial. ff1 representa a los
flipflops para obtener smax1 y ff2 representa a los flipflops
para obtener smax2 se definió que el estado inicial
iba a ser siempre [0 0 1 1 0 0 1] para generar ambas secuencias*/
ff1[0]=ff1[1]=ff1[4]=ff1[5]=ff2[0]=ff2[1]=ff2[4]=ff2[5]=0;
ff1[2]=ff1[3]=ff1[6]=ff2[2]=ff2[3]=ff2[6]=1;
/*Con un loop se generan smax1 y smax2*/
/*El corrimiento de smax2 debe ser mayor a 1 (corrimiento 0 corresponde
al usuario de interés) y menor a 2^7*/
for (i=0;i<127;i++)
{*(smax1+i) = ff1[6];
for (a=0;a<numuint;a++)
{if (i+a+1>126)
*(smax2+(i+a+1-127)*numuint+a) = ff2[6];
else
*(smax2+(i+a+1)*numuint+a)= ff2[6];
}
if (ff1[2]==ff1[6])
ressuma1 = 0;
else
ressuma1 = 1;
if ((ff2[6]!=ff2[2])^(ff2[1]!=ff2[0]))
ressuma2 = 1;
else
ressuma2 = 0;
ff1[6] = ff1[5]; ff2[6] = ff2[5];
ff1[5] = ff1[4]; ff2[5] = ff2[4];
ff1[4] = ff1[3]; ff2[4] = ff2[3];
ff1[3] = ff1[2]; ff2[3] = ff2[2];
ff1[2] = ff1[1]; ff2[2] = ff2[1];
ff1[1] = ff1[0]; ff2[1] = ff2[0];
ff1[0] = ressuma1; ff2[0] = ressuma2;
}
return;
}
void vgauss(double varianzaA, double *vag)
115
{/*Esta función genera una variable aleatoria Gaussiana de media cero y
varianza igual a varianzaA*/
double U1,U2,V1,V2;
double S=2;
do{
U1 = rand();
U2 = rand();
U1 = U1 / RAND_MAX;
U2 = U2 / RAND_MAX;
V1 = 2*U1 - 1;
V2 = 2*U2 - 1;
S = V1 * V1 + V2 * V2;
}while(S>=1);
*vag = V1 * sqrt((-2*log(S)) / S) * sqrt(varianzaA);
return;
}
void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])
{
double
*numbitsinfo,*numusuariosint,*Ebinterferentes,*sigA2,*taos,*sigmaawgn,*x1,*
A1r,*A1i;
double *yr,*yi;
double *smax1,*smax2,*interferentesr,*interferentesi,*gold;
double *btx, *AIr, *AIi, *ruidor, *ruidoi;
mxArray
*smax1_CREAR,*smax2_CREAR,*interferentesr_CREAR,*interferentesi_CR
EAR,*gold_CREAR;
mxArray *btx_CREAR, *AIr_CREAR, *AIi_CREAR, *ruidor_CREAR,
*ruidoi_CREAR;
int periodo, numuint;
int i,j,a,cont,k,tao31;
double varianzaA,varianzaR,Ebint;
numbitsinfo = mxGetPr(numbitsinfo_IN);
numusuariosint = mxGetPr(numusuariosint_IN);
Ebinterferentes = mxGetPr(Ebinterferentes_IN);
sigA2 = mxGetPr(sigA2_IN);
taos = mxGetPr(taos_IN);
sigmaawgn = mxGetPr(sigmaawgn_IN);
x1 = mxGetPr(x1_IN);
A1r = mxGetPr(A1r_IN);
A1i = mxGetPr(A1i_IN);
periodo = *numbitsinfo;
numuint = *numusuariosint;
Ebint = *Ebinterferentes;
varianzaA = *sigA2;
varianzaR = *sigmaawgn * *sigmaawgn;
tao31 = *(taos+2);
116
yr_OUT = mxCreateDoubleMatrix(1,127*periodo+tao31,mxREAL);
yi_OUT = mxCreateDoubleMatrix(1,127*periodo+tao31,mxREAL);
smax1_CREAR = mxCreateDoubleMatrix(1,127,mxREAL);
smax2_CREAR = mxCreateDoubleMatrix(numuint,127,mxREAL);
interferentesr_CREAR = mxCreateDoubleMatrix(3,periodo*127,mxREAL);
interferentesi_CREAR = mxCreateDoubleMatrix(3,periodo*127,mxREAL);
gold_CREAR = mxCreateDoubleMatrix(numuint,127,mxREAL);
btx_CREAR = mxCreateDoubleMatrix(1,numuint,mxREAL);
AIr_CREAR = mxCreateDoubleMatrix(numuint,3,mxREAL);
AIi_CREAR = mxCreateDoubleMatrix(numuint,3,mxREAL);
ruidor_CREAR = mxCreateDoubleScalar(1);
ruidoi_CREAR = mxCreateDoubleScalar(1);
yr = mxGetPr(yr_OUT);
yi = mxGetPr(yi_OUT);
smax1 = mxGetPr(smax1_CREAR);
smax2 = mxGetPr(smax2_CREAR);
interferentesr = mxGetPr(interferentesr_CREAR);
interferentesi = mxGetPr(interferentesi_CREAR);
gold = mxGetPr(gold_CREAR);
btx = mxGetPr(btx_CREAR);
AIr = mxGetPr(AIr_CREAR);
AIi = mxGetPr(AIi_CREAR);
ruidor = mxGetPr(ruidor_CREAR);
ruidoi = mxGetPr(ruidoi_CREAR);
secuencias(numuint,smax1,smax2);
k = 0;
for(i=0;i<periodo*127+tao31;i++)
{j = i/127;
cont = (i-1)/127;
for(a=0;a<numuint;a++)
{if((i==0) || (cont<j))
{vgauss(1,btx+a);
if(*(btx+a)<0)
*(btx+a) = -1 * sqrt(Ebint/127);
else
*(btx+a) = 1 * sqrt(Ebint/127);
if((k==0) || (k>9))
{vgauss(varianzaA,AIr+a);
vgauss(varianzaA,AIr+a+numuint);
vgauss(varianzaA,AIr+a+2*numuint);
117
vgauss(varianzaA,AIi+a);
vgauss(varianzaA,AIi+a+numuint);
vgauss(varianzaA,AIi+a+2*numuint);
}
}
if(i<periodo*127)
{canalxu3(numuint,i,j,a,gold,smax1,smax2,interferentesr,
interferentesi,btx,AIr,AIi);
}
}
if((i==0) || (cont<j))
{if((k==0) || (k>9))
k = 1;
else
k = k + 1;
}
vgauss(varianzaR,ruidor);
vgauss(varianzaR,ruidoi);
sumsusumassint(periodo,i,tao31,taos,x1,A1r,A1i,interferentesr, interferentesi,
yr,yi,ruidor,ruidoi);
}
mxDestroyArray(smax1_CREAR);
mxDestroyArray(smax2_CREAR);
mxDestroyArray(interferentesr_CREAR);
mxDestroyArray(interferentesi_CREAR);
mxDestroyArray(gold_CREAR);
mxDestroyArray(btx_CREAR);
mxDestroyArray(AIr_CREAR);
mxDestroyArray(AIi_CREAR);
mxDestroyArray(ruidor_CREAR);
mxDestroyArray(ruidoi_CREAR);
}
9.3
FUNCIÓN ‘etapas12.cpp’
#include <stdlib.h>
#include <math.h>
#include "mex.h"
#include "matrix.h"
#define Yr_IN prhs[0]
#define Yi_IN prhs[1]
#define gold_IN prhs[2]
#define taos_IN prhs[3]
#define numbits_IN prhs[4]
#define YR1r_OUT plhs[0]
#define YR1i_OUT plhs[1]
#define YR2r_OUT plhs[2]
118
#define YR2i_OUT plhs[3]
#define YR3r_OUT plhs[4]
#define YR3i_OUT plhs[5]
/*Yr: Vector que contiene la parte real de la salida del canal
(entrada)*/
/*Yi: Vector que contiene la parte imaginaria de la salida del canal
(entrada)*/
/*gold: Vector secuencia gold con que se transmitieron los bits del usuario 1
(entrada)*/
/*taos: [tao11 tao21 tao31] retardos correspondientes a los caminos 1,2 y 3
(entrada) del usuario 1*/
/*numbits : numero de bits de información transmitidos
(entrada)*/
/*YR1r: Vector que contiene la parte real de la salida de los correlatores de la
rama 1 del
(salida)receptor Rake*/
/*YR1i: Vector que contiene la parte imaginaria de la salida de los correlatores
de la rama 1 del
(salida) receptor Rake*/
/*YR2r: Vector que contiene la parte real de la salida de los correlatores de la
rama 2 del
(salida)receptor Rake*/
/*YR2i: Vector que contiene la parte imaginaria de la salida de los correlatores
de la rama 2 del
(salida) receptor Rake*/
/*YR3r: Vector que contiene la parte real de la salida de los correlatores de la
rama 3 del
(salida)receptor Rake*/
/*YR3i: Vector que contiene la parte imaginaria de la salida de los correlatores
de la rama 3 del
(salida) receptor Rake*/
void etapas12(int periodos, double *taos, double *gold, double *Yr,
double *Yi, double YR1r[], double YR1i[], double YR2r[],
double YR2i[], double YR3r[], double YR3i[])
{
/*Esta función implementa las etapas 1 y 2 : Línea de retardo y correlatores en el
caso
en que no hay error de sincronización de la señal firma/
int i,j,tao1,tao2,tao3;
tao1 = *taos;
tao2 = *(taos+1);
tao3 = *(taos+2);
for(i=0;i<periodos*127;i++)
{j = i/127;
YR1r[j] = YR1r[j] + *(Yr+i+tao1) * (*(gold+i-j*127)/sqrt(127));
YR1i[j] = YR1i[j] + *(Yi+i+tao1) * (*(gold+i-j*127)/sqrt(127));
119
YR2r[j] = YR2r[j] + *(Yr+i+tao2) * (*(gold+i-j*127)/sqrt(127));
YR2i[j] = YR2i[j] + *(Yi+i+tao2) * (*(gold+i-j*127)/sqrt(127));
YR3r[j] = YR3r[j] + *(Yr+i+tao3) * (*(gold+i-j*127)/sqrt(127));
YR3i[j] = YR3i[j] + *(Yi+i+tao3) * (*(gold+i-j*127)/sqrt(127));
}
return;
}
9.4
void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])
{
double *Yr, *Yi, *gold, *taos, *numbits;
double *YR1r, *YR1i, *YR2r, *YR2i, *YR3r, *YR3i;
int periodos;
Yr = mxGetPr(Yr_IN);
Yi = mxGetPr(Yi_IN);
gold = mxGetPr(gold_IN);
taos = mxGetPr(taos_IN);
numbits = mxGetPr(numbits_IN);
periodos = *numbits;
YR1r_OUT = mxCreateDoubleMatrix(1,periodos,mxREAL);
YR1i_OUT = mxCreateDoubleMatrix(1,periodos,mxREAL);
YR2r_OUT = mxCreateDoubleMatrix(1,periodos,mxREAL);
YR2i_OUT = mxCreateDoubleMatrix(1,periodos,mxREAL);
YR3r_OUT = mxCreateDoubleMatrix(1,periodos,mxREAL);
YR3i_OUT = mxCreateDoubleMatrix(1,periodos,mxREAL);
YR1r = mxGetPr(YR1r_OUT);
YR1i = mxGetPr(YR1i_OUT);
YR2r = mxGetPr(YR2r_OUT);
YR2i = mxGetPr(YR2i_OUT);
YR3r = mxGetPr(YR3r_OUT);
YR3i = mxGetPr(YR3i_OUT);
etapas12(periodos,taos,gold,Yr,Yi,YR1r,YR1i,YR2r,YR2i,YR3r,YR3i);
}
FUNCIÓN ‘etapas34.cpp’
#include <stdlib.h>
#include <math.h>
#include "mex.h"
#include "matrix.h"
#define YR1r_IN prhs[0]
#define YR1i_IN prhs[1]
#define YR2r_IN prhs[2]
#define YR2i_IN prhs[3]
#define YR3r_IN prhs[4]
#define YR3i_IN prhs[5]
#define A1r_IN prhs[6]
#define A1i_IN prhs[7]
#define numbits_IN prhs[8]
120
#define bitsinfoest_OUT plhs[0]
/*YR1r: Vector que contiene la parte real de la salida de los correlatores de la
rama 1 del
(entrada)receptor Rake*/
/*YR1i: Vector que contiene la parte imaginaria de la salida de los correlatores
de la rama 1 del
(entrada) receptor Rake*/
/*YR2r: Vector que contiene la parte real de la salida de los correlatores de la
rama 2 del
(entrada)receptor Rake*/
/*YR2i: Vector que contiene la parte imaginaria de la salida de los correlatores
de la rama 2 del
(entrada) receptor Rake*/
/*YR3r: Vector que contiene la parte real de la salida de los correlatores de la
rama 3 del
(entrada)receptor Rake*/
/*YR3i: Vector que contiene la parte imaginaria de la salida de los correlatores
de la rama 3 del
(entrada) receptor Rake*/
/*A1r : Matriz-numbitsinfox3. Contiene la parte real de los coeficientes de
(entrada)desvanecimiento del canal que afectan a cada uno de los bits de la
señal transmitida por el usuario 1 (X1)*/
/*A1i : Matriz-numbitsinfox3. Contiene la parte imaginaria de los
(entrada)coeficientes de desvanecimiento del canal que afectan a cada uno
de los bits de la señal transmitida por el usuario 1 (X1) */
/*numbits : numero de bits de información transmitidos
(entrada)*/
/*bitsinfoest: Vector que contiene el estimado hecho por el receptor Rake
(salida)
de cada uno de los bits enviados por el usuario 1*/
void etapas34(int periodos, double *YR1r, double *YR1i, double *YR2r,
double *YR2i, double *YR3r, double *YR3i, double *A1r,
double *A1i, double bitsinfoest[])
{
int i;
double YR1=0;
for(i=0;i<periodos;i++)
{/*YR1: Variable, para cada bit i almacena la parte real del resultado de
multiplicar por el
complejo conjugado de los coeficientes de desvanecimiento y después sumar
las señales de las ramas :MRC (Maximal Ratio Combining)*/
YR1 = *(YR1r+i) * *(A1r+i) + *(YR1i+i) * *(A1i+i) +
*(YR2r+i) * *(A1r+i+periodos) + *(YR2i+i) * *(A1i+i+periodos) +
*(YR3r+i) * *(A1r+i+2*periodos) + *(YR3i+i) * *(A1i+i+2*periodos);
/*Con el if se hace la toma de decisión, reemplaza la función sgn()*/
if(YR1<0)
bitsinfoest[i] = -1;
121
else
bitsinfoest[i] = 1;
}
return;
}
void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])
{
double *numbits, *YR1r, *YR1i, *YR2r, *YR2i, *YR3r, *YR3i, *A1r, *A1i;
double *bitsinfoest;
int periodos;
YR1r = mxGetPr(YR1r_IN);
YR1i = mxGetPr(YR1i_IN);
YR2r = mxGetPr(YR2r_IN);
YR2i = mxGetPr(YR2i_IN);
YR3r = mxGetPr(YR3r_IN);
YR3i = mxGetPr(YR3i_IN);
A1r = mxGetPr(A1r_IN);
A1i = mxGetPr(A1i_IN);
numbits = mxGetPr(numbits_IN);
periodos = *numbits;
bitsinfoest_OUT = mxCreateDoubleMatrix(1,periodos,mxREAL);
bitsinfoest = mxGetPr(bitsinfoest_OUT);
etapas34(periodos,YR1r,YR1i,YR2r,YR2i,YR3r,YR3i,A1r,A1i,bitsinfoest);
}
9.5
FUNCIÓN ‘etpas12me1.cpp’
#include <stdlib.h>
#include <math.h>
#include "mex.h"
#include "matrix.h"
#define Yr_IN prhs[0]
#define Yi_IN prhs[1]
#define gold_IN prhs[2]
#define taos_IN prhs[3]
#define delT_IN prhs[4]
#define Eb_IN prhs[5]
#define bitsinfo_IN prhs[6]
#define A1r_IN prhs[7]
#define A1i_IN prhs[8]
#define numbits_IN prhs[9]
#define YR1r_OUT plhs[0]
#define YR1i_OUT plhs[1]
#define YR2r_OUT plhs[2]
#define YR2i_OUT plhs[3]
#define YR3r_OUT plhs[4]
122
#define YR3i_OUT plhs[5]
/*Yr: Vector que contiene la parte real de la salida del canal
(entrada)*/
/*Yi: Vector que contiene la parte imaginaria de la salida del canal
(entrada)*/
/*gold: Vector secuencia gold con que se transmitieron los bits del usuario 1
(entrada)*/
/*taos: [tao11 tao21 tao31] retardos correspondientes a los caminos 1,2 y 3
(entrada) del usuario 1*/
/*delT: delta tao, representa al error en la sincronización de acuerdo al modelo
propuesto
(entrada)*/
/*Eb: Energia con que transmitió el usuario x
(entrada)*/
/*bitsinfo: Vector que contiene los bits transmitidos por el usuario 1
(entrada)*/
/*A1r : Matriz-numbitsinfox3. Contiene la parte real de los coeficientes de
(entrada)desvanecimiento del canal que afectan a cada uno de los bits de la
señal transmitida por el usuario 1 (X1)*/
/*A1i : Matriz-numbitsinfox3. Contiene la parte imaginaria de los
(entrada)coeficientes de desvanecimiento del canal que afectan a cada uno
de los bits de la señal transmitida por el usuario 1 (X1) */
/*numbits : numero de bits de información transmitidos
(entrada)*/
/*YR1r: Vector que contiene la parte real de la salida de los correlatores de la
rama 1 del
(salida)receptor Rake*/
/*YR1i: Vector que contiene la parte imaginaria de la salida de los correlatores
de la rama 1 del
(salida) receptor Rake*/
/*YR2r: Vector que contiene la parte real de la salida de los correlatores de la
rama 2 del
(salida)receptor Rake*/
/*YR2i: Vector que contiene la parte imaginaria de la salida de los correlatores
de la rama 2 del
(salida) receptor Rake*/
/*YR3r: Vector que contiene la parte real de la salida de los correlatores de la
rama 3 del
(salida)receptor Rake*/
/*YR3i: Vector que contiene la parte imaginaria de la salida de los correlatores
de la rama 3 del
(salida) receptor Rake*/
void etapas12me1(int periodos, double *delT, double *Eb, double *taos,
double *gold, double *Yr, double *Yi, double *bitsinfo,
double *A1r, double *A1i, double YR1r[], double YR1i[],
double YR2r[], double YR2i[], double YR3r[], double YR3i[])
{
int i,j,tao11,tao21,tao31;
123
double comp;
tao11 = *taos;
tao21 = *(taos+1);
tao31 = *(taos+2);
for(i=0;i<periodos*127;i++)
{j = i/127;
comp = (i+1)/127;
YR1r[j] = YR1r[j] + *(Yr+i+tao11) * (*(gold+i-j*127)/sqrt(127));
YR1i[j] = YR1i[j] + *(Yi+i+tao11) * (*(gold+i-j*127)/sqrt(127));
YR2r[j] = YR2r[j] + *(Yr+i+tao21) * (*(gold+i-j*127)/sqrt(127));
YR2i[j] = YR2i[j] + *(Yi+i+tao21) * (*(gold+i-j*127)/sqrt(127));
YR3r[j] = YR3r[j] + *(Yr+i+tao31) * (*(gold+i-j*127)/sqrt(127));
YR3i[j] = YR3i[j] + *(Yi+i+tao31) * (*(gold+i-j*127)/sqrt(127));
if(comp == j+1)
{YR1r[j] = YR1r[j] - sqrt(*Eb) * *(A1r+j) * *(bitsinfo+j) * *delT;
YR1i[j] = YR1i[j] - sqrt(*Eb) * *(A1i+j) * *(bitsinfo+j) * *delT;
YR2r[j] = YR2r[j] - sqrt(*Eb) * *(A1r+j+periodos) * *(bitsinfo+j) * *delT;
YR2i[j] = YR2i[j] - sqrt(*Eb) * *(A1i+j+periodos) * *(bitsinfo+j) * *delT;
YR3r[j] = YR3r[j] - sqrt(*Eb) * *(A1r+j+2*periodos) * *(bitsinfo+j) * *delT;
YR3i[j] = YR3i[j] - sqrt(*Eb) * *(A1i+j+2*periodos) * *(bitsinfo+j) * *delT;
}
}
return;
}
void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])
{
double *Yr, *Yi, *gold, *taos, *delT, *Eb, *bitsinfo, *A1r, *A1i, *numbits;
double *YR1r, *YR1i, *YR2r, *YR2i, *YR3r, *YR3i;
int periodos;
Yr = mxGetPr(Yr_IN);
Yi = mxGetPr(Yi_IN);
gold = mxGetPr(gold_IN);
delT = mxGetPr(delT_IN);
taos = mxGetPr(taos_IN);
Eb = mxGetPr(Eb_IN);
bitsinfo = mxGetPr(bitsinfo_IN);
A1r = mxGetPr(A1r_IN);
A1i = mxGetPr(A1i_IN);
numbits = mxGetPr(numbits_IN);
periodos = *numbits;
YR1r_OUT = mxCreateDoubleMatrix(1,periodos,mxREAL);
YR1i_OUT = mxCreateDoubleMatrix(1,periodos,mxREAL);
YR2r_OUT = mxCreateDoubleMatrix(1,periodos,mxREAL);
YR2i_OUT = mxCreateDoubleMatrix(1,periodos,mxREAL);
YR3r_OUT = mxCreateDoubleMatrix(1,periodos,mxREAL);
YR3i_OUT = mxCreateDoubleMatrix(1,periodos,mxREAL);
YR1r = mxGetPr(YR1r_OUT);
124
YR1i = mxGetPr(YR1i_OUT);
YR2r = mxGetPr(YR2r_OUT);
YR2i = mxGetPr(YR2i_OUT);
YR3r = mxGetPr(YR3r_OUT);
YR3i = mxGetPr(YR3i_OUT);
etapas12me1(periodos,delT,Eb,taos,gold,Yr,Yi,bitsinfo,A1r,A1i,
YR1r,YR1i,YR2r,YR2i,YR3r,YR3i);
}
9.6
FUNCIÓN ‘etapas34me.cpp’
#include <stdlib.h>
#include <math.h>
#include "mex.h"
#include "matrix.h"
#define YR1r_IN prhs[0]
#define YR1i_IN prhs[1]
#define YR2r_IN prhs[2]
#define YR2i_IN prhs[3]
#define YR3r_IN prhs[4]
#define YR3i_IN prhs[5]
#define A1r_IN prhs[6]
#define A1i_IN prhs[7]
#define sigdelA_IN prhs[8]
#define numbits_IN prhs[9]
#define bitsinfoest_OUT plhs[0]
/*YR1r: Vector que contiene la parte real de la salida de los correlatores de la
rama 1 del
(entrada)receptor Rake*/
/*YR1i: Vector que contiene la parte imaginaria de la salida de los correlatores
de la rama 1 del
(entrada) receptor Rake*/
/*YR2r: Vector que contiene la parte real de la salida de los correlatores de la
rama 2 del
(entrada)receptor Rake*/
/*YR2i: Vector que contiene la parte imaginaria de la salida de los correlatores
de la rama 2 del
(entrada) receptor Rake*/
/*YR3r: Vector que contiene la parte real de la salida de los correlatores de la
rama 3 del
(entrada)receptor Rake*/
/*YR3i: Vector que contiene la parte imaginaria de la salida de los correlatores
de la rama 3 del
(entrada) receptor Rake*/
/*A1r : Matriz-numbitsinfox3. Contiene la parte real de los coeficientes de
(entrada)desvanecimiento del canal que afectan a cada uno de los bits de la
125
señal transmitida por el usuario 1 (X1)*/
/*A1i : Matriz-numbitsinfox3. Contiene la parte imaginaria de los
(entrada)coeficientes de desvanecimiento del canal que afectan a cada uno
de los bits de la señal transmitida por el usuario 1 (X1) */
/*sigdelA:desviacion estándar del error en la estimación de los coeficientes de
desvanecimiento
(entrada) del canal*/
/*numbits : numero de bits de información transmitidos
(entrada)*/
/*bitsinfoest: Vector que contiene el estimado hecho por el receptor Rake
(salida)
de cada uno de los bits enviados por el usuario 1*/
void etapas34me(int periodos, double sigdelA, double *delA1r1, double
*delA1i1,
double *delA1r2, double *delA1i2, double *delA1r3,
double *delA1i3, double *YR1r, double *YR1i, double *YR2r,
double *YR2i, double *YR3r, double *YR3i, double *A1r,
double *A1i, double bitsinfoest[])
{
int i;
double YR1=0;
for(i=0;i<periodos;i++)
{/*YR1: Variable, para cada bit i almacena la parte real del resultado de
multiplicar por el
complejo conjugado de los coeficientes de desvanecimiento y después sumar
las señales de las ramas :MRC (Maximal Ratio Combinning)*/
/*En este caso el complejo conjugado de los coeficientes de desvanecimiento
incluye el error en la estimación*/
errorA(delA1r1,sigdelA);
errorA(delA1i1,sigdelA);
errorA(delA1r2,sigdelA);
errorA(delA1i2,sigdelA);
errorA(delA1r3,sigdelA);
errorA(delA1i3,sigdelA);
YR1 = *(YR1r+i) * (*(A1r+i) + *delA1r1) +
*(YR1i+i) * (*(A1i+i) - *delA1i1) +
*(YR2r+i) * (*(A1r+i+periodos) + *delA1r2) +
*(YR2i+i) * (*(A1i+i+periodos) - *delA1i2) +
*(YR3r+i) * (*(A1r+i+2*periodos) + *delA1r3) +
*(YR3i+i) * (*(A1i+i+2*periodos) - *delA1i3);
/*Con el if se hace la toma de decisión, reemplaza la función sgn()*/
if(YR1<0)
bitsinfoest[i] = -1;
else
bitsinfoest[i] = 1;
}
mxDestroyArray(delA1r1);
mxDestroyArray(delA1i1);
126
mxDestroyArray(delA1r2);
mxDestroyArray(delA1i2);
mxDestroyArray(delA1r3);
mxDestroyArray(delA1i3);
return;
}
void errorA(double *delA1, double sigdelA)
{/*Esta funcion genera una variable aleatoria Gaussiana de media cero y
desviación estándar igual a sigdelA*/
double U1,U2,V1,V2;
double S=2;
do{
U1 = rand();
U2 = rand();
U1 = U1 / RAND_MAX;
U2 = U2 / RAND_MAX;
V1 = 2*U1 - 1;
V2 = 2*U2 - 1;
S = V1 * V1 + V2 * V2;
}while(S>=1);
*delA1 = V1 * sqrt((-2*log(S)) / S) * sigdelA;
return;
}
void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])
{
double *numbits, *sigdelA, *YR1r, *YR1i, *YR2r, *YR2i;
double *YR3r, *YR3i, *A1r, *A1i;
double *bitsinfoest,*delA1r1,*delA1i1,*delA1r2,*delA1i2,*delA1r3,*delA1i3;
double desvA;
int periodos;
YR1r = mxGetPr(YR1r_IN);
YR1i = mxGetPr(YR1i_IN);
YR2r = mxGetPr(YR2r_IN);
YR2i = mxGetPr(YR2i_IN);
YR3r = mxGetPr(YR3r_IN);
YR3i = mxGetPr(YR3i_IN);
A1r = mxGetPr(A1r_IN);
A1i = mxGetPr(A1i_IN);
sigdelA = mxGetPr(sigdelA_IN);
numbits = mxGetPr(numbits_IN);
periodos = *numbits;
desvA = *sigdelA;
bitsinfoest_OUT = mxCreateDoubleMatrix(1,periodos,mxREAL);
bitsinfoest = mxGetPr(bitsinfoest_OUT);
delA1r1 = mxCreateDoubleScalar(1);
delA1i1 = mxCreateDoubleScalar(1);
delA1r2 = mxCreateDoubleScalar(1);
127
delA1i2 = mxCreateDoubleScalar(1);
delA1r3 = mxCreateDoubleScalar(1);
delA1i3 = mxCreateDoubleScalar(1);
etapas34me(periodos,desvA,delA1r1,delA1i1,delA1r2,delA1i2,delA1r3,delA1i3
,
YR1r,YR1i,YR2r,YR2i,YR3r,YR3i,A1r,A1i,bitsinfoest);
}
128
Descargar