SIMULADOR DE UN SISTEMA DE COMUNICACIONES W...

107
UNIVERSIDAD DE SEVILLA ESCUELA SUPERIOR DE INGENIEROS DEPARTAMENTO DE INGENIERÍA ELECTRÓNICA Área de Teoría de la Señal y Comunicaciones SIMULADOR DE UN SISTEMA DE COMUNICACIONES W-CDMA DE UMTS PROYECTO FIN DE CARRERA AUTOR: José Luis Benítez Jiménez TUTOR: Carlos Crespo Cadenas Diciembre de 2004

Transcript of SIMULADOR DE UN SISTEMA DE COMUNICACIONES W...

Page 1: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

UNIVERSIDAD DE SEVILLA

ESCUELA SUPERIOR DE INGENIEROS

DEPARTAMENTO DE INGENIERÍA ELECTRÓNICA Área de Teoría de la Señal y Comunicaciones

SIMULADOR DE UN SISTEMA DE COMUNICACIONES W-CDMA

DE UMTS

PROYECTO FIN DE CARRERA

AUTOR: José Luis Benítez Jiménez TUTOR: Carlos Crespo Cadenas

Diciembre de 2004

Page 2: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

UNIVERSIDAD DE SEVILLA ESCUELA SUPERIOR DE INGENIEROS

DEPARTAMENTO DE INGENIERÍA ELECTRÓNICA

Área de Teoría de la Señal y Comunicaciones

Título Simulador de un sistema de comunicaciones W-CDMA de UMTS

Autor José Luis Benítez Jiménez

Tutor Carlos Crespo Cadenas

Presidente

Secretario Miembros del tribunal calificador

Vocal

Calificación

Page 3: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Me gustaría dar las gracias de corazón a todos los que han hecho posible que después de varios años de trabajo y sacrificio, el esfuerzo realizado merezca la pena y haya sido capaz de alcanzar la meta que me fijé cuando decidí que quería ser Ingeniero de Telecomunicaciones. A mi madre. A mi padre. A mi novia. A mi hermana. A mi abuelo y abuela. A mis amigos. A mis compañeros de la escuela. A mis profesores, especialmente a mi tutor del proyecto, Carlos Crespo. A Dios. Quiero agradecerles todo lo que han hecho por mí durante estos años de vida universitaria, y dedicarles con todo mi cariño este trabajo. Sin embargo, me gustaría dedicar especialmente este proyecto fin de carrera a un amigo. Para ti, Ángel.

Page 4: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Índice

Simulador de un sistema de comunicaciones W-CDMA de UMTS

ÍNDICE I. CAPÍTULO 1 INTRODUCCIÓN I.1. OBJETIVOS………………………………………………………………………I.1 I.2. ORGANIZACIÓN DE LA MEMORIA…………………………………………..I.2 II. CAPÍTULO 2 SISTEMAS W-CDMA II.1. INTRODUCCIÓN………………………………………………………….……II.1 II.2. MODULACIÓN QPSK…………………………………………...……….……II.2

II.2.1. Demodulación digital. Receptor óptimo……………........….....……II.4 II.2.2. Probabilidad de error……………..…………………….......…………II.6

II.3. ACCESO MÚLTIPLE POR DIVISIÓN DE CÓDIGO……….….…………...II.9 II.3.1.Expansión espectral por secuencia directa……...….……...…….…II.9 II.3.2.Códigos de expansión…………...………..……….………...………II.11 II.3.3.Códigos Walsh……………….……………..………………...………II.11 II.3.4.Códigos PN………….……..…………….....………………...………II.13 II.3.5.Secuencias de Gold………………..………………...………….……II.20 II.3.6.Secuencias de Kasami……………..………………...………………II.22

II.4. CANAL DE COMUNICACIONES MÓVILES……….……..………..……...II.24 II.4.1. Caracterización de un canal con propagación multitrayecto .......II.24 II.4.2. Respuesta impulsional variante del canal móvil…….......………..II.26 II.4.3. Caracterización del canal en banda estrecha...………....………..II.28 II.4.4. Caracterización del canal en banda ancha……...……....………..II.30

II.5. RECEPTOR RAKE…………………………………………..……..………...II.32 II.5.1. Estructura del receptor………………………………..………..……II.32 II.5.2. Probabilidad de error…………………………………………………II.34 II.5.3. Consideraciones prácticas………………………………..…………II.37

III. CAPÍTULO 3 SIMULADOR EN MATLAB III.1. INTRODUCCIÓN…………………….……………………………………….III.1 III.2. MENÚ PRINCIPAL………….………………………….…………………….III.2 III.3. TRANSMISOR………………………….………………………………..……III.4

III.3.1. Ensanchado W-CDMA………………..………………………..……III.4 III.3.2. Pulso de transmisión...………………………………………....……III.6 III.3.3. Señal transmitida…….…………………………………..……..……III.8

III.4. CANAL……….…………………………………………...………...…..……III.14 III.4.1. Ruido……………………………………..……………………..……III.15 III.4.2. Multitrayecto…………………………………………..…………..…III.16

III.5. RECEPTOR.…………………………………………………...……..…..…III.18 III.5.1. Ajustes del receptor………………..………………………..…...…III.19 III.5.2. Señal recibida…………………………………...……………..……III.22 III.5.3. Comparación Tx-Rx…………………………….……………..……III.23

Page 5: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Índice

Simulador de un sistema de comunicaciones W-CDMA de UMTS

III.6. CASOS PRÁCTICOS………………….……………………...……..…..…III.27

III.6.1. Código Walsh / Canal AWGN / Filtro Adaptado…..…............…III.27 III.6.2. Código Gold / Canal Multitrayecto / Filtro Adaptado……..…..…III.30 III.6.3. Código Aleatorio / Canal Multitrayecto / Receptor Rake..……...III.33

IV. CAPÍTULO 4 CONCLUSIONES Y LÍNEAS FUTURAS IV.1. CONCLUSIONES………………………………….……………….………..IV.1 IV.2. LÍNEAS FUTURAS DE INVESTIGACIÓN………………………………...IV.2 V. ANEXO FUNCIONES DISEÑADAS V.1. FIGURAS O GUIS….………….…………………….…………………..Anexo-1 V.2. FUNCIONES………….………………………………………………….Anexo-2 VII. BIBLIOGRAFÍA Y REFERENCIAS

Page 6: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Introducción I-1

Simulador de un sistema de comunicaciones W-CDMA de UMTS

Capítulo I Introducción I.1. OBJETIVOS Los sistemas CDMA (Acceso Múltiple por División de Código) son muy importantes actualmente en el panorama mundial de las comunicaciones móviles. La nueva tecnología de tercera generación UMTS, implantada ya hace algún tiempo en algunos lugares del mundo como Japón, está tratando de abrirse camino en mercado europeo, incluyendo por supuesto España, donde las principales compañías están en fase de despliegue de red e implantación de servicios. Esta tecnología de transmisión está basada en señales W-CDMA, lo cual da una primera idea de la actualidad de este proyecto. Desde el punto de vista más físico de la transmisión, resulta evidente que su finalidad reside en que la señal que llega al receptor sea exactamente la misma que se le envía desde un emisor dado. La señal transmitida, en su tránsito por el canal, experimenta una atenuación y un retardo temporal, además de ser afectada por el ruido y por el efecto multitrayecto que caracteriza el canal de las comunicaciones móviles. Esta degradación de la señal al pasar por el canal, puede provocar que el detector no estime correctamente el símbolo transmitido, produciéndose un error en recepción. La probabilidad de error indica el porcentaje de símbolos que no se detectan correctamente cuando se realiza una comunicación entre un origen y un destino a través de un canal determinado. Esta probabilidad depende de la señal emitida, de la potencia con la que se transmite ésta y de las características del canal, así como del tipo de receptor empleado para la demodulación.

El objetivo principal de este proyecto es el de proporcionar una plataforma que permita simular la transmisión de una señal W-CDMA según las diversas opciones en cuanto a códigos de ensanchado y pulsos de conformación que existen hoy en día, su degradación a su paso por el canal en función de las condiciones establecidas, y su demodulación y detección en la estructura receptora seleccionada.

La idea fundamental consiste en aportar un simulador completo pero a la

vez sencillo de manejar que haga posible realizar simulaciones con señales y sistemas CDMA, sin necesidad de conocimientos previos de ningún lenguaje de programación, de modo que se puedan configurar los parámetros, visualizar las señales en cada punto, medir los errores producidos en la comunicación, y almacenar los resultados para su posterior análisis de manera intuitiva.

Page 7: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Introducción I-2

Simulador de un sistema de comunicaciones W-CDMA de UMTS

I.2. ORGANIZACIÓN DE LA MEMORIA La memoria se ha estructurado en cuatro capítulos, estando destinado este primero a la explicación al lector de la actualidad de este proyecto fin de carrera, así como de su necesidad y objetivos. El segundo capítulo se centra en describir con un alto nivel de detalle la tecnología sobre la cual se apoya el simulador. Comienza con la generación de la señal W-CDMA en el transmisor, comentando las distintas posibilidades de ensanchado que existen. A continuación se exponen las principales características del canal de comunicaciones móviles, y por último se desarrolla el proceso de recepción, demodulación, y probabilidad de error. En el capítulo III se describe con profundidad el trabajo realizado en el diseño del simulador, separando cada una de las partes del sistema, y poniendo después una serie de casos prácticos de comunicaciones completas, con sus correspondientes resultados. Por último, en el capítulo IV se enumeran las conclusiones a las que se ha llegado tras la realización del proyecto, indicando futuras líneas de investigación que servirían de expansión de este trabajo, y la bibliografía empleada durante su elaboración. Se adjunta al final de la memoria un anexo que contiene las funciones programadas y las interfaces diseñadas para el funcionamiento de la aplicación.

Page 8: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Sistemas W-CDMA II-1

Simulador de un sistema de comunicaciones W-CDMA de UMTS

Capítulo II Sistemas W-CDMA II.1. INTRODUCCIÓN

En comunicaciones móviles son necesarias técnicas de multiacceso para la compartición de los escasos recursos de la interfaz radio por parte de un conjunto de usuarios. Hay tres métodos básicos de multiacceso: FDMA (acceso múltiple por división en frecuencia), TDMA (acceso múltiple por división en el tiempo) y CDMA (acceso múltiple por división de código).

En FDMA la separación de las comunicaciones simultáneas se consigue asignando una frecuencia de portadora diferente a cada una de ellas. En TDMA dicha separación se logra asignando intervalos de tiempo distintos a cada una de las comunicaciones que utilizan una frecuencia común.

La tecnología de multiacceso CDMA (Code Division Multiple Access), se basa en un presupuesto totalmente diferente a los expuestos anteriormente. Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia de portadora y simultáneamente. En consecuencia, se genera una interferencia mutua, por lo que deben establecerse mecanismos para poder extraer cada comunicación individual del conjunto de señales interferentes. Ello se realiza mediante la asignación a cada comunicación de un código único que se combina con la información transmitida. De aquí el nombre de esta técnica: división de código.

Existen cuatro variantes de CDMA, en función de cómo se combinan datos y código. La utilizada en comunicaciones móviles es la DS-CDMA (Direct Sequence CDMA), en la que la señal de información se multiplica por el código de expansión. Esta modalidad constituye la base de los métodos de acceso W-CDMA.

Page 9: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Sistemas W-CDMA II-2

Simulador de un sistema de comunicaciones W-CDMA de UMTS

( ) ( ) cos 2 (2 1)4i cs t p t f t iππ⎛ ⎞= + −⎜ ⎟

⎝ ⎠1 40

it T

≤ ≤≤ ≤

( ) ( )( ) ( ) cos 2 cos (2 1) ( ) 2 (2 1)4 4i c cs t p t f t i p t sen f t sen iπ ππ π⎛ ⎞ ⎛ ⎞= − − −⎜ ⎟ ⎜ ⎟

⎝ ⎠ ⎝ ⎠

2 2

0 0

1 1( ) ( )2 2

T T

i i pE s t dt p t dt E= = =∫ ∫

1 1 2 2( ) ( ) ( )i i is t s f t s f t= +

11( ) ( ) cos(2 )cf t p t f tE

π=

21( ) ( ) (2 )cf t p t sen f tE

π= −

II.2. MODULACIÓN QPSK

En este tipo de modulación la información digital se transmite por un

canal pasobanda en forma de símbolos constituidos por un par de bits. Es la modulación utilizada en W-CDMA. La formas de onda si(t), empleadas son:

donde p(t) describe la forma de pulso básico de modulación y fc es la frecuencia de la portadora.

Como se ve el conjunto de formas de onda si(t) presentan iguales amplitudes y frecuencias, y fases que varían de forma discreta, con cuatro estados de fase que se pondrán en correspondencia con los cuatro símbolos.

Desarrollando la ecuación anterior, resulta:

Se observa que estas funciones tienen la misma energía, que es la mitad de la energía Ep del pulso básico.

De las dos ecuaciones anteriores se desprende inmediatamente el siguiente desarrollo en serie y las funciones ortonormales:

Page 10: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Sistemas W-CDMA II-3

Simulador de un sistema de comunicaciones W-CDMA de UMTS

1 cos (2 1)4is E iπ⎛ ⎞= −⎜ ⎟

⎝ ⎠

2 (2 1)4is Esen iπ⎛ ⎞= −⎜ ⎟

⎝ ⎠

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

El vector genérico ( )1 2i is s s= tiene como componentes:

En la figura 2.1 se representa la constelación de la modulación. Cada punto de la constelación define un vector de señal. La correspondencia entre símbolos y par de bits se establece de manera que el tránsito de un punto a otro contiguo en la constelación suponga la variación de un único bit (código Gray). De esta manera se minimiza la BER (probabilidad de error de bit cuando hay algún error de símbolo en la transmisión).

Figura 2.1

La modulación QPSK puede verse como dos modulaciones binarias

(BPSK) en paralelo sobre dos portadoras cos(2πfct) y sen(2πfct). Esta última equivale a la primera desfasada 90º (en cuadratura), por lo que a las portadoras se les llama portadora en fase (cos) y cuadratura (sen).

Por tanto puede construirse un modulador QPSK, como se muestra en la

2.2, empleando dos moduladores BPSK con portadoras en cuadratura.

Page 11: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Sistemas W-CDMA II-4

Simulador de un sistema de comunicaciones W-CDMA de UMTS

Figura 2.2

II.2.1. Demodulación digital. Receptor óptimo

En este apartado se estudia la demodulación óptima de una señal QPSK en presencia de ruido térmico gaussiano. En el análisis de la recepción se consideran unas condiciones ideales, que se cumplen con cierta aproximación en CDMA, como son:

• Recepción perfectamente coherente. El receptor puede estimar el

retardo y la fase de la portadora. • Ausencia de desvanecimiento selectivo. La atenuación es plana,

afectando por igual a todo el espectro de la señal, por lo que se convierte en un simple factor de escala del que se puede prescindir.

• La única perturbación que acompaña a la señal recibida es un ruido

térmico, blanco, gaussiano. En CDMA la perturbación es ruido térmico real más interferencia multiusuario que se asemeja a ruido gaussiano.

Si se transmite la forma de onda si(t) correspondiente al símbolo Si, se recibirá, en general, una señal r(t), tal que:

r(t) = si(t) + n(t)

Page 12: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Sistemas W-CDMA II-5

Simulador de un sistema de comunicaciones W-CDMA de UMTS

2

1( ) ( )j j

jr t r f t

=

=∑

0

( ) ( )T

j j ij jr r t f t dt s n= = +∫

El receptor, analizando r(t) en el periodo de símbolo, debe decidir la forma de onda que se transmitió de entre las cuatro posibles. En esta decisión puede cometer un error en el momento en que decida que se ha transmitido sj(t) en lugar de la señal correcta si(t).

Las partes que componen el receptor son el demodulador y el detector. En la figura 2.3 se muestra el esquema del demodulador de correlación. Para cada una de las dos funciones base se define una rama del demodulador con un correlador.

Figura 2.3

La señal que llega al demodulador r(t), se desarrolla del siguiente modo:

donde rj es el símbolo a la salida del correlador, que es la suma del símbolo transmitido más una componente de ruido que introduce el canal.

Estos símbolos pasan al detector, que es el que debe estimar qué símbolo es el que se ha transmitido. Para ello sigue el criterio de máxima verosimilitud, que consiste en comparar el símbolo recibido con los cuatro posibles símbolos transmitidos y estimar que el símbolo que se transmitió es aquel que guarda mayor similitud con el que se recibió.

Esto tiene una interesante interpretación métrica. Considerando que las

componentes de los vectores is representativos de la constelación de señales son las coordenadas de un punto del espacio N-dimensional y que las componentes del vector r son las coordenadas de otro punto de dicho espacio, la regla de decisión consiste en asignar al punto "recibido" el punto "transmitido" más próximo. Por ello a esta regla también se le llama regla de distancia mínima.

Page 13: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Sistemas W-CDMA II-6

Simulador de un sistema de comunicaciones W-CDMA de UMTS

( )11 2r tg r rφ −=

( 1)2 2

i iπ πθ− ≤ ≤ is

( )2

( 1)2

1i

e r r

i

P p d

π

π−

= − Φ Φ∫

2 2122 4 2e

o o o o

E E E EP Q Q erfc erfcN N N N

⎛ ⎞ ⎛ ⎞ ⎛ ⎞ ⎛ ⎞= − = −⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟

⎝ ⎠ ⎝ ⎠ ⎝ ⎠ ⎝ ⎠

2 22 2 124

b b b be

o o o o

E E E EP Q Q erfc erfcN N N N

⎛ ⎞ ⎛ ⎞ ⎛ ⎞ ⎛ ⎞= − = −⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟

⎝ ⎠ ⎝ ⎠ ⎝ ⎠ ⎝ ⎠

[ ]1 2 r r r=

II.2.2. Probabilidad de error

La probabilidad de error indica el porcentaje de símbolos que no se detectan correctamente cuando se realiza una comunicación entre un origen y un destino a través de un canal determinado. Esta probabilidad depende de la señal emitida, de la potencia con la que se transmite ésta y de las características del canal (nivel de ruido).

En las modulaciones digitales convencionales, las formas de onda son

sinusoidales. Como es sabido, con la modulación se hace corresponder un símbolo con algún parámetro de la sinusoide: amplitud, frecuencia o fase. La modulación en amplitud no es adecuada para la transmisión a través de los canales de radio móviles por resultar muy afectada por el desvanecimiento multitrayecto. La modulación digital de frecuencia, es interesante por sus buenas propiedades de relación señal a ruido, pero tiene el inconveniente de que requiere una gran anchura de banda. La modulación de fase se presenta como la mejor candidata a la transmisión digital en radio móvil por su robustez frente a las perturbaciones, aunque requiere el uso de detectores coherentes.

En el caso de la modulación QPSK, el detector equivale a un detector de

fase que evalúa la fase del vector r a partir de la señal recibida y selecciona la señal representada por el vector is cuya fase es la más próxima a la de r . La fase de , es .

De este modo, se comete un error de decisión si el ruido hace que la fase

de r quede fuera del intervalo siendo el símbolo transmitido, luego la probabilidad de error será:

Resolviendo la integral se obtiene la expresión de la Pe para una modulación QPSK y resulta:

En un sistema QPSK se transmiten dos bits por símbolo, luego la energía

de símbolo será dos veces la energía de bit, es decir, E = 2Eb. Por tanto Pe resulta:

Page 14: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Sistemas W-CDMA II-7

Simulador de un sistema de comunicaciones W-CDMA de UMTS

0

be

EP erfcN

⎛ ⎞≅ ⎜ ⎟⎜ ⎟

⎝ ⎠

2 3 4 5 6 7 8 910-5

10-4

10-3

10-2

10-1

Relación Señal-Ruido Eb/No(dB)

Pro

babi

lidad

de

Erro

r de

sim

bolo

El segundo término es mucho menor que el primero, así que se puede

despreciar, y de este modo la fórmula aproximada para la Pe resulta:

En la figura 2.4 se representa la probabilidad de error de símbolo para una señal QPSK en escala logarítmica.

Figura 2.4

La probabilidad de error de símbolo no es útil para comparar sistemas con distintos números de símbolos. Para ello, se usa la probabilidad de error de bit (BER).

Al usar código Gray, dos palabras binarias correspondientes a cualquier

par de símbolos adyacentes en el espacio de señal, difieren en un solo bit. Cuando la probabilidad de error de símbolo es aceptablemente pequeña,

al detectar erróneamente un símbolo, se interpretará como recibido uno de los símbolos adyacentes a él en el espacio de señal, de manera que habrá un solo bit en error.

Page 15: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Sistemas W-CDMA II-8

Simulador de un sistema de comunicaciones W-CDMA de UMTS

2 3 4 5 6 7 8 910-5

10-4

10-3

10-2

10-1

Relación Señal-Ruido Eb/No(dB)

Pro

babi

lidad

de

Erro

r

2 0

1log 4 2 2

e e bP P EBER erfcN

⎛ ⎞= = ≅ ⎜ ⎟⎜ ⎟

⎝ ⎠

Si se cumplen estos dos supuestos, la BER para una señal QPSK

resulta:

En la figura 2.5 se representa la probabilidad de error de bit (BER) para una señal QPSK en escala logarítmica.

Figura 2.5

Page 16: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Sistemas W-CDMA II-9

Simulador de un sistema de comunicaciones W-CDMA de UMTS

II.3. ACCESO MÚLTIPLE POR DIVISIÓN DE CÓDIGO II.3.1. Expansión espectral por secuencia directa

En W-CDMA la expansión espectral se realiza mediante la multiplicación directa de la señal de información y el código de expansión.

En la figura 2.6 se representa un diagrama de bloques simplificado de un transmisor W-CDMA. Las señales de información y de código se representan por d(t) y c(t) respectivamente. El código c(t) es una señal con una velocidad muy superior a la de d(t) para realizar su expansión. A los símbolos de c(t) se les llama chips para distinguirlos de los símbolos de d(t).

Figura 2.6

La señal banda base resultante de la multiplicación v(t), se aplica a un modulador QPSK, a cuya salida se tiene la señal RF s(t).

La secuencia de datos, D[n], tiene una velocidad vb=1/Tb mientras que la

secuencia de chips de código, C[n], tiene una velocidad de vc=Nvb por lo que resulta Tc=Tb/N. El coeficiente N se denomina factor de expansión o factor de ensanchado. La señal banda base v(t), tendrá por tanto un pulso base de duración Tc=Tb/N.

La secuencia de chips de código, en la mayoría de los casos, es de tipo

pseudoaleatorio o pseudoruido, PN (pseudonoise), o una superposición de secuencias deterministas.

En la figura 2.7, se puede ver el efecto que produce sobre la señal de

datos el código de spreading. En primer lugar se observa la señal de datos d(t), a continuación el código de expansión c(t), y por último se representa la señal ensanchada DS-CDMA, v(t), producto de las dos anteriores.

Page 17: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Sistemas W-CDMA II-10

Simulador de un sistema de comunicaciones W-CDMA de UMTS

Figura 2.7 Como consecuencia de la multiplicación de los datos y el código de

expansión, se produce un ensanchamiento del ancho de banda de la señal banda base resultante. Si d(t) presentaba un ancho de banda B = 1/Tb, el de v(t) es W = 1/Tc = N/Tb, N veces mayor. Este efecto queda representado en la figura 2.8.

Puesto que la potencia de la señal es la misma que la de d(t), al

ensancharse el espectro, la densidad espectral de potencia se ha reducido en el factor N = Tb/Tc. A este valor N también se le llama ganancia de procesado y puede interpretarse como el factor por el cual se multiplica al ancho de banda y se reduce la densidad de potencia.

Figura 2.8 En recepción debe ejecutarse la operación inversa, esto es, eliminar el

ensanchamiento de la señal recibida para poder recuperar la señal original d(t). Para ello se multiplica esa señal por una réplica sincronizada del código de expansión ya que se cumple que el c2(t) = 1. De este modo la señal recibida es igual a la señal transmitida salvo un factor de escala. A continuación se demodula esta señal como en QPSK convencional.

Page 18: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Sistemas W-CDMA II-11

Simulador de un sistema de comunicaciones W-CDMA de UMTS

Figura 2.9 II.3.2. Códigos de expansión Como se explica en el apartado anterior, la señal de datos original se multiplica por un código de expansión. Estos códigos idealmente deben ser ortogonales para que la interferencia de multiacceso sea nula. Sin embargo, en la realidad la situación es diferente ya que la propagación multitrayecto y los errores de sincronización producen cierta interferencia. Además los códigos ortogonales no tienen buenas propiedades espectrales. Para reducir cierta interferencia residual y mejorar las características espectrales de la señal CDMA se utiliza una segunda codificación con códigos pseudoaleatorios no ortogonales, denominados códigos de scrambling.

Para la expansión espectral y multiacceso CDMA, se han propuesto distintas familias de códigos ortogonales, entre ellas los Códigos de Walsh o códigos de árbol (OVSF), utilizados en el estándar IS-95 y UMTS. Seguidamente se describen las familias de códigos que se han utilizado para generar la señal W-CDMA en este proyecto. II.3.3. Códigos Walsh

En 1923, J.L. Walsh definió un sistema ortogonal de funciones. Las secuencias de Walsh se obtienen a partir de las matrices Walsh-Hadamard, que son matrices cuadradas. Cada fila o columna de la matriz Walsh-Hadamard, es una secuencia de Walsh.

Page 19: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Sistemas W-CDMA II-12

Simulador de un sistema de comunicaciones W-CDMA de UMTS

1 1

1 1

m mm

m m

W WW

W W− −

− −

⎛ ⎞= ⎜ ⎟⎝ ⎠

2

1 11 1

W⎛ ⎞

=⎜ ⎟−⎝ ⎠( )1 1W =

( 0) 0xy lφ = =

( 0) 1xx lφ = =

Las matrices de Hadamard se generan de forma recurrente, como se indica seguidamente:

donde 1mW − , es la matriz opuesta a 1mW − , esto es, sus elementos tienen signo. Las matrices de orden 1 y 2 son:

se puede comprobar fácilmente que todas las filas (y todas las columnas) son mutuamente ortogonales.

Las principales propiedades de las secuencias de Walsh se enumeran a

continuación:

• Son secuencias binarias que toman valores {1,-1} • La longitud de las secuencias de Walsh es siempre potencia de 2 • Existen L secuencias diferentes de longitud L • Todas las secuencias comienzan en + 1 • Las secuencias de Walsh son mutuamente ortogonales, es decir, se

cumple que:

Estos códigos también se denominan códigos OVSF (Orthogonal Variable Spreading Factor), ya que son códigos de factor de expansión variable y por tanto de longitud variable. También se pueden definir mediante un árbol de códigos como se muestra en la figura 2.10. Se inicia la primera rama con el símbolo 1 y en cada bifurcación se constituye la rama superior repitiendo los símbolos de la rama de partida y la inferior repitiendo esos símbolos cambiados de signo.

A medida que se progresa en el árbol crece el número de ramas (en potencias de dos) y el número de chips por rama. Cada nivel de árbol de código define códigos de spreading de longitud igual al factor de expansión SF. Así por ejemplo para un SF=4, existirán cuatro códigos de expansión diferentes.

Page 20: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Sistemas W-CDMA II-13

Simulador de un sistema de comunicaciones W-CDMA de UMTS

Figura 2.10

II.3.4. Códigos PN

Como ya se ha indicado, en DS-CDMA, para solventar las limitaciones de los códigos de expansión ortogonales, se utilizan además de éstos, códigos pseudoaleatorios.

Idealmente tales códigos deberían ser aleatorios, con propiedades estadísticas similares a las del ruido blanco gaussiano, a fin de generar una señal ensanchada con espectro plano. En la práctica, obviamente, los códigos tienen que ser deterministas.

En consecuencia, hay que buscar familias de códigos digitales que tengan propiedades "cuasi" aleatorias, es decir que en cada código haya una distribución equilibrada de valores + 1 y -1, así como buenas características de autocorrelación y correlación cruzada, para favorecer la recepción de la señal deseada inmersa en la interferencia múltiple.

Las secuencias de código más utilizadas y que cumplen esos requisitos básicos son las denominadas secuencias pseudoaleatorias o de pseudoruido, secuencias PN, (PseudoNoise o PN-sequences). También se les llama secuencias de registro de desplazamiento, secuencias SR, (Shift Register o SR-sequences), en virtud del circuito físico utilizado para su generación.

Page 21: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Sistemas W-CDMA II-14

Simulador de un sistema de comunicaciones W-CDMA de UMTS

11 1 0( ) ... (0,1)n n

n n iP X a X a X a X a a−−= + + + + ∈

Estas secuencias tienen un periodo de repetición p, al que suele denominarse ‘longitud’ de la secuencia, por lo que, en ocasiones, se referirá a cualquiera de ellas con el término "secuencia de longitud p" o, abreviada mente, ‘secuencia- p’.

Las secuencias PN de periodo p, se generan en registros de desplazamiento, de tamaño n, con realimentaciones o "tomas" que se corresponden con los coeficientes binarios no nulos de un polinomio P(X), de grado n, perteneciente al cuerpo de Galois binario GF(2), de la forma:

Cada coeficiente ia no nulo representa una toma del registro efectuada a la salida de la etapa (j+1)-ésima del mismo (j = 0,...n-1). Los coeficientes 0a y

na son siempre iguales a 1. Las tomas se llevan a sumadores concatenados.

La salida del último sumador se lleva a la entrada del registro (coeficiente na =1). El orden del polinomio es igual al número de elementos del registro. Ejemplo: Sea el polinomio 5 4 3( ) 1 P X X X X X= + + + + .

En la figura 2.11 se muestra el registro correspondiente de 5 etapas con tomas en las salidas de las etapas 1, 2, 4 y 5 y los sumadores.

Figura 2.11

El registro se pone en una condición inicial, cargándolo con un vector binario. A partir de aquí, para cada desplazamiento, activado por una señal de reloj, se van obteniendo a la salida los chips de la secuencia.

Si el polinomio P(X) es primitivo en GF(2), la secuencia generada se llama de longitud máxima (‘maximal lenght’) y tiene un período de recurrencia o "longitud" p=2n-1.

Page 22: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Sistemas W-CDMA II-15

Simulador de un sistema de comunicaciones W-CDMA de UMTS

( ) (2 1) ( )i ip t c p t iT= − −

[ 4] [ 4] [ ]C n C n C n+ = + ⊕

En aplicaciones DS-CDMA, cada bit se expansiona mediante la aplicación de secuencias PN de p chips.

Los chips {0,1} de las secuencias se ponen en correspondencia con los números {-1,1}: 0 → -1 y 1 → 1, y la secuencia se maneja bien en forma numérica c[n] con n ∈ (-1, 1) según el convenio anterior, o en forma de un tren de impulsos bipolares:

donde p(t) es la forma del impulso básico, pi(t) el impulso bipolar correspondiente al chip ci y T el periodo de repetición de los chips.

Según el valor relativo del periodo en comparación con el número de chips por bit, se clasifican las secuencias como sigue:

• Secuencias de período corto: su período p es igual al número de chips por bit o un submúltiplo de este valor.

• Secuencias de período largo: su período p es mayor que el número de

chips por bit. En DS-CDMA suelen emplearse secuencias de periodo largo por ser su número muy elevado.

II.3.4.1. Propiedades de las secuencias PN

Las secuencias se generan en un registro de desplazamiento de n etapas, con tomas de realimentación que se corresponden con los coeficientes no nulos de un polinomio primitivo de grado n. El registro se inicializa con un vector binario n-dimensional. Variando este vector puede generarse cualquiera de los 2n-1 desplazamientos cíclicos de la secuencia.

El período de la secuencia es p=2n-1

La secuencia C[n] es suma (módulo 2) de versiones desplazadas de la misma según los coeficientes no nulos del polinomio generador.

Por ejemplo, si P(X) = X4 + X + 1, se tiene:

Page 23: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Sistemas W-CDMA II-16

Simulador de un sistema de comunicaciones W-CDMA de UMTS

1

1

1 2 2

1 2 2/ 2 grupos de chips iguales de tamaño k

n

n

k

p unos

p ceros

p

+=

+=

1

12 1( )n J

i

i i

PN pn P=

−−= ∏

255 3 1 5 1 17 1(15) 168 3 5 17

N − − −= ⋅ ⋅ ⋅ =

En un periodo p de la secuencia hay:

Como cada secuencia PN de longitud máxima se genera mediante un polinomio primitivo de grado n, el número de secuencias posibles es igual al número de polinomios de dicho grado, que viene dado por:

donde Pi (i = 1, ...J) representa la descomposición en factores primos de 2n-1. Eiemplo: para n = 8, p = 255 = 3 x 5 x 17

II.3.4.2. Características de Correlación de las secuencias PN

La correlación es una medida de la similitud. En consecuencia, para aplicaciones CDMA se han de utilizar familias de secuencias de código tales que toda secuencia de la familia tenga las siguientes propiedades:

Buena autocorrelación para facilitar la detección de la señal expandida con esa secuencia, y pequeña correlación con versiones desplazadas de si misma. Estas copias se generan a causa de la propagación multitrayecto. La baja correlación permitirá distinguir la secuencia de sus ecos, facilitando el aprovechamiento del multitrayecto mediante el receptor Rake.

Pequeña correlación cruzada con otras secuencias y sus versiones desplazadas, para facilitar la separabilidad de las señales interferentes.

Page 24: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Sistemas W-CDMA II-17

Simulador de un sistema de comunicaciones W-CDMA de UMTS

( ) ( ) ( )R f t g t dtτ τ∞

−∞

= −∫

1

0

( ) [ ] [ ]p

ABi

R k A i B i k−

=

= +∑

1

0

( ) [ ] [ ]p

Ai

R k A i A i k−

=

= +∑

( )( ) 1 ( 0)

A

A

R k pR k k

== − ≠

La función de correlación cruzada entre dos señales reales representadas por f(t) y g(t) se define como:

En el caso en que f = g se tiene la función de autocorrelación de f(t).

En aplicaciones de CDMA, los valores de interés del desplazamiento T son discretos (múltiplos del periodo de chip) por lo que, es posible trabajar con secuencias código discretas y entonces la expresión que indica el número de unos y ceros contenidos en un periodo de la secuencia, se transforma en una suma algebraica.

Se representa una secuencia PN mediante la expresión C[n] y su versión desplazada en k chips por C[n+k].

Para las secuencias PN, se definen las siguientes funciones de correlación:

Función de correlación periódica, para dos secuencias A[n] y B[n] del mismo periodo p:

ABR toma valores discretos para i = 0… p-l, y es periódica de periodo p.

En el caso particular en que A B≡ , R es la autocorrelación periódica de la secuencia A:

( )AR k toma, en un periodo, los siguientes valores:

Es decir, para las secuencias PN la función de autocorrelación tiene un periodo igual al de la secuencia, con un máximo igual a dicho periodo (pico de valor p) y un mínimo igual a -1.

Page 25: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Sistemas W-CDMA II-18

Simulador de un sistema de comunicaciones W-CDMA de UMTS

Este pequeño valor de la correlación entre una secuencia y una copia desplazada de la misma un número entero de intervalos de chip minimiza los efectos de la propagación multitrayecto para los ecos con retardos iguales o mayores que la duración de un chip.

Por ejemplo, sean:

A = [ -1, -1, 1, -1, 1, 1, -1, -1, -1, 1, 1, 1, -1, 1, 1]

B = [ -1, 1, 1, -1, -1, -1, 1, 1, 1, -1, 1, 1, -1, -1, 1]

En la figura 2.12 se representa la función de correlación periódica de las secuencias A y B, y en la figura 2.13 se representa la función de autocorrelación periódica de la secuencia A.

Figura 2.12

Figura 2.13

Page 26: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Sistemas W-CDMA II-19

Simulador de un sistema de comunicaciones W-CDMA de UMTS

1

0

1

0

( ) [ ] [ ] 0 1

( ) [ ] [ ] 1 1

p k

ABi

p k

ABi

R k A i B i k k p

R k A i k B i p k

− −

=

+ −

=

= + ≤ ≤ −

= − − + ≤ ≤ −

( 1) / 2

( 2) / 2

2 1

2 1 ,( )

2 1 ,

n

n

n

p

n impart n

n par

+

+

= −

⎧ ⎫+⎪ ⎪= ⎨ ⎬+⎪ ⎪⎩ ⎭

Se define la función de correlación aperiódica como:

II.3.4.3. Secuencias Preferidas

Para aplicaciones DS-CDMA, no todas las secuencias de longitud máxima p generadas por polinomios de grado n son igualmente válidas. Es necesario que la función de correlación cruzada entre dos secuencias cualesquiera de la misma familia sea pequeña, por lo que deben buscarse subconjuntos de secuencias que tengan esta propiedad. Tales subconjuntos existen, pero son de reducido tamaño.

En efecto, hay parejas de secuencias de periodo p con una correlación cruzada que puede tomar alguno de los valores del conjunto {-1, -t(n), t(n)-2}, donde:

Por ejemplo, para n = 10, p = 1023, de las 60 secuencias posibles habrá pares con correlaciones (-1, -65, 63). A estas secuencias se les denomina secuencias preferidas. Sin embargo, la correlación cruzada máxima con otras secuencias puede llegar a valer Rmax = 1023 · 0,37 = 378.

El número de secuencias preferidas es bastante reducido. Por ejemplo para n = 5, n = 10 ó n = 14, únicamente existen tres, para n = 11 ó n = 13 sólo hay 4 y para n = 16 sólo hay 6. En consecuencia, se han buscado familias de secuencias más numerosas y que mantengan una correlación cruzada entre sí aceptable. De entre las familias existentes se presentan a continuación las de Gold y de Kasami, por ser utilizadas en UMTS.

Page 27: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Sistemas W-CDMA II-20

Simulador de un sistema de comunicaciones W-CDMA de UMTS

5 21

5 4 32

( ) 1

( ) 1

g X X X

g X X X X X

= + +

= + + + +

II.3.5. Secuencias de Gold

Las secuencias o códigos de Gold son familias de secuencias PN, de período p con buenas características de correlación y que se obtienen a partir de secuencias PN como se explica seguidamente.

Dada una pareja de secuencias preferidas de período p, se suma a una de ellas la otra cíclicamente desplazada. La secuencia resultante es una secuencia de Gold de período p.

Figura 2.14

En la figura 2.14 se ilustra simbólicamente el proceso. Las secuencias de datos son PN1 y S-PN2, que es una versión desplazada (‘shifted’) de PN2. Fijada PN1, hay p versiones posibles de S-PN2, por lo que el número de secuencias de Gold que pueden obtenerse es p + 2 (incluidas PN1 y PN2).

Las secuencias de Gold no son del tipo longitud máxima, pero poseen unas características de correlación cruzada periódica similares a las de las secuencias preferidas, con la ventaja de que el número de secuencias de Gold de un cierto período es mayor que el de secuencias preferidas del mismo período.

Por consiguiente, una posible forma de generación de las secuencias de Gold, sería la siguiente: se disponen dos registros asociados a PN1 y PN2, respectivamente. Se inicializa el registro 1 con un vector arbitrario. Se carga el registro 2 con otro vector. Los chips de salida de cada registro se suman en el sumador módulo 2, a cuya salida se tendrá una secuencia de Gold para cada vector de carga inicial del registro 2. Si las condiciones iniciales de los registros 1 y 2 son el vector cero, se tendrán a la salida las secuencias PN1 y PN2.

Ejemplo: Sean las secuencias PN 1 Y PN2 de período 31 generadas, respectivamente, por los polinomios de grado 5:

Page 28: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Sistemas W-CDMA II-21

Simulador de un sistema de comunicaciones W-CDMA de UMTS

En la figura 2.15 se muestran los registros correspondientes así como su conexión al sumador módulo 2 para la generación de las secuencias de Gold.

Figura 2.15

Para los vectores de carga inicial de los registros V1=(0 1 0 1 1) y V2 = (0 1 0 1 1), las secuencias PN de salida de cada registro son:

PN1 = (1101 0100 0010 0101 1001 1111 0001 101) PN2 = (1101 0100 1000 1011 1110 1100 1110 000) Y la secuencia de Gold 1 2G PN PN= ⊕ , es: G = (0000 0000 1010 1110 0111 0011 1111 101)

II.3.5.1. Propiedades de las secuencias Gold Las secuencias de Gold tienen las siguientes características:

No son de longitud máxima, salvo las generadoras PN1 y PN2.

La correlación cruzada de dos secuencias toma valores del conjunto {-1, -t(n), t(n)-2) donde t(n) viene dada por la ecuación vista antes.

La autocorrelación para un desplazamiento no nulo (‘off-peak’) toma,

asimismo, valores dentro del conjunto anterior. En consecuencia t(n) es una cota superior de la autocorrelación. Este valor no es -1 como en el caso de secuencias PN de longitud máxima. El ‘coste’ asociado a una mayor disponibilidad de secuencias con buenas propiedades de correlación cruzada es la peor autocorrelación de las mismas.

Page 29: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Sistemas W-CDMA II-22

Simulador de un sistema de comunicaciones W-CDMA de UMTS

max11

MR pMp

−≥

En la tabla 2.1 se proporcionan datos sobre secuencias de longitud n, sus características de correlación cruzada y valores de t(n) para las secuencias de Gold generadas a partir de aquellas. Se indican valores absolutos y normalizados tras su división por la autocorrelación R(0)=p.

Tabla 2.1 En el ejemplo anterior, n = 5, p = 31, hay 6 secuencias de longitud

máxima. El valor máximo de la correlación cruzada entre dos cualesquiera Rmax = 11. La autocorrelación para desplazamiento cero es R(0) = 31, luego Rmax / R(0) = 11/31=0,35. Tomando dos de las 6 secuencias se pueden generar 2+31=33 secuencias Gold. Para ellas el valor absoluto de la cota t(n) de autocorrelación es 9 y su valor relativo 9/31=0,29.

La correlación cruzada entre dos secuencias binarias arbitrarias de

periodo p extraídas de un conjunto de M secuencias, tiene la siguiente cota inferior dada por Welch:

Para secuencias Gold con M y p grandes esta cota es aproximadamente igual a / 22np ≈ , y también a t(n)/2. Por ejemplo, para n = 12 la cota de Welch es 26 = 64 y t(n) es 129.

II.3.6. Secuencias de Kasami Sea una secuencia PN1 de longitud n par y período p = 2n-1. A partir de PN1 se construye, mediante diezmado, otra secuencia PN2 extrayendo de PN1 los chips situados en los lugares múltiplos de 2n/2+1. La secuencia PN2 resultante, tiene periodo p2 = 2n/2-1.

Page 30: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Sistemas W-CDMA II-23

Simulador de un sistema de comunicaciones W-CDMA de UMTS

En una longitud p, de esta secuencia habrá (2n-1)I(2n/2-1)= 2n/2+1 repeticiones de esos chips. Por ejemplo, con n = 12, p1 = 4095, de una secuencia PN, se extraen los chips situados en las posiciones 65, 130, 195,...,4030, 4095 para formar PN2 con período p2 = 63.

Tomando p = 2"-1 chips de PN1 y PN2 se construyen un conjunto de secuencias mediante la suma (módulo 2) de los chips de PN1, de PN2 y de todos los 2n/2-2 desplazamientos cíclicos de PN2. Incluyendo en el conjunto la secuencia PN1 se obtiene una colección de 2n/2 secuencias de longitud 2n-1 que se denominan secuencias de Kasami.

La autocorrelación y la correlación cruzada de las secuencias de Kasami toman valores del conjunto {-1, -(2n/2+1), 2n/2-1}, por lo que la cota superior de la correlación cruzada es igual a 2n/2+ 1. Las secuencias de Gold y Kasami se utilizan en UMTS para los códigos de aleatorización e identificación de celdas.

Page 31: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Sistemas W-CDMA II-24

Simulador de un sistema de comunicaciones W-CDMA de UMTS

II.4. CANAL DE COMUNICACIONES MÓVILES El estudio de las técnicas más adecuadas para sistemas de comunicaciones móviles requiere ineludiblemente un conocimiento exhaustivo de las características del medio de propagación, pues sólo así es posible diseñar sistemas capaces de combatir eficazmente los efectos degradantes del medio físico. La señal transmitida se ve sometida a múltiples reflexiones y difracciones en los obstáculos que circundan a las antenas transmisora y/o receptora, de forma que la señal recibida es el resultado de la suma de todas estas señales que llegan a través de distintos caminos de propagación con sus respectivas atenuaciones, fases y retardos temporales diferentes: es la propagación multicamino y causante de los desvanecimientos o fading. Estos desvanecimientos pueden ser lentos, causados por variaciones en la topografía del entorno de propagación, y rápidos, causados por variaciones de la fase de las distintas señales que alcanzan la antena receptora y que son debidas a desplazamientos relativos de los obstáculos que rodean las antenas, como puede ser movimiento de personas, maquinaria, instrumentos, vehículos, etc., o el propio desplazamiento del móvil que forma parte de las comunicación. Todo lo anterior da lugar a un complejo medio de propagación multicamino cuya naturaleza aleatoria y variante con el tiempo exige que su caracterización sea inevitablemente estadística. Nace así el canal lineal variable con el tiempo. El número de estudios realizados sobre el canal móvil, tanto teóricos como experimentales es enorme, por lo que el presente capítulo se limitar a exponer las características más relevantes desde el punto de vista del diseño de un sistema de comunicaciones móviles. II.4.1. Caracterización de un canal con propagación multitrayecto Para ver las dos formas fundamentales en que se manifiesta la naturaleza dispersiva del canal, basta transmitir un pulso muy estrecho, idealmente un impulso, sobre un canal de radio móvil. La señal recibida es un tren de un cierto número de pulsos con un retardo respecto al primero y una atenuación diferente para cada uno de ellos. Por tanto, la primera característica es la dispersión temporal: la señal recibida tiene una duración mayor que la transmitida.

Page 32: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Sistemas W-CDMA II-25

Simulador de un sistema de comunicaciones W-CDMA de UMTS

Se observa en la figura 2.16 donde S(t) y r(t) son las señales transmitida y recibida respectivamente, que los retardos relativos y las atenuaciones de los pulsos recibidos así como el número de estos son distintos en cada ocasión. Por tanto, la segunda característica es la variabilidad del canal.

Figura 2.16 Como se ha dicho anteriormente, la dispersión temporal es debida a la existencia de múltiples caminos de propagación, cada uno de los cuales presenta un retardo y una atenuación propios según las reflexiones que sufra y los obstáculos que atraviese el rayo, como se muestra en la figura 2.17.

Figura 2.17 Esta dispersión da lugar a interferencia intersimbólica (ISI), cuando se transmiten pulsos secuencialmente. Esta característica es de gran importancia en el diseño de sistemas de comunicaciones móviles, pues obliga al uso de técnicas de transmisión capaces de combatir eficazmente la interferencia intersimbólica.

Page 33: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Sistemas W-CDMA II-26

Simulador de un sistema de comunicaciones W-CDMA de UMTS

02( ) Re ( ) j f tS t S t e π⎡ ⎤= ⎣ ⎦

[ ]( ) ( ) ( )n nn

r t t s t tα τ= −∑

Por otra parte, también se ha adelantado que la variabilidad es debida a los constantes cambios en la estructura del medio, ya sean naturales o debidos a la propia actividad humana, de manera que dichos cambios aparecen como imprescindibles y aleatorios. Esta variabilidad hace que en ciertos intervalos, el canal sea extremadamente hostil, produciendo desvanecimientos en la señal recibida. El medio para combatir los desvanecimientos es la diversidad.

II.4.2. Respuesta impulsional variante del canal móvil Dado que el canal móvil se puede considerar como un sistema lineal variante con el tiempo, su respuesta impulsional incluye dependencia con la variable t, además de la dependencia con el retardo T.

Figura 2.18

El desarrollo matemático de las distintas funciones que caracterizan el canal de transmisión se simplifica utilizando la notación de envolventes complejas. Así, la señal paso banda transmitida, S(t), puede expresarse en función de su envolvente compleja, ( )S t , como sigue: donde f0 representa la frecuencia central de la señal transmitida. En un entorno caracterizado por propagación multicamino la señal recibida es el resultado de la suma de las señales que llegan a través de los distintos caminos de propagación, cada una de las cuales presenta una atenuación (compleja), αn(t), y un retardo, τn(t), propios. La dependencia de estas funciones respecto a la variable temporal indica el carácter variante del canal de propagación. Por lo tanto, la señal recibida paso banda viene dada por:

Page 34: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Sistemas W-CDMA II-27

Simulador de un sistema de comunicaciones W-CDMA de UMTS

[ ]0 02 2( ) Re ( ) ( )nj f t j f tn n

n

r t t e s t t eπ τ πα τ−⎡ ⎤= −⎢ ⎥⎣ ⎦∑

[ ]02 ( )( ) ( ) ( )nj f tn n

nr t t e t tπ τα δ τ−= −∑

[ ]02 ( )( ) ( ) ( )nj f tn n

nr t t e s t tπ τα τ−= −∑

[ ] 02 ( ) ( )

1 1

( ) ( ; ) ( ) ( )n n

N Nj f t j t

n nn n

r t h t s t d t e t eπ τ θτ τ τ α α+∞

− −

= =−∞

= − = =∑ ∑∫

Si se introduce esta expresión en la ecuación anterior, se obtiene: Atendiendo a la definición de envolvente compleja o equivalente paso bajo, se puede escribir el equivalente paso bajo de la señal recibida como:

Puesto que r(t) es la respuesta de un canal equivalente paso bajo,

( ; )h tτ , a una envolvente compleja de entrada ( )S t , la ecuación siguiente ofrece la expresión del equivalente paso bajo de la respuesta impulsional variante con el tiempo del canal:

Para determinar qué caracterización debe realizarse del canal, se transmite una portadora de frecuencia f0 sin modular de manera que la envolvente compleja de la señal transmitida sea constante en el tiempo, con lo que la señal recibida responde a la forma:

y que como se ve, está compuesta por la suma de N fasores de amplitudes y fases variantes en el tiempo. Para que las variaciones en las amplitudes αi(t) produzcan un cambio significativo en la señal recibida, se requieren trayectos largos a través del medio. Sin embargo, las fases θi(t) recorren 2π radianes cuando los retardos τi(t) varían 1/fo. Así, N fasores de amplitud poco variable y de fases muy variables se suman a veces constructivamente y otras destructivamente, dando lugar a una señal resultante cuya amplitud (esto es, la envolvente de la señal) sufre desvanecimientos. Como tanto las amplitudes αi(t) como los retardos τi(t) son procesos aleatorios, ( )r t también lo es. Puesto que N es suficientemente grande, puede aplicarse el Teorema del Límite Central, el cual determina que el equivalente paso bajo del canal ( ; )h tτ resulta ser un proceso aleatorio complejo gaussiano en la variable t.

Page 35: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Sistemas W-CDMA II-28

Simulador de un sistema de comunicaciones W-CDMA de UMTS

Cuando la media de dicho proceso es igual a cero, la envolvente

( ; )h tτ presenta una distribución del tipo Rayleigh. Por el contrario, si la media del proceso es no nula, la envolvente ( ; )h tτ tiene una distribución del tipo Rice, y ello ocurre cuando existen reflectores u obstáculos fijos en el medio, además de obstáculos moviéndose aleatoriamente. Distintas investigaciones han demostrado que el canal multicamino, se caracteriza por una distribución estadística Rayleigh, en el caso de que no exista un camino directo dominante entre las antenas transmisora y receptora; mientras que, en los casos en los que ya existe visibilidad directa entre ambas antenas es muy frecuente que tales desvanecimientos se ajusten más fielmente a una distribución estadística del tipo Rice. II.4.3. Caracterización del canal en banda estrecha La mayoría de los sistemas de comunicaciones móviles operan en centros urbanos o zonas muy pobladas. En tales circunstancias, la señal radioeléctrica sufre los efectos no sólo de las variaciones topográficas sino también ambientales. La figura 2.17 mostraba cómo diferentes réplicas de la señal transmitida llegan al receptor vía diferentes trayectos. Como se puede observar, la propagación de la onda se produce principalmente por medio de difracciones y dispersiones en las superficies de los edificios u otros elementos del terreno. Si la energía llega al receptor según diferentes caminos y direcciones, los tiempos de llegada serán distintos para cada rayo. Todas estas señales se combinan en el receptor dando una señal resultante que experimentará desvanecimientos e incrementos dependiendo de la distribución de las fases de los rayos. El modelo clásico que se ha venido utilizando para explicar la señal (envolvente y fase) observada en el entorno móvil, se basa en el fenómeno de dispersión. El modelo de dispersión supone que la señal recibida consiste en un gran número de componentes de señal con fase aleatoria. La conclusión a la que llega este modelo es que la función de densidad de probabilidad de la envolvente sigue una distribución Rayleigh. Sin embargo, sólo en un entorno de dimensiones suficientemente reducidas, la densidad de elementos del paisaje es aproximadamente constante como para poder asegurar que el proceso que se ha descrito pueda considerarse estacionario. Dentro de un área adecuadamente pequeña se puede llevar a cabo un estudio en dos fases:

Page 36: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Sistemas W-CDMA II-29

Simulador de un sistema de comunicaciones W-CDMA de UMTS

2

2 2( ) exp2r

r rp rσ σ

⎛ ⎞= −⎜ ⎟

⎝ ⎠

2

2

1 (ln( ) )( ) exp22ssp s

σσ π⎛ ⎞−

= −⎜ ⎟⎝ ⎠

• Variaciones rápidas: son precisamente las variaciones descritas hasta

ahora bajo el modelo de dispersión. Se deben al multitrayecto, rayos de amplitudes comparables (no hay componentes dominantes sobre las demás) y con igual probabilidad de tener cualquier dirección de llegada. Esto significa una distribución uniforme de las direcciones de llegada.

La función de densidad de probabilidad que describe la señal con variaciones rápidas es la de Rayleigh, mientras que el parámetro que caracteriza esta distribución, y que describe por tanto también las variaciones rápidas, es el valor modal σ. La función de densidad de probabilidad Rayleigh es:

• Variaciones lentas: son las variaciones del valor medio de la señal a medida que el móvil se mueve, por lo que su análisis comporta un estudio a largo plazo. Este desvanecimiento está originado por variaciones a largo plazo de las características del terreno o las condiciones topográficas con la dirección del transmisor.

Diferentes estudios confirman que la media local de la señal recibida para un determinado rango de frecuencias y entornos de características similares, siguen una distribución estadística Lognormal. Entonces, si se expresa el campo en unidades naturales (v/m), la función de densidad de probabilidad del campo Lognormal es:

Figura 2.19 En la figura 2.19 se representa un registro de señal recibida donde se aprecian variaciones rápidas y lentas.

Page 37: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Sistemas W-CDMA II-30

Simulador de un sistema de comunicaciones W-CDMA de UMTS

II.4.4. Caracterización del canal en banda ancha

Supóngase dos únicas componentes espectrales de la señal radiada. Si estas frecuencias están lo suficientemente próximas, entonces los distintos caminos recorridos por el multitrayecto tendrán una longitud eléctrica similar, por lo que las variaciones en amplitud y fase serán parecidas. Naturalmente seguirá existiendo un desvanecimiento de la señal debido al multitrayecto pero se dice que la señal sufre un desvanecimiento plano.

Si la separación de frecuencias aumenta, el comportamiento de una y

otra tiende a incorrelarse. El grado de incorrelación va a depender precisamente de la dispersión de los retardos de los distintos ecos, que es la manifestación de los desplazamientos de fase debidos a las diferencias de caminos. El desvanecimiento que sufre la señal se dice que es selectivo en frecuencia, puesto que en este caso, la dispersión temporal se puede ver como un filtrado de la señal por la función de transferencia del canal, la cual presenta selectividad por dejar pasar unas frecuencias inalterables y afectar a otras.

El ancho de banda impuesto por el canal, y en el que las componentes

espectrales de la señal se ven afectadas de igual forma, se denomina ancho de banda de coherencia.

Es razonable considerar tales canales como casos especiales de filtros

lineales variantes en el tiempo. La caracterización a corto plazo describe el canal en un periodo corto de tiempo o pequeña zona geográfica, en cambio la caracterización a largo plazo del canal se obtiene examinando la evolución de los estadísticos a corto plazo.

En la figura 2.20 se muestra la interferencia intersimbólica debida a la dispersión del canal.

Figura 2.20

Page 38: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Sistemas W-CDMA II-31

Simulador de un sistema de comunicaciones W-CDMA de UMTS

La caracterización de banda ancha del canal a corto plazo significa que la caracterización será referida exclusivamente a los estadísticos y mecanismos relacionados con los desvanecimientos rápidos de la señal. Una manera de modelar el desvanecimiento fue introducida por Bello en 1963 . Este investigador propuso el concepto de estacionariedad en sentido amplio. Este concepto aplicado a un canal significa que los estadísticos de desvanecimiento no cambian durante un corto intervalo de tiempo. Supone con esto una simplificación más, ya que todas las contribuciones procedentes de los distintos caminos que sigue la señal debido al multitrayecto están incorreladas (WSSUS- Wide-Sense Stationary Uncorrelated Scattering). Se puede demostrar que tal canal es efectivamente estacionario en sentido amplio tanto en el dominio temporal como en el de la frecuencia. En el caso del canal móvil pueden observarse en la figura 2.21 las cuatro funciones que constituyen dicha caracterización. Esta figura (a) es un perfil de intensidades del multitrayecto, P(t), en función del retardo. Esta función ayuda a comprender que para un impulso transmitido, como podría variar la potencia recibida en función del retardo que provoca el canal. Retardo significa en este contexto exceso de tiempo, es decir, retardo de propagación respecto al primer rayo que alcanza el receptor. Para un típico canal radio, la señal recibida está compuesta por varias componentes. Un sistema ideal presentaría un perfil de retardo igual a una delta en el origen.

Figura 2.21

Page 39: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Sistemas W-CDMA II-32

Simulador de un sistema de comunicaciones W-CDMA de UMTS

II.5. RECEPTOR RAKE En CDMA la forma de onda recibida presenta, en general, una cierta distorsión respecto a la señal transmitida, provocada por el fenómeno de multitrayecto variante en el tiempo. El receptor, para llevar a cabo la demodulación, debe adaptarse a las características del canal. El receptor Rake, propuesto en 1958, lleva a cabo esta tarea y permite combatir el efecto perjudicial del multitrayecto, aprovechando las características de las señales de espectro ensanchado. Este receptor puede entenderse de dos formas:

Como un filtro adaptado a la forma de onda recibida Como un sistema de diversidad de orden L, en el que las réplicas

multitrayecto producidas por el canal son separadas y combinadas (con ciertas limitaciones) para formar las variables de decisión.

Dado que el receptor Rake se comporta, esencialmente, como un filtro

adaptado a la señal multitrayecto recibida, será óptimo siempre que las señales interferentes puedan considerarse ruido blanco.

Las señales en CDMA transmitidas son de banda ancha, y en virtud del

teorema de límite central su superposición puede considerarse un proceso gaussiano, por lo que puede pensarse que el receptor Rake es esencialmente óptimo para sistemas CDMA.

Sin embargo, la interferencia no es realmente un ruido blanco, sino un

conjunto de señales con características similares a las de la señal deseada, y es posible aprovechar esta estructura de la interferencia mediante formas más avanzadas de receptores.

Este tipo de receptores, denominados receptores muItiusuario, llevan a

cabo una demodulación conjunta de todas las señales, que permite mejorar las prestaciones (probabilidad de error) respecto al receptor Rake (monousuario) convencional. El receptor Rake no aprovecha la estructura de las señales interferentes, pues trata éstas como señales no deseadas o ruido. La utilización de receptores Rake, sin embargo, está justificada actualmente por la falta de madurez tecnológica de las técnicas de detección multiusuario. II.5.1. Estructura del receptor

Para su realización práctica, el filtro adaptado a la señal multitrayecto recibida (interpretación 1) se puede aproximar mediante un conjunto discreto de réplicas con retardos múltiples del período de chip Tc.

Page 40: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Sistemas W-CDMA II-33

Simulador de un sistema de comunicaciones W-CDMA de UMTS

Esta discretización de los retardos está justificada por el ancho de banda limitado de la señal transmitida (teorema de muestreo), o equivalentemente por la resolución temporal finita con que el receptor puede distinguir las componentes multitrayecto. La estructura básica del receptor Rake para modulación BPSK se representa en la figura 2.22 (no se han indicado los subsistemas de recuperación de portadora, sincronismo y estimación de canal).

Figura 2.22

La aproximación de la forma de onda recibida mediante una suma de componentes equiespaciadas exige estimar el coeficiente de canal (amplitud y fase) correspondiente a cada una. Cada componente representa la amplitud y fase de una réplica o un conjunto de réplicas recibidas con retardos similares, y que por tanto se detectan como una sola.

El receptor Rake consta de un conjunto de L ramas o dedos (‘fingers’),

en cada una de las cuales se multiplica la señal por una réplica local de la forma de onda ensanchada, con el correspondiente retardo. Las salidas de las L ramas se integran y se combinan para obtener la variable de decisión.

La combinación consiste en compensar los desfasajes relativos y

realizar una suma ponderada por la amplitud con que se recibe cada componente (se da más" peso" a las componentes que se reciben con mayor nivel), utilizando el conocimiento (estimación) de los coeficientes de canal.

Según esto, el receptor puede considerarse (interpretación 2) un sistema

de diversidad de orden L con combinación óptima (MRC), en el que las diferentes réplicas de la señal se separan en virtud de las propiedades de autocorrelación de los códigos utilizados.

Page 41: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Sistemas W-CDMA II-34

Simulador de un sistema de comunicaciones W-CDMA de UMTS

II.5.2. Probabilidad de error

En un sistema CDMA con receptor monousuario, las señales no deseadas se consideran como un ruido aproximadamente gaussiano de banda ancha. La probabilidad de error para un determinado estado del canal (es decir, unos valores determinados de los coeficientes de canal) se puede obtener mediante el análisis clásico del filtro adaptado en presencia de ruido gaussiano blanco, y a continuación se calcula la probabilidad de error final promediando respecto a los valores de los coeficientes.

Esto último exige un modelado estadístico del canal. Puesto que cada

componente separada por el receptor representa en realidad múltiples ecos con retardos parecidos, recibidos a través de caminos de propagación independientes, las componentes en fase y en cuadratura de los coeficientes de canal se pueden modelar como variables aleatorias gaussianas estadísticamente independientes, canal WSSUS (Wide Sense Stationary with Uncorrelated Scattering).

El canal se caracteriza por su perfil potencia-retardo P(τ), que indica la

potencia media recibida en función del retardo cuando se transmite un pulso estrecho de radiofrecuencia. Se denomina dispersión multitrayecto, D, al momento central de segundo orden de P(τ); este parámetro da una idea del grado de dispersión temporal del canal.

La fórmula que se indica a continuación proporciona la probabilidad de error aproximada PB, para modulaciones BPSK y QPSK coherentes, bajo las siguientes hipótesis:

• Receptor Rake de M ramas con recuperación de portadora, sincronismo y estimación de canal ideales

• Número de usuarios elevado (para poder considerar la interferencia

como una señal gaussiana)

• Control de potencia en bucle abierto ideal, si se aplica al enlace ascendente (los valores medios de potencia en recepción se suponen iguales para todos los usuarios de la célula)

• No se considera ortogonalidad parcial en el caso del enlace

descendente

• Nivel de ruido térmico despreciable

• Perfil potencia-retardo idéntico para todos los usuarios

Page 42: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Sistemas W-CDMA II-35

Simulador de un sistema de comunicaciones W-CDMA de UMTS

1

0

1 12 1

Lm

B mm m

P ηπη

=

⎛ ⎞= −⎜ ⎟⎜ ⎟+⎝ ⎠∑

'm

mC sK

ηρ γα

Φ=

Φ

1

0

Mm

mi m ii m

ηπη η

=≠

=−∏

( 1)

( )c

c

m T

mmT

dφ τ τ+

Φ = ∫0

( )dφ τ τ∞

Φ = ∫

C representa el número de chips por símbolo, o factor de ensanchamiento, y K el número de usuarios en la célula considerada (omnidireccional o sectorizada). La eficiencia de reutilización p mide el aumento de interferencia originado por las restantes células del sistema, respecto al caso de una célula aislada con K usuarios.

Para una carga uniforme este parámetro toma valores en torno a 1,5-1,7

para el enlace ascendente; α es el factor medio de actividad de la fuente, y s la ganancia por sectorización, igual al número de sectores de la célula multiplicado por un factor de eficiencia de antena, que se sitúa habitualmente en torno al 80%. Por último, γ es un parámetro próximo a la unidad que depende de la forma de los pulsos de chip utilizados.

Se tiene:

Debe tenerse en cuenta que esta expresión no considera el efecto de la codificación de canal, que en CDMA puede aplicarse con ventaja para reducir considerablemente la probabilidad de error sin incrementar el ancho de banda.

Como ejemplo, en la figura 2.23 se muestra PB, en función de K para los

siguientes parámetros: tasa binaria 64 kbit/s, velocidad de chip 3,84 Mchips/s, Tm = 0,5 s, p=1,6, α=1, s=2,4 (células trisectorizadas), γ =1 y número de ramas variable de 2 a 8.

Figura 2.23

Page 43: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Sistemas W-CDMA II-36

Simulador de un sistema de comunicaciones W-CDMA de UMTS

El comportamiento de la probabilidad de error cuando se utiliza un receptor Rake, puede resumirse como sigue:

• La probabilidad de error aumenta con el número de usuarios K, al hacerlo el nivel de interferencia. También aumenta con p ó α y al disminuir s ó C.

• La probabilidad de error puede reducirse aumentando el número de

ramas del receptor, suponiendo una estimación perfecta de los coeficientes de canal. Sin embargo, a medida que aumenta M, la mejora es cada vez más pequeña, ya que el nivel (medio) de las componentes detectadas disminuye con el retardo (perfil potencia-retardo decreciente). En la práctica, si se tiene en cuenta que la estimación contendrá errores, aumentar excesivamente el número de ramas puede degradar las prestaciones, ya que las últimas ramas solo contribuirán con ruido.

Por otra parte, en la figura 2.24 se representa la probabilidad de error de bit en función de la relación señal a ruido del canal entero, y del número de dedos del receptor Rake, N.

Figura 2.24

Page 44: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Sistemas W-CDMA II-37

Simulador de un sistema de comunicaciones W-CDMA de UMTS

Analizando esta última gráfica, se observa que pasando de un filtro adaptado convencional a un Rake de 2 dedos se tiene la una misma probabilidad de error de 10-3 para una relación señal a ruido 10 veces mejor. Para cada rama adicional, esta diferencia de rendimiento se va atenuando. II.5.3. Consideraciones prácticas La resolución temporal a la hora de separar las componentes multitrayecto recibidas está limitada por el período de chip, o por el ancho de banda. La utilización de receptores Rake en sistemas móviles CDMA resulta útil siempre que la dispersión temporal del canal sea comparable o mucho mayor que el periodo de chip, pues solo de esta forma el receptor puede reconocer componentes diferentes. En sistemas WCDMA el ancho de banda es del orden de 5 MHz. Esto proporciona una elevada resolución temporal, y constituye una ventaja frente a otros sistemas de espectro ensanchado con anchos de banda no tan elevados (como IS-95). En sistemas CDMA es usual emplear un tipo de receptor Rake ligeramente distinto del que se ha descrito, en el cual los retardos entre ramas no son fijos sino que se adaptan en función de las características de actividad multitrayecto que presente el canal. Para ello se utiliza una rama adicional, denominada ‘buscador’, cuya misión es identificar (mediante correlación) retardos para los cuales existe una componente de señal significativa; dicha componente será guiada a una de las ramas demoduladoras. Esta es la configuración empleada en el sistema IS-95, con tres (enlace descendente) o cuatro (ascendente) ramas principales y un buscador. Otra diferencia se deriva del uso que se hace de este receptor en sistemas celulares. En CDMA el receptor Rake, además de detectar las componentes multitrayecto de la señal deseada, se emplea para soportar el mecanismo de traspaso con continuidad ("sofá hand-off") en el enlace descendente (también para el "softer hand-off" en el ascendente). Cuando el móvil se encuentra en situación de traspaso, diferentes ramas se encargan de detectar la señal transmitida desde bases distintas. Esto es equivalente a una situación de "multitrayecto artificial", en la que las réplicas de la señal no son producidas por el entorno de propagación, sino que proceden de estaciones base diferentes. En este caso la secuencia código utilizada será diferente en ramas asignadas a estaciones base distintas y la separación entre las señales se logra gracias a las propiedades de correlación cruzada (no de autocorrelación) de los códigos. Evidentemente, el número máximo de bases desde las cuales el móvil puede recibir está limitado por el número de ramas del receptor.

Page 45: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Simulador en Matlab III-1

Simulador de un sistema de comunicaciones W-CDMA de UMTS

Capítulo III Simulador en Matlab III.1. INTRODUCCIÓN

El lenguaje de programación MATLAB es la herramienta de simulación más empleada hoy en día en el ámbito de la ingeniería y las comunicaciones entre otros. Su utilización permite emular con un alto grado de realismo el comportamiento físico de señales y sistemas mediante la elaboración de un código de programación que se ejecuta y permite visualizar los resultados que se obtendrían de una forma real sin necesidad de implementar el sistema materialmente.

El simulador realizado no es más que una aplicación realizada en el entorno MATLAB, que persigue simular un sistema genérico de comunicaciones móviles de tercera generación UMTS, donde se generan unos datos que siguen un cierto procesamiento hasta que son transmitidos. Posteriormente esta señal es distorsionada por el ruido existente en el canal de comunicaciones y el multitrayecto, y por último un sistema receptor es el encargado de reconstruir la señal inicial mediante diversas técnicas, a partir de la señal recibida.

Todo este proceso se podría haber construido con instrucciones de programación que se ejecutarían secuencialmente dando lugar a resultados en forma de gráficas. No obstante esto tendría el inconveniente de la incomodidad que supone el hecho de modificar el valor de un parámetro para realizar una nueva simulación, pues sería necesario cambiar directamente su valor en el código implementado, lo que supone tener que conocer perfectamente a qué variable acudir en cada caso, y esta es una misión complicada para alguien que no haya programado la aplicación.

Por este motivo, sin olvidar el contenido principal del proyecto que radica en la simulación del proceso completo de transmisión, se ha dedicado un gran esfuerzo a la elaboración de una interfaz de usuario lo más intuitiva posible que permita a un usuario con conocimientos de comunicaciones móviles pero no necesariamente de MATLAB sacarle partido al simulador realizado sin acceder al código, sino directamente introduciendo los valores en pantalla. Para ello se ha hecho uso del módulo GUIDE incluido en MATLAB, el cual sirve para construir interfaces de usuario (GUIs) empleando un tipo de programación similar a otros lenguajes orientados a objetos.

Page 46: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Simulador en Matlab III-2

Simulador de un sistema de comunicaciones W-CDMA de UMTS

La interfaz de usuario consta de cuatro módulos principales: menú principal, transmisor, canal de comunicaciones, y sistema receptor. En los sucesivos apartados se explica cada uno de ellos de forma detallada. III.2. MENÚ PRINCIPAL

Para llegar al menú principal del simulador es necesario abrir el programa tecleando ‘menu’ desde la línea de comandos de MATLAB, habiendo seleccionado previamente el directorio de trabajo ‘Simulador’.

Figura 3.1 Una vez lanzado el programa, se abre la interfaz de usuario del

simulador, la cual tiene la apariencia mostrada en la figura 3.2. En ella se pueden apreciar tres botones con forma rectangular que actúan de enlaces con los subsistemas esenciales de la comunicación, esto es: transmisor, canal y receptor. Más abajo figuran otros dos botones de menor tamaño que conducen a las pantallas de ayuda y salida del programa.

Figura 3.2

Page 47: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Simulador en Matlab III-3

Simulador de un sistema de comunicaciones W-CDMA de UMTS

El botón ‘Transmisor’ deberá ser pulsado en primer lugar, con el objeto de configurar los parámetros del ensanchado de la señal W-CDMA y la elección del pulso de transmisión que dará forma a la señal. Posteriormente se debe entrar en ‘Canal’, donde se ajusta el ruido que introduce el canal, así como la influencia de otro rayo distinto del principal. Por último haciendo click en ‘Receptor’ se puede escoger la estructura receptora que trata de recuperar la señal transmitida, y a continuación visualizar los resultados de la comunicación en términos de señal recibida, comparación con la transmitida y probabilidad de error. El botón de ‘Ayuda’ despliega una ventana que pretende informar al usuario de las opciones disponibles en la pantalla actual. Así, en el menú principal simplemente da información acerca de los botones comentados en este apartado, tal como se puede observar en la figura 3.3.

Figura 3.3

Finalmente, ‘Salir’ detiene la ejecución del simulador, cerrando a su vez todas las ventanas abiertas por este y devolviendo al usuario al sistema operativo. Cabe destacar que al pasar de una pantalla a otra los cambios realizados permanecen, de forma que al regresar a la pantalla original los parámetros y gráficas estarán tal cual se dejaron, con la idea de no tener que reajustar todos cada vez que se desee modificar un valor.

Page 48: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Simulador en Matlab III-4

Simulador de un sistema de comunicaciones W-CDMA de UMTS

III.3. TRANSMISOR El transmisor es el primer sistema del proceso de la comunicación, y en él se genera la señal desde que se origina en la fuente hasta que se transmite al canal por medio de una antena.

Figura 3.4 Sobre la pantalla del transmisor se pueden distinguir claramente tres módulos, que se deben ejecutar en el siguiente orden: en primer lugar la parte correspondiente al ensanchado W-CDMA, situada más a la izquierda, a continuación la relativa al pulso de transmisión y conformación de la señal, a la derecha, y por último la visualización de los resultados generados con los valores seleccionados. III.3.1. Ensanchado W-CDMA

Se parte de unos datos digitales binarios que provienen de una fuente real como por ejemplo la propia voz codificada, o bytes que componen un mensaje de texto, una imagen o cualquier otro tipo de información que se desee transmitir. En el simulador esta información es generada aleatoriamente siguiendo una distribución uniforme.

A continuación cada uno de estos símbolos es ensanchado con un código de una cierta longitud igual a SF (factor de ensanchado) chips, de modo que en el tiempo de un símbolo se introducen SF chips de duración Tsimb/SF. El número de chips por segundo usual en UMTS es 3.84 millones.

Page 49: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Simulador en Matlab III-5

Simulador de un sistema de comunicaciones W-CDMA de UMTS

20 40 60 80 100 120-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

0 50 100 150 200 250 300-20

0

20

40

60

80

100

120

140

100 200 300 400 500 600 700 800 900 1000-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

0 500 1000 1500 2000 2500-200

0

200

400

600

800

1000

1200

20 40 60 80 100 120-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

0 50 100 150 200 250 300-100

-50

0

50

100

150

Este código de ensanchado tiene ciertas propiedades que afectan de forma clave a la comunicación. En los sistemas CDMA cada usuario accede al medio de transmisión con un código distinto de los SF posibles, de modo que interesa que estos códigos sean lo menos parecidos posibles para que no interfieran. En otras palabras, cuanto más se parezca la autocorrelación del código a una delta de dirac, más óptimo será el mismo.

A continuación se muestran ejemplos de la secuencia temporal y

autocorrelación de los tres tipos de códigos implementados en el simulador: aleatorio (figura 3.5), gold (3.6) y walsh (3.7), siendo el segundo el que mejores propiedades presenta en este aspecto.

Figura 3.5

Figura 3.6

Figura 3.7

Page 50: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Simulador en Matlab III-6

Simulador de un sistema de comunicaciones W-CDMA de UMTS

El código de gold se genera a partir de la función gold.m que proporciona una secuencia de gold de 1023 chips. Por el contrario, los códigos aleatorios y walsh se pueden obtener para cualquier factor de ensanchado que se escoja. En caso de seleccionarse el código walsh se abre una nueva ventana (figura 3.8) para elegir entre las SF posibles filas de la matriz de Hadamard correspondiente. Cada una de ellas representa un código distinto, siendo la última fila la que presenta una función de autocorrelación más parecida a una delta.

Figura 3.8

III.3.2. Pulso de transmisión Una vez ensanchados los datos se modulan QPSK, para lo cual se pasan por un convertidor serie-paralelo que divide la secuencia ensanchada en una componente en fase y otra en cuadratura. Posteriormente ambas ramas forman una única señal envolvente compleja que es filtrada con un pulso de transmisión, que puede ser un coseno alzado o raíz de coseno alzado. Este pulso es el responsable de dar forma a cada chip que compone la señal ensanchada, y tendrá una influencia determinante sobre el ancho de banda de la señal transmitida. Uno de los parámetros ajustables de este pulso es el factor de roll-off, que indica lo abrupta o gradual que es su caída. Su valor típico en UMTS es de 0.22. Por otro lado está la longitud de este pulso, expresada en número de chips. La importancia de su valor radica en que cuanto mayor sea este, mayor será la longitud de las colas del pulso, y esto se traducirá en una respuesta en frecuencia con lóbulos secundarios de menor potencia, ya que al no ser ilimitada en el tiempo la longitud del pulso, el efecto que este hecho produce es el de un enventanado temporal, que en frecuencia se traduce en un incremento de potencia fuera del lóbulo principal.

Page 51: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Simulador en Matlab III-7

Simulador de un sistema de comunicaciones W-CDMA de UMTS

0 5 10 15 20 25 30 35 40 45 50-0.2

0

0.2

0.4

0.6

0.8

1

1.2

0 20 40 60 80 100 120 140-0.1

0

0.1

0.2

0.3

0.4

0.5

0.6

Por último está el número de muestras por chip, que determina la resolución que se puede alcanzar en la simulación, siendo más precisa la forma del coseno trazado conforme se incrementa el número de muestras. En las figuras 3.9 y 3.10 se representan respectivamente a modo de ejemplo un pulso de coseno alzado con un factor de roll-off de 0.22 y una longitud de 6 chips con 8 muestras por chip, y una raíz de coseno alzado de 0.5 con 15 chips y 9 muestras por chip.

Figura 3.9

Figura 3.10

Page 52: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Simulador en Matlab III-8

Simulador de un sistema de comunicaciones W-CDMA de UMTS

III.3.3. Señal transmitida Esta sección central está diseñada para visualizar las señales que se han generado en cada punto del transmisor, dependiendo de los valores asignados a las variables que intervienen en el proceso de ensanchado y de conformación de la señal.

Figura 3.11

Así, es posible visualizar los símbolos generados aleatoriamente, tantos como se fijaran en el campo ‘Número de símbolos’, o bien la señal ensanchada con el código seleccionado y el factor de ensanchado correspondiente. Finalmente se puede ver cómo queda la señal conformada que se envía al canal.

Cada una de estas señales a su vez se puede observar según distintas modalidades, esto es, en su representación en el dominio del tiempo, constelación, espectro en frecuencia y diagrama de ojo.

Se ha agregado al programa un botón cuyo icono es el símbolo de un

disquete junto a cada botón de ‘Representar’. Este botón lanza una nueva figura con el mismo contenido que el mostrado en la gráfica asociada al representar, pero que admite la posibilidad de ser almacenada en disco para una posterior consulta o comparación de simulaciones.

Page 53: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Simulador en Matlab III-9

Simulador de un sistema de comunicaciones W-CDMA de UMTS

0 1 2 3 4 5 6 7 8-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

50 100 150 200 250 300 350 400 450-1.5

-1

-0.5

0

0.5

1

1.5

500 1000 1500 2000 2500 300

-1

-0.5

0

0.5

1

De entre los resultados que se pueden apreciar en el transmisor, se puede destacar en primera instancia el proceso de ensanchado en el dominio del tiempo, desde que se generan los símbolos (figura 3.12) hasta que se conforma la señal QPSK (3.14), pasando por el ensanchamiento de la señal (3.13).

Figura 3.12

Figura 3.13

Figura 3.14

Page 54: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Simulador en Matlab III-10

Simulador de un sistema de comunicaciones W-CDMA de UMTS

-8 -6 -4 -2 0 2 4 6 8

x 106

-160

-140

-120

-100

-80

-60

-40

-20

0

20

40

-8 -6 -4 -2 0 2 4 6 8

x 106

-100

-80

-60

-40

-20

0

20

Otro resultado importante a reseñar es la forma del espectro ensanchado de la señal transmitida. Este depende del código seleccionado, de forma que la caída entre el lóbulo principal y los secundarios es mayor en los códigos cuya función de autocorrelación es más parecida a una delta. Por tanto, en el código gold (figura 3.15) los lóbulos secundarios son menos significativos que en el walsh (3.16).

Figura 3.15

Figura 3.16

Page 55: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Simulador en Matlab III-11

Simulador de un sistema de comunicaciones W-CDMA de UMTS

-8 -6 -4 -2 0 2 4 6 8

x 106

-120

-100

-80

-60

-40

-20

0

20

40

-8 -6 -4 -2 0 2 4 6 8

x 106

-160

-140

-120

-100

-80

-60

-40

-20

0

20

40

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

Asimismo el espectro también depende fuertemente de la longitud del pulso de transmisión, ya que al aumentar la duración del mismo el efecto de enventanado en el tiempo que sufre la señal es menor, por lo que los lóbulos secundarios decrecen. En la figura 3.17 se muestra la diferencia entre los espectros en frecuencia de las señales conformadas empleando para ello un pulso raíz de coseno alzado de longitud 4 chips en el primer caso, y 30 chips en el segundo.

Figura 3.17

También es apreciable una subida en decibelios de estos lóbulos

secundarios al pasar de utilizar un pulso de coseno alzado a otro con raíz de coseno alzado. En lo que a la constelación se refiere, se puede observar en la figura 3.18 el paso de una constelación de una única dimensión para el caso de la señal ensanchada, con ± 1 como valores posibles, a otra de dos dimensiones para la señal conformada QPSK, donde los cuatro símbolos pueden tomar los valores complejos ±1±j.

Figura 3.18

Page 56: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Simulador en Matlab III-12

Simulador de un sistema de comunicaciones W-CDMA de UMTS

-0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5-2

-1.5

-1

-0.5

0

0.5

1

1.5

-0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4-1.5

-1

-0.5

0

0.5

1

El diagrama de ojo traza todas las posibles transiciones entre símbolos. Para los símbolos generados y señal ensanchada son únicamente rectas entre 1 y -1, ya que son secuencias cuadradas. Sin embargo para la señal conformada ya sí es significativa esta simulación, ya que permite situar el instante de muestreo en aquel punto donde la apertura del ojo es máxima. En las figuras 3.19 y 3.20 se representan los diagramas de ojo para una señal generada con un código aleatorio, y con pulsos de coseno alzado y raíz de coseno alzado respectivamente.

Figura 3.19

Figura 3.20

Page 57: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Simulador en Matlab III-13

Simulador de un sistema de comunicaciones W-CDMA de UMTS

-0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5-1.5

-1

-0.5

0

0.5

1

1.5

-0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5-1.5

-1

-0.5

0

0.5

1

1.5

También es sensiblemente distinto el diagrama de ojo según se escoja un código walsh u otro más aleatorio como el código gold. Este hecho se puede observar en la figura 3.21.

Figura 3.21

Al igual que en el menú principal y en el resto de pantallas del simulador, en el transmisor se ha implementado una ventana de ayuda que se despliega al pulsar en el icono de la interrogación y que explica brevemente la función de cada control de la pantalla.

Figura 3.22

Page 58: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Simulador en Matlab III-14

Simulador de un sistema de comunicaciones W-CDMA de UMTS

III.4. CANAL El canal representa el medio de transmisión por el cual transita la señal de información desde el momento en que es expulsada por la antena del transmisor hasta que es capturada por la del receptor. En este periodo de tiempo lo ideal sería que la señal no sufriera alteraciones en sus magnitudes, con el objeto de recibir exactamente lo mismo que se transmitió. Sin embargo, en la realidad esto no es posible ya que sobre el medio actúan diversos factores que distorsionan la señal recibida con respecto a la trasmitida. En el simulador se implementan dos efectos que tienen lugar sobre la señal en un canal de comunicaciones móviles. Por un lado el ruido blanco que se le añade a la señal a su paso por el canal, y por otro lado el efecto multitrayecto debido a la reflexión de la señal transmitida en diversos puntos y su consiguiente recepción retrasada y atenuada.

Figura 3.23 Como se observa en la figura 3.23, en la pantalla correspondiente al canal se tienen dos secciones cada una con sus controles y sus ejes de representación. A la izquierda está situado el control sobre la relación señal a ruido, y a la derecha la configuración del multitrayecto.

Page 59: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Simulador en Matlab III-15

Simulador de un sistema de comunicaciones W-CDMA de UMTS

0 2000 4000 6000 8000 10000 12000 14000 16000 18000

-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

III.4.1. Ruido Con el parámetro ‘Eb/No’ se puede controlar la relación entre la energía de bit de la señal y la densidad de ruido introducido. Este ruido es blanco gaussiano complejo, de forma que se generan dos componentes de ruido independientes que componen un único ruido complejo, el cual se añade a la señal envolvente compleja transmitida.

Para expresar dicha relación en escala logarítmica, se parte de una energía de bit igual a la unidad en escala lineal. A partir de esta y de la relación ‘Eb/No’ seleccionada, se despeja el valor de ‘No’ para obtener dicha relación, y con él se calcula la varianza del ruido a generar.

Como se aprecia en la figura 3.24, la representación del ruido en el

dominio del tiempo es una señal totalmente aleatoria cuyas muestras están completamente incorreladas.

Figura 3.24

Este hecho se traduce en una densidad espectral de potencia plana, como corresponde a todo ruido blanco. Si transformamos esta densidad espectral del dominio de la frecuencia al dominio temporal, su equivalente es una función de autocorrelación con la forma de una delta en el origen. Como se explicó anteriormente, a la hora de calcular la relación entre la energía de señal y de ruido la primera permanece fija y es la segunda la que varía, de forma que al disminuir la relación es el ruido el que se incrementa y viceversa. Esto se puede observar en la autocorrelación del ruido, ya que la potencia del mismo viene determinada por el valor de su función de autocorrelación en el origen. En la figura 3.25 se ve como este valor central es menor para una ‘Eb/No’ de 2 dB que de 10 dB.

Page 60: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Simulador en Matlab III-16

Simulador de un sistema de comunicaciones W-CDMA de UMTS

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5

x 104

-500

0

500

1000

1500

2000

2500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5

x 104

-2000

0

2000

4000

6000

8000

10000

12000

14000

0 500 1000 1500 2000 2500 3000 3500-1.5

-1

-0.5

0

0.5

1

1.5

500 1000 1500 2000 2500 3000 3500

-1

-0.5

0

0.5

1

Figura 3.25

III.4.2. Multitrayecto El efecto multitrayecto tiene en cuenta que en un canal de comunicaciones móviles la señal se refleja múltiples veces antes de alcanzar el receptor, de modo que lo que finalmente se recibe son réplicas del rayo principal retrasadas y atenuadas. En el simulador se ha considerado únicamente un rayo reflejado, el cual es atenuado una cierta cantidad seleccionada en dB con respecto al rayo principal, y retrasado un tiempo en microsegundos, mostrándose también su equivalente en chips calculado a partir de la tasa de chip seleccionada.

El multitrayecto al igual que el ruido hace que la constelación de la señal sea más dispersa, acercándose entre sí las nubes de puntos correspondientes a los símbolos. Por esta razón se producen más errores en la transmisión al ser más estrechas las regiones de decisión, y es necesario recurrir a un tipo de receptor como el Rake para mantener la probabilidad de error dentro de los márgenes deseados, ya que el filtro adaptado deja de funcionar adecuadamente en estas condiciones. No obstante esto se estudiará en el apartado dedicado al receptor.

Figura 3.26

Page 61: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Simulador en Matlab III-17

Simulador de un sistema de comunicaciones W-CDMA de UMTS

En la figura 3.26 se muestra en la gráfica de la izquierda un multitrayecto

de dos rayos en el cual no existe retardo entre el rayo principal en azul y el secundario en rojo, pero sí una atenuación de 3 dB, o lo que es lo mismo, el rayo reflejado es la mitad del principal. De esta forma, es como si se tratase de un único rayo recibido pero de mayor potencia. Por el contrario, en la gráfica situada a la derecha, el rayo secundario está retrasado 2 chips y su influencia es casi despreciable al estar atenuado 8 dB con respecto al rayo principal. La ventana de ayuda del canal se puede ver en la figura 3.27, y en ella se explica la utilidad de los controles que permiten configurar tanto la relación señal a ruido como las características del rayo reflejado.

Figura 3.27

Page 62: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Simulador en Matlab III-18

Simulador de un sistema de comunicaciones W-CDMA de UMTS

III.5. RECEPTOR El receptor es la estructura que recoge la señal procedente del canal por medio de una antena y la procesa con el fin de recuperar la señal propagada por el transmisor. El objetivo final es obtener unos símbolos {±1} que difieran en el menor número posible de los originales, y así completar la comunicación con éxito. En la pantalla del receptor del simulador que se muestra en la figura 3.28 se han implementado tres secciones: una primera donde se escoge el tipo de receptor con que se va a tratar la señal y se representa un diagrama de bloques con su estructura, siendo las opciones un filtro adaptado o un receptor rake. En la parte central se puede visualizar la señal recibida en distintos puntos del receptor y según las mismas modalidades que en el transmisor. Por último, en la parte derecha se compara lo transmitido con lo recibido a nivel de símbolos, de constelación, y de probabilidad de error.

Figura 3.28

Page 63: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Simulador en Matlab III-19

Simulador de un sistema de comunicaciones W-CDMA de UMTS

III.5.1. Ajustes del receptor

En esta sección se determina el tipo de receptor que va a demodular la señal de entre dos posibilidades: un filtro adaptado, o un receptor rake, mostrándose a continuación un esquema que contiene un diagrama de bloques con la implementación genérica de esa estructura.

Figura 3.29

El receptor basado en un filtro adaptado se muestra en la figura 3.29 y realiza el siguiente procesado:

• En primer lugar toma la señal procedente del canal y la convoluciona o hace pasar por un filtro adaptado al pulso de transmisión que se seleccionase.

• Seguidamente muestrea la señal filtrada completa para quedarse con

una de cada Nm muestras.

• A continuación elimina las Long_cos primeras muestras tomadas, ya que estas se corresponden con las colas iniciales del coseno alzado que da forma al primer chip de la señal, considerando estas colas dos veces al haberse convolucionado también en recepción.

• Se iguala la longitud de esta señal con la original con el objeto de

comparar secuencias de la misma longitud en el detector.

• Las componentes en fase y cuadratura se funden en una sola señal o secuencia de chips.

• Se realiza el desensanchado de la señal multiplicándola por el código de

ensanchado utilizado en el transmisor y promediando el resultado por el número de chips por símbolo, obteniendo una secuencia de símbolos {±1}.

Page 64: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Simulador en Matlab III-20

Simulador de un sistema de comunicaciones W-CDMA de UMTS

• Por último esta secuencia de símbolos se pasa al detector, donde se deciden los símbolos transmitidos y se comparan uno a uno los símbolos que se transmitieron realmente, para posteriormente calcular la probabilidad de error repitiendo esta simulación para un rango de valores de la relación señal a ruido.

El filtro adaptado es el receptor óptimo para canales donde únicamente

hay ruido blanco aditivo y gaussiano. Sin embargo, en el simulador también se ha implementado un segundo efecto provocado por el canal que no es más que el multitrayecto. En estos casos, como se verá más adelante, la probabilidad de error se debilita al hacerse más significativo este efecto, y por tanto es bueno recurrir a otro tipo de receptor como es el rake, lo cual se acentúa si se consideran varios usuarios transmisores como ocurre en un sistema CDMA, donde cada uno utiliza un código distinto, creándose una interferencia multiusuario.

Figura 3.30

En la figura 3.30 se observa el esquema de un receptor rake, y a

continuación se describe brevemente el funcionamiento que desempeña en el simulador, el cual es bastante simple:

• El receptor está compuesto por una serie de dedos o ramas (en el

simulador se han considerado dos), cada uno de los cuales toma a su entrada la señal procedente del canal y la correlaciona con el código de ensanchado escogido en el transmisor.

• La diferencia entre los distintos dedos radica en que los códigos están

retrasados un cierto retardo igual al introducido en el canal. • Cuando la señal y el código coinciden en una secuencia de chips de

esta, la correlación da cómo resultado un máximo en el origen, que será {±1} en función del símbolo transmitido, como se puede apreciar claramente en la figura 3.31.

Page 65: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Simulador en Matlab III-21

Simulador de un sistema de comunicaciones W-CDMA de UMTS

2 2.2 2.4 2.6 2.8 3 3.2 3.4 3.6 3.8 4

x 104

-2500

-2000

-1500

-1000

-500

0

500

1000

1500

2000

2500

Figura 3.31 • A continuación las salidas de todos los dedos se combinan ponderando

cada rama por un coeficiente de atenuación que depende de lo que se ha atenuado cada rayo en el canal.

• Tanto para conocer el retraso introducido a cada rayo del canal como

para averiguar el coeficiente de atenuación es necesario estimar el canal con métodos destinados para este fin, al tratarse de variables aleatorias. No obstante, en el simulador se consideran parámetros estáticos, quedando fuera del alcance del proyecto la estimación estadística de sus valores.

• Esta señal reforzada con las contribuciones de todas las ramas del rake

mejora en relación señal a ruido con respecto al rayo principal. Para obtener los valores importantes, se muestrea con un periodo de muestreo igual al número de muestras por chip, multiplicado por la longitud del código de ensanchado, y dividido por dos.

• Estos valores son los que se pasan al decisor para que este estime qué

símbolos se transmitieron a partir de lo que se ha conseguido recibir. Para ello, al igual que en el caso anterior, de lo que se trata es de medir la distancia de cada uno de los símbolos que entran al decisor a los posibles transmitidos, optándose por aquel cuya distancia sea mínima.

Page 66: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Simulador en Matlab III-22

Simulador de un sistema de comunicaciones W-CDMA de UMTS

-1.5 -1 -0.5 0 0.5 1 1.5-1.5

-1

-0.5

0

0.5

1

1.5

150 200 250 300 350

-1

-0.5

0

0.5

1

III.5.2. Señal recibida Este es el apartado donde se visualiza la señal obtenida en distintos puntos del receptor, dependiendo de la configuración del sistema escogida en cada uno de los bloques que lo componen. Se puede representar en primer lugar la ‘señal recibida’, entendiendo por ella la señal que llega a la antena receptora, es decir, la señal que se transmitió distorsionada por el canal, por lo que independientemente del tipo de receptor elegido, esta señal será la misma.

Figura 3.32

Del mismo modo se puede analizar la ‘señal filtrada’, la cual no es más que la secuencia que hay a la salida del filtro adaptado, ya con una única componente, y con las colas eliminadas. En el caso de haber optado por un receptor rake, entonces se trata de la señal justo a la entrada del decisor, es decir, una vez correlada, combinada y muestreada debidamente. Por último, ‘símbolos decididos’, como su nombre indica, hace referencia a la señal a la salida del decisor, y por tanto son los datos finales extraídos del proceso de comunicación. De forma análoga al transmisor, todas estas señales comentadas pueden ser visualizadas según varias modalidades de representación. La más intuitiva es la representación en el tiempo, sin embargo de ella poca información se puede extraer sobre cómo ha sido la transmisión. La constelación en cambio sí puede aportar datos sobre la cantidad de errores que se pueden haber producido, analizando la dispersión de la misma. El diagrama de ojo muestra todas las transiciones que se producen a lo largo de la transmisión, pudiendo deducir el instante óptimo de muestreo en función de la máxima apertura del ojo. El espectro en frecuencia permite ver para qué rango de frecuencias la señal transmitida se ve más afectada por los efectos del canal.

Page 67: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Simulador en Matlab III-23

Simulador de un sistema de comunicaciones W-CDMA de UMTS

100 200 300 400 500 600-2

-1.5

-1

-0.5

0

0.5

1

1.5

0.9 0.95 1 1.05 1.1

0.85

0.9

0.95

1

1.05

1.1

1.15

III.5.3. Comparación Tx-Rx Esta es una sección de gran importancia en el simulador, ya que se ha creado con el objeto de poder analizar sobre el mismo simulador lo buena o mala que es la comunicación según los parámetros elegidos en cada subsistema, comparando para ello lo transmitido con lo recibido. Dicha comparación se puede realizar tanto a nivel de señal o secuencia de símbolos, como a nivel de constelaciones. En cualquier caso lo correspondiente al transmisor queda expuesto en color azul, mientras que lo propio del receptor se representa en rojo, tal como se muestra en las figuras 3.33 y 3.34.

Figura 3.33

Figura 3.34

Page 68: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Simulador en Matlab III-24

Simulador de un sistema de comunicaciones W-CDMA de UMTS

2 3 4 5 6 7 8 910-5

10-4

10-3

10-2

10-1

Relación Señal-Ruido Eb/No(dB)

Pro

babi

lidad

de

Erro

r de

chip

2 2.5 3 3.5 4 4.5 5 5.5 6 6.5 710

-4

10-3

10-2

10-1

Relación Señal-Ruido Eb/No(dB)

Pro

babi

lidad

de

Erro

r de

chip

La última parte pero sin duda la más relevante es aquella donde se calcula la probabilidad de error de la comunicación. Para ello, se llevan a cabo una serie de simulaciones del proceso de transmisión, incrementando en cada iteración la relación Eb/No en un decibelio, de forma que en cada una de ellas la señal transmitida pasa por un canal con la relación señal a ruido correspondiente, y por tanto con un ruido aleatorio diferente en cada caso, al igual que el multitrayecto. En recepción se demodula y se detecta como antes se explicó, y por último se comparan los símbolos decididos con los que en realidad se transmitieron, contando el número de errores producidos en cada iteración y representando la curva correspondiente.

Figura 3.35 Se ha añadido una pestaña en el simulador que da la opción de plasmar junto a la probabilidad de error real obtenida, la curva que representa la probabilidad de error teórica para una modulación QPSK en un canal de ruido blanco, aditivo y gaussiano. Como se puede apreciar en la figura 3.36, la separación entre ambas gráficas real (azul) y teórica (roja) es mínima.

Figura 3.36

Page 69: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Simulador en Matlab III-25

Simulador de un sistema de comunicaciones W-CDMA de UMTS

Hay que reseñar el hecho de que la cantidad de errores que se mide en cada iteración del cálculo de la probabilidad de error es una cantidad muy pequeña, especialmente cuanto mayor es la relación entre la energía de señal y el ruido. Esto hace que para obtener un error en estos casos, sea necesario comparar decenas de miles de símbolos, y cada uno de ellos está compuesto por SF chips, que a su vez se dividen en Nm muestras. Esto supone una gran carga computacional para el lenguaje de simulación, que ralentiza considerablemente la obtención de los resultados, llegando a hacerse imposible en ocasiones debido al bloqueo que sufre la aplicación. Por este motivo, se ha optado por calcular la probabilidad de error a nivel de chips en el caso del filtro adaptado, esto es, comparar la secuencia trasmitida una vez ensanchada con la señal filtrada y detectada directamente, sin un desensanchado previo. Así se consigue aliviar fuertemente la carga computacional, y se pueden obtener resultados con una fiabilidad bastante aceptable esperando un tiempo comprendido entre los 10 y 15 segundos. Para el receptor rake no se puede llevar a cabo esta comparación a nivel de chips, ya que al correlar la señal recibida con el código se obtienen valores {±1} que ya son símbolos, de modo que en esta situación se ha optado por agregar factores de ensanchado más pequeños (16 u 8), de forma que se seleccione una gran cantidad de símbolos a transmitir (entre 3000 y 4000), pero con estos SF, y un número de muestras inferior al habitual (en torno a 4), de modo que se puedan comparar un número importante de símbolos.

Esta fórmula no da buen resultado con el filtro adaptado, ya que el procesamiento que tiene que hacer por cada símbolo es mucho mayor, al tener que hacer una convolución, y posteriormente un desensanchado de la señal, con lo que se retoma el problema inicial de la carga computacional. Por este motivo, se ha optado por calcular la probabilidad de error a nivel de chip o símbolo en función del tipo de receptor seleccionado, realizando una conversión a nivel de chip en el caso de calcularla con un rake. Obviamente los resultados obtenidos son tanto más fiables y menos irregulares en la medida en que se aumente el número de símbolos a transmitir. Sin embargo, como ya se ha comentado, se debe llegar a un compromiso para no cargar en exceso a MATLAB, y poder visualizar los resultados en un tiempo razonable. Como se puede apreciar en la figura 3.37, para una misma configuración del sistema en cuanto a dejar intactos los valores marcados para los parámetros, las diversas simulaciones que se van sucediendo no difieren entre sí de forma significativa. La diferencia es más palpable para valores altos de la relación Eb/No, ya que ahí la cantidad de errores que se produce es ínfima y por tanto varía un alto porcentaje en cada simulación, mientras que para valores menores el número de errores permanece más constante.

Page 70: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Simulador en Matlab III-26

Simulador de un sistema de comunicaciones W-CDMA de UMTS

2 3 4 5 6 7 8 910-5

10-4

10-3

10-2

10-1

Relación Señal-Ruido Eb/No(dB)

Pro

babi

lidad

de

Erro

r de

chip

Figura 3.37

Todas estas gráficas, al igual que las demás, se pueden guardar en disco para su posterior consulta o análisis, sin más que hacer click sobre el icono de un disquete que está situado junto al botón de representar, y seleccionando ‘Guardar como’ en el menú ‘Archivo’ de la ventana que se abre, especificando la ubicación donde se desea colocar el archivo.

Figura 3.38

Page 71: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Simulador en Matlab III-27

Simulador de un sistema de comunicaciones W-CDMA de UMTS

0 100 200 300 400 500 600150

100

-50

0

50

100

150

200

250

300

0 5 10 15 20 25 30 35 40 45 50-0.2

0

0.2

0.4

0.6

0.8

1

1.2

0 1 2 3 4 5 6 7

x 104

-1000

0

1000

2000

3000

4000

5000

3000 3100 3200 3300 3400 3500 3600 3700 3800 3900 4000

-1

-0.5

0

0.5

1

III.6. CASOS PRÁCTICOS III.6.1. Código Walsh / Canal AWGN / Filtro Adaptado

Transmisor

Número de símbolos 30

Factor de ensanchado 256

Código walsh (256)

Pulso de transmisión coseno alzado

Factor de roll-off 0.22

Longitud del pulso 6 chips

Muestras por chip 8 Autocorrelación del código Pulso de transmisión

Figura 3.39

Canal

Relación Eb/No 8 dB

Atenuación multitrayecto 10 dB

Retraso Multitrayecto 0 chips

Autocorrelación del ruido Multitrayecto

Figura 3.40

Page 72: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Simulador en Matlab III-28

Simulador de un sistema de comunicaciones W-CDMA de UMTS

-1.5 -1 -0.5 0 0.5 1 1.5-1.5

-1

-0.5

0

0.5

1

1.5

-0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5-1.5

-1

-0.5

0

0.5

1

1.5

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2

x 107

-15

-10

-5

0

5

10

15

20

25

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2

x 107

-120

-100

-80

-60

-40

-20

0

20

40

-0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6-1.5

-1

-0.5

0

0.5

1

1.5

Receptor Constelación transmitida Constelación recibida

Figura 3.41

Espectro transmitido Espectro recibido

Figura 3.42

Diagrama de ojo transmitido Diagrama de ojo recibido

Figura 3.43

Page 73: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Simulador en Matlab III-29

Simulador de un sistema de comunicaciones W-CDMA de UMTS

2 3 4 5 6 7 8 910-5

10-4

10-3

10-2

10-1

Relación Señal-Ruido Eb/No(dB)

Pro

babi

lidad

de

Erro

r de

chip

Probabilidad de error

Figura 3.44

Interpretación de los resultados El código walsh utilizado es el que presenta una función de autocorrelación menos parecida a una delta de las tres posibilidades incluidas en el simulador, a pesar de tratarse de la última fila de la matriz de Hadamard, y esto se traduce en unos lóbulos secundarios significativos en el espectro de la señal. Debido a las propiedades de estos códigos, existe una simetría que hace que al separar la señal en dos componentes en fase y cuadratura para formar la señal QPSK, la constelación quede con sólo dos puntos opuestos. Existe una clara dispersión en la constelación recibida con respecto a la transmitida, al igual que una menor apertura en el diagrama de ojo. Sin embargo, ambas características no están muy acentuadas debido a la ausencia del multitrayecto y a una gran relación señal a ruido. En cuanto a la probabilidad de error, la curva real prácticamente se superpone con la teórica de la modulación QPSK. Esto se debe a dos motivos: en primer lugar a que se han generado un número de muestras suficientes para poder realizar la medida con fiabilidad, y en segundo lugar a que el multitrayecto es inexistente o despreciable, con lo que el canal es un AWGN, y como el demodulador es un filtro adaptado, se tienen las condiciones supuestas en el cálculo de la probabilidad de error teórica.

Page 74: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Simulador en Matlab III-30

Simulador de un sistema de comunicaciones W-CDMA de UMTS

0 500 1000 1500 2000 2500-200

0

200

400

600

800

1000

1200

0 5 10 15 20 25 30-0.2

0

0.2

0.4

0.6

0.8

1

1.2

0 1 2 3 4 5 6

x 104

-1000

0

1000

2000

3000

4000

5000

6000

7000

8000

9000

1.18 1.19 1.2 1.21 1.22 1.23 1.24 1.25 1.26 1.27

x 104

-1.5

-1

-0.5

0

0.5

1

1.5

III.6.2. Código Gold / Canal Multitrayecto / Filtro Adaptado

Transmisor

Número de símbolos 10

Factor de ensanchado 1023

Código gold

Pulso de transmisión raíz de coseno alzado

Factor de roll-off 0.5

Longitud del pulso 6 chips

Muestras por chip 6 Autocorrelación del código Pulso de transmisión

Figura 3.45

Canal

Relación Eb/No 5 dB

Atenuación multitrayecto 3 dB

Retraso Multitrayecto 1.6 chips

Autocorrelación del ruido Multitrayecto

Figura 3.46

Page 75: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Simulador en Matlab III-31

Simulador de un sistema de comunicaciones W-CDMA de UMTS

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1

x 107

-20

-15

-10

-5

0

5

10

-0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4-1.5

-1

-0.5

0

0.5

1

1.5

-2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 2.5-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1

x 107

-15

-10

-5

0

5

10

-0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5-2.5

-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

2.5

Receptor

Constelación transmitida Constelación recibida

Figura 3.47

Espectro transmitido Espectro recibido

Figura 3.48

Diagrama de ojo transmitido Diagrama de ojo recibido

Figura 3.49

Page 76: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Simulador en Matlab III-32

Simulador de un sistema de comunicaciones W-CDMA de UMTS

2 3 4 5 6 7 8 910-5

10-4

10-3

10-2

10-1

100

Relación Señal-Ruido Eb/No(dB)P

roba

bilid

ad d

e E

rror d

e ch

ip

2 3 4 5 6 7 8 910

-5

10-4

10-3

10-2

10-1

Relación Señal-Ruido Eb/No(dB)

Pro

babi

lidad

de

Erro

r de

chip

Probabilidad de error

Atenuación multitrayecto = 7 dB Atenuación multitrayecto = 3 dB

Figura 3.50

Interpretación de los resultados

En contraposición con el caso anterior, el código gold sí demuestra una mejor autocorrelación y por lo tanto los lóbulos secundarios de la señal en frecuencia son menos importantes. A su vez, al usarse el pulso raíz de coseno alzado en esta ocasión hace que el nivel del espectro suba unos decibelios con respecto al coseno alzado. La constelación ahora presenta la forma de una QPSK de 4 puntos. Esta constelación, junto con el diagrama de ojo, quedan distorsionados notablemente como consecuencia de su paso por un canal ruidoso pero además con un fuerte efecto multitrayecto. El hecho de que los puntos correspondientes a las distintas regiones estén tan próximos entre sí denota que los errores en la comunicación van a aumentar, y prueba de ello es la subida que experimenta la curva de la probabilidad de error. Haciendo referencia a la probabilidad de error, en la figura 3.50 se expone la simulación de la misma efectuada para un multitrayecto débil (izquierda) y otro fuerte (derecha). Se aprecia claramente el empeoramiento de la probabilidad de error conforme se decrementa la atenuación del rayo reflejado, y esto demuestra que un receptor que demodula con un filtro adaptado no se comporta adecuadamente cuando en el canal hay varias copias de la señal retrasadas. En estos casos, la alternativa pasa por hacer uso de un receptor rake, como se verá en el caso siguiente.

Page 77: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Simulador en Matlab III-33

Simulador de un sistema de comunicaciones W-CDMA de UMTS

0 5 10 15 20 25 30 35-5

0

5

10

15

20

0 5 10 15 20 25-0.2

0

0.2

0.4

0.6

0.8

1

1.2

0 0.5 1 1.5 2 2.5

x 105

-0.5

0

0.5

1

1.5

2

2.5

3

3.5

4x 104

5.2 5.205 5.21 5.215 5.22 5.225 5.23

x 104

-1.5

-1

-0.5

0

0.5

1

1.5

III.6.3. Código Aleatorio / Canal Multitrayecto / Receptor Rake

Transmisor

Número de símbolos 3751

Factor de ensanchado 16

Código aleatorio

Pulso de transmisión raíz de coseno alzado

Factor de roll-off 0.22

Longitud del pulso 6 chips

Muestras por chip 4 Autocorrelación del código Pulso de transmisión

Figura 3.51

Canal

Relación Eb/No 5 dB

Atenuación multitrayecto 3 dB

Retraso Multitrayecto 1.5 chips

Autocorrelación del ruido Multitrayecto

Figura 3.52

Page 78: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Simulador en Matlab III-34

Simulador de un sistema de comunicaciones W-CDMA de UMTS

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

-8 -6 -4 -2 0 2 4 6 8

x 106

-70

-60

-50

-40

-30

-20

-10

0

10

20

-0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5-1.5

-1

-0.5

0

0.5

1

1.5

-8 -6 -4 -2 0 2 4 6 8

x 106

-10

-5

0

5

10

15

-60 -40 -20 0 20 40 60-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

-0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5-60

-40

-20

0

20

40

60

Receptor Constelación transmitida Constelación recibida

Figura 3.53

Espectro transmitido Espectro recibido

Figura 3.54

Diagrama de ojo transmitido Diagrama de ojo recibido

Figura 3.55

Page 79: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Simulador en Matlab III-35

Simulador de un sistema de comunicaciones W-CDMA de UMTS

2 3 4 5 6 7 8 910-5

10-4

10-3

10-2

10-1

Relación Señal-Ruido Eb/No(dB)

Pro

babi

lidad

de

Erro

r de

chip

Probabilidad de error

Figura 3.56

Interpretación de los resultados

Como se argumentó anteriormente, para utilizar el receptor rake se toma la opción de un alto número de símbolos con un bajo factor de ensanchado. El código se ha generado según una distribución estadística uniforme, y se parece en cuanto a aleatoriedad más al gold que al walsh. La constelación en transmisión vuelve a ser cuadrada, mientras que en recepción son valores alrededor de {±1}, ya que una vez correlada y combinada la señal el resultado son los símbolos. El diagrama de ojo a la entrada de los correladores es prácticamente una nube de puntos. La representación de la probabilidad de error muestra tres curvas. Por un lado, la línea roja se corresponde con la QPSK teórica. La azul es la asociada al filtro adaptado, mientras que la verde representa la probabilidad de error usando el receptor rake. Con este último experimento se pretende poner de manifiesto que en presencia de multitrayecto el receptor rake se comporta mejor que el filtro adaptado en cuanto a probabilidad de error.

Page 80: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Conclusiones y líneas futuras IV-1

Simulador de un sistema de comunicaciones W-CDMA de UMTS

Capítulo IV Conclusiones y líneas futuras IV.1. CONCLUSIONES Debido al gran crecimiento de los sistemas de comunicaciones basados en la técnica de acceso DS-CDMA, como es el caso de los sistemas de tercera generación de telefonía móvil UMTS, la plataforma o simulador desarrollado es de gran utilidad para simular el proceso completo de la comunicación, entendiendo por ello el transmisor, distintos modelos de canales, y el receptor. Una característica importante es la posibilidad de medir la probabilidad de error de una señal W-CDMA para distintas configuraciones del sistema, comparando los resultados obtenidos con las curvas teóricas correspondientes a la modulación QPSK. Analizando los resultados obtenidos en las simulaciones realizadas se puede observar como el hecho de expandir el espectro multiplicando la secuencia de datos por un código de ensanchado con buenas características de autocorrelación hace que el sistema sea más robusto ante degradaciones del canal, reduciéndose considerablemente su probabilidad de error. Asimismo, esta probabilidad de error depende fuertemente de las condiciones del canal, y del receptor que demodule la señal. En este aspecto, si el canal es del tipo AWGN, el receptor óptimo es un filtro adaptado al pulso que da forma a la señal transmitida. Sin embargo, este receptor deja de funcionar bien en el momento en que se introducen otros efectos como el multitrayecto, en cuyo caso el adecuado es el receptor Rake, que consigue mantener la probabilidad de error más baja que el anterior.

Page 81: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Conclusiones y líneas futuras IV-2

Simulador de un sistema de comunicaciones W-CDMA de UMTS

IV.2. LÍNEAS FUTURAS DE INVESTIGACIÓN A partir del trabajo llevado a cabo en este proyecto, se presentan múltiples opciones que podrían completarlo y sobre las que sería interesante profundizar:

• Durante el desarrollo del proyecto se ha considerado en todo momento que sólo transmite un usuario, por lo que la señal que llega al receptor es la que este transmite, junto con una réplica de ella misma. Sería interesante ver el comportamiento de la probabilidad de error cuando transmiten más de un usuario y se produce en el receptor interferencia multiusuario (MAI), y como el receptor rake es el idóneo en estas condiciones.

• El simulador será tanto más real en la medida en que implemente más

efectos, por lo que centrándose en el canal sería bueno modelar este de una forma más semejante a la realidad incluyendo en él el efecto Doppler. También sería un buen trabajo dejar de considerar los retrasos y atenuaciones del canal como parámetros deterministas, e implementar algún módulo que estime estos valores aleatorios del canal.

• Por último, se podría proponer la opción de integrar el simulador con

dispositivos de generación y procesamiento de señal del laboratorio, de forma que se convierta en una herramienta más práctica y haga posible monitorizar el proceso de transmisión y recepción de la señal de manera cómoda y sencilla. Para ello, habría que generar señales reales en estos aparatos, transformarlos en archivos .m aptos para MATLAB, y hacer que la señal de entrada del simulador sea tomada de este archivo en lugar de ser generada aleatoriamente.

Page 82: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Anexo Anexo-1

Simulador de un sistema de comunicaciones W-CDMA de UMTS

Anexo Funciones diseñadas A.1. FIGURAS o GUIS

• menu.fig : menú principal del simulador que se abre al cargar el programa o regresar desde otra ventana. Contiene los accesos a las distintas partes del sistema, esto es, transmisor, canal y receptor.

• ayuda_menu.fig : pantalla de ayuda sobre las opciones posibles en el

menú principal. • transmisor.fig : ventana correspondiente al transmisor, donde se

configuran todos los parámetros relativos al ensanchado, conformación y visualización de la señal transmitida.

• ayuda_txor.fig : pantalla de ayuda sobre las opciones posibles en el

transmisor.

• canal.fig : figura para determinar tanto el ruido introducido por el canal como el multitrayecto.

• ayuda_canal.fig : pantalla de ayuda sobre las opciones posibles en el

canal.

• receptor.fig : interfaz asociada al sistema receptor, cuyo objeto es seleccionar el tipo de receptor a emplear y visualizar y analizar los resultados de la transmisión.

• ayuda_rxor.fig : pantalla de ayuda sobre las opciones posibles en el

receptor.

• walsh.fig : ventana que se lanza al seleccionar el tipo de código ‘walsh’ en el transmisor, y permite escoger de entre los SF códigos posibles contenidos en la matriz de Hadamard de orden SF.

Page 83: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Anexo Anexo-2

Simulador de un sistema de comunicaciones W-CDMA de UMTS

A.2. FUNCIONES

• actualiza_codigo.m : genera un secuencia de ensanchado o código nuevo cuando se modifica la longitud de SF.

function actualiza_codigo(ind) global codigo subcodigo SF; switch ind case 1, codigo=0; aleatorio; case 2, codigo=1; subcodigo=SF; walsh; end

• adaptado.m : filtra la señal con el pulso de transmisión seleccionado, muestreando el resultado cada Nm muestras.

function [r_val]=adaptado(comp) global pulso h Nm; if pulso == 0 r_ada=filter(h,1,comp); % Filtro adaptado al pulso de transmision r_val=r_ada(1:Nm:length(comp)); % Muestreo: se queda con una de cada Nm end

• aleatorio.m : genera un código aleatorio de longitud SF, siguiendo una distribución estadística uniforme.

function [codigo1]=aleatorio() global SF codigo1 subcodigo; codigo1=2*round(rand(1,SF))-1; subcodigo=SF;

• ayuda_canal.m : función que contiene el código asociado a la figura con

el mismo nombre. • ayuda_menu.m : función que contiene el código asociado a la figura

con el mismo nombre. • ayuda_rxor.m : función que contiene el código asociado a la figura con

el mismo nombre. • ayuda_txor.m : función que contiene el código asociado a la figura con

el mismo nombre. • ber_teorica.m : calcula la probabilidad de error teórica para una señal

modulada QPSK, en un canal AWGN. function [snr,ber]=ber_teorica() for EbNo=2:1:9, Eb=1; No=10^(-0.1*EbNo); x=sqrt(2*Eb/No); y=(1/2)*erfc(x/sqrt(2)); snr(EbNo-1)=EbNo; ber(EbNo-1)=y; end

Page 84: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Anexo Anexo-3

Simulador de un sistema de comunicaciones W-CDMA de UMTS

• canal.m : función que contiene el código asociado a la figura con el

mismo nombre. En ella programan las callbacks o rutinas que se ejecutan al seleccionar cada parámetro del canal.

function varargout = canal(varargin) % CANAL M-file for canal.fig % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @canal_OpeningFcn, ... 'gui_OutputFcn', @canal_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin & isstr(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT % --- Executes just before canal is made visible. function canal_OpeningFcn(hObject, eventdata, handles, varargin) % Choose default command line output for canal handles.output = hObject; % Update handles structure guidata(hObject, handles); % --- Outputs from this function are returned to the command line. function varargout = canal_OutputFcn(hObject, eventdata, handles) % Get default command line output from handles structure varargout{1} = handles.output; fondo=[0.83 0.81 0.78]; set(hObject,'color',fondo) set(hObject,'units','normalized') set(hObject,'position',[0 0 1 1]) %%% Titulo %%% function axes4_CreateFcn(hObject, eventdata, handles) a=imread('matlab.png'); axes(hObject) image(a) set(hObject,'xTickLabel',''); set(hObject,'yTickLabel',''); set(hObject,'xTick',0); set(hObject,'yTick',0); set(hObject,'box','on'); function axes7_CreateFcn(hObject, eventdata, handles) a=imread('umts.jpg'); axes(hObject) image(a) set(hObject,'xTickLabel',''); set(hObject,'yTickLabel',''); set(hObject,'xTick',0); set(hObject,'yTick',0); set(hObject,'box','on'); %%% Relacion Eb/No %%% function slider7_CreateFcn(hObject, eventdata, handles) set(hObject,'Value',5); global relacion; relacion=5; usewhitebg = 1; if usewhitebg

Page 85: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Anexo Anexo-4

Simulador de un sistema de comunicaciones W-CDMA de UMTS

set(hObject,'BackgroundColor',[.9 .9 .9]); else set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor')); end function slider7_Callback(hObject, eventdata, handles) global relacion; relacion=round(get(handles.slider7,'value')); set(handles.text34,'string',relacion); function text34_CreateFcn(hObject, eventdata, handles) set(hObject,'string','5'); %%% Modo de representacion %%% function radiobutton7_CreateFcn(hObject, eventdata, handles) global modoc; modoc=1; set(hObject,'value',1); function radiobutton7_Callback(hObject, eventdata, handles) set(handles.radiobutton7,'value',1); set(handles.radiobutton9,'value',0); global modoc; modoc=1; function radiobutton9_Callback(hObject, eventdata, handles) set(handles.radiobutton9,'value',1); set(handles.radiobutton7,'value',0); global modoc; modoc=2; %%% Representar ruido %%% function axes3_CreateFcn(hObject, eventdata, handles) global modoc; modoc=1; grid on; function pushbutton4_Callback(hObject, eventdata, handles) global relacion s N modoc ruido fig4; N=length(s); No=10^(-0.1*relacion); % sup. Eb=1=0 dB, se despeja No de SNR ruidoi=sqrt(No)*randn(1,N); ruidoj=sqrt(No)*randn(1,N); ruido=(1/2)*(ruidoi+j*ruidoj); axes(handles.axes3); switch modoc case 1, plot(ruidoi); fig4=figure(4); plot(ruidoi); grid on; set(fig4,'name','Ruido'); set(fig4,'Visible','off'); case 2, plot(xcorr(ruidoi)); fig4=figure(4); plot(xcorr(ruidoi)); grid on; set(fig4,'name','Ruido');

set(fig4,'Visible','off'); end if get(handles.checkbox1,'value')==1 set(handles.axes3,'xgrid','on'); set(handles.axes3,'ygrid','on') end set(handles.checkbox2,'value',0); %%% Grid %%% function checkbox1_CreateFcn(hObject, eventdata, handles) set(hObject,'Value',1); function checkbox1_Callback(hObject, eventdata, handles) if get(handles.checkbox1,'value')==1 set(handles.axes3,'xgrid','on'); set(handles.axes3,'ygrid','on') else set(handles.axes3,'xgrid','off'); set(handles.axes3,'ygrid','off') end %%% Zoom %%% function checkbox2_Callback(hObject, eventdata, handles) if get(handles.checkbox2,'value')==1 zoom else zoom off end

Page 86: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Anexo Anexo-5

Simulador de un sistema de comunicaciones W-CDMA de UMTS

%%% Atenuacion rayo reflejado %%% function slider8_CreateFcn(hObject, eventdata, handles) set(hObject,'Value',0); global atdb; atdb=0; usewhitebg = 1; if usewhitebg set(hObject,'BackgroundColor',[.9 .9 .9]); else set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor')); end function slider8_Callback(hObject, eventdata, handles) global atdb; atdb=round(get(handles.slider8,'value')); set(handles.text40,'string',atdb); function text40_CreateFcn(hObject, eventdata, handles) set(hObject,'string','0'); %%% Retraso rayo reflejado %%% function slider9_CreateFcn(hObject, eventdata, handles) set(hObject,'Value',0); global ret; ret=0; usewhitebg = 1; if usewhitebg set(hObject,'BackgroundColor',[.9 .9 .9]); else set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor')); end function slider9_Callback(hObject, eventdata, handles) global ret Nm Rc; ret=round(get(handles.slider9,'value')); chips=ret/Nm; set(handles.text43,'string',chips); Tc=(1/Rc)*1e6; us=Tc*chips; set(handles.text46,'string',us); function text43_CreateFcn(hObject, eventdata, handles) set(hObject,'string','0'); function text46_CreateFcn(hObject, eventdata, handles) set(hObject,'string','0'); %%% Representar multitrayecto %%% function pushbutton10_Callback(hObject, eventdata, handles) global s atdb ret rt fig5; r1=s; at=10^(-0.1*atdb); r2=at*[zeros(1,ret),r1(1:1:(length(r1)-ret))]; rt=r1+r2; axes(handles.axes12); plot(real(r1),'b'); hold on; plot(real(r2),'r'); hold off; grid on; zoom fig5=figure(5); plot(real(r1),'b'); hold on; plot(real(r2),'r'); hold off; grid on; set(fig5,'name','Multitrayecto');

set(fig5,'Visible','off'); %%% Volver %%% function pushbutton5_CreateFcn(hObject, eventdata, handles) atras = imread('atras.jpg'); set(hObject,'cdata',atras); function pushbutton5_Callback(hObject, eventdata, handles) global rt ruido t; t=rt+ruido; set(canal,'visible','off'); %%% Ayuda %%% function pushbutton8_CreateFcn(hObject, eventdata, handles) ayuda = imread('ayuda.jpg');

Page 87: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Anexo Anexo-6

Simulador de un sistema de comunicaciones W-CDMA de UMTS

set(hObject,'cdata',ayuda); function pushbutton8_Callback(hObject, eventdata, handles) ayuda_canal %%% Salir %%% function pushbutton9_CreateFcn(hObject, eventdata, handles) salir = imread('salir.jpg'); set(hObject,'cdata',salir); function pushbutton9_Callback(hObject, eventdata, handles) close all %%% Guardar %%% function pushbutton14_CreateFcn(hObject, eventdata, handles) guardar = imread('guardar.jpg'); set(hObject,'cdata',guardar); function pushbutton14_Callback(hObject, eventdata, handles) global fig4; set(fig4,'Visible','on'); function pushbutton15_Callback(hObject, eventdata, handles) global fig5; set(fig5,'Visible','on');

• compara_const.m : compara las constelaciones recibida y transmitida, una vez demoduladas en el receptor.

function compara_const() global a_val b_val r_val Nsimb SF Nm s t receptor ruido SE rt fig6; if receptor == 0 r=rt+ruido; a1=a_val(1:Nm:length(a_val)-1); b1=b_val(1:Nm:length(b_val)-1); plot(a1,b1,'b*'); axis([-2 2 -2 2]); hold on; r_val=f_adaptado(r); a2=real(r_val); b2=imag(r_val); plot(a2,b2,'r*'); axis([-2 2 -2 2]); zoom; grid on; hold off fig6=figure(6); plot(a1,b1,'b*'); axis([-2 2 -2 2]); hold on; plot(a2,b2,'r*'); axis([-2 2 -2 2]); hold off; grid on; set(fig6,'name','Comparacion Tx-Rx'); set(fig6,'Visible','off'); else r=rt+ruido; plot(SE,0,'b*'); axis([-2 2 -2 2]); hold on; [d,r_val]=rake(r); r_sin=real(d); simrx=detector(r_val); plot(simrx,0,'r*'); axis([-2 2 -2 2]); zoom; grid on; hold off fig6=figure(6); plot(SE,0,'b*'); axis([-2 2 -2 2]); hold on; plot(simrx,0,'r*'); axis([-2 2 -2 2]); hold off; grid on; set(fig6,'name','Comparacion Tx-Rx'); set(fig6,'Visible','off'); end

• compara_sen.m : compara las señales recibida y transmitida en el dominio del tiempo, una vez demoduladas en el receptor.

function compara_sen() global SE s t Nsimb SF receptor simrx ruido fig6; ruido=4*ruido; r=s+ruido; if receptor == 0 stairs(SE,'b'); axis([0 Nsimb*SF -2 2]); hold on; r_val=f_adaptado(r); r_une=une_iq(r_val); r_sin=quita_cola(r_une); chipsrx=detector(r_sin); stairs(chipsrx,'r'); axis([0 Nsimb*SF -2 2]); hold off; grid on; zoom; fig6=figure(6); stairs(SE,'b'); axis([0 Nsimb*SF -2 2]); hold on; stairs(chipsrx,'r'); axis([0 Nsimb*SF -2 2]); hold off; grid on; set(fig6,'name','Comparacion Tx-Rx'); set(fig6,'Visible','off'); else stairs(Nsimb,'b'); axis([0 Nsimb+1 -2 2]); hold on; [d,r_val]=rake(r);

Page 88: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Anexo Anexo-7

Simulador de un sistema de comunicaciones W-CDMA de UMTS

r_sin=real(d); simrx=detector(r_val); stairs(simrx,'r'); axis([0 Nsimb+1 -2 2]); hold off; grid on; zoom; fig6=figure(6); stairs(Nsimb,'b'); axis([0 Nsimb+1 -2 2]); hold on; stairs(simrx,'r'); axis([0 Nsimb+1 -2 2]); hold off; grid on; set(fig6,'name','Comparacion Tx-Rx'); set(fig6,'Visible','off'); end

• conforma_senal.m : toma la señal ensanchada y la conforma filtrándola con el pulso de transmisión configurado.

function [c_fase,c_cuad,s]=conforma_senal(a_val,b_val) global pulso Long_cos roll_off Nm; if pulso == 1,

aux=coseno_alz(Long_cos,roll_off); % Coseno alzado else aux=root_coseno(Long_cos,roll_off); % Raiz de Coseno alzado end h=aux(1:128/Nm:(length(aux)-128/Nm)); % Pulso de transmision c_fase = filter(h,1,a_val); % Conformacion de la señal con el pulso c_cuad = filter(h,1,b_val); s = c_fase + j*c_cuad;

• coseno_alz.m : construye un pulso de coseno alzado a partir de los valores de los parámetros seleccionados en el transmisor.

function y=coseno_alz(periodos,roll_off) global Rc; Rb=Rc/2; Beta=roll_off*Rb; Tb=1/Rb; x=-periodos*Tb/2:Tb/128:periodos*Tb/2; a=cos(2*pi*Beta*x); for k=1:1:length(x) if(x(k)==0) b(k)=1; else b(k)=sin(Rb*pi*x(k))/(Rb*pi*x(k)); end end c=(1-(4*Beta*x).^2); % Respuesta impulsiva del coseno alzado h=(a./c).*b; y=h;

• desensanchado.m : recoge la secuencia de chips procedente del filtro adaptado y la desensancha para obtener los símbolos.

function [r_des]=desensanchado(r_une) global Nsimb SF codigo1; aux1f=zeros(Nsimb,SF); % Matriz auxiliar para el desensanchado (Nsimb x SF) aux1f=(reshape(r_une,SF,Nsimb))'; % Meter cada bit ensanchado en una fila de long SF r_des=zeros(1,Nsimb); % Secuencia de bits desensanchada, longitud Nbits for i=1:1:Nsimb, sum1f=0; for k=1:1:SF, % Multiplica cada bit ensanchado por el codigo sum1f=sum1f+aux1f(i,k)*codigo1(k); end r_des(i)=sum1f/SF; % Promedia lo acumulado por el numero de chips end

Page 89: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Anexo Anexo-8

Simulador de un sistema de comunicaciones W-CDMA de UMTS

• detector.m : decide los valores transmitidos calculando la distancia de los símbolos recibidos a todos los posibles transmitidos, y escogiendo la mínima.

function [rx_det]=detector(rx) for i=1:1:length(rx), % Distancia del simbolo recibido a cada simbolo posible d(1)=abs(rx(i)-1); d(2)=abs(rx(i)+1); [minimo,ind]=min(d); switch ind case 1, rx_det(i)=1; % Se decide transmitido el simbolo cuya distancia case 2, rx_det(i)=-1; % sea mínima al simbolo recibido end end

• diagramadeojo.m : función ‘eyediagram.m’ con algunas modificaciones para adaptarla al formato de GUIs del simulador.

• ensanchado.m : toma la secuencia de símbolos generados y ensancha

la señal con el tipo de código seleccionado de longitud SF.

function [SE]=ensanchado(codigo1,simtx) global SF Nsimb; mat=zeros(SF,Nsimb); % Matriz auxiliar para el ensanchado (SF x Nbits) SE=zeros(1,Nsimb*SF); % Secuencia de bits ensanchada, longitud Nbits*SF for i=1:1:Nsimb, mat(:,i)=(simtx(i)*codigo1)'; % Meter cada bit ensanchado en una columna de long SF end SE=reshape(mat,1,Nsimb*SF);

• errores.m : compara dos secuencias de valores para contar el número de diferencias o errores entre ambas.

function [err]=errores(tx,rx) err=length(rx); for i=1:1:length(rx), if tx(i)==rx(i) err=err-1; end end

• genera_datos.m : crea una secuencia de Nsimb dígitos de valores {±1}, siguiendo una distribución uniforme.

function [simtx]=genera_datos() global Nsimb datos_creados; simtx=2*round(rand(1,Nsimb))-1; datos_creados=1;.

• gold.m : genera una secuencia de gold de longitud 1023 para ser usada como código de ensanchado de la señal CDMA.

function [codigo1]=gold() global codigo1 SF subcodigo; SF=1024; subcodigo=SF; PRN_number=3; xored_taps = [2 6; 3 7; 4 8; 5 9; 1 9; 2 10; 1 8; 2 9; 3 10; 2 3 3 4; 5 6; 6 7; 7 8; 8 9; 9 10; 1 4; 2 5; 3 6; 4 7 5 8; 6 9; 1 3; 4 6; 5 7; 6 8; 7 9; 8 10; 1 6; 2 7

Page 90: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Anexo Anexo-9

Simulador de un sistema de comunicaciones W-CDMA de UMTS

3 8; 4 9; 5 10; 4 10; 1 7; 2 8; 4 10]; % Para evitar bucles if se prefiere una tabla % de correspondencias en la memoria. r1 = [1 1 1 1 1 1 1 1 1 1]; r2 = [1 1 1 1 1 1 1 1 1 1]; tap1 = xored_taps(PRN_number, 1); tap2 = xored_taps(PRN_number, 2); for k = 1:1023 g(k) = xor(r1(10),xor(r2(tap1), r2(tap2))); vec_aux1(1) = xor(r1(10), r1(3)); vec_aux1(2:10) = r1(1:9); r1 = vec_aux1; vec_aux2(1) = xor(r2(2), xor(r2(3), xor(r2(6), ... xor(r2(8), xor(r2(9), r2(10)))))); vec_aux2(2:10) = r2(1:9); r2 = vec_aux2; end c1=(2*g-1); codigo1=[c1 1];

• menu.m : función que contiene el código asociado a la figura con el mismo nombre. En ella programan las callbacks o rutinas que se ejecutan al pulsar sobre cada enlace del menú.

function varargout = menu(varargin) % MENU M-file for menu.fig % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @menu_OpeningFcn, ... 'gui_OutputFcn', @menu_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin & isstr(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT % --- Executes just before menu is made visible. function menu_OpeningFcn(hObject, eventdata, handles, varargin) % Choose default command line output for menu handles.output = hObject; % Update handles structure guidata(hObject, handles); % --- Outputs from this function are returned to the command line. function varargout = menu_OutputFcn(hObject, eventdata, handles) % Get default command line output from handles structure varargout{1} = handles.output; fondo=[0.83 0.81 0.78]; set(hObject,'color',fondo) set(hObject,'units','normalized') set(hObject,'position',[0 0 1 1]) %%% Titulo %%% function axes8_CreateFcn(hObject, eventdata, handles) a=imread('matlab.png'); axes(hObject) image(a) set(hObject,'xTickLabel',''); set(hObject,'yTickLabel',''); set(hObject,'xTick',0); set(hObject,'yTick',0);

Page 91: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Anexo Anexo-10

Simulador de un sistema de comunicaciones W-CDMA de UMTS

set(hObject,'box','on'); function axes9_CreateFcn(hObject, eventdata, handles) a=imread('umts.jpg'); axes(hObject) image(a) set(hObject,'xTickLabel',''); set(hObject,'yTickLabel',''); set(hObject,'xTick',0); set(hObject,'yTick',0); set(hObject,'box','on'); %%% Transmisor %%% function axes5_CreateFcn(hObject, eventdata, handles) a=imread('transmisor.jpg'); axes(hObject) image(a) set(hObject,'xTickLabel',''); set(hObject,'yTickLabel',''); set(hObject,'xTick',0); set(hObject,'yTick',0); set(hObject,'box','on'); function pushbutton1_Callback(hObject, eventdata, handles) set(transmisor,'visible','on'); %%% Canal %%% function axes6_CreateFcn(hObject, eventdata, handles) a=imread('canal.jpg'); axes(hObject) image(a) set(hObject,'xTickLabel',''); set(hObject,'yTickLabel',''); set(hObject,'xTick',0); set(hObject,'yTick',0); set(hObject,'box','on'); function pushbutton2_Callback(hObject, eventdata, handles) set(canal,'visible','on'); %%% Receptor %%% function axes7_CreateFcn(hObject, eventdata, handles) a=imread('receptor.jpg'); axes(hObject) image(a) set(hObject,'xTickLabel',''); set(hObject,'yTickLabel',''); set(hObject,'xTick',0); set(hObject,'yTick',0); set(hObject,'box','on'); function pushbutton3_Callback(hObject, eventdata, handles) set(receptor,'visible','on'); %%% Ayuda %%% function pushbutton4_CreateFcn(hObject, eventdata, handles) ayuda = imread('ayuda.jpg'); set(hObject,'cdata',ayuda); function pushbutton4_Callback(hObject, eventdata, handles) ayuda_menu %%% Salir %%% function pushbutton5_CreateFcn(hObject, eventdata, handles) salir = imread('salir.jpg'); set(hObject,'cdata',salir); function pushbutton5_Callback(hObject, eventdata, handles) close all function figure1_CreateFcn(hObject, eventdata, handles) transmisor; set(transmisor,'visible','off'); canal; set(canal,'visible','off'); receptor; set(receptor,'visible','off');

Page 92: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Anexo Anexo-11

Simulador de un sistema de comunicaciones W-CDMA de UMTS

• p_error.m : calcula la probabilidad de error con las características

seleccionadas en el transmisor y el canal, según el tipo de receptor, para una relación Eb/No comprendida entre 2 y 9 decibelios.

function p_error() global s rt SE simtx receptor Nsimb SF codigo1 at ret fig6 teorica; N=length(s); for EbNo=2:1:9, No=10^(-0.1*EbNo); % sup. Eb=1=0 dB, se despeja No de SNR ruidoi=2*sqrt(No)*randn(1,N); ruidoj=2*sqrt(No)*randn(1,N); ruido=ruidoi+j*ruidoj; if receptor == 0 r=rt+ruido; r_val=f_adaptado(r); r_une=une_iq(r_val); r_sin=quita_cola(r_une); chipsrx=detector(r_sin); % decision a nivel de chip err_chip=errores(SE,chipsrx); else r=rt+ruido; [d,r_val]=rake(r); r_sin=real(d); simrx=detector(r_val); err_chip=SF*errores(simtx,simrx); end err(EbNo-1)=err_chip; snr(EbNo-1)=EbNo; % Eb/No ber(EbNo-1)=err_chip/N; % BER para esta Eb/No end if teorica == 0 semilogy(snr,ber); xlabel('Relación Señal-Ruido Eb/No(dB)'); ylabel('Probabilidad de Error de chip'); grid on; zoom fig6=figure(6); semilogy(snr,ber); xlabel('Relación Señal-Ruido Eb/No(dB)'); ylabel('Probabilidad de Error de chip'); grid on; set(fig6,'name','Comparacion Tx-Rx'); set(fig6,'Visible','off'); else semilogy(snr,ber); hold on; [snrt,bert]=ber_teorica; semilogy(snrt,bert,'r'); xlabel('Relación Señal-Ruido Eb/No(dB)'); ylabel('Probabilidad de Error de chip'); grid on; zoom; hold off; fig6=figure(6); semilogy(snr,ber); hold on; semilogy(snrt,bert,'r'); xlabel('Relación Señal-Ruido Eb/No(dB)'); ylabel('Probabilidad de Error de chip'); grid on; set(fig6,'name','Comparacion Tx-Rx'); hold off; set(fig6,'Visible','off'); end • quita_cola.m : elimina de una señal la cola inicial provocada por la

forma del pulso coseno alzado. function [sin_cola]=quita_cola(con_cola) sin_cola=0; j=1; while con_cola(j)~=0 sin_cola(j)=con_cola(j); j=j+1; end • rake.m : demodula la señal recibida haciendo uso de un receptor rake

compuesto por dos dedos o correladores. function [d,r_val]=rake(t) global codigo1 Nm Nsimb SF; [d1_i,d1_q]=separa_iq(codigo1); [d1_fase,d1_cuad,d1_t]=conforma_senal(d1_i,d1_q); d1=xcorr(t,d1_t); codigo2=[zeros(1,Nm),codigo1(1:1:(length(codigo1)-Nm))]; [d2_i,d2_q]=separa_iq(codigo2); [d2_fase,d2_cuad,d2_t]=conforma_senal(d2_i,d2_q); d2=xcorr(t,d2_t);

Page 93: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Anexo Anexo-12

Simulador de un sistema de comunicaciones W-CDMA de UMTS

ret=Nm*Nm/2; d2=[zeros(1,ret),d2(1:1:(length(d2)-(ret)))]; d=d1+d2; sep=Nm*SF/2; ini=Nsimb*sep; r_val=real(d(ini:sep:length(d)));

• receptor.m : función que contiene el código asociado a la figura con el

mismo nombre. En ella programan las callbacks o rutinas que se ejecutan al seleccionar cada parámetro del receptor.

function varargout = receptor(varargin) % RECEPTOR M-file for receptor.fig % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @receptor_OpeningFcn, ... 'gui_OutputFcn', @receptor_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin & isstr(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT % --- Executes just before receptor is made visible. function receptor_OpeningFcn(hObject, eventdata, handles, varargin) % Choose default command line output for receptor handles.output = hObject; % Update handles structure guidata(hObject, handles); % --- Outputs from this function are returned to the command line. function varargout = receptor_OutputFcn(hObject, eventdata, handles) % Get default command line output from handles structure varargout{1} = handles.output; fondo=[0.83 0.81 0.78]; set(hObject,'color',fondo) set(hObject,'units','normalized') set(hObject,'position',[0 0 1 1]) %%% Titulo %%% function axes10_CreateFcn(hObject, eventdata, handles) a=imread('matlab.png'); axes(hObject) image(a) set(hObject,'xTickLabel',''); set(hObject,'yTickLabel',''); set(hObject,'xTick',0); set(hObject,'yTick',0); set(hObject,'box','on'); function axes12_CreateFcn(hObject, eventdata, handles) a=imread('umts.jpg'); axes(hObject) image(a) set(hObject,'xTickLabel',''); set(hObject,'yTickLabel',''); set(hObject,'xTick',0); set(hObject,'yTick',0); set(hObject,'box','on'); %%% Tipo de receptor %%% function radiobutton1_Callback(hObject, eventdata, handles)

Page 94: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Anexo Anexo-13

Simulador de un sistema de comunicaciones W-CDMA de UMTS

set(handles.radiobutton1,'value',1); set(handles.radiobutton2,'value',0); global receptor; receptor=1; function radiobutton2_Callback(hObject, eventdata, handles) set(handles.radiobutton2,'value',1); set(handles.radiobutton1,'value',0); global receptor; receptor=0; function radiobutton2_CreateFcn(hObject, eventdata, handles) global receptor; receptor=0; set(hObject,'Value',1); function radiobutton1_CreateFcn(hObject, eventdata, handles) set(hObject,'Value',0); %%% Representar estructura %%% function pushbutton1_Callback(hObject, eventdata, handles) if get(handles.radiobutton2,'Value') == 1 a=imread('Adaptado.jpg'); else a=imread('Rake.jpg'); end axes(handles.axes9) image(a) set(handles.axes9,'xTickLabel',''); set(handles.axes9,'yTickLabel',''); set(handles.axes9,'xTick',0); set(handles.axes9,'yTick',0); set(handles.axes9,'position',[0.014 0.063 0.315 0.338]); set(handles.axes9,'box','on'); function axes9_CreateFcn(hObject, eventdata, handles) set(hObject,'xTickLabel',''); set(hObject,'yTickLabel',''); set(hObject,'xTick',0); set(hObject,'yTick',0); set(hObject,'position',[0.014 0.063 0.315 0.338]); set(hObject,'box','on'); set(hObject,'xGrid','on'); set(hObject,'yGrid','on'); %%% Comparacion Tx-Rx %%% function radiobutton3_CreateFcn(hObject, eventdata, handles) global compara; compara=1; set(hObject,'value',1); function radiobutton3_Callback(hObject, eventdata, handles) set(handles.radiobutton3,'value',1); set(handles.radiobutton4,'value',0); set(handles.radiobutton17,'value',0); global compara; compara=1; function radiobutton4_Callback(hObject, eventdata, handles) set(handles.radiobutton4,'value',1); set(handles.radiobutton3,'value',0); set(handles.radiobutton17,'value',0); global compara; compara=2; function radiobutton17_Callback(hObject, eventdata, handles) set(handles.radiobutton17,'value',1); set(handles.radiobutton3,'value',0); set(handles.radiobutton4,'value',0); global compara; compara=3; %%% Representar comparacion Tx-Rx %%% function pushbutton2_Callback(hObject, eventdata, handles)

Page 95: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Anexo Anexo-14

Simulador de un sistema de comunicaciones W-CDMA de UMTS

global compara; axes(handles.axes2); cla; switch compara case 1, compara_sen; case 2, compara_const; case 3, p_error; end function checkbox5_CreateFcn(hObject, eventdata, handles) global teorica; set(hObject,'Value',1); teorica=1; function checkbox5_Callback(hObject, eventdata, handles) global teorica; teorica=get(handles.checkbox5,'value'); %%% Señal a representar %%% function popupmenu4_CreateFcn(hObject, eventdata, handles) set(hObject,'value',1); if ispc set(hObject,'BackgroundColor','white'); else set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor')); end function radiobutton7_CreateFcn(hObject, eventdata, handles) set(hObject,'enable','off'); function popupmenu4_Callback(hObject, eventdata, handles) ind = get(handles.popupmenu4,'value'); switch ind case 1, set(handles.radiobutton5,'enable','on'); set(handles.radiobutton6,'enable','on'); set(handles.radiobutton7,'enable','off'); set(handles.radiobutton8,'enable','on'); case 2, set(handles.radiobutton5,'enable','on'); set(handles.radiobutton6,'enable','off'); set(handles.radiobutton7,'enable','on'); set(handles.radiobutton8,'enable','on'); case 3, set(handles.radiobutton5,'enable','on'); set(handles.radiobutton6,'enable','off'); set(handles.radiobutton7,'enable','on'); set(handles.radiobutton8,'enable','on'); end %%% Modo de representacion %%% function radiobutton5_CreateFcn(hObject, eventdata, handles) global modor; modor=1; set(hObject,'value',1); function radiobutton5_Callback(hObject, eventdata, handles) set(handles.radiobutton5,'value',1); set(handles.radiobutton6,'value',0); set(handles.radiobutton7,'value',0); set(handles.radiobutton8,'value',0); global modor; modor=1; function radiobutton6_Callback(hObject, eventdata, handles) set(handles.radiobutton6,'value',1); set(handles.radiobutton5,'value',0); set(handles.radiobutton7,'value',0); set(handles.radiobutton8,'value',0); global modor; modor=2; function radiobutton7_Callback(hObject, eventdata, handles) set(handles.radiobutton7,'value',1); set(handles.radiobutton5,'value',0);

Page 96: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Anexo Anexo-15

Simulador de un sistema de comunicaciones W-CDMA de UMTS

set(handles.radiobutton6,'value',0); set(handles.radiobutton8,'value',0); global modor; modor=3; function radiobutton8_Callback(hObject, eventdata, handles) set(handles.radiobutton8,'value',1); set(handles.radiobutton5,'value',0); set(handles.radiobutton6,'value',0); set(handles.radiobutton7,'value',0); global modor; modor=4; %%% Representar señal recibida %%% function pushbutton3_Callback(hObject, eventdata, handles) global r s t Nsimb SF simrx r_val SD r_sin fig ax3 pulso receptor modor; r=t; if receptor == 0 r_val=f_adaptado(r); r_une=une_iq(r_val); r_sin=quita_cola(r_une); SD=desensanchado(r_une); simrx=detector(SD); % decision a nivel de simbolo else [d,r_val]=rake(r); r_sin=real(d); simrx=detector(r_val); end axes(handles.axes3); fig=gcf; ax3=gca; ind = get(handles.popupmenu4,'value'); switch ind case 1, representa_r; case 2, representa_C(r_sin); case 3, representa_sim(simrx,modor); end if get(handles.checkbox1,'value')==1 set(handles.axes3,'xgrid','on'); set(handles.axes3,'ygrid','on') end set(handles.checkbox2,'value',0); %%% Grid %%% function checkbox1_CreateFcn(hObject, eventdata, handles) set(hObject,'Value',1); function checkbox1_Callback(hObject, eventdata, handles) if get(handles.checkbox1,'value')==1 set(handles.axes3,'xgrid','on'); set(handles.axes3,'ygrid','on') else set(handles.axes3,'xgrid','off'); set(handles.axes3,'ygrid','off') end %%% Zoom %%% function checkbox2_Callback(hObject, eventdata, handles) if get(handles.checkbox2,'value')==1 zoom else zoom off end %%% Volver %%% function pushbutton9_CreateFcn(hObject, eventdata, handles) atras = imread('atras.jpg'); set(hObject,'cdata',atras); function pushbutton9_Callback(hObject, eventdata, handles) set(receptor,'visible','off'); %%% Ayuda %%% function pushbutton10_CreateFcn(hObject, eventdata, handles) ayuda = imread('ayuda.jpg'); set(hObject,'cdata',ayuda);

Page 97: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Anexo Anexo-16

Simulador de un sistema de comunicaciones W-CDMA de UMTS

function pushbutton10_Callback(hObject, eventdata, handles) ayuda_rxor %%% Salir %%% function pushbutton11_CreateFcn(hObject, eventdata, handles) salir = imread('salir.jpg'); set(hObject,'cdata',salir); function pushbutton11_Callback(hObject, eventdata, handles) close all %%% Guardar %%% function pushbutton12_CreateFcn(hObject, eventdata, handles) guardar = imread('guardar.jpg'); set(hObject,'cdata',guardar); function pushbutton12_Callback(hObject, eventdata, handles) global fig3; set(fig3,'Visible','on'); function pushbutton13_Callback(hObject, eventdata, handles) global fig6; set(fig6,'Visible','on'); • representa_C.m : representa la señal filtrada en el receptor, según la

modalidad escogida: tiempo, frecuencia, constelación o diagrama de ojo. function representa_C(S) global modor Nsimb SF Nm r_val fig3; switch modor case 1, stairs(S,'r'); fig3=figure(3); stairs(S,'r'); grid on; set(fig3,'name','Señal recibida'); set(fig3,'Visible','off'); case 3, a=real(r_val); b=imag(r_val); plot(a,b,'r*'); fig3=figure(3); plot(a,b,'r*'); grid on; set(fig3,'name','Señal recibida'); set(fig3,'Visible','off'); case 4, diagramaojo(real(r_val),Nm,1,0,'r'); end • representa_espectro.m : representa el espectro en frecuencia de la

señal conformada que se le pasa como parámetro. function representa_espectro(c_fase,c_cuad) global Rc Nm fig3; s = c_fase + j*c_cuad; [espectro,f]=psd(s,1024,Rc*Nm); frec = (f-Rc*Nm/2); esp = 10*log10(fftshift(espectro)); plot(frec,esp,'r'); fig3=figure(3); plot(frec,esp,'r'); grid on; set(fig3,'name','Espectro en frecuencia'); set(fig3,'Visible','off'); • representa_r.m : representa la señal recibida en el receptor, según la

modalidad escogida: tiempo, frecuencia, constelación o diagrama de ojo. function representa_r() global modor r r_val Nm fig3; r_fase=real(r); r_cuad=imag(r); switch modor case 1, plot(r_fase,'r'); fig3=figure(3); plot(r_fase,'r'); grid on; set(fig3,'name','Señal recibida'); set(fig3,'Visible','off'); case 2, representa_espectro(r_fase,r_cuad); case 4, diagramaojo(r_fase,Nm,1,0,'r'); end

Page 98: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Anexo Anexo-17

Simulador de un sistema de comunicaciones W-CDMA de UMTS

• representa_s.m : representa la señal recibida en el receptor, según la modalidad escogida: tiempo, frecuencia, constelación o diagrama de ojo.

function representa_s() global modo c_fase c_cuad a_val b_val s Nm fig3; switch modo case 1, plot(c_fase,'r'); fig3=figure(3); plot(c_fase,'r'); grid on; set(fig3,'name','Señal transmitida'); set(fig3,'Visible','off'); case 2, representa_espectro(c_fase,c_cuad); case 3, a=a_val(1:Nm:length(a_val)-1); b=b_val(1:Nm:length(b_val)-1); plot(a,b,'r*'); axis([-2 2 -2 2]); fig3=figure(3); plot(a,b,'r*'); axis([-2 2 -2 2]); grid on; set(fig3,'name','Señal transmitida'); set(fig3,'Visible','off'); case 4, diagramaojo(c_fase,3*Nm,1,0,'r'); end • representa_SE.m : representa la señal ensanchada en el transmisor,

según la modalidad escogida: tiempo, frecuencia, constelación o diagrama de ojo.

function representa_SE(S) global modo Nsimb SF Nm fig3; switch modo case 1, stairs(S,'r'); axis([0 Nsimb*SF -2 2]); fig3=figure(3); stairs(S,'r'); axis([0 Nsimb*SF -2 2]); grid on; set(fig3,'name','Señal transmitida'); set(fig3,'Visible','off'); case 3, plot(S,0,'r*'); axis([-2 2 -2 2]); fig3=figure(3); plot(S,0,'r*'); axis([-2 2 -2 2]); grid on; set(fig3,'name','Señal transmitida'); set(fig3,'Visible','off'); case 4, diagramaojo(S,Nm,1,0,'r'); end

• representa_sim.m : representa los símbolos en el transmisor o receptor, según la modalidad escogida: tiempo, frecuencia, constelación o diagrama de ojo.

function representa_sim(sim,modo) global Nsimb Nm fig3; switch modo case 1, stairs(sim,'r'); axis([0 Nsimb+2 -2 2]); fig3=figure(3); stairs(sim,'r'); axis([0 Nsimb+2 -2 2]); grid on; set(fig3,'name','Señal transmitida'); set(fig3,'Visible','off'); case 3, plot(sim,0,'r*'); axis([-2 2 -2 2]); fig3=figure(3); plot(sim,0,'r*'); axis([-2 2 -2 2]); grid on; set(fig3,'name','Señal transmitida'); set(fig3,'Visible','off'); case 4, diagramaojo(sim,Nm,1,0,'r'); end

• root_coseno.m : construye un pulso raíz de coseno alzado a partir de los valores de los parámetros seleccionados en el transmisor.

function y=root_coseno(periodos,roll_off) global Rc; Rb=Rc/2; Beta=roll_off*Rb; Tb=1/Rb; x=-periodos*Tb/2:Tb/128:periodos*Tb/2; a=(8*Beta)*cos((Rb+2*Beta)*pi*x); for k=1:1:length(x) if(x(k)==0) b(k)=1; else b(k)=sin((Rb-2*Beta)*pi*x(k))/x(k); end end c=pi/sqrt(Rb);

Page 99: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Anexo Anexo-18

Simulador de un sistema de comunicaciones W-CDMA de UMTS

d=(((8*Beta*x).^2)-1); % Respuesta impulsiva de la raiz del coseno alzado h=(-(a+b)./(c*d))/(16*Beta*sqrt(Rb)/pi); h(((length(h)-1)/2)+1)=1; y=h;

• separa_iq.m : recoge la señal ensanchada y la separa en dos

componentes en fase y cuadratura, por medio de una conversión serie-paralelo.

function [a_val,b_val]=separa_iq(SE) global Nm; a=SE(1:2:length(SE)); % Componente en fase, a partir de los bits impares a_val=kron(a,[1 zeros(1,Nm-1)]); % Zero-padding b=SE(2:2:length(SE)); % Componente en cuadratura, a partir de los bits pares b_val=kron(b,[1 zeros(1,Nm-1)]); % Zero-padding

• transmisor.m : función que contiene el código asociado a la figura con

el mismo nombre. En ella programan las callbacks o rutinas que se ejecutan al seleccionar cada parámetro del transmisor.

function varargout = transmisor(varargin) % TRANSMISOR M-file for transmisor.fig % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @transmisor_OpeningFcn, ... 'gui_OutputFcn', @transmisor_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin & isstr(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT % --- Executes just before transmisor is made visible. function transmisor_OpeningFcn(hObject, eventdata, handles, varargin) % Choose default command line output for transmisor handles.output = hObject; % Update handles structure guidata(hObject, handles); % --- Outputs from this function are returned to the command line. function varargout = transmisor_OutputFcn(hObject, eventdata, handles) % Get default command line output from handles structure varargout{1} = handles.output; fondo=[0.83 0.81 0.78]; set(hObject,'color',fondo) set(hObject,'units','normalized') set(hObject,'position',[0 0 1 1]) %%% Titulo %%% function axes4_CreateFcn(hObject, eventdata, handles) a=imread('matlab.png'); axes(hObject) image(a) set(hObject,'xTickLabel',''); set(hObject,'yTickLabel',''); set(hObject,'xTick',0);

Page 100: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Anexo Anexo-19

Simulador de un sistema de comunicaciones W-CDMA de UMTS

set(hObject,'yTick',0); set(hObject,'box','on'); function axes7_CreateFcn(hObject, eventdata, handles) a=imread('umts.jpg'); axes(hObject) image(a) set(hObject,'xTickLabel',''); set(hObject,'yTickLabel',''); set(hObject,'xTick',0); set(hObject,'yTick',0); set(hObject,'box','on'); %%% Numero de simbolos %%% function slider1_CreateFcn(hObject, eventdata, handles) usewhitebg = 1; set(hObject,'Value',1); global Nsimb; Nsimb=1; if usewhitebg set(hObject,'BackgroundColor',[.9 .9 .9]); else set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor')); end function slider1_Callback(hObject, eventdata, handles) global Nsimb datos_creados datos_ensanchados; datos_creados=0; Nsimb=round(get(handles.slider1,'value')); set(handles.text7,'string',Nsimb); function text7_CreateFcn(hObject, eventdata, handles) set(hObject,'String','1'); %%% Factor de ensanchado %%% function popupmenu1_CreateFcn(hObject, eventdata, handles) global SF; set(hObject,'Value',4); SF=256; if ispc set(hObject,'BackgroundColor','white'); else set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor')); end function popupmenu1_Callback(hObject, eventdata, handles) global SF codigo1; ind = get(handles.popupmenu1,'Value'); switch ind case 1, SF=8; case 2, SF=16; case 3, SF=128; case 4, SF=256; case 5, SF=512; end if SF ~= length(codigo1) ind = get(handles.popupmenu2,'Value'); actualiza_codigo(ind); end %%% Tasa de chip %%% function radiobutton1_CreateFcn(hObject, eventdata, handles) global Rc; Rc=3.84e6; set(hObject,'Value',1); function radiobutton1_Callback(hObject, eventdata, handles) set(handles.radiobutton1,'value',1); set(handles.radiobutton2,'value',0); global Rc; Rc=3.84e6; function radiobutton2_Callback(hObject, eventdata, handles) set(handles.radiobutton2,'value',1); set(handles.radiobutton1,'value',0);

Page 101: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Anexo Anexo-20

Simulador de un sistema de comunicaciones W-CDMA de UMTS

global Rc; Rc=1.92e6; %%% Muestras por chip %%% function slider2_CreateFcn(hObject, eventdata, handles) usewhitebg = 1; set(hObject,'Value',8); global Nm; Nm=8; if usewhitebg set(hObject,'BackgroundColor',[.9 .9 .9]); else set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor')); end function slider2_Callback(hObject, eventdata, handles) global Nm; Nm=round(get(handles.slider2,'value')); set(handles.text11,'string',Nm); function text11_CreateFcn(hObject, eventdata, handles) set(hObject,'String','8'); %%% Codigo %%% function popupmenu2_CreateFcn(hObject, eventdata, handles) global codigo1 codigo SF subcodigo; codigo=0; SF=256; codigo1=aleatorio; subcodigo=SF; set(hObject,'Value',1); if ispc set(hObject,'BackgroundColor','white'); else set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor')); end function popupmenu2_Callback(hObject, eventdata, handles) global codigo SF subcodigo; ind = get(handles.popupmenu2,'value'); switch ind case 1, codigo=0; if SF == 1024 set(handles.popupmenu1,'value',4); SF=256; set(handles.popupmenu1,'string','8|16|128|256|512') end aleatorio; case 2, codigo=1; if SF == 1024 set(handles.popupmenu1,'value',4); SF=256; subcodigo=SF; set(handles.popupmenu1,'string','8|16|128|256|512') end walsh; case 3, codigo=2; gold; set(handles.popupmenu1,'value',1) set(handles.popupmenu1,'string','1023') end %%% Secuencia o Autocorrelacion %%% function radiobutton12_CreateFcn(hObject, eventdata, handles) set(hObject,'Value',1); function radiobutton12_Callback(hObject, eventdata, handles) global SF codigo1; set(handles.radiobutton12,'value',1); set(handles.radiobutton13,'value',0); axes(handles.axes1) stairs(codigo1); axis([1 SF -2 2]); grid on; zoom; fig1=figure(1); stairs(codigo1); axis([1 SF -2 2]); grid on; set(fig1,'name','Codigo de ensanchado'); set(fig1,'Visible','off'); function radiobutton13_Callback(hObject, eventdata, handles) global codigo1; set(handles.radiobutton13,'value',1); set(handles.radiobutton12,'value',0); axes(handles.axes1)

Page 102: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Anexo Anexo-21

Simulador de un sistema de comunicaciones W-CDMA de UMTS

plot(xcorr(codigo1)); grid on; zoom; fig1=figure(1); plot(xcorr(codigo1)); grid on; set(fig1,'name','Codigo de ensanchado'); set(fig1,'Visible','off'); %%% Representar W-CDMA %%% function axes1_CreateFcn(hObject, eventdata, handles) set(hObject,'position',[0.036 0.111 0.279 0.28]); function pushbutton1_Callback(hObject, eventdata, handles) global codigo codigo1 SF fig1; axes(handles.axes1) if get(handles.radiobutton12,'value')==1 stairs(codigo1); axis([1 SF -2 2]); grid on; zoom; fig1=figure(1); stairs(codigo1); axis([1 SF -2 2]); grid on; set(fig1,'name','Codigo de ensanchado'); set(fig1,'Visible','off'); else plot(xcorr(codigo1)); grid on; zoom; fig1=figure(1); plot(xcorr(codigo1)); grid on; set(fig1,'name','Codigo de ensanchado'); set(fig1,'Visible','off'); end %%% Tipo de pulso %%% function radiobutton3_Callback(hObject, eventdata, handles) set(handles.radiobutton3,'value',1); set(handles.radiobutton4,'value',0); global pulso; pulso=1; function radiobutton4_Callback(hObject, eventdata, handles) set(handles.radiobutton4,'value',1); set(handles.radiobutton3,'value',0); global pulso; pulso=0; function radiobutton3_CreateFcn(hObject, eventdata, handles) global pulso; pulso=1; set(hObject,'Value',1); %%% Factor de roll off %%% function popupmenu3_CreateFcn(hObject, eventdata, handles) global roll_off; set(hObject,'value',1); roll_off=0.22; if ispc set(hObject,'BackgroundColor','white'); else set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor')); end function popupmenu3_Callback(hObject, eventdata, handles) global roll_off; ind = get(handles.popupmenu3,'value'); switch ind case 1, roll_off=0.22; case 2, roll_off=0.5; end %%% Longitud del pulso %%% function slider4_CreateFcn(hObject, eventdata, handles) usewhitebg = 1; set(hObject,'Value',6); global Long_cos; Long_cos=6; if usewhitebg set(hObject,'BackgroundColor',[.9 .9 .9]); else set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor')); end function slider4_Callback(hObject, eventdata, handles) global Long_cos; Long_cos=round(get(handles.slider4,'value')); set(handles.text19,'string',Long_cos); function text19_CreateFcn(hObject, eventdata, handles) set(hObject,'string','6');

Page 103: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Anexo Anexo-22

Simulador de un sistema de comunicaciones W-CDMA de UMTS

%%% Representar Pulso de transmision %%% function pushbutton2_Callback(hObject, eventdata, handles) global pulso Long_cos roll_off Nm h fig2; if pulso == 1, aux=coseno_alz(Long_cos,roll_off); else aux=root_coseno(Long_cos,roll_off); end h=aux(1:128/Nm:(length(aux)-128/Nm)); axes(handles.axes2) plot(h,'b'); grid on; zoom; fig2=figure(2); plot(h,'b'); grid on; set(fig2,'name','Pulso de transmision'); set(fig2,'Visible','off'); %%% Señal a representar %%% function popupmenu4_CreateFcn(hObject, eventdata, handles) set(hObject,'value',1); if ispc set(hObject,'BackgroundColor','white'); else set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor')); end function popupmenu4_Callback(hObject, eventdata, handles) ind = get(handles.popupmenu4,'value'); switch ind case 1, set(handles.radiobutton7,'enable','on'); set(handles.radiobutton8,'enable','off'); set(handles.radiobutton9,'enable','on'); set(handles.radiobutton10,'enable','on'); case 2, set(handles.radiobutton7,'enable','on'); set(handles.radiobutton8,'enable','off'); set(handles.radiobutton9,'enable','on'); set(handles.radiobutton10,'enable','on'); case 3, set(handles.radiobutton7,'enable','on'); set(handles.radiobutton8,'enable','on'); set(handles.radiobutton9,'enable','on'); set(handles.radiobutton10,'enable','on'); end %%% Modo de representacion %%% function radiobutton7_CreateFcn(hObject, eventdata, handles) global modo; modo=1; set(hObject,'value',1); function radiobutton8_CreateFcn(hObject, eventdata, handles) set(hObject,'enable','off'); function radiobutton7_Callback(hObject, eventdata, handles) set(handles.radiobutton7,'value',1); set(handles.radiobutton8,'value',0); set(handles.radiobutton9,'value',0); set(handles.radiobutton10,'value',0); global modo; modo=1; function radiobutton8_Callback(hObject, eventdata, handles) set(handles.radiobutton8,'value',1); set(handles.radiobutton7,'value',0); set(handles.radiobutton9,'value',0); set(handles.radiobutton10,'value',0); global modo; modo=2; function radiobutton9_Callback(hObject, eventdata, handles) set(handles.radiobutton9,'value',1); set(handles.radiobutton7,'value',0); set(handles.radiobutton8,'value',0); set(handles.radiobutton10,'value',0); global modo; modo=3; function radiobutton10_Callback(hObject, eventdata, handles)

Page 104: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Anexo Anexo-23

Simulador de un sistema de comunicaciones W-CDMA de UMTS

set(handles.radiobutton10,'value',1); set(handles.radiobutton7,'value',0); set(handles.radiobutton8,'value',0); set(handles.radiobutton9,'value',0); global modo; modo=4; %%% Representar señal transmitida %%% function pushbutton4_CreateFcn(hObject, eventdata, handles) global datos_creados; datos_creados=0; function pushbutton4_Callback(hObject, eventdata, handles) global simtx codigo1 SE a_val b_val c_fase c_cuad s Nsimb SF datos_creados fig ax3 modo; if datos_creados == 0 simtx=genera_datos; % para no volver a crear los datos cada vez que represente end SE=ensanchado(codigo1,simtx); [a_val,b_val]=separa_iq(SE); [c_fase,c_cuad,s]=conforma_senal(a_val,b_val); axes(handles.axes3); fig=gcf; ax3=gca; ind = get(handles.popupmenu4,'value'); switch ind case 1, representa_sim(simtx,modo); case 2, representa_SE(SE); case 3, representa_s; end if get(handles.checkbox1,'value')==1 set(handles.axes3,'xgrid','on'); set(handles.axes3,'ygrid','on') end set(handles.checkbox2,'value',0); %%% Grid %%% function checkbox1_CreateFcn(hObject, eventdata, handles) set(hObject,'Value',1); function checkbox1_Callback(hObject, eventdata, handles) if get(handles.checkbox1,'value')==1 set(handles.axes3,'xgrid','on'); set(handles.axes3,'ygrid','on') else set(handles.axes3,'xgrid','off'); set(handles.axes3,'ygrid','off') end %%% Zoom %%% function checkbox2_Callback(hObject, eventdata, handles) if get(handles.checkbox2,'value')==1 zoom else zoom off end %%% Volver %%% function pushbutton5_CreateFcn(hObject, eventdata, handles) atras = imread('atras.jpg'); set(hObject,'cdata',atras); function pushbutton5_Callback(hObject, eventdata, handles) global simtx codigo1 SE a_val b_val c_fase c_cuad s Nsimb SF datos_creados; if datos_creados == 0 simtx=genera_datos; end SE=ensanchado(codigo1,simtx); [a_val,b_val]=separa_iq(SE); [c_fase,c_cuad,s]=conforma_senal(a_val,b_val); set(transmisor,'visible','off'); %%% Ayuda %%% function pushbutton8_CreateFcn(hObject, eventdata, handles) ayuda = imread('ayuda.jpg'); set(hObject,'cdata',ayuda);

Page 105: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Anexo Anexo-24

Simulador de un sistema de comunicaciones W-CDMA de UMTS

function pushbutton8_Callback(hObject, eventdata, handles) ayuda_txor %%% Salir %%% function pushbutton9_CreateFcn(hObject, eventdata, handles) salir = imread('salir.jpg'); set(hObject,'cdata',salir); function pushbutton9_Callback(hObject, eventdata, handles) close all %%% Guardar %%% function pushbutton10_CreateFcn(hObject, eventdata, handles) guardar = imread('guardar.jpg'); set(hObject,'cdata',guardar); function pushbutton10_Callback(hObject, eventdata, handles) global fig1; set(fig1,'Visible','on'); function pushbutton11_Callback(hObject, eventdata, handles) global fig2; set(fig2,'Visible','on'); function pushbutton12_Callback(hObject, eventdata, handles) global fig3; set(fig3,'Visible','on');

• une_iq.m : integra en una sola secuencia real las componentes en fase

y cuadratura de la señal compleja recibida. function [r_une]=une_iq(r_val) global Nsimb SF; r_une=zeros(1,Nsimb*SF); rr_val=real(r_val); ri_val=imag(r_val); fin=Nsimb*SF-1; j=1; for i=1:2:fin; r_une(i)=rr_val(j); r_une(i+1)=ri_val(j); j=j+1; end

• walsh.m : función que contiene el código asociado a la figura con el mismo nombre. En ella programan las callbacks o rutinas que se ejecutan para seleccionar el código así como para representar la autocorrelación del mismo.

function varargout = walsh(varargin) % WALSH M-file for walsh.fig gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @walsh_OpeningFcn, ... 'gui_OutputFcn', @walsh_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin & isstr(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT

Page 106: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Anexo Anexo-25

Simulador de un sistema de comunicaciones W-CDMA de UMTS

% --- Executes just before walsh is made visible. function walsh_OpeningFcn(hObject, eventdata, handles, varargin) % Choose default command line output for walsh handles.output = hObject; % Update handles structure guidata(hObject, handles); % --- Outputs from this function are returned to the command line. function varargout = walsh_OutputFcn(hObject, eventdata, handles) % Get default command line output from handles structure varargout{1} = handles.output; %%% Inicializacion al codigo SF %% function axes1_CreateFcn(hObject, eventdata, handles) global SF codigo1 subcodigo; matriz=hadamard(SF); codigo1=matriz(subcodigo,:); convol=xcorr(codigo1); plot(convol); grid on; title('Autocorrelacion del codigo'); function edit1_CreateFcn(hObject, eventdata, handles) global subcodigo SF; set(hObject,'string',subcodigo); if ispc set(hObject,'BackgroundColor','white'); else set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor')); end %%% Callbacks %%% function edit1_Callback(hObject, eventdata, handles) global codigo1 subcodigo SF; subcodigo=str2num(get(handles.edit1,'string')); matriz=hadamard(SF); codigo1=matriz(subcodigo,:); convol=xcorr(codigo1); plot(convol); grid on; title('Autocorrelacion del codigo'); function pushbutton1_Callback(hObject, eventdata, handles) global codigo1 SF subcodigo; subcodigo=str2num(get(handles.edit1,'string')); matriz=hadamard(SF); codigo1=matriz(subcodigo,:); close(gcf);

Page 107: SIMULADOR DE UN SISTEMA DE COMUNICACIONES W …bibing.us.es/proyectos/abreproy/10986/fichero/Memoria%2FPFC... · Aquí todos los usuarios pueden transmitir utilizando la misma frecuencia

Bibliografía y referencias

Simulador de un sistema de comunicaciones W-CDMA de UMTS

Bibliografía y referencias [1] “Sistemas de comunicaciones móviles de tercera generación IMT-2000” Fundación Airtel-Vodafone [2] “UMTS Signal and Communication Technology” A. Springer and R. Weigel. University of Linz [3] “Digital Communications” John G. Proakis. Ed. McGraw-Hill [4] “Simulation of Communication Systems” Jeruchim, Balaban, Shanmugan [5] “Creating Graphical User Interfaces” www.mathworks.com [6] “Matlab e Interfaces Gráficas” José J. Ezqueda Elizondo. Universidad Autónoma de Baja California [7] Apuntes de la asignatura ‘Comunicaciones Móviles’ 5º Ing. Telecomunicación. Escuela Superior de Ingenieros. Univ. Sevilla [8] “Diseño de un receptor digital para señales GPS” Proyecto Fin de Carrera de Luis J. Reina Tosina. Ingeniero de Telecomunicación. Universidad de Sevilla. Octubre 1996.