Cap´ıtulo 6 Anexos

Anuncio
Capı́tulo 6
Anexos
6.1.
Ejemplo obtención CRC
En este ejemplo se codificará un mensaje de 14 bits con un CRC de 3 bits,
y con un polinomio generador x3 + x + 1. El polinomio es escrito en binario y
será el divisor del proceso. En este caso el polinomio generador queda de la forma
“gen = [1 0 1 1]”.
Se comienza con el mensaje a “proteger”:
11010011101100
Este mensaje es primero rellenado con un número de ceros igual al orden del
CRC, que este caso es 3. A continuación se muestra el primer paso para el cálculo
del CRC de 3 bits:
11010011101100 000
1011
Mensaje con tres bits de relleno.
Divisor (4 bits) = x3 + x + 1.
01100011101100 000
Resultado.
En cada paso o iteración el algoritmo actúa directamente sobre los bits que tiene encima del divisor. El resultado para esa iteración es la XOR entre los bits
coincidentes del divisor y el mensaje. Los bits que no están directamente encima
del divisor son simplemente copiados abajo para esa iteración. Para la siguiente
iteración el divisor es desplazado un bit a la derecha, y el proceso es repetido hasta
que el divisor alcance el último bit del mensaje. El proceso de obtención completo
77
se reproduce a continuación:
11010011101100
1011
01100011101100
1011
00111011101100
1011
00010111101100
1011
00000001101100
1011
00000000110100
1011
00000000011000
1011
00000000001110
1011
00000000000101
101
000
000
Mensaje con tres bits de relleno.
Divisor (4 bits) = x3 + x + 1.
Resultado.
Divisor.
000
000
000
Nótese que el divisor se mueve hasta
alinearse con el siguiente ’1’ en el dividendo.
000
000
000
000
1
00000000000000 100
Resto = Valor CRC (3 bits). El algoritmo para cuando el cociente es cero.
Es decir, el valor del checksum CRC obtenido es igual a [1 0 0].
La validez del mensaje recibido en el receptor puede ser fácilmente verificado
mediante la realización del cálculo de nuevo. En vez de rellenar el mensaje recibido
con 3 bits a cero, en esta ocasión se deberán colocar los 3 bits correspondientes al
valor del CRC hallado en el calculo anterior.
78
11010011101100 100
1011
01100011101100 100
1011
00111011101100 100
Mensaje recibido con el valor de CRC.
Divisor (4 bits) = x3 + x + 1.
Resultado.
Divisor.
...........
00000000001110 100
1011
00000000000101 100
101 1
0
Resto = 0
El resto tiene que ser igual a cero, en caso contrario el mensaje recibido es
distinto al enviado.
79
6.2.
Parámetros capa PHY
El cuadro 6.1 muestra los parámetros de frecuencia y tiempo usados en la capa fı́sica PHY de PRIME OFDM. Estos parámetros son comunes para todas las
combinaciones de constelaciones y codificaciones.
Nota: La tasa de muestreo de 250 Khz y los 512 puntos de la IFFT son definidos por conveniencia de la especificación PRIME en cuanto a los sı́mbolos OFDM,
y no son entendidos como un requerimiento para su implementación.
Cuadro 6.1: Parámetros de tiempo y frecuencia de PHY PRIME OFDM
Parámetros
Reloj de banda base (Hz)
Espacio entre subportadoras (Hz)
No de subportadoras de datos
No de subportadoras pilotos
Intervalo FFT (puntos)
Intervalo FFT (µs)
Prefijo cı́clico (muestras)
Prefijo cı́clico (µs)
Intervalo de sı́mbolo (muestras)
Intervalo de sı́mbolo (µs)
Perido de preámbulo (µs)
Valores
250000
488.28125
84 (header)
13 (header)
512
2048
48
192
560
2240
2048
96 (payload)
1 (payload)
El cuadro 6.2 muestra la tasa envı́o de datos durante la transmisión de la carga
útil en PHY, y las longitudes de MSDU máximas para las distintas combinaciones
de codificación y modulación.
El cuadro 6.3 muestra el esquema de modulación y codificación, y la dimensión
de la cabecera de la porción de la “PHY Frame”.
80
Cuadro 6.2: Tasa de envı́o datos de PHY y parámetros de dimensión de paquete,
para varios esquemas de modulación y codificación.
Código convolutional (1/2)
Bits de información por
subportadora (NBP SC )
Bits de información por
sı́mbolo OFDM (NBP S )
Tasa de envı́o de datos brutos
(Kbps aprox.)
Longitud máxima de MSDU con
63 sı́mbolos (en bits)
Longitud máxima de MSDU con
63 sı́mbolos (en bytes)
DBPSK
On
O↵
DQPSK
On
O↵
D8PSK
On
O↵
0.5
1
1
2
1.5
3
48
96
96
192
144
288
21.4
42.9
42.9
85.7
64.3
128.6
3016
6048
6040
12096
9064
18144
377
756
755
1512
1133
2268
Cuadro 6.3: Parámetros de la cabecera (header)
Código convolucional (1/2)
Bits de información por
subportadora (NBP SC )
Bits de información por
sı́mbolo OFDM (NBP S )
81
DBPSK
On
0.5
42
6.3.
Esquemas de modulación utilizados
6.3.1.
BPSK
Transmisor
Este esquema de modulación es utilizado única y exclusivamente con las subportadoraspiloto. La figura 6.1 muestra la salida del mapper BPSK cuando a la entrada se le
mete un “0” o un “1” y su constelación correspondiente.
Figura 6.1: Mapper BPSK.
Receptor
En el receptor simplemente se realizará el proceso inverso. Si a la entrada del
de-mapper se tiene s = 1 + j0 a la salida se tendrá un 0 y un 1 para el otro caso
de entrada.
6.3.2.
DPSK-M
Transmisor
Para este esquema de modulación diferencial se tendrán tres variantes: M =
2, 4 o 8 según se tenga una modulación DBPSK, DQPSK o D8PSK, respectivamente. La modulación por desplazamiento de fase diferencial (DPSK) es una forma
común de modulación de fase que lleva información por el cambio de fase de onda
82
portadora. En la figura 6.2 se puede ver para los distintos esquemas de modulación
las diferentes entradas y salidas del mapper.
(a) Mapper DBPSK.
(b) Mapper DQPSK.
(c) Mapper D8PSK.
Figura 6.2: Distintos esquemas de modulación.
La señal modulada para los casos DBPSK y DQPSK se pueden ver en la figura
6.3. Para el caso DBPSK, cuando se envı́a un “1” se añaden 180o a la fase actual
de la onda portadora; y si se envı́a un “0” se añadirán 0o a la actual fase. Para
el caso de la DQPSK, los desplazamientos de fase serán 0o , 90o , 180o o -90o en el
caso de que se envı́e “00”, “01”, “11” o “10”, respectivamente. En ambos casos se
supone que la fase de referencia de partida es de 0o .
Figura 6.3: Señales moduladas para los casos DBPSK y DQPSK.
83
Receptor
En el receptor, el de-mapper realiza el proceso inverso según varı́e la fase de la
portadora respecto la fase actual de partida. Por ejemplo, ver la figura 6.4.
Figura 6.4: De-mapper DBPSK.
Si en este caso la fase de referencia de partida es 0o , si se produce un cambio
de fase de 180o en la fase de la portadora es que se ha transmitido un “1”. A
continuación, como se vuelve a producir un cambio de fase de 180o , se deduce que
se ha vuelto a transmitir un “1”. Posteriormente, en el siguiente ciclo de reloj se ve
que la fase ha variado 0o , por tanto se ha transmitido un “0”. Y ası́ sucesivamente.
Nota: tanto en el transmisor como en el receptor, la modulación diferencial
(DPSK) necesita de un bit o un sı́mbolo de partida, según sea el Tx o el Rx,
respectivamente. Esto es ası́ porque la modulación diferencial depende del cambio
de fase que se haya producido respecto del sı́mbolo anterior, de ahi la importancia
que siguen los pilotos, cuyo función es la de marcar la referencia de fase. Los pilotos
evidentemente cuando se modulen no seguirán una modulación diferencial. En el
receptor cuando se proceda a la demodulación, una vez que se hayan obtenidos los
datos a partir del piloto, éste se puede desechar.
84
6.4.
Prefijo cı́clico
La necesidad de introducir un prefijo cı́clico en los sı́mbolos OFDM se podrı́a
decir que tiene su “origen” en el ISI (Interferencia entre sı́mbolos). Ya se explicó en
el apartado 1.2.1, pero a modo de resumen, la aparición del ISI es debido a los
efectos producidos por los ecos del canal, es decir, al transmitir una señal, en el
receptor recibiré dicha señal varias veces en distintos instantes de tiempo y con
distintos niveles de potencia.
Figura 6.5: Existencia de ISI.
En la figura 6.5 se puede apreciar lo anteriormente explicado: se transmiten
sı́mbolos de duración TS por sı́mbolo. La señal llega en un tiempo ⌧0 pero por
los efectos del canal llega repetida dos veces con un retraso ⌧1 y ⌧2 . Para poder
recuperar la información debido a los efectos del ISI ( InterSymbol Interference),
TS debe ser mucho mayor que la diferencia entre el primer y último eco, es decir,
⌧M AX . Sin embargo, aunque la ISI es menor, seguirá existiendo.
Posible solución: introducir un periodo de guarda entre sı́mbolos. (Ver figura
6.6)
85
Problema: esta solución plantea el problema del ensanchamiento del espectro
y la pérdida de capacidad de transmisión.
Figura 6.6: Introducción de un periodo de guarda.
Una variante a la solución planteada anteriormente y que soluciona el problema
del ensanchamiento del espectro es la adición de un prefijo cı́clico (Ver figura
6.7). En el dominio del tiempo (después de la IFFT), se toman las últimas NCP
muestras, y se copian al principio.
Figura 6.7: Inserción de un prefijo cı́clico CP.
La inserción del prefijo cı́clico tiene la misma función que el intervalo de guarda:
elimina el ISI. Sin embargo, a diferencia de éste último, no aumenta el espectro,
pero, plantea el problema de que al transmitir más muestras de las necesarias se
está perdiendo capacidad de transmisión (ver figura 6.8).
86
Figura 6.8: Prefijo cı́clico: no se aumenta el espectro pero se pierde capacidad de
transmisión.
87
6.5.
6.5.1.
Otros códigos utilizados
Creación de la “macro-cabecera”
Se genera una trama PHY Frame con unos MSDU y MAC HEADER determinados (llamando a la función tx.m). De la trama obtenida nos quedamos únicamente con la cabecera o header, y concatenamos esta última el no de veces indicado
por “Nh”.
1
function [ s_tx , h_tx ] = hgen ( Nh )
2
3
4
5
6
7
8
9
%% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
%
% Función que se encarga de generar una trama PHY Frame,
% se queda solo con la parte correspondiente a la
% cabecera, y posteriormente concatena su copia Nh veces.
%
%% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
10
11
12
13
MSDU = randi ([0 1] ,1 ,3360);
MH = randi ([0 1] ,1 ,54);
s_tx = zeros (1 , Nh *560*2);
% Nh: Número de cabeceras
14
15
[ s , h_tx ] = tx ( MSDU , MH , 0 );
16
17
18
% Se tendrá solo en cuenta la parte de la header.
s = s (1:560*2);
19
20
21
22
for k =1: Nh
s_tx (560*2* k -560*2+1:560*2* k ) = s ;
end
23
24
end
6.5.2.
1
Representación en el dominio del tiempo y frecuencia
function [
] = pic ( x )
2
3
4
5
%% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
%
% Función que se encarga de la representación de la señal y
88
6
7
8
9
10
11
% el espectro.
%
% x: Señal de entrada que lo forma el conjunto de símbolos
% OFDM (Phyframe).
%
%% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
12
13
14
15
16
17
18
19
20
21
22
% Representación en el dominio del tiempo.
Nsymb = length ( x )/560;
% Numero de simbolos OFDM
Tsymb = 2240 e -6;
% Intervalo de símbolo (s).
Tmax = Tsymb * Nsymb ; % Tiempo total del numero de símbolos.
t = Tmax / length ( x ) : Tmax / length ( x ) : Tmax ;
figure (1)
plot (t , abs ( x ));
title ( ’ Se~
n al OFDM ’)
xlabel ( ’t ( seg ) ’)
ylabel ( ’s ( t ) ’)
23
24
25
26
27
28
% Representación en el dominio de la frecuencia.
Ts = Tsymb /560; % Tiempo por muestra.
Fs = 1/ Ts ;
%Frecuencia de muestreo.
figure (2)
pwelch (x ,[] ,[] ,[] , Fs , ’ centered ’ );
29
30
31
32
33
end
89
6.6.
Peculiaridad de la señal y la IFFT en PRIME v1.3.6
Una de las peculiaridades en la especificación PRIME v1.3.6 está en parte que
viene antes y después de realizar la IFFT. Observar la figura 6.9.
(a) Señal en banda base antes de IFFT.
(b) Señal subida en frecuencia antes de IFFT.
Figura 6.9: Peculiaridad PRIME v1.3.6: señal e IFFT.
Ambos modelos son equivalentes desde el punto de vista funcional. Sin embargo,
en la figura (a) la señal de interés se encuentra en banda base antes de realizársele
la IFFT. Posteriormente a la IFFT se sube en frecuencia mediante un mezclador,
sobre una portadora a 65.4295 Khz. Nótese que se realiza una IFFT de 128 puntos.
Por otro lado se tiene el modelo (b), en el que la señal ya está subida en frecuencia y está muestreada a una frecuencia de 250 Khz, todo esto antes de haber
90
realizado la IFFT. Aquı́ la IFFT es de 512 puntos, pues se necesitan 97 subportadoras por un lado y las correspondientes 97 pero complejas conjugadas por otro
lado. Una IFFT de 128 habrı́a sido insuficiente por eso es necesaria una de 512
(Ver capı́tulo 2.4.6 para apreciar la disposición de las subportadoras).
La especificación PRIME v1.3.6 hace uso precisamente del modelo
(b), que como ventaja principal es el ahorro en el uso de un mezclador.
91
Descargar