Skip to content

Commit

Permalink
Tarikbenaddi master (#77)
Browse files Browse the repository at this point in the history
* FR version

* implemented corrections from master

implemented corrections of the comit 2c73b9b

* added link to my page (fr)

* correction of some links

* translate homepage title

* fixing warnings

Co-authored-by: Tarik Benaddi <[email protected]>
  • Loading branch information
777arc and tarikbenaddi authored Nov 21, 2022
1 parent e01c522 commit 1fa5fd7
Show file tree
Hide file tree
Showing 14 changed files with 74 additions and 72 deletions.
2 changes: 1 addition & 1 deletion content-fr/channel_coding.rst
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ Le taux de codage sera toujours inférieur à 1, car il existe un compromis entr
Modulation et Codage
***************************

Dans le chapitre :ref:`modulation-chapter`, nous avons abordé le bruit dans les schémas de modulation. Pour un SNR (rapport signal à bruit) faible, vous avez besoin d'un schéma de modulation d'ordre faible (par exemple, QPSK) pour faire face au bruit, et pour un SNR élevé, vous pouvez utiliser une modulation comme 256QAM pour envoyer plus de bits par seconde. Il en va de même pour le codage du canal: vous souhaitez des taux de codage plus faibles à des SNR faibles, et à des SNR élevés, vous pouvez utiliser un taux de codage proche de 1. Les systèmes de communication modernes disposent d'un ensemble de schémas de modulation et de codage combinés, appelés MCS (pour *modulations and coding schemes*) en anglais. Chaque MCS spécifie un schéma de modulation et un schéma de codage à utiliser à des niveaux de SNR spécifiques.
Dans le chapitre :ref:`modulation-chapitre`, nous avons abordé le bruit dans les schémas de modulation. Pour un SNR (rapport signal à bruit) faible, vous avez besoin d'un schéma de modulation d'ordre faible (par exemple, QPSK) pour faire face au bruit, et pour un SNR élevé, vous pouvez utiliser une modulation comme 256QAM pour envoyer plus de bits par seconde. Il en va de même pour le codage du canal: vous souhaitez des taux de codage plus faibles à des SNR faibles, et à des SNR élevés, vous pouvez utiliser un taux de codage proche de 1. Les systèmes de communication modernes disposent d'un ensemble de schémas de modulation et de codage combinés, appelés MCS (pour *modulations and coding schemes*) en anglais. Chaque MCS spécifie un schéma de modulation et un schéma de codage à utiliser à des niveaux de SNR spécifiques.

Les communications modernes modifient de manière adaptative le MCS en temps réel en fonction des conditions du canal sans fil. Le récepteur envoie un retour d'information sur la qualité du canal à l'émetteur. Le retour d'information doit être partagé avant que la qualité du canal sans fil ne change, ce qui peut être de l'ordre de la ms. Ce processus adaptatif permet d'obtenir le meilleur débit de communication possible et est utilisé par les technologies modernes telles que LTE, 5G et WiFi. Ci-dessous, une visualisation d'une tour cellulaire changeant de MCS pendant la transmission en fonction de la distance entre l'utilisateur et la cellule.

Expand Down
11 changes: 6 additions & 5 deletions content-fr/digital_modulation.rst
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
.. _modulation-chapter:
.. _modulation-chapitre:

#####################
Modulation numérique
Expand Down Expand Up @@ -253,14 +253,14 @@ Dans ce manuel, nous nous intéressons principalement aux formes numériques de
Codage différentiel
*******************

Dans de nombreux protocoles de communication sans fil (et filaires), vous êtes susceptible de rencontrer ce que l'on appelle le codage différentiel. Pour démontrer son utilité, considérons la réception d'un signal BPSK. Lorsque le signal se déplace dans l'air, il subit un retard aléatoire entre l'émetteur et le récepteur, ce qui entraîne une rotation aléatoire de la constellation, comme nous l'avons mentionné précédemment. Lorsque le récepteur se synchronise sur ce signal et aligne la BPSK sur l'axe "I", il n'a aucun moyen de savoir si elle est déphasée de 180 degrés ou non, car la constellation a la même apparence. Ainsi, au lieu de devoir envoyer des symboles pilotes pour lui faire savoir quelle groupe représente 1 et quelle groupe représente 0, il peut choisir d'utiliser le codage différentiel et ne pas s'en soucier.
Dans de nombreux protocoles de communication sans fil (et filaires), vous êtes susceptible de rencontrer ce que l'on appelle le codage différentiel. Pour démontrer son utilité, considérons la réception d'un signal BPSK. Lorsque le signal se déplace dans l'air, il subit un retard aléatoire entre l'émetteur et le récepteur, ce qui entraîne une rotation aléatoire de la constellation, comme nous l'avons mentionné précédemment. Lorsque le récepteur se synchronise sur ce signal et aligne la BPSK sur l'axe "I", il n'a aucun moyen de savoir si elle est déphasée de 180 degrés ou non, car la constellation a la même apparence. Ainsi, au lieu de devoir envoyer des symboles pilotes pour lui faire savoir quelle groupe représente 1 et quelle groupe représente 0, il peut choisir d'utiliser le codage différentiel et ne pas s'en soucier. L'utilisation du codage différentiel nous permet également d'utiliser un récepteur non cohérent qui est plus simple que les récepteurs cohérents.

Dans sa forme la plus élémentaire, qui est celle utilisée pour la BPSK, le codage différentiel consiste à transmettre un 1 lorsque le bit d'entrée passe de 1 à 0 ou de 0 à 1, et un 0 lorsqu'il ne change pas. Il transmet donc toujours le même nombre de bits (sauf que vous perdez un bit supplémentaire au début), mais vous n'avez plus à vous soucier de l'ambiguïté de phase de 180 degrés. Pour montrer comment cela fonctionne, considérons la transmission de la séquence de bits [1, 1, 0, 0, 0, 1, 0] à l'aide de la BPSK. Au lieu de transmettre directement ces bits, mis en correspondance avec les symboles positifs et négatifs que nous avons montrés précédemment, vous transmettez [rien, 0, 1, 0, 0, 1, 1], chaque 1 représentant un changement dans les bits de données. Il est peut-être plus facile de visualiser la pile avec un décalage comme ceci:
Dans sa forme la plus élémentaire, qui est celle utilisée pour la BPSK, le codage différentiel consiste à transmettre un 0 lorsque le bit d'entrée est le même que le bit de sortie précédent, et à transmettre un 1 lorsqu'ils diffèrent. Nous transmettons donc toujours le même nombre de bits (sauf qu'un bit supplémentaire est nécessaire au début pour commencer la séquence de sortie), mais nous n'avons plus à nous soucier de l'ambiguïté de phase de 180 degrés. Pour démontrer comment cela fonctionne, considérons la transmission de la séquence de bits [1, 1, 0, 0, 0, 1, 0] en utilisant la BPSK. Supposons que nous commencions la séquence de sortie par 1; en fait, peu importe que vous utilisiez 1 ou 0. Après avoir appliqué le codage différentiel, nous transmettrions finalement [1, 0, 1, 1, 1, 1, 0, 0]. Les 1 et les 0 sont toujours associés aux symboles positifs et négatifs dont nous avons parlé précédemment. Il est peut-être plus facile de visualiser les séquences d'entrée et de sortie empilées comme ceci:

.. code-block:: python
[1, 1, 0, 0, 0, 1, 0] # avant le codage différentiel
[-, 0, 1, 0, 0, 1, 1] # après le codage différentiel
[1, 1, 0, 0, 0, 1, 0] # avant codage différentiel (données originales)
[1, 0, 1, 1, 1, 1, 0, 0] # après le codage différentiel (ce que nous transmettons)
Le gros inconvénient de l'utilisation du codage différentiel est que si vous avez une erreur de bit, cela entraînera deux erreurs de bit. L'alternative à l'utilisation du codage différentiel pour la BPSK est d'ajouter périodiquement des symboles pilotes, qui sont des symboles déjà connus du récepteur, et celui-ci peut utiliser les valeurs connues pour non seulement déterminer quel cluster est 1 et lequel est 0, mais aussi inverser les trajets multiples causés par le canal. Un problème avec les symboles pilotes est que le canal sans fil peut changer très rapidement, de l'ordre de dizaines ou de centaines de symboles s'il s'agit d'un récepteur et/ou d'un émetteur en mouvement, de sorte qu'il faudrait des symboles pilotes suffisamment fréquents pour refléter l'évolution du canal. Ainsi, si un protocole sans fil met l'accent sur la réduction de la complexité du récepteur, comme le RDS que nous étudions dans le chapitre :ref:`rds-chapter`, il peut choisir d'utiliser le codage différentiel.
Expand Down Expand Up @@ -326,3 +326,4 @@ Vous pourriez même combiner le bruit de phase avec l'AWGN pour obtenir l'expér
:target: ../_images/phase_jitter_awgn.svg

Nous allons nous arrêter à ce point. Si nous voulions voir à quoi ressemble le signal QPSK dans le domaine temporel, nous devrions générer plusieurs échantillons par symbole (dans cet exercice, nous avons juste fait un échantillon par symbole). Vous apprendrez pourquoi vous devez générer plusieurs échantillons par symbole lorsque nous aborderons la mise en forme des impulsions. L'exercice Python du chapitre :ref:`pulse-shaping-chapter` reprendra là où nous nous sommes arrêtés ici.

2 changes: 0 additions & 2 deletions content-fr/filters.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ Filtres

Dans ce chapitre, nous nous familiarisons avec les filtres numériques en utilisant Python. Nous couvrons les types de filtres (FIR/IIR et passe-bas/passe-haut/passe-bande/coupe-bande), comment les filtres sont représentés numériquement et comment ils sont conçus. Nous terminons par une introduction aux filtres de mise en forme, que nous approfondissons dans le chapitre :ref:`pulse-shaping-chapter`.


******************************
Principes de Base des Filtres
******************************
Expand Down Expand Up @@ -480,7 +479,6 @@ Voyez comment la réponse en fréquence n'est pas très droite... elle ne corres

Les deux options ont fonctionné. Laquelle choisiriez-vous? La deuxième méthode a permis d'obtenir plus de prises, mais la première méthode a permis d'obtenir une réponse en fréquence qui n'était pas très nette et dont le front descendant n'était pas très raide. Il existe de nombreuses façons de concevoir un filtre, chacune ayant ses propres compromis. Beaucoup considèrent la conception de filtres comme un art.


*********************************
Introduction à la Mise en Forme
*********************************
Expand Down
13 changes: 6 additions & 7 deletions content-fr/frequency_domain.rst
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ Tout d'abord, pourquoi aimons-nous regarder les signaux dans le domaine des fré

Comme vous pouvez le voir, dans le domaine temporel, ils ressemblent tous les deux à du bruit, mais dans le domaine fréquentiel, nous pouvons voir des caractéristiques différentes. Dans le domaine temporel, tout se trouve sous sa forme *naturelle*; lorsque nous échantillonnons des signaux, nous le faisons dans le domaine temporel, car vous ne pouvez pas échantillonner *directement* un signal dans le domaine fréquentiel. Et pourtant, les choses les plus intéressantes se passent généralement dans le domaine des fréquences.


***********************************
Séries de Fourier
***********************************
Expand All @@ -49,10 +48,10 @@ Certains signaux nécessitent ainsi de sommer plus d'ondes sinusoïdales que d'a
Pour comprendre comment décomposer un signal en somme de sinusoïdes, nous devons d'abord définir les trois paramètres d'une onde sinusoïdale :

#. Amplitude
#. Phase
#. Fréquence
#. Phase

**L'amplitude** indique la "force" de l'onde, tandis que la **phase** est utilisée pour représenter la façon dont l'onde sinusoïdale est décalée dans le temps, de 0 à 360 degrés (ou de 0 à :math:`2\pi`). La **fréquence** est le nombre d'ondulations par seconde.
**L'amplitude** indique la "force" de l'onde, tandis que la **fréquence** est le nombre d'*ondulations* par seconde. **La phase** est utilisée pour représenter la façon dont l'onde sinusoïdale est décalée dans le temps, de 0 à 360 degrés (ou de 0 à :math:`2\pi`), mais elle doit être relative à quelque chose pour avoir un sens, comme deux signaux de même fréquence déphasés de 30 degrés l'un par rapport à l'autre.

.. image:: ../_images/amplitude_phase_period.svg
:align: center
Expand Down Expand Up @@ -145,7 +144,6 @@ Earlier we examined examples of how signals appear in the time domain and the fr

Nous avons examiné précédemment des exemples de la manière dont les signaux apparaissent dans le domaine temporel et dans le domaine fréquentiel. Nous allons maintenant aborder cinq importantes "propriétés de Fourier". Il s'agit de propriétés qui nous disent que si nous appliquons ____ à notre signal dans le domaine temporel, alors ____ s'appliquera à notre signal dans le domaine fréquentiel. Cela nous donnera un aperçu important du type de traitement numérique du signal (DSP) que nous effectuerons sur les signaux du domaine temporel dans la pratique.


1. Propriété de linéarité:

.. math::
Expand Down Expand Up @@ -256,7 +254,7 @@ En ce qui concerne l'intervalle de fréquence, chaque case correspond à :math:`
Fréquences négatives
********************

Mais qu'est-ce qu'une fréquence négative? Pour l'instant, sachez simplement qu'elle existe car nous utilions des nombres complexes (nombres imaginaires) - il n'existe pas vraiment de "fréquence négative" dans la pratique, c'est juste une représentation que nous utilisons. Voici une façon intuitive de la comprendre. Imaginons que nous demandions à notre SDR de se régler sur 100 MHz (la bande radio FM) et d'échantillonner à une fréquence de 10 MHz. En d'autres termes, nous allons visualiser le spectre de 95 MHz à 105 MHz. Peut-être qu'il y a trois signaux présents dans cette bande:
Qu'est-ce qu'une fréquence négative? Pour l'instant, sachez simplement qu'il s'agit de l'utilisation de nombres complexes (nombres imaginaires) - il n'existe pas vraiment de "fréquence négative" lorsqu'il s'agit de transmettre/recevoir des signaux RF, c'est juste une représentation que nous utilisons. Voici une façon intuitive d'y penser. Imaginons que nous demandions à notre SDR de se régler sur 100 MHz (la bande radio FM) et d'échantillonner à une fréquence de 10 MHz. En d'autres termes, nous allons visualiser le spectre de 95 MHz à 105 MHz. Peut-être y a-t-il trois signaux présents:

.. image:: ../_images/negative-frequencies2.svg
:align: center
Expand All @@ -268,18 +266,19 @@ Maintenant, quand le SDR nous donne les échantillons, cela apparaîtra comme ce
:align: center
:target: ../_images/negative-frequencies3.svg

Rappelez-vous que nous avons réglé le SDR sur 100 MHz. Le signal qui était à environ 97,5 MHz apparaît donc à -2,5 MHz, ce qui est une fréquence négative. En réalité, il s'agit simplement d'une fréquence inférieure à la fréquence centrale. Cela aura plus de sens lorsque nous en saurons plus sur l'échantillonnage et que nous utiliserons nos SDR.
Rappelez-vous que nous avons réglé le SDR sur 100 MHz. Ainsi, le signal qui était à environ 97.5 MHz apparaît à -2.5 MHz lorsque nous le représentons numériquement, ce qui est techniquement une fréquence négative. En réalité, il s'agit simplement d'une fréquence inférieure à la fréquence centrale. Cela prendra tout son sens lorsque nous en saurons plus sur l'échantillonnage et que nous aurons acquis de l'expérience avec nos SDR.

********************************************************
L'ordre dans le domaine temporel n'a pas d'importance
********************************************************

Une dernière propriété avant de passer aux FFT. La fonction FFT "mélange" en quelque sorte le signal d'entrée pour former la sortie, qui a une échelle et des unités différentes. Après tout, nous ne sommes plus dans le domaine temporel. Une bonne façon de comprendre cette différence entre les domaines est de réaliser que le fait de changer l'ordre des choses dans le domaine temporel ne change pas les composantes de fréquence du signal. Par exemple, la FFT des deux signaux suivants présentera les deux mêmes pics parce que le signal n'est que deux ondes sinusoïdales à des fréquences différentes. Le fait de changer l'ordre dans lequel les ondes sinusoïdales se produisent ne change pas le fait qu'il s'agit de deux ondes sinusoïdales à des fréquences différentes.

.. image:: ../_images/fft_signal_order.png
:scale: 50 %
:align: center

Techniquement, la phase de la FFT change en raison du décalage temporel des sinusoïdes. Cependant, dans 99% des cas, seule la magnitude de la FFT nous intéresse, comme nous allons l'apprendre sous peu.
Techniquement, la phase des valeurs de la FFT change en raison du décalage temporel des sinusoïdes. Cependant, dans les premiers chapitres de ce manuel, nous nous intéresserons principalement à la magnitude de la FFT.

*******************
FFT en Python
Expand Down
5 changes: 3 additions & 2 deletions content-fr/intro.rst
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ Contribution

Si vous parvenez à lire une partie de ce manuel et que vous m'envoyez un courriel à l'adresse [email protected] avec des questions/commentaires/suggestions, alors félicitations, vous aurez contribué à ce manuel!

Mais à une plus grande échelle, vous pouvez contribuer à ce manuel de la même manière que n'importe quel projet de logiciel open source - à travers Git. Ce manuel prend la forme d'un site Web, mais le matériel source à partir duquel il est généré vit sur la page GitHub du manuel <https://github.com/777arc/textbook>`_. N'hésitez pas à soumettre un problème ou même une demande de transfert (Pull Request, PR) avec des corrections ou des améliorations. Ceux qui soumettent des commentaires/réparations de valeur seront ajoutés de façon permanente à la section des remerciements ci-dessous. Vous n'êtes pas doué pour Git mais vous avez des changements à suggérer? N'hésitez pas à m'envoyer un courriel à [email protected].
Mais à une plus grande échelle, vous pouvez contribuer à ce manuel de la même manière que n'importe quel projet de logiciel open source - à travers Git. Ce manuel prend la forme d'un site Web, mais le matériel source à partir duquel il est généré vit sur la page GitHub du manuel `<https://github.com/777arc/textbook>`_. N'hésitez pas à soumettre un problème ou même une demande de transfert (Pull Request, PR) avec des corrections ou des améliorations. Ceux qui soumettent des commentaires/réparations de valeur seront ajoutés de façon permanente à la section des remerciements ci-dessous. Vous n'êtes pas doué pour Git mais vous avez des changements à suggérer? N'hésitez pas à m'envoyer un courriel à [email protected].

Le site Web sur lequel ce manuel est hébergé est exempt de publicité, car nous détestons tous les publicités. Je ne fournis pas non plus d'adresse PayPal ou Bitcoin où j'accepte les dons. Il n'y a littéralement aucun moyen pour moi d'être payé pour ce manuel. Au lieu de cela, je suggère simplement de partager ce manuel avec des collègues, des étudiants et d'autres apprenants tout au long de la vie qui pourraient être intéressés par ce matériel.

Expand All @@ -59,5 +59,6 @@ Nous remercions tous ceux qui ont lu une partie de ce manuel et nous ont fait pa
- Matthew Hannon
- James Hayek
- Deidre Stuffer
- Tarik Benaddi for `translating PySDR to French <https://pysdr.org/fr/index-fr.html>`_
- `Tarik Benaddi <https://tarikbenaddi.github.io>`_ pour la `traduction de PySDR en français <https://pysdr.org/fr/index-fr.html>`_


Loading

0 comments on commit 1fa5fd7

Please sign in to comment.