You are on page 1of 128

ANLISIS Y SIMULACIN DE UN RECEPTOR RASTRILLO Y

COMPARACIN CON EL RECEPTOR PTIMO PARA CDMA

MELISSA DUARTE GLVEZ

Trabajo de grado para optar por el ttulo de


Ingeniero Electrnico

Director
ADOLFO LEN RECIO VLEZ
Ingeniero Electrnico M.Sc.

PONTIFICIA UNIVERSIDAD JAVERIANA


FACULTAD DE INGENIERIA
DEPARTAMENTO DE ELECTRONICA
BOGOT
2004

PONTIFICIA UNIVERSIDAD JAVERIANA

FACULTAD DE INGENIERA

CARRERA DE INGENIERA ELECTRNICA

RECTOR MAGNIFICO: R.P. GERARDO REMOLINA S.J.


DECANO ACADMICO: 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 LEN RECIO VLEZ M.Sc.

ARTICULO 23 DE LA RESOLUCIN No. 13 DE JUNIO DE 1946

"La universidad no se hace responsable de los conceptos emitidos por sus alumnos en
sus proyectos de grado.

Slo velar porque no se publique nada contrario al dogma y la moral catlica y porque
los trabajos no contengan ataques o polmicas puramente personales. Antes bien, que se
vea en ellos el anhelo de buscar la verdad y la justicia".

A mi querida familia
A mi querido Fred

CONTENIDO
Pg.
CONTENIDO................................................................................................................... 5
LISTA DE FIGURAS ...................................................................................................... 8
INTRODUCCIN.......................................................................................................... 10
1. MARCO TERICO ............................................................................................... 13
1.1
ESPECTRO DISPERSO DE SECUENCIA DIRECTA (DSSS) ................... 13
1.1.1
Transmisin ............................................................................................ 13
1.1.2
Recepcin ............................................................................................... 14
1.2
SECUENCIAS GOLD ................................................................................... 16
1.3
NOTACIN o-minscula .............................................................................. 21
1.4
ENERGA EFECTIVA .................................................................................. 21
1.5
RESISTENCIA CERCA LEJOS................................................................. 22
2. ESPECIFICACIONES ........................................................................................... 24
2.1
SEAL TRANSMITIDA POR UN USUARIO ............................................ 24
2.2
MODELO DEL CANAL Y SEAL RECIBIDA.......................................... 25
2.2.1
Efecto multicamino y desvanecimiento Rayleigh ................................... 25
2.2.2
Seal recibida modelo sncrono ............................................................. 28
2.3
DIVERSIDAD................................................................................................ 29
2.3.1
Diversidad debida a mltiples caminos Combinacin de tasa mxima
29
2.4
MODELO RECEPTOR RASTRILLO........................................................... 31
2.5
RECEPTOR PTIMO PARA CDMA........................................................... 32
2.6
RELACIN SEAL A RUIDO .................................................................... 35
2.7
DIAGRAMA DE FLUJO DE LAS SIMULACIONES ................................. 36
2.8
PARMETROS 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. Lnea de retardo....................................................................... 39
3.1.2
Etapa 2: Correlatores............................................................................. 41
3.1.3
Etapa 3: Combinacin de tasa mxima.................................................. 44
3.1.4
Etapa 4: Toma de decisin ..................................................................... 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 estimacin
perfecta de los coeficientes de desvanecimiento del canal y sincronizacin perfecta
de la seal firma. .................................................................................................... 46
3.2.2
Probabilidad de error de bit. Caso: Receptor rastrillo con error en la
estimacin de los coeficientes de desvanecimiento del canal y sincronizacin
perfecta de la seal firma. ...................................................................................... 49
3.2.3
Probabilidad de error de bit. Caso: Receptor rastrillo con error en la
sincronizacin de la seal firma y estimacin perfecta de los coeficientes de
desvanecimiento del canal...................................................................................... 52
3.3
RESUMEN DE LAS FUNCIONES CREADAS PARA REALIZAR LAS
SIMULACIONES. ..................................................................................................... 56
3.3.1
Funcin transmisor ................................................................................ 57
3.3.2
Funcin Canal ........................................................................................ 58
3.3.3
Funcin Receptor ................................................................................... 61

3.3.3.1 Funcin Rakep.................................................................................... 62


3.3.3.2 Funcin Rakeme34 ............................................................................. 63
3.3.3.3 Funcin Rakeme121 ........................................................................... 64
3.4
COTAS PARA LA PROBABILIDAD DE ERROR DE BIT DEL
RECEPTOR PTIMO DE CDMA ............................................................................ 66
3.5
APROXIMACIN DE Lck PARA EL CLCULO DE LAS ECUACIONES
69
4. ANLISIS DE RESULTADOS............................................................................. 72
4.1
PROBABILIDAD DE ERROR DE BIT DEL RECEPTOR RASTRILLO EN
FUNCIN DE LOS PARMETROS DE ESTIMACIN DEL CANAL. ............... 73
4.1.1
Probabilidad de error de bit del receptor rastrillo con estimacin
perfecta de los coeficientes de desvanecimiento del canal y sincronizacin perfecta
de la seal firma. .................................................................................................... 73
4.1.2
Probabilidad de error de bit del receptor rastrillo con error en la
estimacin de los coeficientes de desvanecimiento del canal y sincronizacin
perfecta de la seal firma. ...................................................................................... 75
4.1.3
Probabilidad de error de bit del receptor rastrillo con error en la
sincronizacin de la seal firma y estimacin perfecta de los coeficientes de
desvanecimiento del canal...................................................................................... 77
4.2
ANLISIS DE LA ENERGA EFECTIVA DEL RECEPTOR RASTRILLO
Y COMPARACIN CON EL RECEPTOR PTIMO PARA CDMA ..................... 79
4.2.1
Anlisis de la energa efectiva del receptor rastrillo en el caso de
estimacin perfecta de los coeficientes de desvanecimiento del canal y
sincronizacin perfecta de la seal firma. Comparacin con el receptor ptimo
para CDMA ............................................................................................................ 79
4.2.2
Anlisis de la energa efectiva del receptor rastrillo en el caso de error
en la estimacin de los coeficientes de desvanecimiento del canal y sincronizacin
perfecta de la seal firma. ...................................................................................... 81
4.2.3
Anlisis de la energa efectiva del receptor rastrillo en el caso de error
en la sincronizacin de la seal firma y estimacin perfecta de los coeficientes de
desvanecimiento del canal...................................................................................... 83
4.3
ANLISIS DE LA RESISTENCIA CERCA LEJOS DEL RECEPTOR
RASTRILLO Y COMPARACIN CON EL RECEPTOR PTIMO PARA CDMA
84
4.3.1
Anlisis de la resistencia cerca lejos del receptor rastrillo en el caso de
estimacin perfecta de los coeficientes de desvanecimiento del canal y
sincronizacin perfecta de la seal firma. Comparacin con el receptor ptimo
para CDMA ............................................................................................................ 84
4.3.2
Anlisis de la resistencia cerca lejos del receptor rastrillo en el caso de
error en la estimacin de los coeficientes de desvanecimiento del canal y
sincronizacin perfecta de la seal firma. ............................................................. 85
4.3.3
Anlisis de la resistencia cerca lejos del receptor rastrillo en el caso de
error en la sincronizacin de la seal firma y estimacin perfecta de los
coeficientes de desvanecimiento del canal. ............................................................ 86
5. CONCLUSIONES.................................................................................................. 88
5.1
TRABAJO FUTURO ..................................................................................... 94
6. BIBLIOGRAFA .................................................................................................... 95
7. ANEXO 1. ALGUNOS CONCEPTOS DE PROBABILIDAD............................. 99
7.1
Variable aleatoria con distribucin Gaussiana ............................................... 99

7.2
Variable aleatoria compleja formada a partir de dos variables aleatorias
Gaussianas ................................................................................................................ 100
7.3
Distribucin Rayleigh................................................................................... 101
7.4
Ruido blanco Gaussiano aditivo ................................................................... 102
7.5
Funciones erf y Q ........................................................................................ 102
7.6
Seales continuas en tiempo en ruido blanco Gaussiano aditivo ................. 103
8. ANEXO 2. COMBINACIN DE TASA MXIMA, REGLA DE DECISIN
PTIMA EN EL CONTEXTO DE DIVERSIDAD Y UN USUARIO PRESENTE EN
EL CANAL .................................................................................................................. 105
9. ANEXO 2. CDIGO DE LAS FUNCIONES IMPLEMENTADAS EN C++.... 108
9.1
FUNCIN transmisorg.cpp ....................................................................... 108
9.2
FUNCIN canalxu3.cpp ........................................................................... 110
9.3
FUNCIN etapas12.cpp ............................................................................ 118
9.4
FUNCIN etapas34.cpp ............................................................................ 120
9.5
FUNCIN etpas12me1.cpp....................................................................... 122
9.6
FUNCIN etapas34me.cpp ....................................................................... 125

LISTA DE FIGURAS
Pg.
Figura 1-1 Diagrama en bloques de la transmisin en banda base usando DSSS.......... 14
Figura 1-2 Ejemplo de las seales que hacen parte del proceso de transmisin en banda
base usando DSSS. N=127, numero de bits transmitidos = 3 ........................................ 14
Figura 1-3 Diagrama en bloques de la recepcin en banda base cuando la seal se
transmite usando DSSS .................................................................................................. 15
Figura 1-4 Diagrama en bloques del proceso de generacin de una secuencia pseudo
aleatoria .......................................................................................................................... 17
Figura 1-5 Generacin de una secuencia pseudo aleatoria............................................. 17
Figura 1-6 Generacin 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 cmo generar diferentes secuencias Gold a
partir de dos secuencias de longitud mxima. ................................................................ 19
Figura 1-8 Ejemplo de una secuencia Gold:Gold1......................................................... 20
Figura 1-9 Autocorrelacin de la secuencia Gold1 ........................................................ 20
Figura 1-10 Ejemplo de una secuencia Gold: Gold 2..................................................... 20
Figura 1-11 Autocorrelacin de la secuencia Gold2 ...................................................... 21
Figura 1-12 Correlacin entre las secuencias Gold 1 y Gold 2 ...................................... 21
Figura 2-1 Reflexin, difraccin y dispersin generando varias rplicas de la seal
original enviada por el transmisor. Potencia instantnea 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 artculo de C. D mours et al. ........................................ 27
Figura 2-3 Diagrama en bloques de un canal de comunicaciones inalmbricas con K
usuarios y la seal del usuario k se afecta de acuerdo a la respuesta impulso hk(t) que
representa un canal multicamino con desvanecimiento Rayleigh. Figura tomada del
artculo de Kumar y Panicker. ........................................................................................ 29
Figura 2-4 Fasores que representan las seales provenientes de tres caminos diferentes
........................................................................................................................................ 30
Figura 2-5 Combinacin de tasa mxima para el caso de tres seales 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 Representacin de los tiempos de llegada de las seales multicamino para un
usuario ............................................................................................................................ 39
Figura 3-2 Ejemplo de la funcin de la lnea de retardos............................................... 40
Figura 3-3 Ejemplo de lo que sucede en los correlatores cuando hay error de
sincronizacin................................................................................................................. 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 estimacin
perfecta de los coeficientes de desvanecimiento del canal y sincronizacin perfecta de la
seal firma. ..................................................................................................................... 73

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 estimacin
de los coeficientes de desvanecimiento del canal y sincronizacin perfecta de la seal
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 estimacin de los coeficientes de
desvanecimiento del canal. ............................................................................................. 76
Figura 4-5 Probabilidad de error de bit del receptor rastrillo con error en la
sincronizacin de la seal firma y estimacin 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 sincronizacin de la seal firma y estimacin perfecta de los coeficientes de
desvanecimiento est dentro del rango delimitado por F=0.005.................................... 78
Figura 4-7 Relacin seal a ruido promedio en funcin de la probabilidad de error de bit
promedio para el receptor rastrillo con sincronizacin perfecta de la seal firma y
estimacin perfecta de los coeficientes de desvanecimiento del canal y para el receptor
ptimo para CDMA. ....................................................................................................... 79
Figura 4-8 Seal a ruido promedio efectiva en funcin de la probabilidad de error de bit
promedio. Receptor rastrillo con error en la estimacin de los coeficientes de
desvanecimiento del canal. ............................................................................................. 82
Figura 4-9 Seal a ruido promedio efectiva en funcin de la probabilidad de error de bit
promedio. Receptor rastrillo con error en la sincronizacin de la seal firma............... 83
Figura 4-10 Probabilidad de error de bit promedio. Receptor rastrillo con
sincronizacin perfecta de la seal firma y estimacin 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
estimacin de los coeficientes de desvanecimiento del canal ........................................ 86
Figura 4-12 Probabilidad de error de bit promedio. Receptor rastrillo con error en la
sincronizacin de la seal firma ..................................................................................... 86
Figura 7-1 Funcin de densidad de probabilidad de una variable aleatoria Gaussiana de
media cero. ..................................................................................................................... 99
Figura 7-2 Funcin de densidad de probabilidad de una variable aleatoria con
distribucin Rayleigh.................................................................................................... 101

INTRODUCCIN

En un sistema de comunicacin de acceso mltiple varios usuarios desean acceder al


canal al mismo tiempo. Para implementar un sistema de comunicacin de acceso
mltiple existen tcnicas que permiten que los usuarios compartan el canal. En la
tcnica de acceso mltiple por divisin de cdigo (CDMA por sus siglas en ingls) los
usuarios pueden acceder al canal simultneamente y compartir el mismo ancho de
banda. Acceso mltiple por divisin en frecuencia (FDMA por sus siglas en ingls) y
acceso mltiple por divisin en tiempo (TDMA por sus siglas en ingls), son otros
ejemplos de tcnicas de acceso mltiple. Estas tres tcnicas (CDMA, FDMA y TDMA)
son usadas en sistemas de comunicaciones inalmbricas de acceso mltiple. Cada
tcnica se implementa utilizando diferentes esquemas de modulacin, por lo tanto los
esquemas de demodulacin tambin son diferentes en cada caso. Independientemente de
la tcnica de acceso mltiple que se implemente, el receptor debe ser diseado teniendo
en cuenta que el canal o el medio por el cual viaja la seal transmitida no es ideal. En el
caso de un sistema de comunicaciones inalmbricas es muy importante tener en cuenta
las caractersticas del canal en el momento de disear el receptor. En este tipo de
sistemas el medio por el cual viaja la seal introduce no slo ruido aditivo sino que
tambin puede distorsionar la seal y se presentan fenmenos como la generacin de
varias seales rplica de la seal enviada originalmente (multicamino). El receptor
rastrillo (rake receiver) introducido en 1958 por Price y Green surge como un mtodo
de deteccin de CDMA en un sistema de comunicaciones inalmbricas. Este receptor no
slo tiene en cuenta las caractersticas de modulacin de CDMA sino que para mejorar
su desempeo utiliza constructivamente las rplicas que se producen de la seal
enviada, lo cual se conoce como diversidad debida a mltiples caminos.

10

Para su funcionamiento el receptor rastrillo debe estimar algunos parmetros del canal.
En la prctica no es posible hacer una estimacin perfecta por lo tanto es importante
analizar cunto se afecta el desempeo del receptor rastrillo debido a errores de
estimacin del canal. Este tema y temas relacionados con el efecto de los errores de
estimacin 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 estimacin como variables aleatorias Gaussianas de media cero y a partir
de su estudio propusieron una ecuacin 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 pequeo y a partir
de esta suposicin desarrollaron una ecuacin 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 estimacin como variables aleatorias con una funcin de densidad de
probabilidad especfica y se ignor el estimador del canal como tal. Autores como
Felstrm y Zigangirov y Huang et al. tomaron un estimador especfico, hallaron la
funcin de densidad de probabilidad del error y a partir de esta funcin realizaron
anlisis numricos para evaluar el efecto de los errores de estimacin del canal en el
desempeo de los sistemas de comunicaciones basados en CDMA. Como una tercera
aproximacin al problema se tiene la propuesta por Quirk y Milstein en la que tienen en
cuenta algunas caractersticas 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 estimacin especfico.

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 especfico sino que se supone que los errores de
estimacin tienen una funcin 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
ecuacin para la probabilidad de error de bit para cada parmetro de estimacin del
canal que se analiza. Esto es una aproximacin ms sencilla que la presentada por los
autores anteriormente mencionados y simplifica el desarrollo de las ecuaciones siendo
una buena primera aproximacin al problema en cuestin. Adems, se incluye un
anlisis detallado del receptor rastrillo teniendo en cuenta las ecuaciones de cada una de
las etapas que lo conforman y se hace un anlisis de la energa efectiva y de la
resistencia cerca lejos del receptor rastrillo a partir de simulaciones y de las ecuaciones
propuestas.

Paralelamente al anlisis del receptor rastrillo en funcin de los errores de estimacin


del canal, se lleva a cabo una comparacin entre el receptor rastrillo y el receptor
ptimo para CDMA propuesto por Verd. El objetivo de esta comparacin es resaltar
caractersticas, ventajas y desventajas propias de cada uno de los dos receptores.

12

1.

1.1

MARCO TERICO

ESPECTRO DISPERSO DE SECUENCIA DIRECTA (DSSS)

Cuando se implementa CDMA la tcnica de modulacin que ms se utiliza es la de


espectro disperso de secuencia directa (DSSS por sus siglas en ingls) y es con la cual
funciona el receptor rastrillo. A continuacin se explica la transmisin y la recepcin
cuando se utiliza DSSS.

1.1.1 Transmisin
En DSSS la seal de banda angosta que contiene la informacin del usuario k, bk(t), se
multiplica por una seal firma, sk(t), la cual es una seal pseudo aleatoria de banda
ancha1. El resultado de la multiplicacin es la seal de banda ancha Xk(t) que contiene la
misma informacin que la seal bk(t) y ocupa un rango en frecuencia mucho mayor.
Para el caso de transmisin en banda base Xk(t) es la seal transmitida.
X k (t ) = bk (t ) s k (t )
En DSSS las seales bk(t) y sk(t) son antipodales y adems sk(t) cumple que:
Tb

2
k

(t )dt = 1

La figura 1-1 muestra el proceso que sigue la seal de informacin para una
transmisin en banda base usando DSSS, la figura 1-2 muestra un ejemplo de una seal
de informacin, una seal firma y el resultado de su multiplicacin.

El anlisis de esta seccin est basado en el de Haykin en su libro Communication Systems por lo
tanto se exponen slo los puntos importantes

13

Seal de
informacin
usuario k
bk(t)

Seal
transmitida
usuario k
Xk(t)
Seal firma
usuario k
sk(t)

Figura 1-1 Diagrama en bloques de la transmisin en banda base usando DSSS

Figura 1-2 Ejemplo de las seales que hacen parte del proceso de transmisin en banda base usando
DSSS. N=127, numero de bits transmitidos = 3

1.1.2

Recepcin

El modelo banda base que representa el proceso de recepcin de una seal transmitida
usando DSSS se presenta en la figura 1-3.

Suponiendo que el nico efecto del canal es sumar ruido aditivo a la seal transmitida
Xk(t), la seal 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 seal 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 seal de informacin 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

= bk + nk

Seal recibida
Y(t)

g(t)

Tb

dt
0

Toma de
decisin

Estimado de
la seal
enviada por el
transmisor
b (t)
k

Seal firma
usuario k
sk(t)
Figura 1-3 Diagrama en bloques de la recepcin en banda base cuando la seal se transmite usando DSSS

El anlisis hecho hasta ahora implica que la seal firma debe ser conocida tanto por el
receptor como por el transmisor, por lo tanto, como es conocida por ambos, esta seal
no lleva informacin y la nica informacin es la de la seal bk(t). Para poder hacer el
desarrollo anterior usando sk2(t) es necesario suponer que el transmisor y el receptor
estn en perfecto sincronismo lo cual significa que la seal firma en la seal Y(t) est
perfectamente alineada con la seal firma generada internamente por el receptor.

La forma de implementar DSSS en un sistema de comunicacin de acceso mltiple es


15

asignando a cada usuario una seal firma diferente. La condicin que stas seales firma
deben cumplir es que para usuarios que comparten un mismo canal las diferentes
seales firma deben ser todas ortogonales entre s. Si se cumple sta condicin, al
multiplicar en el receptor por la seal 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 condicin de
ortogonalidad para las seales firma usadas en un mismo medio no es tan estricta y
puede que las seales no sean estrictamente ortogonales pero s hay un lmite para el
valor de la correlacin entre seales firma diferentes (Verd 2001).

1.2

SECUENCIAS GOLD

Como se dijo anteriormente la seal firma es una seal 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 retroalimentacin. El registro de
corrimiento est compuesto por n flipflops y la etapa de retroalimentacin consiste en
sumas mdulo 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 lgica de
la etapa de retroalimentacin. Como la retroalimentacin consiste slo de sumas
mdulo dos el estado cero (salida de todos los flipflops en cero) no es permitido ya que
de ocurrir el registro permanecera en este estado indefinidamente. Consecuentemente el
perodo de una secuencia pseudo aleatoria generada de la forma indicada no excede de

16

2n-1 bits. Cuando el perodo N es exactamente 2n-1 la secuencia se conoce como una
secuencia de longitud mxima (SLM por sus siglas en ingls).

Etapa de retroalimentacin
(Circuito Lgico, Implementa sumas modulo 2)

Flip Flop

Flip Flop

....

Flip Flop

Secuencia
Pseudo aleatoria

Reloj
Figura 1-4 Diagrama en bloques del proceso de generacin de una secuencia pseudo aleatoria

La suma mdulo dos que se realiza en la etapa de retroalimentacin 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

Secuencia
pseudo
aleatoria

Figura 1-5 Generacin 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 estn dadas por el teorema de Gold a continuacin:

A partir de dos polinomios primitivos p1(x) y p2(x) de grado n cuyos


registros de corrimiento generan secuencias de longitud mxima de
perodo 2n-1 cuya funcin de correlacin 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 correlacin entre cualquier par de estas secuencias cumple la
condicin de correlacin mencionada anteriormente2.

Teniendo en cuenta que slo se estn 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 funcin primpoly de Matlab.

A continuacin se muestra en un ejemplo la configuracin 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
generacin de una secuencia Gold a partir de la xor de las secuencias de
longitud mxima generadas por cada uno de estos polinomios se ilustra
en la siguiente figura:

Haykin, pg.505

18

7
Secuencia
Gold

Figura 1-6 Generacin 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 cmo generar diferentes secuencias Gold a partir de dos
secuencias de longitud mxima.

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. Tambin se muestra su
autocorrelacin y su correlacin.

19

Figura 1-8 Ejemplo de una secuencia Gold:Gold1

Figura 1-9 Autocorrelacin de la secuencia Gold1

Figura 1-10 Ejemplo de una secuencia Gold: Gold 2

20

Figura 1-11 Autocorrelacin de la secuencia Gold2

Figura 1-12 Correlacin entre las secuencias Gold 1 y Gold 2

1.3

NOTACIN o-minscula

En la cota de la probabilidad de error de bit del receptor ptimo para CDMA aparece la
notacin o-minscula la cual corresponde a la siguiente definicin (Apostol 1980):
f ( x) = o( g ( x) ) significa que lim
x

1.4

f ( x)
=0
g ( x)

ENERGA EFECTIVA

De acuerdo a Verd, suponiendo que hay varios usuarios compartiendo el canal, la


energa efectiva del usuario k es la energa que este usuario requerira para alcanzar una
probabilidad de error de bit igual pero en el caso en que slo exista el usuario k y el

21

resto de las caractersticas 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 energa efectiva del usuario k es la energa 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 caractersticas del canal sean las mismas. De acuerdo a esta definicin, la
energa efectiva debe ser siempre menor o igual a la energa verdadera con que est
transmitiendo el usuario k. que es la energa 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 cun robusto es el sistema con respecto al efecto cerca
lejos. El efecto cerca-lejos se debe a la diferencia en potencia con que llegan seales de
diferentes usuarios a la estacin base. Por lo general la estacin base mide la potencia de
llegada de la seal de cada usuario para luego indicarle a cada uno si debe subir o bajar
su potencia de transmisin. Esta regulacin 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 deteccin del usuario cuya potencia de transmisin es
baja. Por lo general esta diferencia de potencias se debe a que unos usuarios estn ms
cerca de la estacin base que otros y por esta razn 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 cmo se afecta el funcionamiento del
receptor con respecto al efecto cerca-lejos. Este anlisis se har comparando la
probabilidad de error de bit en la recepcin 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 seal de los otros usuarios los cuales pueden ser
llamados usuarios interferentes.

23

2.

ESPECIFICACIONES

En esta seccin se presentan los modelos de transmisor, canal y receptor que se


suponen durante el desarrollo del trabajo de grado. Al final de la seccin se presenta el
diagrama de flujo de las simulaciones y los parmetros que se tuvieron en cuenta al
realizarlas.

2.1

SEAL TRANSMITIDA POR UN USUARIO

Teniendo en cuenta la teora presentada en la seccin 1.1.1 la seal transmitida por el


usuario k es:
X k (t ) = bk (t ) s k (t )
=

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 energa con que transmite el usuario k, 2M+1 es el nmero de bits de
informacin transmitidos, bk[i] representa un bit de la seal de informacin, sk[j]
representa un bit de la seal firma, Tb es el tiempo de bit el cual es igual al inverso de la
tasa de envo de informacin, Tch es el tiempo de chip igual a Tb/N y pTb(t) y pTch(t)
corresponden a la siguiente definicin:
1 0 t Tx
pTx (t ) =
0 otro t

El usuario k enva una secuencia de 2M+1 bits:


bk[-M],....bk[0],.bk[M]
La seal de informacin bk(t) correspondiente a esta secuencia es:

bk (t ) =

i= M

Ebk bk [i] pTb (t iTb )

24

La seal 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 seal
firma consta de 2NM+1 bits:
sk[-NM],......sk[0],......sk[NM] en donde sk[i] = sk[i+N]
La seal 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 seal de informacin y la seal firma son antipodales:
bk[i] y sk[i] {-1,1}. La multiplicacin de bk(t) por sk(t) da como resultado la seal
transmitida Xk(t).

2.2

MODELO DEL CANAL Y SEAL RECIBIDA

2.2.1 Efecto multicamino y desvanecimiento Rayleigh


Un modelo que se utiliza para ver los efectos de un canal de comunicaciones
inalmbricas es el modelo a pequea escala el cual caracteriza la potencia instantnea
de la seal en el receptor cuando ste se mueve distancias cortas o durante pequeos
perodos de tiempo (Rappaport 1999). En este modelo las fluctuaciones de la potencia
instantnea se deben a la generacin de rplicas de la seal enviada las cuales al llegar
al receptor pueden sumarse constructiva o destructivamente. Estas rplicas se presentan
en los sistemas de comunicaciones inalmbricas debido a las caractersticas del medio
por el cual viaja la seal. Por ejemplo, en un sistema celular el camino entre el
transmisor y el receptor est lleno de obstculos como carros, edificios y rboles cuya
presencia genera tres tipos de fenmenos: reflexin, difraccin y dispersin (Rappaport
1999). Debido a estos tres fenmenos la seal enviada por el transmisor toma varios

25

caminos y al receptor le llegan varias seales, todas replica de la seal original, las
cuales son llamadas seales multicamino.

El canal que genera este tipo de

comportamiento se llama canal multicamino (multipath channel). El resultado de la


suma de las seales multicamino se conoce como desvanecimiento (fading). La figura
2-1 muestra cmo la difraccin, reflexin y dispersin pueden producir ms de una
seal en el receptor y tambin muestra una grfica de la potencia instantnea en el
receptor debida al desvanecimiento.

Figura 2-1 Reflexin, difraccin y dispersin generando varias rplicas de la seal original enviada por el
transmisor. Potencia instantnea en el receptor. Figura tomada de las notas de G. Mandyam.

Cada uno de los K usuarios transmite su correspondiente seal Xk(t) definida en la


ecuacin (2-1). El canal afecta la seal de cada usuario de acuerdo a la respuesta
impulso:
C

hk (t ) = Ack (t ) (t ck )
c =1

En este modelo, debido al fenmeno multicamino, la seal transmitida por el usuario k


toma C caminos diferentes. Se supone que C es igual para todos los usuarios. La seal
que viaja por el camino c se retrasa ck y se atena segn Ack(t). La siguiente figura
ilustra el modelo correspondiente.

26

Seal
Transmitida por
el usuario k
Xk(t)

1k
Camino 1
A1k(t)
Camino 2

2k

A2k(t)
Camino 3

3k

Seal correspondiente al
usuario k,
Yk(t), resultado del
fenmeno 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 artculo de C. D mours et al.

Despus de pasar por el canal multicamino la seal 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

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 envo de varios bits de informacin, es decir se supone un canal
con desvanecimiento lento slow fading. Teniendo esto en cuenta la seal Yk(t) se
puede escribir de la siguiente manera:

Yk (t ) =

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 funcin de densidad de
probabilidad de tipo Rayleigh y por esta razn el canal presentado se conoce como canal
con desvanecimiento Rayleigh.

2.2.2 Seal recibida modelo sncrono

En el estndar IS-95 tanto el receptor de la estacin base como el de la estacin mvil


son receptores rastrillo (Garg 2002, Rappaport 1999). En el sentido hacia abajo
(Downlink) hay un transmisor (Estacin Base) y varios receptores (Estaciones
Mviles) y el modelo ms apropiado para representarlo es el modelo sncrono, tal y
como lo hacen Bottomley et al. y Noneaker. En el sentido hacia arriba (Uplink) hay un
receptor (Estacin Base) y varios transmisores (Estaciones mviles). El modelo ms
apropiado para representar la comunicacin en este sentido es el modelo asncrono, tal y
como lo hacen Kumar y Panicker. Con cualquiera de los dos modelos se pueden realizar
los anlisis de inters por lo tanto se supone el modelo sncrono ya que es ms sencillo
de trabajar.

Teniendo en cuenta la ecuacin (2-2) que define a Yk(t), la seal que llega al receptor
teniendo en cuenta todos los usuarios y su transmisin sncrona es:
K

Y (t ) = Yk (t ) + n(t )
k =1

28

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)

..
.

Seal que llega


al receptor

n(t)

hK(t)

Figura 2-3 Diagrama en bloques de un canal de comunicaciones inalmbricas con K usuarios y la seal
del usuario k se afecta de acuerdo a la respuesta impulso hk(t) que representa un canal multicamino con
desvanecimiento Rayleigh. Figura tomada del artculo 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 diseo del receptor rastrillo se basa en este concepto.

2.3.1 Diversidad debida a mltiples caminos Combinacin de tasa mxima

Seales provenientes de diferentes caminos tienen diferentes desfases y amplitud pero


todas tienen la misma informacin. La variacin de la potencia instantnea de la seal
recibida se debe a que la seal que le llega al receptor es el resultado de la suma de
29

todas las seales multicamino y en algunos casos la suma resulta constructiva pero en
otros resulta destructiva. El poder recuperar cada una de las seales multicamino por
aparte para despus combinarlas de manera apropiada de tal forma que el resultado sea
siempre constructivo es lo que se conoce como diversidad debida a mltiples caminos.
El objetivo del receptor rastrillo es proveer diversidad en la recepcin de CDMA de tal
forma que las seales que lleguen al receptor desde diferentes caminos sean combinadas
constructivamente.

En la siguiente figura se supone que al receptor le llega la superposicin de tres seales


multicamino, la amplitud de la seal transmitida es A y los coeficientes de
desvanecimiento tienen amplitudes A1, A2 y A3 y fases 1, 2 y 3 respectivamente.

Seal
proveniente
del camino 1

AA1ej1

Seal
proveniente
del camino 2

AA2ej2

Seal
proveniente
del camino 3

AA3ej3

Figura 2-4 Fasores que representan las seales provenientes de tres caminos diferentes

Como al receptor le llega la superposicin de las seales multicamino si fuera posible


separarlas se podra idear alguna manera de que su suma fuera siempre constructiva.
Suponiendo que es posible separarlas se puede implementar la tcnica de combinacin
de tasa mxima (MRC por sus siglas en ingls). En est tcnica, tal y como se muestra
en la figura 2-5, se multiplica la seal de un camino por el complejo conjugado del
coeficiente de desvanecimiento que afect la seal en ese camino y de esta manera la
seal queda netamente real y se garantiza que su contribucin, a la suma que se hace
posteriormente, va a ser siempre constructiva.

30

AA1ej1

Seal
proveniente
del camino 1

AA2ej2

Seal
proveniente
del camino 2

Seal
proveniente
del camino 3

AA3ej3

Combinacin de tasa mxima:


A1e

A2ej-2

j-1

AA21

AA22

A3ej-3

AA23

AA21 + AA22 + AA23

Figura 2-5 Combinacin de tasa mxima para el caso de tres seales multicamino

2.4

MODELO RECEPTOR RASTRILLO

El receptor rastrillo se implementa para recibir la seal de slo uno de los K usuarios
presentes en el canal. Si se desea obtener la informacin de todos los K usuarios es
necesario implementar K receptores rastrillo. Se supondr que el usuario de inters 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 seal del usuario x proveniente de un
camino diferente para luego sumarlas constructivamente utilizando la tcnica de
combinacin de tasa mxima, por lo tanto, lo ideal es que C = D y se supone as durante
los anlisis que se desarrollen en adelante. La siguiente figura representa el modelo del
receptor rastrillo.

31

Seal recibida
Y(t)
Retardo R2x

Retardo R1x

Seal firma
Usuario x
sx(t-)

YR1x(t)

Generada por
el receptor

YR2x(t)

YR2x

YR1x

AR2x

Correlator D

Etapa 1:
Lnea 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.
Combinacin de
Tasa Mxima

YRx

{ }
sgn (

Etapa 4:
Toma de decisin

Estimado de la seal 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 explicarn ms adelante


incluyendo las ecuaciones que las caracterizan.

2.5

RECEPTOR PTIMO PARA CDMA

En esta seccin 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
transmisin es CDMA-DSSS, que slo hay un camino entre el transmisor y el receptor y
que el receptor conoce o es capaz de estimar los parmetros del canal.

De acuerdo la con ecuacin (2-3), cuando hay varios usuarios y la seal de todos viaja
por un slo camino, la seal recibida es:

32

Y (t ) =

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 demodulacin ptima del i-simo bit que enva usuario k, bk[i],
no basta con observar la seal 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 duracin (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 decisin del receptor individualmente ptimo, diseado para demodular el


bit i del usuario k, selecciona el bit bk[i] {-1,1} tal que rehaga mximo: P[bk[i]|{Y(t), t

[-MTb,(M+2)Tb]].

El criterio de decisin del receptor conjuntamente ptimo selecciona


bT = [b1[-M] ...bK[-M]....b1[M]...bK[M]] bk[i] {-1,1}

(2-4)

tal que se haga mximo: 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 mnima probabilidad


de error de bit. Si se implementa el conjuntamente ptimo se decide por el b que est lo
ms cerca posible, en el sentido medio cuadrtico, a la seal recibida Y(t). El receptor
ptimo que se considera en adelante es el conjuntamente ptimo que tambin 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 relacin seal a ruido sea muy baja la probabilidad de error de bit que se logra es muy
cercana a la probabilidad de error de bit mnima que se logra con el receptor
individualmente ptimo (Verd 2001).

El modelo del MLS es


Matched filter
usuario 1

Seal recibida

..

Matched filter
usuario 2

Algoritmo
de
Viterbi

..

Estimado de la
seal enviada por el
transmisor

Matched filter
usuario K

Figura 2-7 Diagrama en bloques del recepto ptimo para CDMA propuesto por Verd.

La seal recibida Y(t) se puede escribir en forma vectorial:


Y(t) = bTASt + n(t)
En donde bT corresponde al definido en la ecuacin (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 seal 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 mximo:

1
f [{Y (t ), t [ MT , MT + 2T ]} | b] = exp
2 2

MT + 2T

Y (t ) T (b)
t

MT

dt

En donde Tt(b) = bTASt. Hacer mximo f[{Y(t),t [-MTb,MTb+2Tb]}|b] equivale a


hacer mxima la funcin L(b):

L(b)= 2 Tt (b)Y (t )dt Tt (b) dt

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 correlacin R = S t S t dt .
*

El b que hace mxima la funcin L(b) se encuentra con ayuda de un algoritmo de


programacin dinmica 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 decisin. Esperar a que
lleguen los 2M+1 bits no resulta muy til en la prctica y por lo general no se espera a
que llegue toda la trama sino que se hace una aproximacin en la que cada L bis
recibidos (L<2M+1) se toma una decisin. Esta versin modificada del algoritmo de
programacin dinmica se conoce como algoritmo de Viterbi.

2.6

RELACIN SEAL A RUIDO

La relacin seal a ruido se define:


SNR =

E Bx
,
2 2

en donde EBx es la energa con que se recibe un bit de la seal enviada por el usuario x y
2 es la densidad espectral de potencia del ruido Gaussiano aditivo. De acuerdo con la
definicin de energa de Proakis:
T

E Bx

1 b
= Yx (t ) dt
20

Yx(t) corresponde a la definicin hecha en la ecuacin (2-2) y al reemplazar en la


ecuacin anterior se obtiene:

35

E
= bx
2

E BX

A [i ]
c =1

cx

y
C

SNR =

Ebx Acx [i ]
c =1

4 2

Como los coeficientes Acx varan con el tiempo la energa recibida por bit EBx y la
relacin seal a ruido SNR tambin varan con el tiempo y un valor ms 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

Teniendo en cuenta la descripcin de los coeficientes del canal hecha al final de la


seccin 2.2.1 se llega a que:

E Adx [i ] = 2 A
2

y finalmente se obtiene:
CE bx A
SNR =
2 2

2.7

(2-5)

DIAGRAMA DE FLUJO DE LAS SIMULACIONES

Para las simulaciones se crearon tres funciones, una simula el transmisor del usuario de
inters (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 funcin transmisor y la funcin
canal.

36

INICIO

Funcin
transmisor
usuario x

Generar
secuencia gold
usuario x

Generar
secuencia de
bits de
informacin
multiplicacin

Generar
secuencia firma
usuario x

Generar seales
usuarios
interferentes
teniendo en
cuenta efecto
multicamino y
desvanecimiento
Rayleigh

Funcin Canal

hx(t)
Aadir efecto
multicamino y
desvanecimiento
Rayleigh

suma

Sumar AWGN

Receptor Rake
FIN

Figura 2-8 Diagrama de flujo de las simulaciones

2.8

PARMETROS SIMULACIONES

= 127

= 3

= C

Ack: Permanecen constantes durante el envi de 10 bits de informacin


2A = 0.3
2A: El mismo para todos los usuarios y todos los caminos
1k < 2k < 3k
Usuario de inters: 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 nmero de bits enviados en cada simulacin se calcul con el mtodo de Montecarlo.


En el artculo de Jeruchim se encuentra una explicacin detallada de cmo utilizar ste
mtodo.

38

3.

3.1

DESARROLLO

PASO

DESARROLLO

PASO

DE

LAS

ECUACIONES

QUE

CARACTERIZAN AL RECEPTOR RASTRILLO

El desarrollo que se presenta a continuacin se remite al modelo presentado en la


seccin 2.4 figura 2-6.

3.1.1 Etapa 1. Lnea de retardo


Seales provenientes de diferentes caminos llegan en diferentes momentos, esto est
representado en el siguiente esquema
t= 0
Se enva seal desde el
transmisor x.

t = 1x

Llega primera seal


multicamino
usuario x.

t =2x

Llega segunda seal


multicamino
usuario x.

t = Cx

Llega ltima seal


multicamino
usuario x.

R1X
R2X

..
..

Figura 3-1 Representacin de los tiempos de llegada de las seales multicamino para un usuario

La funcin de la lnea de retardo es que las seales 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 tambin se puede
escribir Rdx = Dx dx.

39

La seal recibida, descrita en la ecuacin (2-3), tambin se puede escribir de la siguiente


manera:
K

Y (t ) = Ack (t )bk (t ck ) s k (t ck ) + n(t )


k =1 c =1

Teniendo en cuenta esta ecuacin, la salida de la lnea de retardo son las D seales
YR1x(t) a YRDx(t) en donde:
YRdx (t ) = Y (t Rdx )
K

= Ack (t )bk (t ck Rdx )s k (t ck Rdx ) + n(t Rdx )

(3-1)

k =1 c =1

Para entender mejor la funcin de la lnea de retardo un ejemplo ilustrativo para tres
caminos es el siguiente:
Ej. 3: Suponiendo que C = 3, la seal que llega al receptor es la
superposicin de las seales provenientes de los 3 caminos diferentes.
Suponiendo que la seal del camino 1 llega con retardo de Tch (seal
tringulo negra en la figura 3-2), que la seal del camino 2 llega con
retardo de 2Tch (seal caf en la figura 3-2) y la seal del camino 3 llega
con retardo de 3Tch (seal verde en la figura 3-2), la seal a la entrada
del receptor est dada por la superposicin de estas tres seales. Las
seales 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

YR3x

y
4

t=0

sx(t-)

= Dx

Seales a la entrada del receptor

Figura 3-2 Ejemplo de la funcin de la lnea de retardos.

40

En la figura se ve que aunque la entrada a cada bloque de retardo es la misma, a la


salida, las seales 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 seal 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 seal proveniente de la lnea de retardo.
Teniendo en cuenta la ecuacin (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

El receptor rastrillo toma decisiones bit a bit por lo tanto su anlisis se puede limitar a
una ventana de duracin Tb suponiendo que durante este tiempo llega slo un bit de
informacin relacionado con el usuario x. Durante un intervalo de esta duracin los
coeficientes de desvanecimiento del canal permanecen constantes por lo tanto en la
ecuacin se pueden dejar como constantes. Bajo estas suposiciones:
Tb

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 bk(t) son slo 1 o 1.

41

Se supone que la diferencia en tiempos de llegada entre seales multicamino


correspondientes a un mismo usuario es mayor al tiempo de chip Tch. Bajo esta
suposicin y teniendo en cuenta las propiedades de autocorrelacin de las secuencias
Gold, la correlacin entre seales de diferente camino pero correspondientes a un
mismo usuario se puede aproximar a cero. Se tiene entonces que:
Tb

(t ) s x (t ( cx + Rdx ) )dt 0 solo para | (cx+Rdx)|<Tch

y que la desigualdad se cumple slo para c = d recordando que = Dx y Rdx = Dx - dx.


Eliminando de la sumatoria los trminos correspondientes al usuario x para los cules 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 =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)

Tb

Lck = s x (t )b' k (t ck Rdx )s k (t ck Rdx )dt ,

(3-4)

y
Tb

n dx = s x (t )n(t Rdx )
0

42

La seal firma generada en el receptor debe estar sincronizada con la que llega del
transmisor del usuario de inters, en este caso el usuario x. La sincronizacin depende
de la estimacin 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 estimacin 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 seal firma de la seal proveniente del camino d est desfasada
Tch con respecto a la seal firma generada internamente por el receptor. Como
consecuencia stas dos seales firma no estn sincronizadas y por eso el error en la
estimacin de los cx se conoce como error en la sincronizacin de la seal firma. La
figura 3-3 da una idea de lo que pasa en el correlator cuando hay error en la
sincronizacin de la seal firma.

xx en la ecuacin (3-3) se puede dejar en trminos del error de sincronizacin:


Tb

xx ( ) = s x (t )s x (t Tch )dt ,

(3-5)

y la ecuacin (3-2) queda


YRdx = Ebx Adxbx xx ( ) + ndx +

k =1, k x c =1

Ebk Ack Lck

(3-6)

Por ahora se supone que hay sincronizacin perfecta, = 0 y por lo tanto se obtiene:

43

YRdx = Ebx Adxbx + ndx +

k =1, k x c =1

Ebk Ack Lck

(3-7)

T ch
Seal firma
usuario x
camino c
Seal firma
generada por el
receptor,
sincronizada

Seal firma
generada por
el receptor,
con error de
sincronizacin

T ch
Figura 3-3 Ejemplo de lo que sucede en los correlatores cuando hay error de sincronizacin

3.1.3 Etapa 3: Combinacin de tasa mxima


En esta etapa se implementa la tcnica de combinacin de tasa mxima 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
estimacin perfecta de los coeficientes de desvanecimiento del canal ARdx = Adx*.

La salida de esta etapa es:


D

YRx = ARdx YRdx


d =1

Suponiendo estimacin perfecta de los coeficientes del canal ARdx = Adx* y teniendo en
cuenta la ecuacin (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 decisin


Esta etapa implementa la toma de decisin basada en la regla de decisin que es:
bx = sgn ({YRx })
bx es el estimado del bit transmitido bx. Reemplazando (3-8) en la regla de decisin:
D
D
K
C

2
*
bx = 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 clculos que se realizan en las tres primeras etapas del receptor rastrillo es
necesario conocer el valor de los parmetros del canal Ack y ck. Los valores de estos
parmetros, con que cuenta el receptor, son el resultado de una estimacin.

continuacin se propone una expresin para la probabilidad de error de bit en el caso en


que la estimacin de los parmetros del canal es perfecta (PeP); una expresin para el
caso en que la estimacin de los coeficientes de desvanecimiento ARdx es imperfecta
(PeA) y finalmente; una expresin para la probabilidad de error de bit para el caso en
que la estimacin de los cx es imperfecta (Pe) (error en la estimacin de los cx
significa error en la sincronizacin de la seal firma) 3.

Los anlisis de la probabilidad de error de bit se basaron en el anlisis para diversidad hecho por S.
Verd en su libro Multiuser Detecion

45

3.2.1 Probabilidad de error de bit. Caso: Receptor rastrillo con estimacin perfecta
de los coeficientes de desvanecimiento del canal y sincronizacin perfecta de la
seal firma.

Para este caso la regla de decisin est dada por la ecuacin (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 bx A1x ... ADx ]
= P[bx = 1]P[bx = +1 bx = 1, A1x ... ADx ] + P[bx = +1]P[bx = 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[bx = 1 bx = +1, A1x ... ADx ] .
Primero se va a hallar:
P[bx = +1 bx = 1, A1x ... ADx ]

= P bx > 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

se tiene que
46

Ebx Adx

d =1
P[bx = +1 bx = 1, A1x ... ADx ] = Q
K
C
2
2 + A Ebk L2 ck
k =1, k x c =1

Ahora falta hallar P[bx = 1 bx = +1, A1x ... ADx ] . Siguiendo el mismo anlisis anterior se
llega a que
P[bx = 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 ecuacin anterior se puede rescribir:


P[bx = 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

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

Ebx Adx

d =1
P[bx = 1 bx = +1, A1x ... ADx ] = 1 1 Q
K
C

2
2
+

Ebk L2 ck

k =1, k x c =1

Ebx Adx

d =1
= Q
K
C
2
2 + A Ebk L2 ck
k =1, k x c =1

En resumen

47

P[bx = +1 bx = 1, A1x ... ADx ] = P[bx = 1 bx = +1, A1x ... ADx ]


D

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 bx A1x ... ADx ]
= P[bx = 1]P[bx = +1 bx = 1, A1x ... ADx ] + P[bx = +1]P[bx = 1 bx = +1, A1x ... ADx ]

Ebx Adx
1
d =1
= Q
K
C
2
2
2
+ A Ebk L2 ck
k =1, k x c =1

Ebx Adx

d =1
= Q
K
C
2
2 + A Ebk L2 ck
k =1, k x c =1

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
funcin Q que se encuentra en el anexo 2, seccin 7.5, teniendo en cuenta que para este
caso:
Xi =

Ebx

+A
2

k =1, k x c =1

bk

Adx

L ck

L=Dy

48

Ebx

=
+A
2

k =1, k x c =1

bk

L ck

Por lo tanto la probabilidad de error de bit no condicionada es:

PeP ( S N R ) =

1 1

2 2

2 + A2
1+

k =1, k x c =1
2
bx A

bk

L2 ck

D 1

1 3 5 (2n 1)
n
1 +


n =1

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


estimacin de los coeficientes de desvanecimiento del canal y sincronizacin
perfecta de la seal firma.
Error en la estimacin de los coeficientes de desvanecimiento significa que (ver figura
2-6)
ARdx = Adx*+ Ad.
La variable Ad representa el error en la estimacin y es igual a Ad = Adr + jAdi. Ad
tiene partes real e imaginaria independientes y Adr~N(0,2A) y Adir~N(0,2A).

La salida de la etapa 3 (Combinacin de tasa mxima) 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 sincronizacin de la seal firma, ecuacin (3-7), se obtiene la salida

49

de la etapa 3 en el caso en que hay error en la estimacin 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

= ( Ebx bx Adx + Ebx bx Adx Ad + Adx ndx + Ad ndx


2

d =1

+ Adx

k =1,, k x c =1

Ebk Ack Lck + Ad

k =1, k x c =1

Ebk Ack Lc k )

Utilizando este resultado, la regla de decisin bx = sgn ({YRx }) queda igual a:


D
bx = 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 =1, k x c =1

Ebk Ack Lck + Ad

k =1, k x c =1

Ebk Ack Lck

Inicialmente se halla la probabilidad de error de bit condicionada PeAc. Siguiendo un


proceso anlogo al que se hizo en el caso de estimacin y sincronizacin perfecta, para
hallar

Pe Ac ( S N R ) = P[bx bx A1x ... ADx ]

primero

es

necesario

hallar

P[bx = +1 bx = 1, A1x ... ADx ] y P[bx = 1 bx = +1, A1x ... ADx ] .

Para empezar se tiene que:


D
D

2
P[bx = +1 bx = 1, A1x ... ADx ] = P {E d } > Ebx Adx + bx = 1, A1x ... ADx
d =1
d =1

Aproximando que la varianza de

50

{E }
d =1

(3-12)

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

(3-13)

se tiene que
D

Ebx Adx

d =1
P[bx = +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 anlogo se obtiene:


D

Ebx Adx

d =1
P[bx = 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

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 expresin con la equivalente para el caso de estimacin perfecta (310) se ve que el error en la estimacin 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.

Para el clculo de la varianza de 3-12 no se tiene en cuenta el trmino Adndx ni el trmino

Ad

k =1,, k x c =1

Ebk Ack Lck ya que su funcin 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 seccin 7.5 con:
Ebx

Xi =

+ A
2

k =1,, k x c =1

bk

+ Ebx A

ck

Adx ,

L=Dy
Ebx

=
+ A
2

k =1,, k x c =1

bk

ck

+ Ebx A

se obtiene la probabilidad de error no condicionada:

Pe A ( S N R ) =

1 1

2 2

2 + A2
1+

k =1, , k x c =1

bk

E bx A

L2 ck + E bx A

D 1
1 3 5 (2n 1)

1 +
n
n =1

E bx A

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


sincronizacin de la seal firma y estimacin perfecta de los coeficientes de
desvanecimiento del canal

Al encontrar la salida de la etapa 2 (correlatores) se lleg a la ecuacin (3-6)


YRdx = Ebx Adx bx xx ( ) + ndx +

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 estimacin perfecta la salida
de la etapa 4 es:
D
D
K
C

*
2
*
bx = sgn Ebx Adx bx xx ( ) + Adx ndx + Adx Ebk Ack Lck , (3-16)
d =1
d =1
k =1, k x c =1

ya que bx = sgn ({YRx }) y YRx = ARdx YRdx


d =1

La funcin xx() se puede definir a trozos en funcin del tiempo de chip Tch:
Tch Tch
para < 1

Tch
y segn esta definicin 0< xx()<1
xx ( ) =
0 para 1

Se define ~N(0,2). En el caso en que || 1 la correlacin es cero: xx()=0 y la


regla de decisin queda solo en funcin de la variable aleatoria:
K
C
D *

*
bx = 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 decisin 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 ecuacin (3-16) con la ecuacin (3-9) se ve que
el nico trmino diferente es xx() y como ste se supone constante el desarrollo de
las ecuaciones es el mismo que para el caso en que hay estimacin perfecta de los
coeficientes y sincronizacin perfecta. De acuerdo a esto la probabilidad de error de bit
condicionada es:

53

2
2

Ebx xx ( ) Adx

d =1
Pec (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
Pec. Teniendo en cuenta la propiedad de la seccin 7.5 para la funcin Q con:
Ebx xx ( )
2

Xi =

+ A
2

Adx

k =1, k x c =1

bk

ck

L=Dy
Ebx

=
+ A
2

xx ( ) A

k =1, k x c =1

bk

ck

Se obtiene:

Pe ( S N R ) =

1 1

2 2

2 + A2
1+

Ebx

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 estimacin perfecta: PeP. De acuerdo con esto, cuando hay error en
la estimacin de la probabilidad de error est entre dos lmites: PeP < Pe < 1/2

En este punto el siguiente paso sera hallar el valor esperado de Pe con respecto a la
variable aleatoria xx(). Cuando las variaciones de son lentas en comparacin a la

54

tasa de envo de informacin (1/Tb) el resultado de la ecuacin (3-18) resulta ms 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
variacin es lenta en comparacin a la tasa de envo de informacin, 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 comparacin a la tasa de envo de informacin, el
resultado obtenido en la ecuacin 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 ecuacin 3-18 para hallar el
valor de xx() con el que Pe = F. Suponiendo que este valor es igual a A la siguiente
afirmacin 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. Funcin Transmisor
2. Funcin Canal
3. Funcin Receptor

Es importante resaltar que estas funciones hacen llamados a funciones implementadas


en C++ las cules realizan la mayor parte de los clculos. A continuacin se presenta el
cdigo en Matlab de las funciones transmisor, canal y receptor; el cdigo de las
funciones creadas en C++ se incluye en el Anexo 1. Los cdigos presentados se
encuentran bien documentados y en los cdigos de Matlab se resalta en negrilla la parte
que define las entradas, la parte que define las salidas y los pasos importantes. En la
documentacin de las funciones se supone que el usuario de inters es el usuario 1.

Las variables aleatorias Gaussianas de media cero generadas en Matlab se crearon a


partir de la funcin randn y las generadas en C++ se crearon a partir del algoritmo de
Box-Mller presentado por Donadio.

La funcin receptor implementa el modelo de la figura 2-6 y no implementa el


estimador del canal. Por esta razn entre las entradas a la funcin receptor estn los
coeficientes de desvanecimiento del canal y los retardos multicamino correspondientes
al usuario de inters. En los casos en que hay error en la estimacin de los parmetros

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

Funcin transmisor

La funcin txg.m genera la seal transmitida por el usuario de inters que se define
segn la ecuacin (2-1). En la figura 2.8 se resaltan los bloques que representan el
proceso para generar esta seal. txg.m se encarga de crear la secuencia de bits
transmitidos por el usuario de inters (usuario 1 en la documentacin de los cdigos) y
de llamar la funcin transmisorg.cpp la cual genera la secuencia Gold del usuario de
inters y su seal firma y se encarga de multiplicarla por la seal de informacin. El
cdigo de la funcin transmisorg.cpp se encuentra en el anexo 1a.

Funcin txg.m:
function [X1,bitsinfo,gold] = txg(corrimiento,numbitsinfo,Eb)

%Genera
la seal 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 seal firma del usuario 1.
%numbitsinfo:
Indica el nmero de bits de informacin que enva el
usuario
%
1
%Eb:
Energa 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 funcin en C++ llamada `transmisorg


%Esta funcin se encarga de generar la seal transmitida multiplicando la
%seal de informacin (senalinfo) por la secuencia Gold del usuario 1 la
%cual se genera internamente en la funcion`transmisorg y depende del
%parmetro de entrada: corrimiento
%SALIDAS:
%X1 :
Vector que contiene la seal transmitida por el usuario 1
%Gold : Vector que contiene la secuencia Gold que se uso para generar
%
la seal transmitida por el usuario 1 : X1. Esta secuencia se
%
genera de acuerdo al parmetro de entrada 'corrimiento'
%bitsinfo:Vector que contiene la secuencia de bits de informacin
transmitidos.
[X1,Gold] = transmisorg(corrimiento,senalinfo);

3.3.2

Funcin Canal

La funcin canalxusuarios2.m implementa los bloques correspondientes a la funcin


canal que se resaltan en la figura 2-8. La salida de esta funcin corresponde a Y(t),
ecuacin (2-3). Esta funcin llama a la funcin en C++ canalxu3.cpp que es la que
realiza la mayora de los clculos. Las seales firma de los usuarios interferentes se
generan a partir de los mismos polinomios primitivos usados en la funcin
trasnsmisorg.cpp para generar la seal firma del usuario de inters. 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 funcin txg.m definida en la seccin
anterior el parmetro de entrada corrimiento sea igual a 0 o mayor a L.

Funcin canalxusuarios2.m:
function[Yr,Yi,A1r,A1i] =
canalxusuarios2(numbitsinfo,numusuariosint,Ebinterferentes,sigA2,taos,sigmaawgn,
x1)

%A partir de la seal transmitida por el usuario 1, X1, la funcin


%canalxusuarios2 genera (con ayuda de la funcin en C++ canalxu3)
%la seal Y que corresponde a la seal recibida, es decir la seal
58

%X1 despus de haber pasado por un canal con desvanecimiento Rayleigh,


%efecto multicamino y varios usuarios y haberle sumado a la seal AWGN.
%El canal de desvanecimiento Rayleigh se define en este caso como un canal
%que genera 3 seales multicamino
%ENTRADAS
%X1 :
Vector que contiene la seal transmitida por el usuario 1.
%taos:
[tao1,tao2,tao3] Vector que contiene los retardos que afectan
%
la seal del usuario 1 en los caminos 1, 2 y 3 respectivamente.
%
Se defini que para los usuarios interferentes el numero de
%
caminos es tambin 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 nmero 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 nmero de bits de informacin 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 nmero de bits que se enviaron
%Se supone que los coeficientes permanecen constantes durante el envi de
%10 bits de informacin
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 funcin 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, tamao: numbitsinfox3. Contiene la parte real de los
coeficientes de
%
desvanecimiento del canal que afectan a cada uno de los bits de la
%
seal transmitida por el usuario 1 (X1)
%A1i: Matriz, tamao: numbitsinfox3. Contiene la parte imaginaria de los
%
coeficientes de desvanecimiento del canal que afectan a cada uno
%
de los bits de la seal 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 funcin Canal, se implementan en la


funcin 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 generacin de la seal correspondiente a los


usuarios interferentes se implementa a partir de canalxu3 y secuencias. La funcin
secuencias se encarga de generar las secuencias de longitud mxima a partir de las
cules se obtiene la secuencia Gold de cada uno de los usuarios interferentes. La
funcin canalxu3 se encarga de generar la secuencia Gold de cada uno de los usuarios
interferentes y de aadirle a la seal de cada uno el efecto multicamino, el
desvanecimiento Rayleigh y luego sumarlas.
60

La funcin 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 seal de los
usuarios interferentes y de sumarle a esto el ruido Gaussiano aditivo que a su vez se
genera con la funcin vgauss.

El cdigo en C++ de la funcin canalxu3.cpp se encuentra en el anexo 1b.

3.3.3

Funcin Receptor

A cada tipo de error de estimacin que se evala le corresponde una funcin receptor
diferente:
1. Funcin rakep: Funcin en Matlab, implementa el receptor rastrillo con
estimacin perfecta de los coeficientes de desvanecimiento del canal y
sincronizacin perfecta de la seal firma.
2. Funcin rakeme34: Funcin en Matlab, implementa el receptor rastrillo con
error en la estimacin de los coeficientes de desvanecimiento del canal.
3. Funcin rakeme121: Funcin en Matlab, implementa el receptor rastrillo con
error en la sincronizacin de la seal firma.

La implementacin 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 cules se
implementan las etapas 1y 2 y las etapas 3 y 4 respectivamente.

61

3.3.3.1 Funcin Rakep

La funcin rakep.m implementa el diagrama en bloques de la figura 2-6. Esta funcin


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
estimacin de los coeficientes de desvanecimiento del canal ni error en la sincronizacin
de la seal firma.

Funcin rakep.m:
function bitsinfoest = rakep(Yr,Yi,A1r,A1i,gold,taos,numbitsinfo)
%funcin receptor rastrillo con estimacin perfecta de los coeficientes de
%desvanecimiento del canal y sincronizacin perfecta de la seal 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
%
tamao:(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 tamao:(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 informacin transmitidos

%1. Llamar a la funcin en C++ 'etapas12' que implementa las etapas


%1(lnea de retardos) y 2(correlatores) definidas en el modelo, en el caso
%en que no hay error en la sincronizacin de la seal 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 funcin C++ 'etapas34' que implementa las etapas
62

%3(MRC) y 4(toma de decisin) 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 cdigo en C++ de las funciones etapas12.cpp y etapas34.cpp se encuentra en los


anexos 1c y 1d respectivamente.

3.3.3.2 Funcin Rakeme34

La funcin rakeme34.m implementa el diagrama en bloques de la figura 2-6 en el caso


en que hay error en la estimacin de los coeficientes de desvanecimiento del canal. Esta
funcin llama a las funciones en C++ etapas12.cpp y etapas34me.cpp. La funcin
etapas34me.cpp implementa las etapas 3 y 4 del receptor rastrillo
en el caso en que hay error en la estimacin de los coeficientes de desvanecimiento del
canal, es decir, error en la etapa 3.

Funcin rakeme34.m:

(2A)

function bitsinfoest = rakeme34(Yr,Yi,A1r,A1i,gold,taos,sigdelA,numbitsinfo)


%funcin receptor rastrillo con error en la estimacin de los coeficientes
%de desvanecimiento del canal y sincronizacin perfecta de la seal 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
%
tamao:(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 tamao:(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: Desviacin estndar de la parte real y la parte imaginaria
del error en la estimacin de los coeficientes de desvanecimiento del canal

%numbitsinfo : numero de bits de informacin transmitidos

63

%bitsinfoest: Salida, estimado hecho por el receptor rastrillo de cada uno


%
de los bits enviados
%1. Llamar a la funcin en C++ 'etapas12' que implementa las etapas
%1(lnea de retardos) y 2(correlatores) definidas en el modelo, en el caso
%en que no hay error en la sincronizacin de la seal 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 funcin C++ 'etapas34me' que implementa las etapas
%3(MRC) y 4(toma de decisin) 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 cdigo en C++ de la funcin etapas34me.cpp se encuentra en el Anexo 1f.

3.3.3.3 Funcin Rakeme121

Esta funcin implementa el diagrama en bloques de la figura 2-6 en el caso en que hay
error en la sincronizacin de la seal firma. La funcin llama a las funciones en C++
etapas12me1.cpp y etapas34.cpp. La funcin etapas12me1.cpp implementa las
etapas 1 y 2 del receptor rastrillo en el caso en que hay error en la sincronizacin de la
seal firma.

Funcin rakeme121.m:
function
bitsinfoest
rakeme121(Y1r,Y1i,A1r,A1i,gold,taos,delT,Eb,bitsinfo,numbitsinfo)

64

%funcin receptor rastrillo con error en la sincronizacin de la seal firma


%y estimacin 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
%
tamao:(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 tamao:(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 sincronizacin de acuerdo al
modelo propuesto
%Eb Energa de transmisin del usuario 1
%bitsinfo: Vector que contiene los bits transmitidos por el usuario 1
%numbitsinfo : numero de bits de informacin transmitidos
%1. Llamar a la funcin en C++ 'etapas12me1' que implementa las etapas
%1(lnea de retardos) y 2(correlatores) definidas en el modelo, en el caso
%en que hay error en la sincronizacin de la seal 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 funcin C++ 'etapas34' que implementa las etapas
%3(MRC) y 4(toma de decisin) 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 sincronizacin de la seal firma la funcin la funcin


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 ecuacin (3-7):
YRdx = Ebx Adx bx + n dx +

k =1, k x c =1

Ebk Ack Lck

65

Luego, la funcin 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
ecuacin (3-6) que representa la salida con error en la sincronizacin, ya que:
YRdx Error= Ebx Adx bx xx ( ) + ndx +

k =1, k x c =1

Ebk Ack Lck ,

Tch Tch
para < 1

Tch
teniendo en cuenta que xx ( ) =
0 para 1

El cdigo en C++ de la funcin 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 vlidas para alta relacin seal a ruido. La cota inferior exacta es:

1 1

2 2

1
1+

2
Ebx 2 A

66

Si se compara esta ecuacin con la de la probabilidad de error de bit del receptor


rastrillo con estimacin perfecta de los coeficientes y sincronizacin perfecta, ecuacin
(3-11), se puede apreciar que corresponde al caso en que hay un solo camino (D = 1) y
un solo usuario (Ebk=0). A continuacin se repite la ecuacin para el receptor rastrillo:

Pe P ( E bx ) =

1 1

2 2

2 + A2
1+

k =1, k x c =1

E bx A

bk

L2 ck

D 1

1 3 5 (2n 1)
1 +

n
n =1

E bx A

+ 1
n!2
K
C

2
2 + A E bk L2 ck

k =1, k x c =1

En funcin de la relacin seal 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 relacin seal a ruido empiezan a ser
vlidas 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 trminos de una funcin 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 notacin o-minscula la informacin que suministran los autores es que:

lim

SNR

f desconocida (S N R )
=0
1
2S NR

Esto significa que cuando la relacin seal a ruido tiende a infinito la funcin
desconocida tiende a cero mucho ms rpido que lo que lo hace la funcin

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 funcin

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

APROXIMACIN DE Lck PARA EL CLCULO DE LAS ECUACIONES

Para hacer clculos utilizando las ecuaciones propuestas para la probabilidad de error
de bit es necesario darle un valor a la variable Lck (las otras variables ya estn definidas
de acuerdo a los parmetros que se escogieron para las simulaciones). En la seccin
3.1.2 ecuacin (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 bk(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 trmino A


3

realidad se desea hallar es

ck

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)

Tb

L2 k = s x (t )s k (t 2 k Rdx )dt

(3-22)

Tb

L3k = s x (t )s k (t 3k Rdx )dt

(3-23)

Como se dijo en la seccin 3.1.2, en el caso de sincronizacin perfecta Rdx = Dx - dx y = Dx. Es importante recordar nuevamente que Lck se necesita para calcular

A2

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 trmino dk - Rdx nunca
va a ser igual a . Teniendo esto es cuenta finalmente se aproxima:
C

L
c =1

ck

=L21k + L2 2 k + L2 3k =

3
127

71

4.

ANLISIS DE RESULTADOS

Para su funcionamiento el receptor rastrillo debe contar con la estimacin de los


siguientes dos parmetros del canal:
1. Los coeficientes de desvanecimiento.
2. Los retardos con que llegan las seales multicamino. De esta estimacin
depende la sincronizacin de la seal 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 estimacin perfecta de los coeficientes de


desvanecimiento del canal y sincronizacin perfecta de la seal firma
b. Receptor rastrillo con error en la estimacin de los coeficientes de
desvanecimiento del canal

suponiendo sincronizacin perfecta de la seal firma.

c. Receptor rastrillo con error en la sincronizacin de la seal firma suponiendo


estimacin perfecta de los coeficientes de desvanecimiento del canal.

Tambin, dentro de los objetivos, se propuso hacer una comparacin entre la


probabilidad de error de bit, la energa efectiva y la resistencia cerca lejos del receptor
ptimo para CDMA y el receptor rastrillo y analizar la energa efectiva y la resistencia
cerca lejos del receptor rastrillo en funcin de los parmetros de estimacin del canal. A
continuacin se presentan los resultados obtenidos.

72

4.1

PROBABILIDAD DE ERROR DE BIT DEL RECEPTOR RASTRILLO EN


FUNCIN DE LOS PARMETROS DE ESTIMACIN DEL CANAL.

4.1.1 Probabilidad de error de bit del receptor rastrillo con estimacin perfecta de
los coeficientes de desvanecimiento del canal y sincronizacin perfecta de la
seal firma.

Figura 4-1 Probabilidad de error de bit del receptor rastrillo en el caso de estimacin perfecta de los
coeficientes de desvanecimiento del canal y sincronizacin perfecta de la seal 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 estimacin perfecta de los coeficientes
de desvanecimiento del canal y una sincronizacin perfecta de la seal 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 seal de
todos los usuarios se recibe con la misma relacin seal a ruido promedio.
Considerando un caso particular, para una relacin seal 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 slo 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 tambin se observa
que para ocho usuarios la probabilidad de error de bit tiende a estabilizarse en un valor
fijo. Esto significa que para alta relacin seal a ruido el trmino que domina la
ecuacin no es el que corresponde al ruido Gaussiano aditivo sino el que corresponde a
los usuarios interferentes, el trmino con L2ck en las ecuaciones. Al comparar los
resultados de la simulacin con los de la ecuacin se ratifica la validez de la ecuacin
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 artculo de Kumar y Panicker que
en este caso corresponde a la figura 4-2. A excepcin 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 grficas 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 relacin seal 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 estimacin de


los coeficientes de desvanecimiento del canal y sincronizacin perfecta de la
seal firma.

Figura 4-3 Probabilidad de error de bit del receptor rastrillo con error en la estimacin de los coeficientes
de desvanecimiento del canal y sincronizacin perfecta de la seal firma

En la figura 4-3 se muestran grficas para diferentes valores de la varianza del error de
estimacin de los coeficientes del canal (2A) y se supone un canal con ocho usuarios
en donde la seal de todos se recibe con la misma relacin seal a ruido promedio. En la
figura 4-3 se observa una pequea diferencia entre los resultados obtenidos con la
simulacin y los resultados obtenidos con la ecuacin propuesta. Esta diferencia se debe
a que en el clculo de la varianza de la ecuacin (3-12) se despreciaron dos trminos ya
que correspondan a variables aleatorias cuya funcin de densidad de probabilidad no
era Gaussiana por lo tanto complicaban el desarrollo de las ecuaciones. De acuerdo a la
figura 4-3, la ecuacin 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 estimacin 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 mantenindose en ese valor casi
independientemente de la relacin seal a ruido con que se transmita. De acuerdo a la
figura 4-3 la varianza del error en la estimacin de los coeficientes de desvanecimiento
del canal debera 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 estimacin perfecta, no sea tan
crtico.

Figura 4-4 Resultados de Kumar y Panicker para la probabilidad de error de bit del receptor rastrillo
teniendo en cuenta error en la estimacin de los coeficientes de desvanecimiento del canal.

La figura 4-3 se puede comparar con la figura 6 en el artculo de Kumar y Panicker que
en este caso corresponde a la figura 4-4. La comparacin no se puede hacer directa ya
que los autores supusieron que el error en la estimacin de los coeficientes del canal era
Gaussiano de media cero tanto para la amplitud como para la fase mientras que en los
anlisis hechos hasta ahora el error ha sido modelado como Gaussiano de media cero
76

para la estimacin de la parte real y para la estimacin 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 anlisis que se puede hacer es que en las dos figuras, 4-3 y
4-4, se ve que el error en la estimacin 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


sincronizacin de la seal firma y estimacin perfecta de los coeficientes de
desvanecimiento del canal.

Figura 4-5 Probabilidad de error de bit del receptor rastrillo con error en la sincronizacin de la seal
firma y estimacin perfecta de los coeficientes de desvanecimiento del canal.

Como en el caso anterior, se supone un canal con ocho usuarios en donde la seal de
todos se recibe con la misma relacin seal a ruido promedio. En la figura 4-5 se
muestran los resultados de la probabilidad de error de bit para diferentes valores de la
funcin xx() definida en la seccin 3.1.2 ecuacin (3-5). En esta grfica se ve lo
importante que es una buena sincronizacin de la seal firma ya que xx() no debe
estar por debajo de 0.8 para que este error no afecte demasiado el desempeo del

77

receptor. Con respecto a los resultados de las simulaciones y de las ecuaciones, la figura
4-5 ratifica la validez de la ecuacin propuesta para este caso.

Figura 4-6 Probabilidad de que la probabilidad de error de bit del receptor rastrillo con error en la
sincronizacin de la seal firma y estimacin perfecta de los coeficientes de desvanecimiento est dentro
del rango delimitado por F=0.005

Adems de hallar la probabilidad de error de bit en funcin de (), en la seccin 3.2.3


se lleg a la ecuacin (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 grfica de la ecuacin 3-19 para el caso en que
F = 0.005 y = 0.05. La figura indica que entre mayor sea la relacin seal 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 simulacin. 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 nmero suficiente de bits para obtener un

78

resultado confiable. Una simulacin con el suficiente nmero de bits podra tomar ms
de una semana as que se decidi no incluir resultados de la simulacin para este caso.

4.2

ANLISIS DE LA ENERGA EFECTIVA DEL RECEPTOR RASTRILLO Y


COMPARACIN CON EL RECEPTOR PTIMO PARA CDMA

4.2.1

Anlisis de la energa efectiva del receptor rastrillo en el caso de estimacin


perfecta de los coeficientes de desvanecimiento del canal y sincronizacin
perfecta de la seal firma. Comparacin con el receptor ptimo para CDMA

Figura 4-7 Relacin seal a ruido promedio en funcin de la probabilidad de error de bit promedio para
el receptor rastrillo con sincronizacin perfecta de la seal firma y estimacin perfecta de los coeficientes
de desvanecimiento del canal y para el receptor ptimo para CDMA.

Como la energa de transmisin y la relacin seal a ruido promedio estn directamente


relacionadas, ecuacin (2-5), el estudio se hace en trminos de la relacin seal a ruido
promedio y no en trminos de la energa, hacer este cambio no afecta el objetivo del
anlisis que se desea hacer. Generalizando la definicin hecha en la seccin 1.5 para la
energa efectiva, la relacin seal a ruido promedio efectiva es, para una probabilidad de
error de bit dada, la relacin seal a ruido que se necesita para alcanzar esa misma
79

probabilidad de error de bit en el caso en que haya slo un usuario transmitiendo y los
dems parmetros 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
relacin seal a ruido promedio efectiva es la relacin seal a ruido promedio para la
que se alcanza una probabilidad de error de bit igual a Pek pero en el caso en que slo
est transmitiendo el usuario k y el resto de las caractersticas del canal son las mismas.

La figura 4-7 muestra la relacin seal a ruido promedio en funcin de la probabilidad


de error de bit, las diferentes grficas corresponden a diferente nmero de usuarios
compartiendo el canal y en todas se supone que la seal de todos los usuarios se recibe
con la misma relacin seal a ruido promedio. En esta figura se puede ver que, por
ejemplo, para alcanzar una probabilidad de error de bit de 0.001 la relacin seal a ruido
promedio efectiva es de aproximadamente 8dB. Este resultado es til si se compara con
el valor de relacin seal 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 relacin seal a ruido promedio necesaria
es de aproximadamente 15 dB, que es un valor considerablemente ms 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 relacin seal a ruido promedio.

En la figura 4-7 tambin se incluyen la cota inferior de la probabilidad de error de bit


del receptor ptimo y la funcin m(SNR) definida en la seccin 3.4 ecuacin (3-20). Es
importante recordar que esta funcin 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 decisin tiene en cuenta la seal 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 slo
dependen de la energa con que transmite el usuario de inters. Las grficas para el
receptor ptimo que se presentan en la figura 4-7 sern las mismas independientemente
del nmero de usuarios que estn compartiendo el canal

Para el receptor rastrillo, aunque implementa diversidad en la recepcin, para alta


relacin seal 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 nmero
de usuarios compartiendo el canal. En esta comparacin entre el receptor rastrillo y el
receptor ptimo no se pueden mirar valores especficos de la probabilidad de error de bit
ya que las condiciones no son las mismas, para el receptor ptimo se supuso que haba
un solo camino entre el transmisor y el receptor y para el receptor rastrillo se supuso que
haba tres caminos, por esta razn slo se compara el comportamiento general que
presentan los receptores con respecto a la relacin seal a ruido y a la presencia de otros
usuarios en el canal.

4.2.2

Anlisis de la energa efectiva del receptor rastrillo en el caso de error en la


estimacin de los coeficientes de desvanecimiento del canal y sincronizacin
perfecta de la seal firma.

Como se dijo en la seccin anterior, no se va a mirar la energa efectiva sino un


equivalente, la relacin seal a ruido promedio efectiva, que finalmente es la relacin
seal a ruido promedio en el caso en que hay slo un usuario en el canal y se mantienen

81

fijas el resto de las caractersticas del canal. La figura 4-8 muestra cmo vara la
relacin seal a ruido promedio efectiva para diferentes valores de la varianza del error
de estimacin de los coeficientes de desvanecimiento del canal. Se ve que entre mayor
sea la varianza del error mayor ser la relacin seal a ruido promedio efectiva. Este
resultado es crtico para el desempeo del receptor rastrillo ya que significa que entre
mayor sea la varianza del error mayor va a ser la mnima probabilidad de error de bit
que se puede alcanzar5. Por ejemplo, para una relacin seal a ruido de 10dB, si no hay
errores de estimacin del canal, la mnima probabilidad de error de bit que se puede
alcanzar es aproximadamente 0.0003, mientras que para la misma relacin seal a ruido
y una varianza del error de estimacin de 0.1, la mnima probabilidad de error de bit que
se puede alcanzar es de 0.006.

Figura 4-8 Seal a ruido promedio efectiva en funcin de la probabilidad de error de bit promedio.
Receptor rastrillo con error en la estimacin de los coeficientes de desvanecimiento del canal.

Dadas las condiciones del canal, la mnima probabilidad de error de bit es la que se logra cuando hay
slo un usuario en el canal

82

4.2.3

Anlisis de la energa efectiva del receptor rastrillo en el caso de error en la


sincronizacin de la seal firma y estimacin perfecta de los coeficientes de
desvanecimiento del canal.

Figura 4-9 Seal a ruido promedio efectiva en funcin de la probabilidad de error de bit promedio.
Receptor rastrillo con error en la sincronizacin de la seal firma.

En este caso, de acuerdo a la figura 4-9 y de acuerdo a lo esperado, la relacin seal a


ruido efectiva aumenta si disminuye () que es la variable que representa el error en
la sincronizacin; () =1 corresponde al caso de sincronizacin perfecta. Como
ocurre en el caso de error en la estimacin de los coeficientes de desvanecimiento del
canal, para una relacin seal a ruido dada, la mnima probabilidad de error de bit que
se puede obtener es mayor entre mayor sea el error en la sincronizacin.

83

4.3

ANLISIS DE LA RESISTENCIA CERCA LEJOS DEL RECEPTOR


RASTRILLO Y COMPARACIN CON EL RECEPTOR PTIMO PARA
CDMA

4.3.1 Anlisis de la resistencia cerca lejos del receptor rastrillo en el caso de


estimacin perfecta de los coeficientes de desvanecimiento del canal y
sincronizacin perfecta de la seal firma. Comparacin con el receptor ptimo
para CDMA

Figura 4-10 Probabilidad de error de bit promedio. Receptor rastrillo con sincronizacin perfecta de la
seal firma y estimacin 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 seal de todos usuarios se recibe con la misma relacin seal a ruido promedio
y para varios casos en que la seal de los usuarios interferentes se recibe con la misma
relacin seal a ruido promedio pero algunos dBs por arriba de la relacin seal a ruido
promedio con que se recibe la seal del usuario de inters. 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 relacin seal a ruido promedio recibida del usuario de
inters y la relacin seal a ruido promedio recibida de los usuarios interferentes.
Aunque en este caso el receptor rastrillo no tiene errores de estimacin, si la potencia de
transmisin del usuario de inters disminuye, o equivalentemente, la potencia recibida
de los usuarios interferentes aumenta, se afecta su desempeo. 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 seccin anterior, esto se debe a que en la
estimacin de los bits transmitidos el receptor ptimo tiene en cuenta las seales 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, slo dependen de la potencia recibida del usuario de inters. En
este caso tampoco se pueden comparar valores especficos 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 Anlisis de la resistencia cerca lejos del receptor rastrillo en el caso de error
en la estimacin de los coeficientes de desvanecimiento del canal y
sincronizacin perfecta de la seal firma.
Los resultados de la figura 4-11 corresponden a ocho usuarios compartiendo el canal
con la seal a ruido promedio recibida de los usuarios interferentes 2dB por encima de
la relacin seal a ruido promedio recibida del usuario de inters. Los resultados
verifican lo esperado, entre mayor sea la varianza del error de estimacin 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 estimacin de los
coeficientes de desvanecimiento del canal

4.3.3

Anlisis de la resistencia cerca lejos del receptor rastrillo en el caso de error en


la sincronizacin de la seal firma y estimacin perfecta de los coeficientes de
desvanecimiento del canal.

Figura 4-12 Probabilidad de error de bit promedio. Receptor rastrillo con error en la sincronizacin de la
seal firma

86

Los resultados de la figura 4-12 se obtuvieron suponiendo ocho usuarios compartiendo


el canal con la relacin seal a ruido promedio recibida de los usuarios interferentes
2dB por encima de la relacin seal a ruido promedio recibida del usuario de inters. La
figura 4-12 muestra, de acuerdo a lo esperado, que el desempeo del receptor rastrillo se
afecta cuando hay error en la sincronizacin de la seal firma y que entre mayor sea este
error la resistencia cerca lejos es menor.

87

5.

CONCLUSIONES

Se hizo un anlisis detallado del receptor rastrillo indicando cules son las
condiciones de transmisor y canal para las cuales est diseado.

Se propuso una ecuacin para la probabilidad de error de bit del receptor


rastrillo para cada uno de los siguientes tres casos:

a. Receptor rastrillo con estimacin perfecta de los coeficientes de


desvanecimiento del canal y sincronizacin perfecta de la seal firma
b. Receptor rastrillo con error en la estimacin de los coeficientes de
desvanecimiento del canal suponiendo sincronizacin perfecta de la seal firma.
c. Receptor rastrillo con error en la sincronizacin de la seal firma suponiendo
estimacin perfecta de los coeficientes de desvanecimiento del canal.

Se realizaron simulaciones para cada uno de los tres casos anteriores.

Para realizar clculos con las ecuaciones propuestas se aproxim el parmetro


L2ck a 1/127, esta aproximacin es vlida slo para el conjunto de seales firma
escogidas.

Se concluye que las ecuaciones propuestas para la probabilidad de error de bit


son una buena aproximacin a la probabilidad de error de bit del receptor
rastrillo y su validez y la validez de la estimacin del parmetro 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 aproximacin del parmetro L2ck el cual va a


variar dependiendo del tipo de seales firma que se utilicen.

La ecuacin propuesta para el caso c se obtuvo suponiendo constante, que


equivale a un xx() constante, es decir un error de sincronizacin constante.
Como en realidad es una variable aleatoria, que se model como una variable
aleatoria Gaussiana de media cero, se propuso una ecuacin que permite utilizar
la ecuacin 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 ecuacin
no se compar con simulaciones porque stas resultan demasiado largas ya que
para obtener resultados confiables es necesario enviar un gran nmero de bits.

Las ecuaciones propuestas para la probabilidad de error de bit del receptor


rastrillo en el caso en que hay error en la estimacin de los coeficientes de
desvanecimiento del canal y en el caso en que hay error en la sincronizacin de
la seal firma se obtuvieron modelando los errores de estimacin 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 vlidas. 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


funcin 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 estimacin de los coeficientes
de desvanecimiento del canal se obtuvo que para una varianza del error de
estimacin, 2A, igual a 0.1 y una relacin seal 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 estimacin perfecta. Para una
varianza de 0.01 y relacin seal a ruido promedio de 16dB el aumento es de
aproximadamente 1.5 veces. Para el caso en que slo hay error en la
sincronizacin de la seal firma se obtuvo que para un valor de la funcin ()
igual a 0.5 y una relacin seal 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 estimacin perfecta y para un valor de
xx() igual a 0.8 y relacin seala ruido promedio de 16dB, la probabilidad de
error de bit aumenta el doble. De acuerdo con esto y como para 16dB las
grficas ya estn cerca de su punto de estabilizacin, si se quiere que debido al
error de estimacin en los coeficientes de desvanecimiento del canal la
probabilidad de error de bit no se aumente ms de diez veces, la varianza del
error en la estimacin se debe mantener por debajo de 0.1 y si se quiere que la
probabilidad de error no se aumente ms 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 sincronizacin la probabilidad de error de bit no se aumente ms del doble,
xx() debe mantenerse por encima de 0.8.

Los resultados obtenidos para el caso de estimacin perfecta de los coeficientes


de desvanecimiento del canal y sincronizacin perfecta de la seal 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


artculo de Kumar y Panicker N =31. Con la comparacin se confirm que tal y
como se obtuvo con la ecuacin propuesta y con las simulaciones realizadas, que
para alta relacin seal 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 nmero de usuarios compartiendo el canal y la correlacin entre sus
seales firma.

Los resultados obtenidos para el caso de error en la estimacin de los


coeficientes de desvanecimiento del canal y sincronizacin perfecta de la seal
firma se compararon con los obtenidos por Kumar y Panicker. La comparacin
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
ecuacin 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 estimacin perfecta de los coeficientes de desvanecimiento del canal
y sincronizacin perfecta de la seal firma y para el caso de error en la
estimacin de los coeficientes de desvanecimiento del canal y sincronizacin
perfecta de la seal firma, siendo ms sencillas que la ecuacin propuesta por
Kumar y Panicker, sirven para realizar anlisis similares. La desventaja de las
ecuaciones propuestas es que slo 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 relacin seal a ruido promedio
efectiva es de 4dB, para el caso en que la varianza del error de estimacin de los
coeficientes de desvanecimiento del canal, 2A, 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 sincronizacin de la
seal firma, para una probabilidad de error de bit de 0.01, cuando no hay error
(xx()=1) la relacin seal a ruido promedio efectiva es de 4dB y cuando
xx() es igual a 0.8 la relacin seal a ruido promedio efectiva aumenta a 6dB.
El aumento de la relacin seal a ruido promedio efectiva al aumentar los
errores de estimacin confirma que aunque no haya usuarios interferentes el
desempeo del receptor rastrillo se afecta considerablemente debido los errores
de estimacin de los parmetros del canal.

Para una relacin seal a ruido promedio de 16dB si la seal de los usuarios
interferentes est llegando al receptor con una relacin seal a ruido promedio
de 6dB por encima de la potencia del usuario de inters, la probabilidad de error
de bit se aumenta aproximadamente 10 veces. Este aumento no es tan crtico si
se tiene en cuenta que este sera 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 estimacin de los coeficientes
de desvanecimiento del canal y si se aumenta el error en la sincronizacin de la
seal firma. Todos stos resultados resaltan la necesidad de un buen control de
potencia y la necesidad de utilizar seales firma de baja correlacin para que el
efecto de usuarios interferentes se disminuya.

92

Las seales 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
correlacin (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 slo un usuario presente en el canal y una relacin seala ruido
promedio de 10dB la probabilidad de error de bit es mucho menor,
aproximadamente 3x10-4 y es una funcin 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
correlacin sta no es lo suficientemente baja como para que sean utilizadas
como secuencias que determinan la seal firma de los usuarios que comparten el
canal. Tambin se concluye que un parmetro crtico al disear un sistema de
comunicaciones inalmbricas basado en CDMA-DSSS es el tipo de seales
firma que se escojan.

Aunque el receptor ptimo no implementa un esquema de recepcin basado en


la diversidad su desempeo no se afecta debido a la presencia de varios usuarios
en el canal. Esta caracterstica 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 difcil implementacin.

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 podran utilizar los resultados presentados para evaluar la calidad de los
estimadores.

Evaluar la probabilidad de error de bit del receptor rastrillo escogiendo seales


firma que no estn basadas en secuencias Gold, por ejemplo, seales firma
basadas en las funciones Walsh.

Analizar el desempeo 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 estn diseados y que tcnica de combinacin utilizan ya
que stos dos receptores no estn basados en la tcnica de combinacin de tasa
mxima sino que implementan otras tcnicas ms especficas que han sido
propuestas por cada uno de los respectivos autores.

94

6.

BIBLIOGRAFA

APSTOL, T.M. Introduccin a la teora analtica de nmeros. 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.

DAMOURS, 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 lnea


en: http://www.dspguru.com/howto/tech/wgn2.htm (Acceso Julio de 2004).

FELSTRM..A; JIMNEZ, 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.

LEN-GARCA, 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 lnea 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 lnea 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

lnea

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 lnea en:


http://mathworld.wolfram.com/RayleighDistribution.html (Acceso Julio de 2004)

WEISSTEIN, E.W. Normal Distribution. Mathworld. Consulta en lnea en:


http://mathworld.wolfram.com/NormalDistribution.html. (Acceso Julio de 2004)

98

7.

7.1

ANEXO 1. ALGUNOS CONCEPTOS DE PROBABILIDAD

Variable aleatoria con distribucin Gaussiana

Una variable aleatoria X tiene una distribucin Gaussiana o Normal si su funcin de


densidad de probabilidad es de la forma
f X ( x) =

1
2 X

( x m X )2
para todo x real
exp
2

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
funcin de densidad de probabilidad de la variable aleatoria Gaussiana X en el caso en
que mX =0.

Figura 7-1 Funcin 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 transformacin lineal


de la forma Y=aX + b, en donde a y b son constantes reales, la distribucin de la nueva
variable aleatoria Y tambin es Gaussiana6 y Y~N(b+ mX, (aX)2).

La suma de dos variables aleatorias Gaussianas independientes es tambin una variable


aleatoria Gaussiana. Dicho en trminos un poco ms formales, si X y Y son variables
aleatorias independientes y su distribucin est dada respectivamente por X~N(mX,2X)
y Y~(mY,2Y), entonces la variable aleatoria C:

C=X+Y tiene una distribucin

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
caractersticas8:
mZ = E[Z] = E[X] + jE[Y] = mX +jmY
y
2Z = VAR[Z] = ( 2X+ 2Y)

La funcin de densidad de probabilidad de Z est dada por la funcin de densidad de


probabilidad conjunta de X y Y:

f Z ( z ) = f X ,Y ({z}, {z})
6

La demostracin se encuentra en el libro Probability and Random Processes with Applications to Signal
Processing de H. Stark y J.W. Woods
7
La demostracin se encuentra en el libro Probability and Random Processes for Electrical Engineering
de Len- Garca.
8
Resultados tomados de la pgina 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 )

2 X

( y mY )2
( x m X )2
1

exp
2
2 exp 2 2 Y

2
X

Ahora, suponiendo que 2X = 2Y = Z2:


f Z ( z) =

7.3

1
2 2 Z

Z mZ
exp

2 2 Z

Distribucin 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 funcin de distribucin Rayleigh :
f R (r ) =

r2

;
exp
2
2
2
r2

r0

con E[|Z|] = 1.2533, VAR[|Z|] = 22 y la notacin es Z~R(1.2533 , 22). La figura 1-14 da una idea de la forma de la funcin de densidad de probabilidad para este caso:

Figura 7-2 Funcin de densidad de probabilidad de una variable aleatoria con distribucin 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 sern utilizadas. Estas
propiedades fueron tomadas del libro de S. Verd y all mismo estn demostradas:

Suponiendo que n(t) es ruido blanco Gaussiano aditivo con densidad


espectral

de

potencia

unitaria,

teniendo

en

cuenta

que

a, b = a (t )b(t )dt , y dado que h(t) y g(t) son seales determinsticas de


0

energa 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 funcin erf corresponde a la siguiente definicin:


erf ( x) =

t 2

dt

La funcin Q corresponde a la siguiente definicin:

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 funcin 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 dimensin L con componentes


independientes cada una con varianza igual a E[|Xi|2] = 22 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

2 1 + 2

1 3 5 (2n 1)
1 +

2
n
n
n =1 n!2 ( 1)

Seales continuas en tiempo en ruido blanco Gaussiano aditivo

Para el caso en que se tienen seales continuas afectadas por ruido blanco Gaussiano
aditivo las siguientes regiones de decisin minimizan la probabilidad de error de bit10:

Sean x1,..,xm funciones determinsticas de energa finita definidas en un


intervalo I de la lnea real. Sea n(t) ruido blanco Gaussiano aditivo con
densidad espectral de potencia igual a uno. Considerando las m hiptesis
equiprobables:
H1 : y(t) = x1(t) + n(t), t I
.
.
.

Hm : y(t) = xm(t) + n(t), t I

Esta propiedad se encuentra en el libro Multiuser Detection de S. Verd


Esta es una proposicin explicada con ms detalle en libro Multiuser Detection de S. Verd

10

103

Las siguientes regiones de decisin 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

104

8.

ANEXO 2. COMBINACIN DE TASA MXIMA, REGLA DE DECISIN


PTIMA EN EL CONTEXTO DE DIVERSIDAD Y UN USUARIO
PRESENTE EN EL CANAL

En esta seccin se hace un desarrollo para llegar al mismo resultado de Verd con el
cual el autor justifica la tcnica de combinacin de tasa mxima como el mtodo con el
cual se implementa la regla de decisin ptima en el contexto de diversidad y un usuario
presente en el canal.

En el caso en que hay slo un usuario (usuario x) en el canal, la seal 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 observacin a un intervalo de tiempo t [0,Tb] en el que se recibe un bit


del usuario x:

105

Y (t ) = Acx Ebx bx s x (t cx ) + nc (t )
c =1

Hay dos hiptesis, la primera es que se enve un 1 y la segunda es que se enve 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 hiptesis 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) tambin 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 mximo:

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 mximo:

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 mximo es la parte real y la parte imaginaria conjuntamente, esto equivale a
hacer mximo:
1

f [{Y (t ), t [0, Tb]} | bx ] = exp


2
2

Tb C

Y
0

c =1

Ec

(t ) Acx Ebx bx s x (t cx ) dt ,

(8-1)

en dnde YEc(t) = YEcR(t) + j YEcI(t). Hacer mximo (8-1) equivale a minimizar:


Tb C

Y
0 c =1

Ec

(t ) Acx Ebx bx s x (t cx ) dt ,

lo cual termina siendo un caso minimizacin de distancia. Como sx(t) es real,


Tb C

C Tb

YEc (t ) Acx Ebx bx s x (t cx ) dt = YEc (t ) dt + Acx Ebx bx s x (t cx ) dt


0 c =1

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 decisin ptima para estimar el bit transmitido bx es:


Tb
C

bx = sgn Acx YEc (t ) s x (t cx )dt

c =1
0

Con la correlacin entre YEc(t) y sx(t-cx) se separa la seal proveniente del camino c de
las seales provenientes de los dems caminos. La regla de decisin ptima dice que
hay que multiplicar el resultado de esta correlacin por el complejo conjugado del
coeficiente de desvanecimiento del canal que afecta el camino c. Esto es igual a lo que
se haba dicho en la seccin 2.3.1 para la tcnica de combinacin de tasa mxima por lo
tanto, la regla de decisin ptima corresponde a esta tcnica.

107

9.

9.1

ANEXO 2. CDIGO DE LAS FUNCIONES IMPLEMENTADAS EN C++

FUNCIN 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 seal firma del usuario x*/
:
Vector que contiene los bits de informacin que
:

transmitir el usuario x */
Vector que contiene la seal transmitida de

modelo propuesto*/
Vector que contiene la secuencia Gold a partir de
se gener la seal firma del usuario x*/

void transmisorg(int corr, int periodo, double *senalinfo,


double tx[], double gold[])
{
/*Genera la seal transmitida por el usuario x multiplicando una Gold
sequence de periodo 127 bits por cada uno de los bits de la seal de
informacin*/
/*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;
}
/*generacin 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

FUNCIN 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 informacin transmitidos por el usuario
x
(entrada)*/
/*numusuariosint:
Numero de usuarios interferentes
(entrada)*/
/*Ebinterferentes:
Energa 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 seal del usuario 1 en los caminos 1, 2 y 3 respectivamente


Se defini que para los usuarios interferentes el

numero de
caminos es tambin 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 nmero 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 seal transmitida por el

Matriz-numbitsinfox3. Contiene la parte real de los


desvanecimiento del canal que afectan a cada uno

seal transmitida por el usuario 1 (X1)*/


Matriz-numbitsinfox3.
Contiene
la
parte
coeficientes de desvanecimiento del canal que afectan a

de los bits de la seal 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 tamao 3x(numbitsinfoX127)
Cada fila contiene la contribucin de los usuarios interferentes en el camino
correspondiente. Es decir la fila 1 contiene la suma de la seal 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 funcin aade a la seal transmitida por el usuario 1 el desvanecimiento
Rayleigh
y el efecto multicamino, y adems le suma la seal de los usuarios interferentes
y el ruido
Gaussiano aditivo/
/*Al sumar las seales de los usuarios interferentes se tiene en cuenta, como se
dijo anteriormente, que para todos la seal 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 nmero de usuarios interferentes y su nmero 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 inters) 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 funcin 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

FUNCIN 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 informacin 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 funcin implementa las etapas 1 y 2 : Lnea de retardo y correlatores en el
caso
en que no hay error de sincronizacin de la seal 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);
}
FUNCIN 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
seal 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 seal transmitida por el usuario 1 (X1) */
/*numbits : numero de bits de informacin 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 despus sumar
las seales 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 decisin, reemplaza la funcin 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

FUNCIN 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 sincronizacin 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
seal 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 seal transmitida por el usuario 1 (X1) */
/*numbits : numero de bits de informacin 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

FUNCIN 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

seal 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 seal transmitida por el usuario 1 (X1) */
/*sigdelA:desviacion estndar del error en la estimacin de los coeficientes de
desvanecimiento
(entrada) del canal*/
/*numbits : numero de bits de informacin 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 despus sumar
las seales de las ramas :MRC (Maximal Ratio Combinning)*/
/*En este caso el complejo conjugado de los coeficientes de desvanecimiento
incluye el error en la estimacin*/
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 decisin, reemplaza la funcin 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
desviacin estndar 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

You might also like