J'ai entendu parler des récepteurs et émetteurs-récepteurs SDR par des radio-amateurs il y a très longtemps, alors que je n'avais même pas Internet. Curieusement, peu de gens ont vraiment compris cette technique. Étant occupé à l'époque par le traitement audio, j'ai compris l'idée et le principe de base du SDR. Comme je l'ai compris à l'époque, le SDR est un récepteur de conversion directe ordinaire, qui comprend principalement un mélangeur et un oscillateur local de référence d'une fréquence fixe ou accordable. L'antenne et la sortie de l'oscillateur local sont envoyées aux entrées du mélangeur et la sortie du mélangeur est envoyée à la carte son. En raison du fait que les stations ont une bande étroite et que la carte son est beaucoup plus large, il est possible d'une manière ou d'une autre de changer de programme d'une station à l'autre dans une large bande de fréquence fixe. De plus, il est possible en même temps de traiter le signal reçu en utilisant DSP. J'ai déjà rencontré des programmes distincts pour DSP qui traitent le signal de la sortie basse fréquence du récepteur radio (réduction du bruit, filtre à bande étroite, etc.). L'idée m'a semblé plutôt tentante et je me suis intéressée plus profondément à cette question.
Après un certain temps, j'ai réussi à assembler mon propre émetteur-récepteur SDR selon l'un des schémas qui m'ont été fournis. Il y avait deux régimes au total. Dans un schéma, un générateur avec quartz commutable sur la portée radio amateur souhaitée a servi de fréquence de référence, et le réglage a été effectué par programme. Le deuxième circuit contenait un synthétiseur DDS, capable de générer n'importe quelle fréquence (dans ses limites), qui est réglée à partir de l'ordinateur par le programme de contrôle. Il est possible de reconstruire à la fois le logiciel et le matériel. J'ai choisi le deuxième schéma. Le programme de gestion est très sophistiqué. Tout d'abord, il permet non seulement d'entendre la station et de voir son spectre, mais aussi de voir tout le spectre du signal large bande qui vient de la carte son. De plus, vous pouvez utiliser la souris pour reconstruire instantanément en une station dont le spectre est visible à l'écran. C'est l'une des principales caractéristiques du SDR. À l'un des jambons qui ont assemblé le même circuit avant moi, j'ai complètement regardé comment tout cela fonctionne dans la pratique. La première chose qui m'a surpris, c'est que les deux canaux sont impliqués dans la carte son: L et R. Il semblerait, et où est la stéréo? À l'heure actuelle, je comprends clairement cela, mais à l'époque où Internet dans les maisons ordinaires des villes de province n'en était qu'à ses balbutiements, il n'y avait pratiquement aucune information technique détaillée. De plus, à un taux d'échantillonnage d'une carte son de 48 kHz, la largeur de vision n'est pas 24 (comme je le pensais, selon le théorème de Kotelnikov), mais tout de même 48 kHz. Personne ne m'a expliqué clairement pourquoi il en était ainsi. Mais j'ai compris intuitivement: cela est précisément dû au fait que les deux canaux sonores sont impliqués. Un signal est transmis à travers un canal, disons, de la première moitié de l'ensemble du spectre de visualisation et le long de la seconde, de la seconde moitié. Mais ce n'est pas tout à fait vrai! Il était connu de la pratique que lorsque l'un des deux canaux disparaît, la carte son ne disparaîtra pas sur la moitié d'écran du spectre, mais un effet "miroir" sera observé: le spectre acquiert une symétrie par rapport au centre de l'ensemble du panorama spectral. Et si vous changez de canal, tout le spectre sera reflété. J'ai trouvé moi-même les réponses à toutes les questions lorsque j'ai assemblé cet émetteur-récepteur SDR. Considérez un court schéma de principe du chemin de réception SDR.

Le schéma est très simple. J'ai porté une attention particulière au nœud "Divider by 4". Le fait est que le mixeur de touches fonctionne en «mode deux canaux». Pour sélectionner un signal stéréo spécial (il est appelé signal I / Q), il est nécessaire d'appliquer deux signaux identiques de l'oscillateur local en fréquence, mais déphasés de 90 degrés. Le décalage est obtenu grâce à la formation préalable par le synthétiseur d'une fréquence de 4 fois plus et divisée par 4 à l'aide de déclencheurs (un classique de la microélectronique numérique). Il convient de noter que le signal a une forme en dents de scie (le comparateur fait partie du synthétiseur), et le mélangeur de touches est un interrupteur ordinaire du champ de la même logique numérique. Sans entrer dans les détails de la structure logicielle et matérielle du SDR, je dirai tout de suite que le programme contrôle directement la restructuration du synthétiseur (sans FPGA ou MK intermédiaire). Grâce au LPT, une interface SPI est implémentée de la même manière que pour le programmeur AVR STK200 MK.
J'ai donc compris le schéma et le logiciel, tout conçu et configuré. Ensuite, en utilisant le programme Adobe Audition 1.5, j'ai commencé à analyser le fragment I / Q du signal que j'ai enregistré à la sortie de mon SDR, en accordant la fréquence d'une des bandes de radio amateur quelque part au milieu. La figure montre une capture d'écran du programme, qui montre le diagramme de phase et la vue spectrale du fragment.

Sur le spectre, vous pouvez voir des stations à bande étroite d'une largeur d'environ 3 kHz. Les canaux gauche et droit sont d'apparence identique, mais de forme d'onde différente, ce qui est confirmé par le diagramme de phase. À l'oreille, les deux canaux sonnent de la même façon si vous les écoutez séparément. Mais en écoutant en même temps avec un casque, vous pouvez faire attention au déphasage. La valeur du déphasage est de 90 degrés. On peut deviner non seulement à partir de l'analyse du diagramme, mais aussi à partir de l'analyse du diagramme. Ci-dessus, j'ai fait attention au fait que le deuxième canal est formé à partir du mélangeur à touches après le «mélange» du signal d'entrée (de l'antenne) avec la fréquence du synthétiseur décalée en phase de 90 degrés. Cependant, le canal droit n'est pas le résultat direct d'un déphasage de 90 degrés du canal gauche (également vérifié). Et même du point de vue de «l'informatique», en fait, ce serait le même signal. Et ci-dessus, il a été conclu que les signaux sont différents, car avec une fréquence d'échantillonnage de 48 kHz, une bande passante de 48 kHz est également obtenue.
En regardant le panorama de l'émission radio et simultanément le spectre du signal I / Q dans Adobe Audition en mode d'enregistrement audio, j'ai pu comprendre que visuellement le spectre de chaque canal est une «convolution» de l'ensemble du spectre de l'émission radio par rapport au centre. D'autres expériences dans Adobe Audition avec un déphasage de 90 degrés et diverses combinaisons d'ajout et de soustraction de canaux m'ont aidé à tout comprendre. La pensée suivante est confirmée empiriquement. Le signal «I» (canal gauche) est la somme (mélange) de deux signaux: le signal responsable de la moitié gauche du spectre éthéré et le signal, mais décalé de 90 degrés, responsable de la moitié droite du spectre éthéré. Le signal «Q» (canal droit) est la somme (mélange) de deux signaux: le signal responsable de la moitié droite du spectre éthéré et le signal, mais décalé de 90 degrés, responsable de la moitié gauche du spectre éthéré. Les dépendances inverses sont également très similaires. Je vais montrer ces transformations de manière abstraite en utilisant des formules mathématiques.
Soit deux signaux différents donnés
Ils représentent des signaux, respectivement, pour la moitié gauche et la moitié droite du spectre de l'ensemble du panorama, comme mentionné ci-dessus. Afin de ne pas empiler les formules, à l'avenir tous les signaux seront notés sans argument temporel
.
Nous dénotons
signal décalé de

et
De même
où
- opérateur de signal à déphasage

.
Pour l'opérateur
passer par
Les propriétés évidentes suivantes sont caractéristiques:
1. Utilisation cohérente de l'opérateur de quart
fois sur les coins
donne un décalage d'angle
égal à la somme des angles ci-dessus:
2. Amplitude d'un signal
dans
les horaires peuvent être modifiés avant ou après l'opérateur
, alors que le résultat ne changera pas:
3. Le résultat du décalage du signal
égal à la somme
morceaux de signaux
à un angle
égal à la somme des résultats d'un décalage du même angle des signaux ci-dessus:
4. Signal
déphasé par

donne "l'antiphase" du signal d'origine:
Selon ma déclaration,
De cette représentation, les signaux peuvent être extraits de manière unique
et
comme ceci:
Il n'est pas difficile de prouver ces formules en utilisant les propriétés ci-dessus.
De même pour
:
Essayons maintenant de vérifier les formules obtenues dans la pratique en utilisant le programme Adobe Audition. En fait, il existe de nombreux programmes plus pratiques pour la modélisation des signaux, à partir de MatLab, mais je travaille dans Adobe Audition. Nous travaillerons avec un fragment du signal I / Q, dont la forme a été représentée dans la capture d'écran ci-dessus. Il est nécessaire à partir de ce signal selon les formules de sélectionner le signal L, qui correspond à la moitié gauche du spectre dans le panorama SDR, et le signal R pour la moitié droite. Cela peut se faire de plusieurs manières, mais j'en considérerai une.
Vous devez d'abord enregistrer séparément le signal I et le signal Q (canaux gauche et droit en deux mono) dans les fichiers «i.wav» et «q.wav», respectivement. Ensuite, sur chacun des fichiers enregistrés, effectuez une opération de déphasage de 90 degrés. Pour ce faire, utilisez l'effet «Décalage de phase graphique» dans la section «Filtres». Sélectionnez dans la liste le préréglage prédéfini «+90 degrés» et appliquez.

En fait, en général, vous pouvez définir manuellement la réponse fréquence-phase à l'aide d'un graphique, car le traitement est basé sur la FFT directe et inverse. Mais dans ce cas, cela n'est pas nécessaire, car un décalage de 90 degrés de toutes les composantes de fréquence est nécessaire. Après avoir appliqué l'effet, nous enregistrons le résultat dans des fichiers séparés avec les noms «i90.wav» et «q90.wav». Ensuite, en mode de fonctionnement «Multipiste», nous collectons un mixage stéréo, selon les formules (1) et (2). Dans le canal gauche - la première formule, et à droite - la seconde. Il y a deux termes dans la formule, le second avec un signe négatif. La première piste est le premier terme de la première formule. Là, nous mettons le signal correspondant, ou plutôt le fichier ("i.wav"). La deuxième piste est le deuxième terme de la première formule ("q90.wav"). Mais il a encore besoin de "suspendre" l'effet de l'inversion. Cela peut être fait en utilisant l'effet «Channel Mixer» et réglé comme indiqué sur l'image. Les deux pistes sont entièrement sorties sur le canal gauche. De même pour les troisième et quatrième pistes (deuxième formule). Le facteur 1/2 dans les formules peut être négligé, les échantillons sont déjà silencieux. Si vous devez en tenir compte, vous devez régler le volume de chaque piste sur -6 dB.

Après l'exportation du mix, un nouveau fichier sera créé, dont le spectre est illustré dans la figure ci-dessous.

Le canal gauche de ce fichier représente un signal qui correspond à la moitié gauche du spectre du panorama de diffusion radio. À droite - de même. Dans la figure sur le spectre, on voit visuellement que les canaux sont différents jusqu'à un petit «miroir», ce qui dans mon cas est causé par certaines nuances techniques.
Ainsi, deux signaux quelconques selon les formules ci-dessus peuvent être «repliés» dans la représentation I / Q et «décomposés» en retour.
Toutes les pensées ci-dessus ont le droit d'exister, mais en fait, tout est beaucoup plus simple (ou plus compliqué). Plus tard, j'ai découvert les faits qui sont évidents aujourd'hui: un signal I / Q est autre chose qu'un signal complexe ordinaire avec une composante réelle et imaginaire. Le synthétiseur dans le bloc SDR de l'émetteur-récepteur, émettant quelques signaux avec le diviseur, peut être appelé un oscillateur local complexe. Aussi étrange que cela puisse paraître, le spectre du signal I / Q complexe entrant dans la carte son a une composante négative. À une fréquence d'échantillonnage de 48 kHz, la bande de signal sera de -24 à 24 kHz. Le signal L, que j'ai extrait d'I / Q, est un signal pour la partie négative du spectre du signal I / Q, et le signal R est pour le positif.
En pratique, il est beaucoup plus intéressant d'obtenir du signal I / Q non pas une paire de signaux (en deux), comme je l'ai fait auparavant, mais un signal avec la même bande de 48 kHz, mais pour que le spectre se trouve complètement dans la plage de fréquences positive (décaler le spectre vers la droite de 24 kHz) . Un tel signal sera déjà avec une fréquence d'échantillonnage de 96 kHz. Pour obtenir un tel signal à l'aide d'Adobe Audition, il est nécessaire d'effectuer une opération de modulation en quadrature selon un algorithme connu. Cette opération est l'opposé de l'opération de détection en quadrature, qui se produit juste dans le chemin SDR du récepteur au niveau matériel, «décalant» le spectre entier du radioéther vers la gauche de la fréquence de l'oscillateur local.
Essayons de faire une modulation en quadrature dans Adobe Audition, guidée par le schéma fonctionnel bien connu ci-dessous.

Je décrirai brièvement les actions réalisées. Tout d'abord, pour la formalité, vous devez suréchantillonner le fichier d'origine de 48 à 96 kHz (bien que, en fait, cette procédure soit facultative). Ensuite, il est nécessaire de générer une tonalité sinusoïdale avec une fréquence de 24 kHz dans un fichier vide (avec une fréquence d'échantillonnage de 96 kHz) à plein volume de la même longueur que le fragment d'origine du signal I / Q. Ce sera un signal sinusoïdal.

De la même manière, nous créons une tonalité pour le deuxième nouveau fichier, mais modifions uniquement le paramètre «Phase de démarrage» de 0 à 90. Ainsi, un signal cosinus sera créé. Selon le schéma fonctionnel, il est nécessaire de multiplier le signal sinusoïdal avec la composante «Q» et le signal cosinusoïdal avec la composante «I» par paires, puis d'ajouter les résultats. Tout d'abord, copiez le composant «Q» (canal droit) dans le presse-papiers à partir du signal I / Q d'origine. Ensuite, nous utilisons la fonction du menu "Edition" "Mix Insert avec les paramètres" Modulation "," From Buffer 1 ", après avoir sélectionné toute la région d'onde avec un sinus.

Après avoir cliqué sur le bouton «OK», le signal du presse-papiers se multipliera avec le signal sélectionné. Le résultat de la multiplication sera à la place du signal sinusoïdal. Nous effectuons des opérations similaires pour le signal cosinus et le canal Q. Ensuite, nous mixons les résultats résultants en mode "Multi Track" et exportons immédiatement le mixage en "mono". Le résultat est un signal dont le spectre est représenté dans la figure ci-dessous.

Il s'agit précisément de l'image du même spectre qui est dessinée sur le panorama SDR. En utilisant toutes les opérations décrites dans cet article dans Adobe Audition, vous pouvez sélectionner n'importe quelle station de radio à bande étroite à partir d'un enregistrement I / Q. Dans certains cas, de petites modifications de l'opération ci-dessus peuvent être nécessaires (s'il est nécessaire de renverser le spectre). De plus, vous aurez besoin d'un filtre passe-bande, d'un AGC et d'autres effets au besoin.
En conclusion, il convient de noter quelques points concernant la technique SDR. À ce jour, il existe et il existe des SDR très accessibles avec une "numérisation directe" de toute la bande de fréquences radio (directement depuis l'entrée de l'antenne) jusqu'à plusieurs gigahertz. C'est beaucoup plus intéressant et parfait. Le SDR via une carte son est déjà «le siècle dernier». De plus, des sujets tels que «Tuner DVB comme récepteur SDR», «SDR en ligne» sont désormais les plus populaires. Assurément, la plupart des lecteurs modernes qui ont entendu au moins quelque chose au sujet de la SDR signifieront exactement cela. Mais c'est un sujet complètement différent.