MFSK16

La Réception en MFSK

Le Récepteur utilisé en MFSK16 et pour les modes relatifs est probablement l'abandon principal des technologies  conventionnelle dans le projet tout entier. Dans les toutes premières conceptions de pointe MFSK tel que le Piccolo, la réception utilisait une suite de filtres à gain élevé, en fait des oscillateurs qui étaient réinitialisés et permettaient de générer output that built up pendant la totalité de la durée du symbole suivant. Cette technique aboutit à des récepteurs très étroit, très sensible et très robuste pour chaque tonalité. La sortie avec la plus grande réponse à la fin de la durée du symbole était considéré être celle représentant la donnée transmise.

L'équivalent avec le DSP de cette technique "integrate and dump" est la Symbol-synchronous Transformation Rapide de Fourier (FFT), utilisée de telle manière que les échantillons de l'audio reçu pendant la durée de chaque symbole génèrent une sortie intégrée similaire à la technique integrate and dump du Piccolo. La FFT est un excellent façon de simuler le filtre integrate and dump parce qu'il a une excellente réponse de filtrage sans résonance, précise et avec des performances très stables, and its pulse response is a good match for les impulsions de données transmises. Les sorties sont également "douce", i.e. effectively nombres analogiques, et elles contiennent également l'information de phase non disponible avec la technique de l'électronique analogique du Piccolo.

Jetez un oeil sur le (très simplifié!)  diagramme block du récepteur MFSK16 . Regardez le haut de la ligne de l'image un peu plus bas dans la page.

 

Filtre Anti-alias
Le signal audio venant du peut contenir du bruit jusque sur plusieurs kHz et pour éviter les problèmes avec l'énergie de ces hautes fréquences qui provoquent des interférences (comme une "image" dans un récepteur superhétérodyne), le signal audio digitalisé par la carte son passe à travers un filtre passe bas. Ce simple filtre fait juste la moyenne de plusieurs échantillons ensemble, limitant la réponse en hautes fréquences. Cela a l' avantage supplémentaire de réduire le taux d'échantillonnage de 8 000 éch./ sec entrant sur la carte son à une valeur plus gérable. Le logiciel de IZ8BLY  emploie deux diviseurs réalisés avec deux étages, donc le débit en sortie est de 2 000 échantillons/seconde. Cette méthode est souvent appelé "decimation".
Mélangeur Equilibré
Pour amener le signal reçu à l'intérieur d'une page correcte pour le démodulateur, le signal est décalé en fréquence en utilisant un mélangeur comme dans un récepteur superhétérodyne. Dans notre cas le mélangeur est un multiplicateur mathématique qui multiplie les échantillons entrant avec un flux d'échantillons d'une onde sinusoïdale venant de l' Oscillateur Contrôlé (Numériquement (Numerically Controlled Oscillator ou NCO). C'est si vous préférez comme le "VFO" du récepteur et les valeurs contrôlant sa fréquence sont utilisées tout aussi bien en émission. La  fréquence du NCO est ajusté par l'accord du signal c'est-à-dire en employant un affichage cascade.

La sortie du mélangeur est un autre flux d'échantillons de données. Il contiendra bien sûr également les données de la fréquence image mais puisque le détecteur n'y est pas sensible, l'image n'a aucune importance.

 

Filtre FFT / Démodulateur
C'est le coeur du récepteur. Une série d'échantillons qui représente toute l'énergie reçue durant un symbole est traitée avec une Transformation Rapide de Fourier (FFT), il en résulte un tableau avec les énergies mesurées à différentes fréquences. Nous appèlerons ces différentes fréquences "bins".

De fait, la FFT est "cadrée" en enlevant des échantillons qui pourraient être en erreur au début à la fin de chaque symbole. Ces erreurs sont causées par  des variations temporelles dans l'ionosphère, qui ont tendance à être sélectives en fréquence, par conséquence il est très possible pour une tonalité de chevaucher une autre dans une certaine mesure, même si elles sont transmises l'une après l'autre.

Le nombre d'échantillons et la vitesse à laquelle ils sont pris définissent combien il y aura de bins et quelle sera leur espacement. Les Bins à l'extérieur de la plage de réception sont simplement ignorées alors que les  8, 16 ou 32 bins centrales (16 bins en MFSK16, parce qu'il fonctionne avec16 tonalités) sont utilisées pour fournir les infos aux décodeurs de données et de phase. Les informations de l'amplitude et la phase sont toutes les deux disponibles.

DSP MFSK Receiver Block Diagram

 

Décodeur à Décision par Logiciel
La sortie du démodulateur donne une mesure de la puissance reçue dans chaque bin, ou filtre de réception d'une tonalité. C'est le travail du Décodeur à Décision de conclure quel bin contient le signal du symbole actuel et donc quels bits de données étaient reçus. La façon la plus simple est de juste regarder toutes les données et puis de décider lequel est la plus grandes afin de lui attribuer la réponse.

Cependant, puisque le signal peut être mal accordé mais aussi contenir de la distorsion ionosphérique significative, l'énergie du signal tend à déborder à l'intérieur des bins adjacents. Cela réduit la sensibilité du système et augmente bien sûr la possibilité d'erreur. Il est possible de peser les données d'une manière plutôt différente - chacun des bits de données attendu à la sortie peut potentiellement être reçu dans la moitié des bins si cela est vrai et dans l'autre moitié si cela ne l'est pas. Par conséquent si vous additionnez la puissance de tous les bins qui pourraient contenir une tonalité représentant ce bit et si vous soustrayez la puissance reçue à partir de toutes celles qui ne contiendront pas ce bit, alors le résultat devrait avoir un meilleur rapport signal sur bruit.

Peu importe quelle méthode est utilisée, la sortie contiendra une valeur digitale représentant les bits reçus et une valeur analogique représentant leur force de réception. Cette information est précieuse pour le décodeur FEC mais également pour tout autre mesure de la force du signal. C'est pourquoi nous l'appelons un décodeur "à décision par logiciel " - il ne  décide pas seulement des données reçues mais il donne aussi une information de la précision de la mesure.

 

Désentrelaceur
Toutes les fois que le FEC est employé, il est normal d'inclure un entrelaceur, pour mélanger les bits de données et donc étaler les erreurs provoquées par les impulsions de bruit. Cela rend le travail du décodeur FEC plus facile. Bien sûr la première chose à faire avec les données reçues est de les démêler en utilisant un désentrelaceur, qui est est en réalité juste un registre à décalage et sélectionneur de données qui travaillent avec le même algorithme qui était utilisé pour l'émission.

Un problème supplémentaire avec l'entrelaceur est qu'il a besoin d'être synchronisé avec les données, afin qu'il sache quels bits mettre en ordre correct. L'information de synchronisation peut être ajoutée aux données transmises ou bien elle peut être déduite by "trial and error", i.e.en regardant comment le décodeur FEC copes well with une supposition et en essayant une hypothèse différente si le résultat est médiocre.

Ces deux approches sont inefficaces. Dans un mode MFSK il y a une occasion unique de fournir une autosynchronisation, non disponible dans les autres modes. L'entrelaceur du MFSK16  est autosynchronisable parce que le récepteur connaît l'ordre du bit entrant, au moins à l'intérieur de chaque symbole, et il peut exactement rétablir l'ordre correct sans aide extérieure. Voir la Description de l'Emission pour plus de détails.

 

Décodeur FEC
Il existe deux types principal de Décodeur Convolutionnel - le type séquentiel  qui utilise un registre très long à décalage et le type Viterbi qui est potentiellement pas aussi précis mais qui est beaucoup plus rapide parce qu'il rejète les solutions qui ont peu de chance d'être bonnes.

Le décodage FEC est beaucoup plus complexe que le codage, il consiste en pratique à prévoir la réponse correcte pour chaque bit transmis en établissant l'histoire de ce bit pour voir si la prévision était viable. La technique Viterbi est très efficace pour réaliser cela. Les experts en codage ont fait des efforts considérables pour améliorer les performances de cette technique hautement complexe.

Le Décodeur FEC en MFSK16 est un décodeur logiciel- en d'autres mots, il travaille avec des nombres analogiques plutôt qu'avec des bits binaires. Cela permet d'obtenir une petite amélioration mais qui est significative des performances, sans grande charge supplémentaire pour le processeur, puisque le très performant coprocesseur arithmétique est utilisé. L'utilisation des nombres analogiques à partir du Décodeur à Décision par Logiciel contribue également une amélioration probante des performances.

La sortie du décodeur FEC est un flux de bits ayant un débit égale à la moitié de celui en entrée. Les données ne sont pas parfaites surtout si le signal reçu était très médiocre mais le nombre d'erreurs est considérablement réduit. Les données sortent du décodeur FEC par saccades, c'est pourquoi le texte apparaît à l'écran par groupe de quelques caractères à la fois. Si la longueur du décodeur est augmentée, la capacité à réduire les erreurs augmentera. Cependant elle rallongera aussi le délai et la sortie plus longue du décodeur décodera plus de caractères à la fois mais avec des saccades plus lentes.

 

Décodeur du Varicode
L'étage final dans le récepteur sert à décoder le flux de bits, soit directement à partir du Décodeur à Décision si le FEC n'est pas utilisé ou soit à partir du Décodeur FEC s'il l'était. Le décodeur utilise un tableau Varicode et un algorithme qui scrute le flux de données à la recherche d'interruptions entre les caractères (transmis par "00" en Varicode et toujours suivi par le premier "1" du prochain caractère), il décode alors les groupes of bits d'après un tableau. Le résultat est le texte qui s'affiche à l'écran. Le Varicode est similaire à celui qui est employé par le PSK31 mais il peut être légèrement plus efficace due to different idle character requirements.

 

Décodeur de Phase des Symboles
L'étage finale dans le récepteur sert à récupérer l'Horloge  des Symboles (Symbol Clock), pour s'assurer que les échantillons dans le décodeur FFT ne représentent seulement que le signal d'un seul Symbole à un moment donné. Dans les anciens systèmes comme le Piccolo et le Coquelet, cette horloge était transmise séparément, beaucoup de la même façon que l'horloge est transmise en PSK31. Nous avons décidé de nous éloigner de cette solution avec le MFSK16, as it would allow des émetteurs non-linéaire soient utilisés sans dégradation dans la qualité du signal. Par conséquent, au lieu de l'information sur l'amplitude, toute la réception repose sur la donnée concrète et la phase des Symboles. Il existe plusieurs techniques qui peuvent être utilisées.

Chaque canal de réception individuel contiendra occasional pulses d'énergie as a Symbol is received, et la transition entre un canal et l'autre will not occur at the correct point in the Symbol period si l'horloge des Symboles est incorrecte. Il est possible de détecter ces transitions et ainsi work out l'erreur in the Symbol Clock phase, et de cette manière la corriger.

Il est également possible d'analyser la forme des impulsions (une fois qu'elles ont traversées l'ionosphère et le récepteur they are no longer square in shape) et de déterminer à partir de la forme où se trouvent les symboles.

Le signal MFSK16 est une transmission à phase continue (CPFSK) où chaque symbole démarre et finit avec la même phase. En employant l'information de la phase à partir du détecteur FFT, il est possible de détecter l'erreur dans l'Horloge des Symboles parce que ce n'est seulement quand la phase de l'Horloge des Symboles est correcte que les phases de toutes les sorties des détecteurs  FFT coïncideront. Si la phase est incorrecte, les canaux individuels contiendront l'énergie de only partial symboles, et la phase sera différente pour chaque canal as the frequency is increased. La direction du changement de phase par canal peut être utilisé pour déduire de quelle manière la phase de l'Horloge est en erreur.

 


MFSK 2000
Home Page