Modos Experimentales
Autor: Patrick Lindecker (F6CTE) el 03/08/2004 (mail :
Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.
) (Publicado en la revista de la REF).
Traducido por Joaquin, EA4ZB
Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.
En este artículo describo 2 métodos digitales "teclado a teclado" de tipo PSK (Phase Shift Keying): el PSKFEC31 y el PSK63F, ambos dotados de una corrección de error, con el fin de mostrar el tipo de problema que se puede encontrar durante la creación de un nuevo modo digital. Estos modos y muchos otros están disponibles en uno de los programas informáticos desarrollados por el autor, cuyo nombre es Multipsk, programa que puedes descargar en el siguiente sitio de internet : http://f6cte.free.fr
INTRODUCCION
Las comunicaciones digitales en ondas cortas, a menudo, se vuelven dificiles o incluso imposibles, por el hecho:
- Del QRM de otras estaciones,
- Del QSB,
- De la modulación Doppler ionosférica (sobre todo en bajas velocidades de modulación como en PSK31 o peor en PSK10),
- Del solapamiento de señales idénticas pero resultantes de distintos recorridos en la ionosfera (particularmente sensibles a las grandes velocidades de modulación).
- De una débil relación señal/ruido, siendo la señal más o menos ahogada en el ruido.
El objetivo de estos modos (experimentales) a velocidad débil o media y con corrección de errores es permitir una comunicación, en ondas cortas, del tipo "debate" entre radioaficionados.
- Sin transmisión de fichero ni de imagen (de momento, por un instante?) con muchos menos errores que en BPSK31 (modo básico que constituye un método de referencia).
- Un nivel de sensibilidad superior al de BPSK31.
Se recuerda que el modo BPSK31 se concibe para garantizar comunicaciones hasta una relación señal/ruido de -11,5 dB, lo que representa una señal 14 veces más débil que el ruido (como referencia en 3 Khz). Su velocidad en morse equivalente es de 37 palabras/minuto en mayúsculas y 51 palabras/minuto en minúsculas.
CARACTERISTICAS COMUNES
1) Todos estos métodos (incluido el BPSK31) son modos BPSK ("Binary Fase Shift Keying"). Se trata de una modulación en 2 tipos de fase: 0°/180° (inversa). Esta modulación puede también ser vista como una modulación de amplitud a 2 niveles opuestos. No es la mejor manera de transmitir la información pero tiene la ventaja de tener una simple "puesta en escena" y relativamente eficaz, sobre todo en el ruido.
Para evitar tener una referencia de fase (ya que se debe medir con relación a algo), se eligió un método diferencial: lo que se detecta no es la fase pura sino la inversión o no de un símbolo con relación a su predecesor siguiendo el esquema:
- 0°--->180° o 180°--->0° para la inversión,
- 0°--->0° o 180°--->180° para la no-inversión.
Desgraciadamente, con este esquema se tiene dos veces más de riesgo de error.
Esta modulación (prevista en banda base) trata sobre la portadora BF que modula por si misma la portadora HF.
La detección puede ser "coherente", en realidad "casi-coherente" porque la sincronización "bit" está construida a partir de la señal y no a partir de una fuente externa (solución que, por otra parte, sería concebible). El término "coherente" viene debido a que la fase va seguido por una clase de cierre a bloqueo de fase llamada "bucle de Costas". Realmente, dado que se conoció la fase (al principio) con una ambigüedad de 180°, esta definición no es estrictamente aplicable.
Nota: El bucle de Costas es una solución (la del autor) entre otros. Por ejemplo, el programa original PSK31SBW (de G3PLX - Peter Martinez) no hace ningún seguimiento de fase sino una medida de la fase media durante un bit (detección no coherente).
2) Los modos PSK31, PSKFEC31 y PSK63F utilizan una codificación de los caracteres llamada "Varicode". Este término es el contrario de "código de longitud fija". Como en morse, la longitud en bites de un carácter depende del caso de este carácter en la literatura o en la lengua hablada. Hay que señalar que el Varicode del PSK31 no es el mismo que el del PSKFEC31 ni que el del PSK63F. Cada carácter va precedido de una secuencia de bites (código de separación) conocida de antemano, por ejemplo "011" en PSKFEC31 (con "1" para cambio de fase y "0" para "no hay cambio"). Al final, se tienen menos bites que transmitir para un texto normal, de ahí el interés. Además, un código de longitud fija implica poder detectar un bit que falta (haciendo a continuación, por ejemplo, una mala sincronización "bit"). Este problema no es ordinario y expuesto a pérdidas de caracteres en serie.
3) La transmisión puede hacerse en LSB o en USB pero para simplificar el USB se utiliza generalmente, incluso sobre las bandas bajas. Esto tiene la ventaja de permitir a dos OM acordar una misma frecuencia que se puede definir por su componente HF y por su componente BF. Por ejemplo, se hablará de 7035 KHz con un BF a 1000 Hz medido en el espectro (o sea 7036 KHz en USB). De forma general, el USB está en vias de generalizarse para todos los métodos numéricos (excepto el caso del RTTY 45 baudios).
4) La velocidad de modulación es a menudo de 31,25 baudios o un múltiplo (por ejemplo : 2 x 31,25 = 62,5 baudios para el PSK63 (extensión del BPSK31 a 62,5 baudios) y el PSK63F. Corresponde a un submúltiplo de 8000, la frecuencia de muestreo de 8000 muestras./s siendo corriente en las tarjetas DSP y en las tarjetas de sonidos (sin embargo Multipsk utiliza la frecuencia de 11025 muestras./s, estandar básico de las tarjetas de sonido).
5) La sincronización se hace a partir de la señal. Su objetivo es definir cuando, precisamente, debe hacerse la medida del bit. Se construye generalmente a partir de una no linearidad aplicada a la señal en banda base. El autor, por ejemplo, utiliza, como no linearidad, una puesta al cuadrado de la señal.
Nota 1: La señal en banda base es obtenida por demodulación de la señal BF, es decir, supresión de su componente BF (la portadora), con ayuda de un bucle de Costas y de un filtro adaptado.
Nota 2: Los procesos digitales son obviamente los mismos que sus homólogos analógicos, excepto cuando la potencia de cálculo permite pasar a soluciones más interesantes. Por ejemplo, si se utilizan filtros pasabajos recurrentes del primero, del 2º o del 4º orden como en analógico, se pueden también realizar filtros lineales no recurrentes del orden de 500 o incluso más...
6) La frecuencia de la señal pudiendo derivar, se dispone en general de un control automático de la deriva de frecuencia que se basa en el cálculo de la deriva media de la fase. En cuanto se detecta una deriva, basta con hacer deslizar la pseudo frecuencia del "VCO" del bucle de Costas.
7) La señal en banda base pasa por una ventana llamada de "ponderación". La ventana por defecto es la ventana rectangular donde la señal en banda base trata en sector sobre la portadora BF (como en CW, RTTY, AMTOR...). La banda ocupada es proporcional a la velocidad de modulación (en baudios) con una forma de envoltura de seno (x)/x, lo que da una banda ancha y en consecuencia contaminante. Es por el contrario la mejor desde el punto de vista de la ausencia de interferencia intersímbolo (ISI), es decir, que un bit dado no interfiere con su vecino. Por principio, en modo PSK, se reduce la banda de transmisión utilizando una ventana de ponderación de transición suave que genera, sin embargo, un poco de ISI..
ALGUNOS OTROS MODOS EXPERIMENTALES
He propuesto un primer modo llamado PSK10: la transmisión se hacía a 10 baudios en BPSK, como para los modos anteriores. Se asociaba un juego de caracteres Varicode "corto" al modo con un prefijo más seguro que el del BPSK31. Si este método es muy sensible (S/N mínimo = -17 dB), la duración del bit (0,1 segundo) es demasiado importante frente a la modulación Doppler ionosférica en ondas cortas.
Para reducir el índice de errores, he propuesto una solución, a través de los métodos PSKAM10/31/50, consistente en repetir cada carácter (de longitud fija y no variable) como en AMTOR FEC. Este principio funciona muy bien. Sin embargo, bajo malas condiciones (de QRM por ejemplo), aparece un problema de pérdida de sincronización. Como es difícil de resincronizar bajo malas condiciones (para un carácter de 8 bites, es necesario elegir entre 16 posibilidades...), la decodificación podía ser entrecortada (con ciclos de pérdida de sincronización y resincronización). Excepto este problema, el tipo de error es muy débil, comparado con el PSK31.
DESCRIPCION DEL PSKFEC31
He elegido el juego de caracteres ("corto") PSK10 por 2 razones:
- Un juego reducido permite reducir el indice de errores: cuanto más reducida es la elección, menos riesgo se tiene de equivocarse,
- Para tener una velocidad de mecanografiado suficiente para un radioaficionado o sea 28 palabras/minuto. Con el juego de caracteres PSK31, la velocidad habría sido de 23 palabras por minuto.
He favorecido las secuencias proporcionando un gran número de transiciones, para facilitar la sincronización.
El código de separación es "011" ; 1 para "cambio de fase" y "0" para "no cambio"). "011" es también el carácter de relleno.
En lo sucesivo, se encontrarán, para el ejemplo, los primeros caracteres (sin el código de separación):
|
CARACTER |
CODIGO |
|
Relleno ( >) |
|
|
Espacio |
1 |
|
E |
0 |
|
T |
1 1 |
|
A |
0 1 |
|
I |
1 0 |
La velocidad de gradación de 31,25 baudios se eligió para evitar el problema del PSK10 mencionado más arriba y ser homogénea con el PSK31. La relación señal-ruído mínimo es de -14,5 dB, para un 2% de errores.
Para evitar el problema de sincronización del PSKAM, son los bites y no los caracteres los que se repiten, la sincronización es por lo tanto segura y fácil (la elección no tiene más que por 2 posibilidades).
La ventana de ponderación utilizada para transmitir los bites es la del PSKAM: la ventana es rectangular pero la conexión entre 2 bites sucesivos es hecha por un seno decreciente y luego por un seno creciente (cada uno durante un cuarto de período). Esto autoriza una banda de transmisión no demasiado amplia sin interferencia entre símbolos. Excepto durante las transiciones, el nivel de envoltura es constante lo que permite obtener una potencia media igual al 85% de la potencia máxima obtenida haciendo un "tono".
|
Ejemplo: |
1011: |
1 |
| |
0 |
| |
1 |
| | 1 |
| R-R-R-D | - | C-R-R-D | - | C-R-R-R | - | R-R-R-R | ||
|
o |
C |
o D |
R: rectangular (=1) de un cuarto de periodo.
D: Seno decreciente de un cuarto de periodo (1 a 0)
C: Seno creciente de un cuarto de periodo (0 a 1)
DESCRIPCION DEL PROTOCOLO
LA ESTACION QUE LLAMA
Se repite cada bit 13 posiciones más lejos, según el principio del AMTOR FEC excepto que se trata aquí de bites y no de caracteres.
Un cambio de fase se señala "1" y no cambio de fase "0".
Supongamos que en vez de 13 bites tenemos 5 bites de distancia DX/RX y que quisieramos transmitir 101110:
|
DX |
RX |
DX está en primera posición |
|
1 |
x1 |
RX está en segunda posición |
|
0 |
x2 |
x1, x2 son los bits precedentes (0 o 1) |
|
1 |
1 |
y1, y2 son los bits siguientes (0 o 1) |
|
1 |
0 |
|
|
1 |
1 |
|
|
0 |
1 |
|
|
y1 |
1 |
|
|
y2 |
0 |
|
Se transmitirá (DX luego RX): 1 x1 0 x2 1 1 1 0 1 1 0 1 y1 1 y2 0
LA ESTACION QUE RECIBE
En recepción, las posiciones DX y RX son desconocidas. Como hay dos secuencias de bites posibles, es fácil encontrar la buena haciendo una autocorrelación sobre estas 2 secuencias (sobre una duración de dos segundos, por ejemplo) y elegir la que tenga el mayor nivel de autocorrelación.
Ejemplo: Yo recibo: 1 x1 0 x2 1 1 1 0 1 1 0 1 y1 1 y2 0
Dos secuencias son posibles, comenzando o por el primer bit "1", o por el bit "x1". Se suponen siempre 5 bites de distancia DX/RX.
1ª hipótesis: secuencia que comienza con el primer bit "1":1/1, 0/0, 1/1, 1/1, 1/1, 0/0
2ª hipótesis: secuencia que comienza con el bit "x1": x1/1, x2/1, 1/0, 0/y1, 1/y2
Como los bits x1, x2, y1, y2 valen 0 ó 1, la autocorrelación será máxima con la primera secuencia, por lo tanto el primer "1" se elegirá como en posición DX.
Se hará la determinación de la posición DX regularmente (dos veces por segundo por ejemplo).
Una vez sincronizado, el bit más probable será el bit medio:
Bit medio = (bit DX + bit RX) / 2.
Supongamos que se reciba un "1". Por convenio, debo recibir un nivel de 1000 (equivalente a 180° de cambio de fase) para "1" (sería -1000 para el "0"). Tengo en cuenta que el nivel del bit DX recibido valdrá -100 (en vez de 1000, por lo tanto concluiré que es un "0") y que el nivel del bit recibido RX vale 700 (en vez de 1000 pero concluiré que es un "1"). Hay una ambigüedad. La media es de 300, por lo tanto la decisión será "1" y será la buena.
En este ejemplo, el bit DX erróneo es corregido por el bit RX. En la realidad, el tipo de error se reduce de un factor 2 a 10 en función de las condiciones (QRM, QSB, gradación Doppler ionosférica...).
DESCRIPCION DEL PSK63F
El autor Nino Porcino IZ8BLY eligió un juego de caracteres largo que comprenden todos los caracteres ASCII y ANSI (o sea 256 caracteres). El código de separación es similar al del PSKFEC31. La velocidad de mecanografiado de 42 palabras/minutos es muy cómoda.
La velocidad de modulación de 62,5 baudios fue elegida por homogeneidad con el PSK31.
El informe señal-ruído mínimo es de -12 dB, para un 2% de errores.
La sincronización es del mismo tipo que para el PSKFEC31 al saber que se trata de elegir entre 2 bites, no haciéndose la elección aquí por autocorrelación sino por la mejor elección entre 2 distancias de De Hamming (véase más abajo).
La ventana de ponderación utilizada para transmitir los bites es la del PSK31: la ventana no es rectangular sino con forma de coseno elevado (forma que permite una transición suave). Por otra parte, si se observa una señal PSK31 (o PSK63F), uno se da cuenta que los bites tienen una forma redondeada. Esta forma reduce considerablemente la banda de transmisión pero introduce una cierta interferencia intersímbolo, en el sentido que los bites se cubren ligeramente, lo que no es muy molesto en los hechos. La potencia media es igual al 79% de la potencia máxima.
DESCRIPCION DEL PROTOCOLO
LA ESTACION QUE LLAMA
Cada bit pasa a través de un codificador convolutivo. Este tipo de módulo merecería un artículo por sí solo. Sin entrar en detalles, se puede decir que cada bit pasa en un registro a desfase seria con 2 salidas paralelas. Entre la entrada y las 2 salidas, se dispone de una lógica particular a base de puertas XOR que eminentes matemáticos seleccionaron como los mejores.
Nota: una puerta XOR no hace más que añadir 2 bites (en base 2) rechazando la retención: 0+0=0, 0+1=1, 1+0=1 et 1+1=0.
Luego resumiendo para un bit en entrada, se sale del registro con 2 bites. El nivel de "persidad" introducido es proporcional a la longitud del registro, que es aquí de 7 bites contra, por ejemplo, 5 en QPSK31 (PSK31 con modulación en "cuadratura de fase").
Los dos bites en paralelo (dibit) se ponen a continuación en serie y se transmiten sucesivamente.
LA ESTACION QUE RECIBE
En recepción, las posiciones respectivas de los bites son desconocidas. Como en PSKFEC31, hay dos secuencias de bites posibles.
Suponiendo haber encontrado la secuencia buena, es necesario operar lo que se llama una "deconvolución". Es la operación opuesta del codificador convolutivo se va de una serie de bites en dependencia y se determina el bit inicial. La solución lógica sería:
- Determinar todas las secuencias posibles,
- Calcular la distancia (que mencionabamos antes de De Hamming) entre la secuencia de bites recibida y cada una de las secuencias posibles.
Es la distancia más corta que fija la secuencia que debe retenerse.
Nota: a modo de ejemplo, la distancia entre "01" y "00" es de 1, entre "01" y "10" es de 2, etc.
Este método (optimo) es muy "goloso" en potencia de cálculo (aunque ahora...).
El método a menudo utilizado es el algoritmo de desciframiento de Viterbi (cercano al optimo) que, en cada etapa, elimina las secuencias menos probables, lo que aligera el cálculo pero no exime del cálculo de la distancia de De Hamming para las secuencias anteriores "supervivientes". Para regresar al problema anterior, esta distancia de De Hamming precisamente se utiliza para determinar cuáles son los primeros y segundos bites de un dibit. Entre 2 secuencias de bites posibles, la que genera la distancia de De Hamming mínima será retenida.
Una vez determinado el bit, el tratamiento es similar al del PSKFEC31:
- Detección del código de separación entre caracteres,
- Determinación del carácter.
DETECCION DE UNA SEÑAL ENTRE EL RUIDO Y VISUALIZACIÓN
Una dificultad consiste en evidenciar sobre el "salto de agua" ("waterfall" del programa informático) una señal muy débil ahogada en el ruido. La única manera de hacerlo es promediar los espectros. Por ejemplo, en Multipsk, el espectro visualizado para el PSKFEC31 es una media de 3 espectros. Como una señal tal como el PSKFEC31 es coherente y el ruido es no coherente, la media del ruido se vuelve nula mientras que la media de la señal sigue siendo constante, por lo tanto cuanto más se promedia los espectros, más emerge la señal del ruido.
Hay, sin embargo, una contrapartida:
- Se introduce un retraso,
- Debido a que promediar es también filtrar "pasabajos", los fenómenos se vuelven lentos... en particular, por lo que se refiere al crecimiento y la disminución de las señales (hay una remodelación de la información).
En conclusión, se trata de hacer un compromiso entre una detección fina y un retraso demasiado importante. Es uno de los límites de la detección de una señal entre el ruido: para alcanzar una relación señal-ruído de 0.001 (-30 dB) por ejemplo, sería necesario tener una velocidad de cerca de 1 baudio (para una velocidad equivalente de 1 a 2 palabras/min...) con un retraso a la visualización de 30 segundos o más!

