Bitácora · DCSS · Unidad 5

El ruido que inyectás no es el que ve el decisor

Unidad 5 · El receptor de mínima distancia sobre AWGN

Hay dos relaciones señal a ruido en una cadena digital y se llaman casi igual. Una es la del canal, donde la señal va sobremuestreada y el ruido ocupa toda la banda del reloj. La otra es la del decisor, después del filtro acoplado, que es la única que decide si un símbolo se recibe bien. No son el mismo número, y la que se programa —la que se usa para calcular cuánto ruido inyectar— es la del canal.

La relación entre las dos es un factor N, el sobremuestreo. Con N=2 son 3,01 dB. Y el signo del exponente no es un detalle de implementación: las propias filminas de la cátedra lo tienen de las dos formas. La lámina del diagrama de bloques escribe SNRCH=N·SNRSLC; la lámina siguiente, la que dice cómo simular, escribe SNRCH=SNRSLC/N. Una de las dos está al revés y no hay forma de saber cuál leyendo.

Medida, la respuesta es limpia: con SNRSLC/N la simulación cae encima de berawgn en las cinco combinaciones probadas; con N·SNRSLC yerra por órdenes de magnitud. Pero lo que hace de esto una nota y no una errata es hacia qué lado yerra.

Invertir la dirección no explota, no da NaN, no da un número raro. Da una curva de BER mejor que la teoría — una simulación que parece buenísima, con la constelación más apretada y los puntos por debajo de berawgn. Es la forma más peligrosa de estar equivocado que hay en esta materia, porque nadie audita un resultado que salió lindo.

01 · Dos SNR con el mismo nombre

La cadena de la unidad es TX → canal → filtro acoplado → decisor. Lo que el enunciado de un problema fija es Eb/N0, que es una propiedad del bit y no depende de cómo se lo transmita. De ahí sale la relación señal a ruido que ve el decisor, que ya sí depende de la constelación:

SNRSLC=log2M·EbN0

Con 16-QAM son cuatro bits por símbolo, así que a Eb/N0=0 dB el decisor ve una SNR de cuatro veces, o sea 6,02 dB. Hasta acá no hay trampa: es la contabilidad de siempre.

La trampa está en el paso siguiente, que es el único que el programa ejecuta de verdad. El ruido no se suma en el decisor: se suma en el canal, muestra por muestra, a la frecuencia de muestreo. Y ahí la cuenta es otra:

SNRCH=SNRSLCN,Pruido=PseñalSNRCH

O sea: el canal ve N veces MENOS relación señal a ruido que el decisor. La explicación que dan las filminas es espectral y es correcta: el ruido está repartido en N·BR de ancho y el filtro acoplado sólo deja pasar BR, así que el receptor recupera un factor N al filtrar. La sección 05 muestra que la contabilidad de potencias dice algo un poco distinto —y más útil— sobre de dónde sale ese factor.

En decibeles, el factor es 10log10N: 3,01 dB con N=2, 6,02 con N=4. Ese es el tamaño del factor. El tamaño del error de escribirlo al revés es otro número, y es el doble; en la sección 04 está medido.

02 · La contradicción no se resuelve leyendo

Las dos láminas están a una página de distancia. La del diagrama de bloques rotula la flecha que entra al canal con N·SNRSLC; la de «para simular» da la receta con SNRSLC/N. No es una errata de tipografía que se arregle mirando el contexto: las dos expresiones son gramaticales, las dos tienen unidades consistentes y las dos se pueden defender con un argumento que suena bien.

El argumento a favor de la mala es este, y conviene tenerlo escrito porque es el que uno se cuenta solo: «el filtro acoplado mejora la SNR en un factor N, así que la del canal tiene que ser N veces la del slicer». La primera mitad es verdadera y la segunda invierte la conclusión — si el receptor mejora la SNR, entonces antes del receptor era peor, no mejor. Es un error de dirección de flecha, del mismo género que confundir ganancia con atenuación, y sobrevive porque el enunciado no tiene ningún término que chirríe.

Cuando dos fuentes del mismo material se contradicen y ninguna de las dos es absurda, la única salida es medir contra algo que no sea ninguna de las dos. Acá el árbitro es berawgn: la BER teórica de M-QAM sobre AWGN, que no sabe nada de sobremuestreo ni de filtros y sólo depende de Eb/N0.

03 · La medición decide

La cadena completa, con los parámetros del simulador de la cátedra: BR=32 GBd, sobremuestreo N=2, raíz de coseno realzado de rolloff 0,5 normalizado a energía unitaria y 401 coeficientes, símbolos Gray, 6·10⁵ símbolos por punto y una sola semilla. La escala del lazo no se supone: se mide por mínimos cuadrados contra los símbolos enviados, y da 0,9998 de los 1,0000 que la normalización promete. La misma corrida, cambiando sólo la línea que calcula la potencia de ruido:

MEb/N0berawgncon SNR/Nbits erradosrazóncon N·SNRbits errados
48 dB1,909·10⁻⁴2,175·10⁻⁴2611,13900 de 1,2·10⁶
168 dB9,247·10⁻³9,353·10⁻³22.4481,0111,667·10⁻⁶4 de 2,4·10⁶
1612 dB1,387·10⁻⁴1,525·10⁻⁴3661,10000 de 2,4·10⁶
648 dB5,233·10⁻²5,245·10⁻²188.8231,0022,132·10⁻³7.674 de 3,6·10⁶
6412 dB9,724·10⁻³9,797·10⁻³35.2701,0084,722·10⁻⁶17 de 3,6·10⁶

La columna de la derecha es la respuesta: la dirección del diagrama de bloques erra por factores que van de 25 a 3,5·10⁸ —y en dos de las cinco filas directamente no comete ni un error en millones de bits, así que el factor hay que sacarlo de la teoría corrida 6,02 dB, no de la medición—. La del «para simular» sigue a la teoría.

Cuánto la sigue es otra pregunta, y hay que contestarla con la columna de bits errados al lado. Las tres filas que juntan decenas de miles de errores dan 1,011, 1,002 y 1,008 — dentro del 1,1 %. Las dos que juntan un par de centenares dan 1,139 y 1,100, y esa diferencia no es de la cadena, es del generador. El control lo dice: cambiando nada más que la semilla, la fila de 4-QAM a 8 dB da 1,139 · 0,960 · 0,965, y la de 16-QAM a 12 dB da 1,100 · 0,956 · 0,920. La de 64-QAM a 8 dB, que junta ochocientas veces más errores, no se mueve de 1,00.

semilla4-QAM, 8 dB16-QAM, 12 dB64-QAM, 8 dB
71,1391,1001,002
110,9600,9560,998
230,9650,9201,000
bits errados≈ 234≈ 330≈ 188.400

Con 234 errores, la barra de Poisson sola vale 1/234, un 6,5 %. Así que la afirmación que se banca no es «la calibración buena acierta dentro del 1 %» sino «acierta dentro de la barra de Poisson de cada fila, y donde la barra es chica el acuerdo es del 1 %». Es una afirmación más débil y es la única que la medición sostiene.

04 · El error no vale 3,01 dB: vale 6,02

Acá hay un número que es muy fácil de escribir mal, y lo interesante es que se equivoca por la mitad justa. El factor entre las dos SNR es N, o sea 3,01 dB con N=2. Pero quien invierte la dirección no se corre 3,01 dB: se corre el doble, porque se equivoca 3,01 dB para cada lado del cociente. En potencia de ruido inyectada:

PmalPbien=Pseñal/(N·SNRSLC)N·Pseñal/SNRSLC=1N2

Y eso se traduce en un regalo de 20log10N decibeles de Eb/N0. La forma de medirlo sin discutir es invertir la teoría sobre la BER que sale: preguntarle a berawgn qué Eb/N0 haría falta para dar esa BER. Eso es el Eb/N0 aparente: lo que la simulación parece estar midiendo. 64-QAM, 3·10⁵ símbolos, pedido siempre 4 dB, cambiando sólo el sobremuestreo:

NSNR/N: Eb/N0 aparentedesvíoN·SNR: Eb/N0 aparenteregalo20 log₁₀ N
24,001 dB+0,00110,012 dB6,012 dB6,021
33,978 dB−0,02213,533 dB9,533 dB9,542
43,995 dB−0,00516,029 dB12,029 dB12,041
63,998 dB−0,002sin erroresno medible15,563

Las dos columnas juntas son el argumento entero. La calibración buena da 4 dB sin importar el sobremuestreo —4,001, 3,978, 3,995, 3,998, con el desvío en la tercera cifra—, que es exactamente lo que tiene que hacer una calibración: el sobremuestreo es una decisión de implementación y no puede cambiar la física. La mala se corre 20log10N y el corrimiento medido cae a 0,01 dB del cerrado en las tres filas donde hay errores que contar.

La última fila es la peor de las cuatro y no dice «no medible» por casualidad. Con N=6 la calibración mala regala 15,56 dB, la BER verdadera de ese punto es 1,1·10⁻⁷ y en 1,8·10⁶ bits no aparece ni un error. Cero errores no es una BER de cero. Es una medición que se quedó sin resolución, y encima del lado que parece bueno: el informe dice «BER = 0» y el que lo lee felicita.

Mirarlo

El widget arranca en la posición donde no hay nada que ver: 16-QAM, sobremuestreo 2, la calibración buena. Los puntos medidos caen sobre la curva teórica y la nube del decisor ocupa su celda de decisión. No hay efecto, y ése es el resultado.

Después dale vuelta la dirección. Dos cosas al mismo tiempo: la nube se aprieta —el ruido inyectado bajó N2 veces— y los puntos medidos se despegan de la curva hacia abajo, o sea hacia donde una BER se ve mejor. Subí el sobremuestreo y mirá cómo el despegue crece con N hasta que los puntos desaparecen del gráfico por falta de errores que contar. La lectura del Eb/N0 aparente pone el número: es el Eb/N0 que estás midiendo de verdad, y no es el que pediste.

Simulación La cadena entera, con la calibración a mano — TX → canal → filtro acoplado → decisor, con raíz de coseno realzado de rolloff 0,5 a los dos lados y 24.000 símbolos por punto. A la izquierda, la constelación a la entrada del slicer, con las fronteras de mínima distancia punteadas. A la derecha, la BER: la teoría en gris y lo medido en puntos, sobre una escala logarítmica. La escala del lazo se mide por mínimos cuadrados en cada corrida, así que la constelación está siempre bien normalizada — lo único que cambia es el ruido.
Cómo se calibra el ruido del canal
Constelación
SNR del canal — SNR en el decisor — BER teórica — BER medida — bits errados — Eb/N0 aparente —

Lo que el gráfico de la izquierda muestra y el texto no puede es que la nube no se deforma: se encoge. Con la calibración mala la constelación sigue centrada en sus puntos ideales, con la misma escala y la misma simetría; lo único distinto es el radio. Por eso no hay ninguna señal visual de que algo esté roto — una constelación apretada es lo que uno quiere ver.

05 · El filtro acoplado no baja el ruido: concentra la señal

La explicación espectral de la sección 01 —«el ruido ocupa N·BR y el filtro deja pasar BR»— es correcta y deja una imagen mental que no lo es: que el filtro acoplado tira N−1 partes del ruido. Midiendo las cuatro potencias de la cadena, con el pulso normalizado a energía unitaria que es el que usa el simulador, sale otra cosa. 16-QAM, Eb/N0=10 dB, 1,5·10⁵ símbolos, con el pulso truncado a 24 duraciones de símbolo para que la comparación entre sobremuestreos no cambie de pulso al cambiar de fila:

Nseñal en el canalseñal en el decisorrazónruido en el canalruido en el decisorrazón
25,004610,00151,99850,250030,249781,0010
33,33649,99962,99710,250410,250690,9989
42,502310,00813,99950,250420,249871,0022
61,66829,99685,99250,250460,250540,9997
81,25129,99557,98900,250220,250021,0008

La columna del ruido no se mueve: la potencia de ruido es la misma antes y después del filtro acoplado, dentro de dos milésimas, para cualquier sobremuestreo. Lo que cambia por un factor N exacto es la señal: en el canal vale Ea/N porque la energía del símbolo está repartida entre N muestras, y en el instante de decisión vale Ea entera porque el filtro la junta toda en una sola muestra.

Con 16-QAM la energía media del alfabeto es 2(M−1)/3=10, y las dos columnas de señal son exactamente 10/N y 10. El filtro acoplado no es un filtro de ruido: es un concentrador de señal, y el factor N sale de que el transmisor la había dispersado. Las dos lecturas dan el mismo número —el ancho de banda y la contabilidad de potencias son la misma cuenta vista de dos lados— pero sólo una de las dos predice qué pasa si cambiás la normalización del pulso.

Y esto es lo que hace que el error de dirección sea tan difícil de ver mirando la cadena. El filtro acoplado no se entera de nada: hace exactamente lo mismo con la calibración buena y con la mala. La única diferencia está en una línea, tres bloques antes.

06 · Una simulación mejor que la teoría

Hay una jerarquía en las maneras de estar equivocado, y esta unidad la recorre entera. Lo mejor que puede pasar es una excepción: el programa se planta y señala la línea. Después viene un NaN, que se propaga pero grita. Después un número absurdo — una BER de 3,7, que no existe. Después un número raro, que hace levantar una ceja.

Y al final de la escala está esto: un resultado plausible, mejor que el esperado, en la dirección en la que uno quería que estuviera. La calibración invertida no produce ninguna de las cuatro señales de arriba. Produce una curva de BER suave, monótona, paralela a la teórica, apoyada del lado bueno. Produce una constelación limpia. Produce, con N=6, el mejor resultado posible: cero errores.

El chequeo que la detecta es barato y es el mismo que sirve para cualquier simulación de enlace: correr el punto contra la teoría y exigir que la razón dé uno, no que dé menos que uno. Una simulación por debajo de la teoría es tan sospechosa como una por encima — más, porque la de arriba se explica con ISI, con el truncamiento del filtro o con la desalineación del reloj, y la de abajo no se explica con nada físico. Sobre AWGN, el receptor de mínima distancia es el óptimo: no hay implementación que le gane. Si la medición le gana, la medición está mal.

El segundo chequeo es el de la tabla de la sección 04, y no cuesta nada: barrer el sobremuestreo con todo lo demás fijo. El sobremuestreo es una decisión de implementación —cuántas muestras por símbolo se guardan— y no puede mover la BER ni un decibel. Si la moviera, lo que cambió no es la física: es la calibración. Cuatro corridas y el diagnóstico está hecho.

Con eso queda calibrada la unidad. Todo lo que viene después —contar bits contra contar símbolos, la penalidad de la ISI, lo que el detector de secuencias le saca al slicer— se mide contra berawgn, y una medición contra un patrón sólo vale si el ruido que la produjo está donde tiene que estar. Esta nota va primera porque sin ella las otras cuatro son cuatro números sin patrón.

Para tener a mano

  1. SNRSLC=log2M·Eb/N0 y SNRCH=SNRSLC/N. El canal ve menos SNR que el decisor, no más. Con N=2 el factor es 3,01 dB.
  2. Las filminas lo tienen de las dos formas: el diagrama de bloques al revés, la lámina de simulación bien. El código hace la segunda y es la que reproduce berawgn.
  3. Con SNRSLC/N, las cinco combinaciones medidas caen dentro de su barra de Poisson; las tres que juntan más de 20.000 bits errados, dentro del 1,1 %. Con N·SNRSLC se yerra por factores de 25 a 3,5·10⁸.
  4. El error de invertir la dirección vale 20log10N, no 10log10N: 6,02 dB con N=2, no 3,01. Se falla 3,01 dB de cada lado del cociente. Medido: 6,012 · 9,533 · 12,029 dB de regalo contra 6,021 · 9,542 · 12,041 exactos.
  5. La prueba de que la calibración buena es buena no es que acierte en un punto: es que el Eb/N0 aparente no se mueva al barrer N — 4,001, 3,978, 3,995 y 3,998 dB sobre un pedido de 4.
  6. El filtro acoplado no baja la potencia de ruido: la deja igual dentro de dos milésimas. Lo que multiplica por N es la señal, que el transmisor había repartido entre N muestras.
  7. Invertir la dirección no rompe nada visible: da una constelación más apretada y una BER mejor que la teórica. Con N=6 da cero errores en 1,8·10⁶ bits, que es el resultado más lindo y el más falso.
  8. Los dos chequeos que la agarran: exigir razón uno contra la teoría —no «menos que uno»—, y barrer el sobremuestreo con todo lo demás fijo. Si la BER se mueve con N, lo que está mal es la calibración.
← Anterior Siguiente → Inicio