Projets:Lab:2018:SDR definition

From Electrolab
Revision as of 17:42, 25 January 2018 by Marc (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Qu’est-ce qu’un SDR amateur ?

Un SDR, ou radio logicielle, est une chaine d’émission-réception capable de numériser directement les « ondes » -plus exactement un spectre tout entier-, de le traiter en signaux I et Q (se reporter à l’article de VK6VZ et VK6APH http://www.k9ivb.net/files/why_i&q_radcom_jan07.pdf ) et de transmettre lesdits signaux I/Q vers un ou plusieurs programmes qui sauront démoduler une ou plusieurs transmissions effectuées quelque part dans ce spectre. Sans signaux I/Q, il n’y a pas de radio logicielle.

Numériser, traiter

« Numériser et traiter des signaux », « programme sachant démoduler ». Ces deux propositions à elles seules déterminent ce qui constitue un SDR. Numériser, tout d’abord, grâce à un convertisseur analogique/numérique -ou toute autre astuce électronique. On comprend très vite que les performances du récepteur sont directement dépendantes de ce composant, et non plus d’un mélangeur. Plus la plage d’échantillonnage sera importante -8, 12, 14 ou 16 bits-, plus la plage dynamique sera importante (grosso modo 6 dB de dynamique par bits d’échantillonnage, soit 96 dB de dynamique « par défaut » pour un récepteur doté d’un ADC 16 bits). De manière concomitante, plus la fréquence d’échantillonnage sera élevée, plus vaste sera le spectre couvert par ledit ADC. Un échantillonneur « audio » tel qu’on le trouve sur les SDR à mélangeur de Tayloe offrent un spectre pouvant au maximum couvrir 192 kHz puisqu’il utilise généralement le convertisseur A/N d’une carte son d’ordinateur. Un ADC plus performant, tel que celui d’un Hermes (https://openhpsdr.org/wiki/index.php?title=HERMES) , délivrera un spectre de 60 MHz (à partir d’un « découpage » qui en fait sera deux fois plus élevé, soit 120 millions d’échantillons par seconde).

Mais plus cette vitesse et cette plage d’échantillonnage sont élevées, plus l’ADC délivrera d’informations vers le premier étage de traitement. Continuons avec notre exemple « haut de gamme », celui d’un ADC 16 bits, 120 millions d’échantillons par seconde (MSPS). Cela fait tout de même la bagatelle de 120 millions x 16 = 1920 millions d’éléments, quasiment 2 gigabits d’information toutes les secondes. Ce sont ces deux millions d’informations qu’encaisse le premier composant situé tout de suite après l’ADC, lequel doit en outre transformer ladite avalanche de données en un format compréhensible par un ordinateur. Ce composant se charge donc de l’élimination -décimation- d’une partie des informations car chaque « hertz » du spectre n’a pas nécessairement besoin d’être traité, de l’exploitation de ces données numériques pour en extraire les deux signaux I et Q en utilisant des opérations mathématiques (transformées de Fourier rapides), parfois même du découpage de ces flux pour les expédier au reste de la chaine dans un format « acceptable et universel », le plus souvent de l’I/Q « empaqueté » dans des trames réseau tcp/ip gigabit ou sur un bus ultra-rapide genre PCI, Sata, fddi… ou plus lent (USB en général) Ce composant -bestialement rapide- est généralement soit un FPGA, soit une GPU (Matrox, Nvidia…), autrement dit de véritables usines à opérations mathématiques massives. Ce peut également être une CPU ou un circuit spécialisé tant que l’échantillonnage n’est pas trop élevé (cas des clefs USB « RTL-SDR » et assimilées).


Ajoutons ici une précision à propos de cette fameuse « décimation ». Mathématiquement, il s’agit plus ou moins d’un « effet loupe » qui permet de zoomer sur une partie du spectre tout en conservant le même niveau de définition. Le contraire absolu d’un zoom optique qui perd en précision chaque fois que l’on tente d’agrandir l’image et restreindre son champ. Dans le cas d’un SDR, ce « zoom de décimation » soulage la CPU ou le FPGA en allégeant la masse d’information à traiter. Ce qui intéresse un opérateur radio, c’est la forme d’onde, le signal à décoder qui s’étale de quelques kHz à quelques centaines de kHz (voir à 1 ou 2 MHz), et non les quelques 60 MHz que permet de voir l’ADC. Or, heureuse conséquence, chaque fois que l’on divise par deux la bande passante disponible, on multiplie par deux la « précision » de la vision du spectre. Autrement dit, chaque décimation améliore de 3 dB la dynamique de réception.


Nous en étions resté à une dynamique de 96 dB avec un ADC 16 bits. C’est là qu’entre en jeux la fréquence d’échantillonnage. Si l’ADC est capable de fournir 120 megasample par seconde -donc un spectre « visible » de 60 MHz « de base », une première décimation (division par deux de la bande passante) va porter notre dynamique à 96+3=99dB -et 30 MHz de spectre. Une décimation de plus, et l’on atteint 102 dB pour 15 MHz de bande passante, et ainsi de suite, jusqu’à atteindre, par exemple, n/64 qui donnera 115 dB de dynamique avec un waterfall affichant 468 kHz… ce qui est amplement suffisant pour visualiser la majorité des bandes décamétrique d’un seul coup d’œil. D’autres procédés repoussent encore ces limites, en « poussant » l’exploitation de tous les bits de l’ADC (dithering), en ajoutant un filtrage « léger » en tête de récepteur, en chassant au mieux les erreurs de linéarité…

Les arguments de certains constructeurs qui tendent à faire croire qu’il est « inutile de « voir » 60 MHz de spectre quand on fait de la SSB » ne visent qu’une chose : masquer les limitations de l’ADC utilisé et des concessions techniques dictées par des impératifs de rentabilité économiques. Un adc 16 bits 600 kilosamples coûte nécessairement moins cher qu’un 60 ou qu’un 120 MSPS. Il sera nécessairement moins performant et surtout moins souple qu’un convertisseur A/N haut de gamme.

Passé l’échantillonnage et le pré-traitement, l’étape suivante est assurée par un logiciel client. PowerSDR, HDsdr, Linrad, GnuRadio, SDR-Sharp, Quisk, CubicSDR… bref, n’importe quoi tournant sur un système d’exploitation quelconque , capable d’une part de s’interfacer avec le SDR (via un port Ethernet, USB, une connexion purement audio, le bus PCI ), afin de récupérer une forme normalisée de signaux I/Q. L’interface logicielle « couche basse » de ces signaux I/Q peut parfois être très exotique, et faire en sorte que tel ou tel programme ne fonctionne qu’avec un type de SDR particulier. Ce genre de solution « propriétaire » est à éviter le plus possible. Mais la majorité des logiciels clients sont compatibles avec plusieurs socles matériel, soit avec un protocole, soit avec une API ou une DLL. Ce sont les « extio.dll », les pilotes « soapy », ou les protocoles HPSDR (ancien et nouveau) Les signaux une fois aiguillés vers ce logiciel, soit celui-ci est capable de les démoduler grâce à des mécanismes internes -AM, SSB, FM…- , soit il les transfèrera à son tour vers un autre programme plus spécifique. En général, un signal FreeDV ou DRM (Digital Radio Mondiale) n’est pas traité par un HDsdr ou un PowerSDR, mais par un programme externe relié à HDsdr ou PowerSDR via un « tuyau » de redirection purement logiciel (VAC par exemple, sous Windows).

C’est là l’un des principaux avantages des radios logicielles : il n’est nul besoin de construire -ou pire, acheter- une « interface modes numériques » qui se branchera entre un ordinateur et un émetteur-récepteur. Il suffit d’utiliser une sorte d’armoire de brassage virtuelle, ou de console de mixage, qui reliera le principal logiciel SDR à une foultitude de programmes secondaires plus spécifiques et capables de démoduler tel ou tel type de modulation : FT8, RTTY, FreeDV, PSK31, Olivia…

Autre avantage souvent passé sous silence, il n’existe pas de limitation en termes de bande passante avec une radio logicielle.

  • - Sur une chaine d’émission superhétérodyne classique, cette bande passante ne peut excéder la bande passante de la fréquence intermédiaire la plus étroite ou celle du filtre de toiture (voir celle de l’étage audio)
  • - Sur un SDR, la bande passante est fonction du taux d’échantillonnage moyenné du taux de décimation. L’on peut donc parfaitement imaginer de nouveaux types de formes d’onde capable d’exploiter 500 kHz de spectre, voire de s’étaler sur des dizaines de MHz. On pense bien sur au émissions TV numériques, aux transmissions de données rapide à faible niveau d’énergie par bit, au communications voix-données…


Un SDR sans ordinateur, ça n’existe pas !

Si l’on a bien compris la nature de l’architecture décrite, certaines évidences s’imposent. A commencer par :

  • - Un sdr « sans ordinateur » n’existe pas, ne peut exister, car le S de SDR signifie « software »…. Pas « firmware ». Et qui dit logiciel pense nécessairement ordinateur dont la moindre qualité est d’être multitâche.
  • - Sur cet ordinateur tournent un ou deux programmes simultanément. Le logiciel client à proprement parler -PowerSDR, GNUradio, HDSDR, Quisk...- dont le rôle est de récupérer ce qui vient de la « source » -le SDR lui-même- et d’en envoyer le signal pré-traité I/Q vers un démodulateur, ou « sink » (FreeDV, FLdigi, décodeur ATV ou SSTV…..). Ajouter un nouveau procédé de modulation/démodulation autrement se limite à installer un nouveau logiciel de décodage. Un « sdr sans ordinateur » nécessite le développement d’un nouveau firmware -lorsque cela est possible-, fait rarissime dans le secteur commercial. C’est SSB ou SSB, pour les autres modes, utilisez un ordinateur (ergo, un SDR sans ordinateur ça n’existe pas)
  • - Tout succédané de traitement de l’information autre qu’un ordinateur-c’est le cas des productions Icom, SDR-Cube, USB2sdr, STM32SDR etc. ne sont que des « firmware defined radio », des DSP montés en graine. Ces intégrations ont pour conséquence une quasi dégradation des possibilités d’un SDR, les limitant notamment à un nombre excessivement restreint de types de modulation (la sacro-sainte trinité CW, SSB, FM, et parfois quelques modes numériques tels que PSK31, RTTY, Hellschreiber…) et une bande passante limitée. Pas de port usb ou de lecteur de CD pour ajouter un programme FreeDV ou la dernière version de FlDigi ? pas de mémoire pour accepter cette extension ? pas de système d’exploitation connu pour exécuter ce programme ? ce n’est donc pas un SDR. Il est fondamentalement malhonnête de qualifier de SDR un appareil dont on aurait amputé ou limité le « sink ». C’est une radio avec un nombre de démodulateurs fixes, rien de plus. Et ça, on sait faire depuis plus de 80 ans.

Ces « gros dsp », particulièrement les produits commerciaux, sont même parfois étudiée pour qu’il ne soit pas possible d’utiliser des produits tiers ou concurrents, autrement dit n’offrent pas de ressorties du signal I/Q large bande ouvrant la voie à n’importe quel type de démodulation informatique « extérieure ». Dame, cela permettrait de s’offrir un « tous modes » quasi gratuitement, cela ne cadre pas avec les impératifs économiques des principaux acteurs. Seuls quelques constructeurs « historiques » de SDR demeurent véritablement « ouverts » : Apache, FlexRadio, Ettus, Software Radio Lab…


Mips à gogo

La puissance de traitement même détermine la nature d’un SDR. Un véritable traitement de signal sans limitation aucune nécessite à la fois un fpga ou une gpu très performant ET un ordinateur puissant. Les unités de traitement qui se prétendent « sans ordinateur » sont généralement très limitées en termes de puissance de calcul. A titre de comparaison, ouvrir 6 récepteurs différents et afficher 60 MHz de spectre réel avec GNUradio ou CuSDR exige une machine à base de processeur i7 quad core, 8 Go de mémoire minimum, soit une configuration informatique qui frise à elle-seule les 2000 euros. Peut-on croire un seul instant qu’un transceiver du commerce puisse intégrer ce genre de chose tout en coûtant la moitié de ce prix ? la réponse est non, bien sûr. Ce qui explique que, limité par une puissance de calcul généralement famélique, ces transceivers travaillent sur des largeurs de spectre relativement réduite ou tentent de mélanger un peu d’échantillonnage direct, un peu d’architecture Superhétérodyne… mais qu’importe. Le principal n’est-il pas d’afficher 30 kHz de waterfall pour satisfaire le client ?

  • - L’évolution des logiciels, des systèmes d’exploitation, la multiplication des types de modulation numériques font qu’un ordinateur de « station » est techniquement dépassé en moins de 5 ans. Un appareil « intégré » déjà limité, aura donc une espérance de « survie technologique » proportionnelle à sa puissance maximale… soit moins de 1 ou 2 ans maximum comparé à la très relative pérennité d’un SDR à base de véritable ordinateur. (à moins de s’en tenir à la SSB/CW/FM/PSK, mais dans ce cas, pourquoi acheter un SDR ?). Que l’ordinateur soit dépassé, et il suffit de le changer sans pour autant sacrifier le SDR. Un appareil « tout intégré », en revanche, n’aura plus aucune valeur faute de possibilité technique d’évolution
  • - L’argument du « sans ordinateur » est en outre avancé par des personnes qui ne peuvent se passer d’ordinateur, pour l’accès à un log, le comptage des points d’un concours -contests ou dxcc-, le décodage des modulations numériques, la consultation de QRZ.com, la béquille du DX-Cluster ou le générateur de e-qsl…
  • - A la lumière de ces réactions et demande si particulières, on comprend que le succès et la généralisation des SDR ne doit absolument rien au mouvement radioamateur, lequel oppose, pas sa vision « verticale » et très limitée de la radio, un frein technologique lourd. Ce sont les milieux de la sécurité informatique, des geeks, des hackers, des makers, des chercheurs, des armées et services d’urgence du monde entier qui ont su réellement tirer parti des radios logicielles et ainsi contribuer à leur dévelppement, pour écouter, pour échanger avec des formes d’ondes modernes, pour constituer des réseaux de transmission reconfigurables en temps réel, multimodes, multiprotocoles. Si les radioamateurs persistent à exiger des SDR comparables à leurs Icom/Yaesu/Kenwood, ils contraindront les vendeurs de matériel à leur fournir ce qu’ils veulent… mais ce ne sera plus du SDR. Ces appareils resteront très coûteux en raison d’un marché restreint. Les autres équipementiers s’orienteront -s’oriente déjà- vers des radios logicielles « ouvertes », évolutives, indépendantes des inutilités que tentent péniblement d’intégrer les ancêtres du contact HF * -les micro et haut-parleurs « sur la boite du poste », les lumières, les boutons, les aiguilles, les « pas d’ordinateur », les « surtout pas d’évolution, ça marche comme ça ».

Récepteur logiciel… pas la même dynamique, pas le même IMD La dynamique d’un SDR est immense, supérieure parfois à 140 dB, à comparer aux quelques 80 à 100 dB d’un récepteur à changement de fréquence. En d’autres termes, il faut oublier les précautions rendues obligatoires par la section la plus « fragile » d’un récepteur, ce fameux mélangeur qu’il ne fallait saturer sous aucun prétexte au risque de provoquer des erreurs de linéarité. Ce qui était nécessaire sur un superhétérodyne haut de gamme -mélangeurs de haut niveau/H-mode, filtres de toiture, bpf d’entrée en lame de couteau pour éliminer les probables interférences hors bandes…- n’est absolument pas obligatoire sur un SDR, qui a beaucoup de marge avant une éventuelle saturation, et dont les démodulateurs logiciels utilisent des filtres numériques impensables dans le monde analogique, y compris ceux intégrant des DSP de course. Ironiquement, les récentes productions de SDR du commerce -y compris les SDR traditionnels tel que l’Anan 8000DLE, reviennent aux traditionnels filtres passe-bande, transformant un récepteur « large spectre » par définition, en une meurtrière à peine capable de couvrir 3% du spectre exploitable. Et ceci sans aborder le fait que l’abus de filtres de bande dégrade les capacités d’échantillonnage de l’ADC pour les signaux de faible niveau. Ces choix sont dictés non pas par des justifications techniques, mais par des impératifs de coûts de production : un simple BPF à base de selfs et condensateurs cms coûte à peine le dixième du prix d’un couple lpf/hpf commuté utilisant des tores et des capas à Q élevé. Achevons ce chapitre sur l’IMD et les risques de saturation des SDR par un lien sur deux articles. L’un s’intitule IMD in digital receivers, par Leif Åsbrink, SM5BSZ (QEX Nov-Dec 2006 http://www.nitehawk.com/sm5bsz/dynrange/qex/digital-imd.pdf) et celui de Detlev DL4AOI Einige Gedanken über die Bandpass- und IP3-Mania in Bezug auf SDR-Directsampling-Empfangssysteme (http://saure.org/cq-nrw/2017/10/27/7528/ )


La conclusion de ces deux auteurs est claire : il faut être capable d’éliminer tout ou partie d’un étage de filtrage, voir d’utiliser des filtres d’entrée à bande passante variable assez larges, et activer les fonctions de « dithering » (ajout de bruit sur l’ADC) lorsque cela est possible. Et certainement pas des bpf de 200 kHz. A l’exception du filtre d’antialiasing, obligatoire sur ces types de transceivers, il est fréquent que « pas de filtre du tout » donne de meilleurs résultats qu’un filtrage old school.


SDT, Software Designed Transmiter

A l’émission, un SDR possédant un LPF bien conçu et correctement piloté par son logiciel client s’avère considérablement plus « propre » qu’un transceiver classique. Une simple balade sur les waterfall en décamétrique, et l’on remarque tout de suite la présence d’un SDR. C’est droit, dénué du moindre « splatter ». W1AEX résume la situation en quelques captures d’écran (http://www.w1aex.com/hoi/hall_of_infamy.html), certes exagérées, mais il faut bien reconnaitre que chaque fin de semaine, on compte bien plus d’émissions « baveuses » que de signaux propres et délimités. Sans même se référer aux amoureux du kilowatt en épaulé-jeté ou aux zélateurs de l’e-SSB mal tempérée, beaucoup d’appareils du commerce émettent « salement ». Quand bien même respecteraient-ils les « normes-imposées-par-l’administration » Outre cette propreté naturelle qui caractérise les modulations numériques des SDR -grâce notamment aux faibles erreurs de linéarité des convertisseur analogique/numérique-, il existe un mécanisme purement numérique lui aussi capable de rendre l’amplificateur de puissance -analogique par construction-, « encore plus linéaire que linéaire ». Il s’agit plus exactement de compenser les erreurs de linéarité de l’ampli final en prélevant une infime portion de ce qu’il sort, en l’analysant, en comparant cette analyse avec ce qui sort du DAC, puis en extrapolant les facteurs de correction (de déformation inverse pourrait-on dire) qui contrebalanceront les erreurs de linéarité provoquées par les transistors de puissance. Cette technique, qui n’est jamais qu’une sorte de « contre-réaction », s’appelle la pré-distorsion. La chose est expliquée dans un article de QEX rédigé par Brian Machesney, K1LI et Tony Brock-Fisher, K1KP (http://www.arrl.org/files/file/QEX_Next_Issue/Mar-Apr2017/MBF.pdf). A titre d’indication, la troisième harmonique, généralement située aux environs de 10 dBc sur un amplificateur (10 dB « seulement » en dessous du niveau maximum de la porteuse), est atténuée de 14 ou 15 dB supplémentaires. Soit H3 proche de -20 à -25 dBc. Aucun filtre conventionnel ne peut aboutir à un tel résultat. Et c’est d’autant plus de puissance que l’on retrouve dans le signal émis, et non plus sous forme de chaleur dissipée soit par les tores du passe-bas final, ou dans les résistances de charge des duplexeurs.


Une seconde technique, encore exclusive aux SDR, consiste à recevoir en temps réel ce qui est émis, en démoduler l’enveloppe (une simple démodulation AM), et se servir des signaux I et Q qui définissent cette enveloppe pour piloter l’alimentation du P.A. en PWM de manière absolument synchrone (c’est l’EER, élimination/reconstruction d’enveloppe). On devine que les temps de réaction de l’alimentation doivent être relativement rapide - à découpage impérativement. Il devient alors possible d’utiliser des amplificateurs non linéaires à l’origine (classe C, voir D ou E), donc à haut rendement, sans la moindre dégradation du signal. (Même article que mentionné ci-avant). EER ne peut exister sans un firmware spécifique -absent des appareils du commerce « autonomes »-, et la pré-distorsion ne peut être mise en œuvre sans la présence d’un ordinateur.

Tout comme un récepteur SDR est capable de travailler sur un spectre tout entier, un émetteur SDR est également capable d’occuper toute la bande passante exigée par une forme d’onde particulière, qu’elle soit étroite ou large. Souhaite-t-on inventer un « tuyau numérique » occupant 500 kHz ? Il n’existera aucune fréquence intermédiaire, aucun limiteur de modulation ou speech processor, aucun filtre à quartz ou passif, bref, aucune contrainte matérielle tout au long de la chaine d’émission d’un SDR qui interdira de créer la « modul numérique » rêvée. Pas plus qu’il ne sera nécessaire de concevoir un émetteur spécifique pour se faire et atteindre la largeur de bande émise souhaitée (comme c’est le cas en TVA par exemple). Conséquence logique de cette souplesse d’exploitation, seuls les SDR seront capables de recevoir ces flux large bande sans nécessiter ni transformation, ni équipement spécifique. A la réception non plus il n’existe de goulot d’étranglement, de filtrage, de fréquence intermédiaire, de démodulateur spécifique et limité. Dans l’absolu, un SDR de type DDC/DUC peut émettre et recevoir en exploitant toute la bande passante traitée par le plus limité de ses convertisseurs numériques. Les SDR dérivés du projet OpenHPSDR utilisent des DAC 14 bits 210 MSPS à l’émission, et des ADC 16 bits 120 MSPS à la réception… il y a de la marge. Ce qui implique que seul un SDR « avec ordinateur » donne à chaque expérimentateur la possibilité d’utiliser ces protocoles numériques large bande : transmissions de données rapides, d’images numériques, de transmission simultanée voie/donnée/image, de transmissions multi-fréquences, de procédés de codage vocal plus efficaces que les outils propriétaires et fermés tels que DMR, D-Star et similaires. Les SDR, ce n’est pas de l’informatique avant tout, c’est de la radio… avec de l’informatique.