seegongsik
CM · Ruido e información

Capacidad de canal y Shannon

Por ingenioso que sea un código, la tasa de bits que un canal puede llevar sin errores tiene un techo. En esta unidad verás la conclusión de Shannon de que ese techo depende solo de dos cosas, el ancho de banda y la SNR, y cómo se pueden intercambiar ancho de banda y potencia.

¿Este canal aguanta la tasa objetivo?

La curva representa la capacidad C/B = log₂(1 + SNR) en función de la SNR, y el área sombreada bajo ella es la región que de verdad se puede alcanzar. Al subir la SNR con el deslizador, la línea vertical que marca el punto actual se desplaza a la derecha; cuando la curva supera la tasa objetivo punteada se ve dorada, y mientras queda por debajo, roja. Quedar por debajo del objetivo significa que ningún código puede enviar a esa tasa.

Relación señal-ruido SNRSNR = 3.0 dB
La tasa objetivo es de 4 bits por 1 hercio, y la curva solo la alcanza cuando la SNR pasa de 15 (unos 11,8 dB). Como la curva es logarítmica, subir la SNR eleva la capacidad muy despacio.
Capacidad frente a objetivo con esta SNR
C/B = 1.58 < 4
Capacidad insuficiente

¿La astucia da velocidad infinita?

Si el ruido voltea bits, enviar el mismo bit varias veces o añadir un código ingenioso reduce los errores. Entonces, con un código lo bastante elaborado, ¿podría cualquier canal ruidoso transmitir tan rápido y tan exacto como se quiera? En 1948 la respuesta de Shannon fue sorprendente: no, hay un techo que no se puede cruzar. Eso sí, por debajo de ese techo los errores pueden acercarse a 0 tanto como se desee.

La fórmula de Shannon

El valor del techo cabe en una línea: C = B log₂(1 + SNR). Aquí C es el mayor número de bits por 1 segundo que se pueden enviar sin error, B es el ancho de banda y SNR es la relación señal a ruido. La fórmula no contiene ni el esquema de modulación ni el tipo de código, así que la capacidad del canal queda fijada solo por dos números, el ancho de banda y la SNR. Si la tasa deseada Rb es menor que C, un código adecuado la envía con toda la fiabilidad que se quiera; si es mayor que C, ningún método evita los errores.

ObservaC = B log₂(1 + SNR)
La capacidad la fijan solo el ancho de banda y el SNR.
EligeRb ? C
Solo por debajo de C se puede enviar con toda la fiabilidad deseada.

El canje — ancho de banda y potencia

Hay dos caminos para aumentar la capacidad: ensanchar el ancho de banda o subir la potencia de la señal para elevar la SNR. Sus efectos son muy distintos. Con la SNR fija, el ancho de banda multiplica toda la fórmula, así que duplicarlo duplica la capacidad; en cambio la SNR está dentro del logaritmo, de modo que ganar 1 bit más exige aproximadamente duplicar la SNR. Añadir potencia pronto rinde cada vez menos, y por eso un enlace escaso de potencia ensancha la banda y uno escaso de banda invierte potencia. Ahora bien, si solo se ensancha la banda con la potencia fija, el ruido crece en proporción a la banda y la SNR cae, así que por mucho que se ensanche la banda, la energía necesaria por bit nunca baja de un mínimo fijo.

Completaη = C / ? = log₂(1 + SNR)
La eficiencia por 1 hercio es log₂(1 + SNR).
Por tu cuentaB → 2B : C → ?
Doblar el ancho de banda dobla la capacidad (SNR fijo).

De vuelta a la primera pantalla

Con una SNR baja, la curva de capacidad quedaba por debajo de la tasa objetivo, una zona roja en la que ningún código podía enviar a esa tasa. Al subir la SNR, la curva se elevó despacio, superó el objetivo y se volvió dorada, y como es logarítmica, cada paso hacia arriba exigía una SNR cada vez mayor. Hay que recordar una cosa: el techo absoluto de la comunicación sin errores es C = B log₂(1 + SNR), fijado solo por el ancho de banda y la SNR; todo lo que queda por debajo es posible y todo lo que queda por encima, imposible.

La capacidad del canal C = B log₂(1 + SNR) es la mayor tasa de bits que un canal puede llevar manteniendo los errores tan pequeños como se quiera. No depende de la modulación ni del código, sino solo del ancho de banda B y de la SNR. Por debajo de C un código adecuado transmite con fiabilidad; por encima de C es imposible. La capacidad crece con el ancho de banda (de forma lineal) o con la potencia/SNR (de forma logarítmica), y ambos se pueden intercambiar.

En la próxima unidad

Shannon prometió que por debajo de C los errores se podían acercar a 0, pero no dijo cómo. La última unidad trata ese método, la codificación de errores. Si se añaden bits de sobra a los datos según una regla, aunque el ruido voltee algunos, el receptor puede usar esos bits extra para notar el desajuste y corregirlo. La unidad parte de un solo bit de paridad y llega a los principios de la detección y la corrección de errores.