MFSK 2000

L'émission en MFSK

Transmettre en MFSK est très simple. Les données (disons provenant du clavier) sont stockées dans une zone tampon (appelé aussi "buffer" en anglais) et, une fois que la transmission est démarrée, elles sont envoyées via une série de codeurs au modulateur de transmission, puis à la carte son pour la conversion audio.

Etudiez la partie supérieure du diagramme après ce paragraphe.

Insertion d’Attente/Remplissage

 

Quand la zone tampon de transmission du clavier est vide, des caractères d’attente ne s’affichant pas sont incorporés dans l'émetteur via le codeur, étant donné qu'il est important que la transmission continue de fonctionner sans interruption afin que le  synchronisme soit maintenu à la réception.

 

Varicodeur

 

Les données du clavier et les caractères d’attente sont envoyés par l’intermédiaire de l’émetteur à un débit constant allant en premier au Varicodeur. Ce dernier utilise un tableau de conversion pour traduire le texte ASCII à la longueur fixée en un texte Varicode où la longueur du caractère dépends de sa fréquence d’utilisation. C’est tout comme le code Morse et il a trois avantages :

 

·        C’est plus efficace (moins de bits de données par mot dans du texte ordinaire).

·        Il transforme un texte orienté byte en un flux binaire facilement transmis quelque soit le nombre de bits par symbole impliqués.

·        Il permet que les données soient traitées par un codeur convolutionnel séquentiel et qu'un décodeur soit utilisé pour la correction des erreurs.

·        Il fournit un jeu de caractères virtuellement illimité - ASCII étendu avec caractères accentués, plus codes de contrôle non-affichés .

Le Varicodeur employé pour le MFSK 2000 est très similaire mais ce n’est pas le même que celui qui utilisé pour le PSK31. En particulier, le besoin de signaux "00" continus afin d’identifier le signe d’attente/remplissage n’est pas nécessaire et ainsi un code plus efficace utilisant des combinaisons avec des zéros répétés est possible. D’autres codes externes au jeu ASCII de 256 caractères sont employés pour des contrôles.

Codeur FEC Convolutionnel

 

Si la  Correction d'Erreur par Avance (Forward Error Correction  ou FEC) est sélectionnée, le prochain étage est un Codeur Convolutionnel qui génère des bits de données supplémentaire de telle manière que les données originales peuvent être reconstruites dans la plupart des cas, même avec des erreurs en réception. Deux algorithmes définissent la valeur des deux bits de données en sortie pour chaque bit de données en entrée. Un coder  R=1/2 K=7 standard NASA est employé. La sortie correspond à un flux binaire deux fois plus rapide que le débit des données en entrée.

 

Entrelaceur

 

Le codeur convolutionnel est suivi par un Entrelaceur qui mélange simplement l’ordre des données. Il en résulte que, lorsque les données sont reçues et "démêlées", les erreurs causées par le bruit sont étalées et ont un effet moins sérieux sur le décodeur FEC. Bien sûr les données doivent être mélangées d’une manière standardisée. L’entrelaceur du MFSK 2000 est inhabituel - plusieurs petits entrelaceurs en diagonal sont utilisés. Chaque entrelaceur utilise un tableau de bits de même taille que le nombre de bits par symbole. Cela permet au désentrelaceur en réception d'être complètement autosynchronisable, ce qui est important lorsque la réception peut être très médiocre et que la synchronisation peut alors être perdu. Des détails sont donnés plus loin dans la page.

 

Données non Codées

 

Le MFSK est très robuste et dans beaucoup de cas il n’est pas nécessaire d’employer le FEC. Cela améliore le débit du texte. Dans ce cas la sortie du flux binaire se fait directement à partir du Varicodeur.

DSP MFSK Transmitter

Le Modulateur

 

Le générateur de tonalité est relativement direct mais difficile à décrire en termes simples. Dans le diagramme, il est illustré comme étant un seul bloque. Le signal MFSK est une suite de segments de tonalité d'onde sinusoïdale avec une phase synchrone, tous de longueurs identiques. Les tonalités démarrent et s'arrêtent toujours avec la même phase et ont, en conséquence, un nombre entier de cycles chacune. Puisque aucune interruption n'est permise entre les tonalités, la façon la plus simple de les générer est d'employer une Table de Conversion d'onde sinusoïdale  (un tableau étendu définissant beaucoup de points sur une période sinusoïdale), and simply sample the table over and over at a constant rate, but skipping a fixed number of table entries between samples. Avec un PC rapide, les échantillons peuvent être en réalité générés en résolvant l'équation sin(x) au fur et à mesure!

L’exemple suivant a été généré en utilisant un tableau et skipping algorithme exactly as described, mais en utilisantt un tableur. L'onde sinusoïde apparente représente quatre symboles de poids 010, 100, 000, 010 qui sont en réalité quatre fréquences - quatre symboles séquentiels  - qui pourrait représenter des tonalités à 1 008, 1 012, 1 000 et 1 008 Hz. Chaque symbole comporte approximativement 10 cycles mais, en raison de la  transition douce de l'une à l'autre, vous ne pouvez pas réellement le dire. En utilisant une règle, vous pourriez voir la différence de fréquence mais il est évident que la phase reste continue.

Four CPFSK Tones
Quatre Tonalités CPFSK

Quand le nombre d'échantillons skipped est fixed, une fréquence constante est générée. Toutefois lorsque le nombre d'échantillons skipped change, une fréquence différente est générée, et la fréquence de l'onde sinusoïdale générée varie légèrement d'une fréquence à la suivante sans changement de phase. Cette technique est appelée Continuous Phase Frequency Shift Keying, ou CPFSK, et elle génère le signal FSK le plus propre possible.

La technique d'échantillonnage par pas dans un tableau est appelée DDS pour Direct Digital Synthesizer. Beaucoup de transceivers HF modernes utilisent cette technique pour le "VFO". Dans le modulateur CPFSK, le nombre d'entées skipped est contrôlé par trois, quatre ou cinq bits de données from des codeurs, suivant le nombre de tonalités sélectionnées. La vitesse à laquelle les tonalités sont commutées dépend de la rapidité de modulation sélectionnée.

Regardez la partie inférieure du diagramme block ci-dessus. Toute cette fonctionnalité se trouve dans un unique bloque intitulé "CPFSK Modulator". Because the transmitter signal est généré "on frequency" to avoid mixing, le NCO de l'émetteur utilisé par le récepteur ne peut être directement (puis qu'il fonctionne à environ 1/4 the transmit frequency). Cependant, le logiciel connaît le rapport de division du récepteur et l'offset du NCO, so adds ces facteurs into the transmitter table skipping algorithm.

Ainsi l’Emission et la Réception se font comme pour un "Transceiver", sur la même fréquence. Finalement, le flux de valeurs est envoyé à la carte son PC pour conversion en tonalités audio qui sont envoyées à l'émetteur. Il n’y a pas de variation en amplitude dans les signaux MFSK – uniquement des changements de fréquence. Les signaux consistent seulement en des ondes sinusoïdales et ils ne nécessitent pas de filtrage supplémentaire.

Correspondance entre les Tonalités et les Bits de Données

 

Les bits de données à transmettre n'ont pas de relations particulières avec les caractères étant transmis, par conséquent il n'est pas important de savoir combien de bits sont transmis à un moment tant qu'ils sont transmis dans l'ordre où ils arrivent. Un des avantages du MFSK est que chaque tonalité ou chaque symbole peut représenter plusieurs bits de données, par exemple, s’il y a 8 tonalités, trois bits, s’il y a 16 tonalités quatre bits et s’il y a 32 tonalités 5 bits.

Chacune des tonalités dans un mode particulier est assignée à une valeur binaire, par exemple pour 8 tonalités, les valeurs sont :

 
    8 Tonalités :                16 Tonalités :
Tonalité         Poids        Tonalité          Poids       Tonalité      Poids
0 (la plus basse) 000         0 (la plus basse) 0000          8                 1100
1                  001         1                 0001          9                 1101
2                  011         2                 0011         10                 1111
3                 010         3                 0010         11                 1110
4                 110         4                 0110         12                 1010
5                 111         5                 0111         13                 1011
6                 101         6                 0101         14                 1001
7 (la plus haute) 100         7                 0100         15 (la plus haute) 1000

Ainsi l'émetteur a un petit tableau qui définit pour chaque groupe de trois, quatre ou cinq bits à transmettre quelle tonalité il faut utiliser. Remarquez que le "poids" de chaque tonalité n'augmente pas en ordre binaire. Ceci est fait pour s'assurer que s'il a une erreur de mauvais accord, l'erreur maximum soit d'un seul bit. Si l'ordre était binaire, par exemple, la transition de "011" à "100", qui implique le changement des trois bits, pourrait causer de graves erreurs. C’est ce qu’on appelle un code "Gray".

 

L’Entrelaceur à Diagonale

 

L’Entrelaceur employé durant le traitement FEC a juste été décrit brièvement ci-dessus. Voici comment il fonctionne. Imaginez que les données à transmettre (0 ou 1) peuvent être représentées par

"ABCDEFGHIJKLMOPQRSTUVWXYZ0123456789....."


et ainsi de suite. Alors le flux binaire sur le point d'être envoyé est disposé par l'Entrelaceur à l'intérieur d'un tableau aussi profond que le nombre de bits par symbole, comme cela :

 
8 Tonalités :              16 Tonalités :                 32 Tonalités :
  ADGJMPSVY2...            AEIMQUY...                     AFKPUZ...
  BEHKNQTWZ3...            BFJNRVZ...                     BGLQV1...
  CFILORUX14...            CGKOSW0...                     CHMRW2...
                           DHLPTX1...                     DINSX3...
                                                          EJOTY4...

Les bits sont traités comme ils arrivent mais ils sont envoyés en diagonale. Le premier groupe de bits transmis a été surligné pour chacun des cas dans le tableau au-dessus. Les bits envoyés sont :

 
 8 Tonalités : AEI DHL GKO JNR MQU PTX SW1 UZ4 ...
16 Tonalités : AFKP EJOT INSX MRW1 ...
32 Tonalités : AGMSY FLRX4 KQW39 ...

Une fois encore le premier groupe de bits envoyées sur l'air dans chaque cas est surligné. L'étalement des bits est plutôt modeste puisque le tableau n'est pas très profond, mais puisque l'ordre des bits est toujours connu par le récepteur (à partir de l'ordre des bits dans le symbole reçu), la synchronisation de l’Entrelaceur est automatique.

Remarquez que les bits "B" et "C" semble ne jamais être envoyés. En pratique, les tous premier bits de données de l'utilisateur ne sont pas perdus puisque la transmission débute toujours avec quelques caractères d’attente ou synchro (qui ne s’affichent pas). La chose la plus importante est que la transmission ne peut pas être complète jusqu'à ce que l'Entrelaceur has been flushed pour s'assurer que les bits de données dans le tableau ont tous été envoyés. Une fois encore, ceci est obtenu en envoyant des caractères de remplissage à travers l'Entrelaceur, ce qui implique un délai supplémentaire inévitable puisque l'Entrelaceur is flushed.

Le rôle d’un Entrelaceur est de répartir les erreurs causées par un parasite, les erreurs ont donc besoin d'être spread further than the constraint length du codeur FEC (8 bits pour K=7), and also spread au-delà de la length of a typical noise burst. Une à deux secondes sont considérées comme a reasonable spreading figure.

Afin d'accroître la répartition pour répondre à ces exigences, l'Entrelaceur du MFSK est composé de 10  entrelaceurs séquentiels à diagonal , l'un après l'autre, exactement comme 'est décrit ci-dessus. La technique n'est pas très ingénieuse, par contre elle est très simple à exécuter, avec une très petite charge pour le processeur de l'ordinateur. La sortie semble être aléatoire mais elle est de fait mécanique et par conséquent complètement et automatiquement "désemmêlée" par le désentrelaceur qui inverse simplement le processus décrit. Avec 16 tonalités à 16 baud (le mode par défaut) la répartition se monte à 94 bits (1,5 secondes), et l’Entrelaceur ajoute un délai de 1,2 secondes.

Rapidités de modulation

Le MFSK est connu pour ses rapidités de modulation très basses, même si la vitesse du texte est plus élevée. Des rapidités de modulation basses permettent l'emploi de bandes passantes étroites, ce qui améliore la robustesse du récepteur et aide également à faire échec à l'un des plus sérieux problèmes de distorsion en HF, les erreurs temporelles de réception à  multiples trajectoires.

Les rapidités de modulation pour le MFSK sont en général comprise dans la gamme 10 à 20 bauds. En MFSK 2000, les rapidités de modulation semblent avoir nombres très irréguliers - 15,625, 7,8125, etc. La raison pour les quelles ces étranges valeurs ont été choisies est que ce sont toutes des divisions binaire de 8 000 Hz, le taux d'échantillonnage d'une carte son PC. La rapidité de modulation n'est pas importante, tant que tout le monde emploie la même!

Dans l'Emetteur MFSK, l'Horloge des Symboles fonctionne  à la même rapidité de modulation de l'émetteur et il envoie différents symboles (tonalités) à partir de la carte son à ce débit. Dans le récepteur, l'Horloge des Symboles est récupérée à partir des données et elle est employé pour synchroniser les bloques de données envoyés au filtre et au démodulateur de réception.


MFSK 2000
Home Page