Comprendre la relation entre les puces LoRa, les gazouillis, les symboles et les bits


14

J'essaie de comprendre la relation réelle entre les puces LoRa, les "gazouillis", les symboles et les bits. Je ne parle pas seulement des équations qui relient les différents taux, mais en fait de la façon dont ces choses se rapportent quantitativement.

Le document Semtech AN1200.22 Bases de la modulation LoRa ™ contient quelques équations et définitions de base liées à divers débits. Pour autant que je puisse comprendre, le taux de puce CR sera toujours numériquement égal à la bande passante sélectionnée. Donc, si la bande passante sélectionnée = 125 kHz, le taux de puce est de 125 000 puces / seconde. Le symbole BW est alors utilisé de manière interchangeable avec le taux de puce.

Le facteur d'étalement concerne les puces et les symboles. . Ainsi, le débit de symboles SR est lié au débit de copeaux (comme BW):2SFchips=1 symbol

SR=BW2SF

Dans la mise en œuvre de la modulation LoRa, tous les 4 bits de données seront codés en tant que 5, 6, 7 ou 8 bits au total comme une forme de correction d'erreur directe, et ceux-ci sont sélectionnés en définissant le taux de codage CR = 1, 2, 3, 4. Le débit réel des bits de données utilisateur doit donc être réduit du facteur:

.BRuser=BR44+CR


Ceci conclut ce que je pense avoir compris jusqu'à présent. Je ne sais pas ce que sont réellement les puces ou les symboles . Par exemple, il existe un terme SF supplémentaire dans la relation finale entre la bande passante et le débit binaire brut, que je ne comprends pas.

BR=SFBW2SF =SFSR

Cela signifie qu'un symbole équivaut à des bits SR, ou entre 6 et 12 bits dans les paramètres disponibles de LoRa. Est-ce exact?

J'ai trouvé ici (aussi, regardez après 13h00 dans cette vidéo EDIT: vidéo de la conversation plus récente et plus approfondie ) une définition du taux de gazouillis comme la première dérivée temporelle de la fréquence df / dt. Cela lui donnerait des unités de mais l'expression qui y est représentée est différente. Peut-être est-ce le taux de balayages complets (gazouillis), plutôt que le taux de changement de fréquence?time2

entrez la description de l'image ici

ci-dessus: capture d'écran d' ici .

Question: Quelle est la relation entre les puces et les "gazouillis" - peut-on distinguer visuellement les puces dans les spectrogrammes - peut-on voir où chaque puce commence et se termine? Aussi, existe-t-il en effet entre 6 et 12 bits par symbole?


Vous trouverez ci-dessous quelques illustrations de spectrogrammes de signaux LoRa. Il semble que lors de chaque chirp, il y ait à peu près en moyenne un changement instantané de fréquence par période de chirp nominale, mais je ne sais pas si cela tient en général.

entrez la description de l'image ici

ci-dessus: Spectrogramme LoRa de LinkLabs: "Qu'est-ce que LoRa?" .

entrez la description de l'image ici

ci-dessus: Spectrogramme LoRa de décodage du protocole LoRa IOT avec un RTL-SDR .

entrez la description de l'image ici

ci-dessus: capture d'écran de Reversing LoRa (PDF).

entrez la description de l'image ici

ci-dessus: de Decoding LoRa - recadrée à partir d' ici .


1
Ceci est une réponse connexe .
uhoh

1
avez-vous vu le discours de Matt Knight sur le LoRa Phy à 33c3? media.ccc.de/v/33c3-7945-decoding_the_lora_phy - c'est la "version étendue et améliorée" de la conférence qu'il a tenue à GRCon (qui étaient toutes les deux assez cool à voir en direct) (vous liez les diapositives de son "Reversing" LoRa "talk at GRCon)
Marcus Müller

@ MarcusMüller Je le regarde maintenant - c'est beaucoup plus utile que l'ancienne vidéo - Je vais modifier ma question pour inclure de nouveaux liens - Merci !! Mais je ne comprends toujours pas comment le taux de gazouillis (df / dt) peut avoir des unités de temps12


@ mike65535 merci pour la modification! Oui, alors que SEMATECH est tout en majuscules, Semtech est complètement différent. Doit être la mémoire musculaire .
uhoh

Réponses:


7

LoRa est une modulation à spectre étalé basée sur un gazouillis. Un symbole est un gazouillis .

Pour générer des symboles / chirps, le modem module la phase d'un oscillateur. Le nombre de fois par seconde que le modem ajuste la phase est appelé le taux de puce et définit la bande passante de modulation . Le taux de copeaux est une subdivision directe de la fréquence du quartz (32 MHz).

Example for 125 kHz LoRa:

125 kHz modulation bandwidth
    = 125000 chips per second
    = 8 µs per chip

modulation bandwidth < occupied spectral bandwidth < channel spacing (typ 200 kHz)

Les chirps de base sont simplement une rampe allant de fmin à fmax (up-chirp) ou fmax à fmin (down-chirp). Les gazouillis porteurs de données sont des gazouillis qui sont décalés cycliquement, et ce décalage cyclique transporte l'information.

Le facteur d'étalement définit deux valeurs fondamentales:

  • 2SF
  • le nombre de bits bruts pouvant être codés par ce symbole est SF

La raison en est qu'un symbole, avec une longueur de N puces, peut être déplacé cycliquement de 0 à N-1 positions. La position "de référence" est donnée par les symboles non décalés au début de la trame LoRa. Ce décalage cyclique peut donc transporter des informations log2 (N). Si N est une puissance de deux, les mathématiques fonctionnent bien.

Example for SF 7

A SF 7 symbol is 128 chips long
    = 1.024 ms @125kHz modulation bandwidth
    = 512 µs @250kHz modulation bandwidth
    = 256 µs @500kHz modulation bandwidth

A 128-chip long symbol can by cyclically shifted from 0 to 127 positions, and that shift
carries 7 bits of raw information:
    ~ 6.8 kbps raw @125kHz modulation bandwidth
    ~ 13.7 kbps raw @250kHz modulation bandwidth
    ~ 27.3 kbps raw @500kHz modulation bandwidth

En raison du bruit, ce processus de modulation / démodulation introduit des erreurs, et c'est pourquoi un code de correction d'erreur est ajouté. Pour une charge utile typique, 25% (CR1) ou 50% (CR2) de redondance sont ajoutés avant de moduler les gazouillis. En pratique, les données envoyées par l'utilisateur sont également mélangées pour obtenir de meilleures propriétés de correction d'erreur.

Le débit de données brutes et la correction d'erreur définissent le débit de données nominal. Pour obtenir le débit de données maximal efficace auquel un appareil peut transmettre, vous devez prendre en compte:

  • limite légale de cycle d'utilisation, le cas échéant, de la bande dans laquelle vous émettez
  • surcharge du préambule LoRa, de l'en-tête et du CRC pour chaque trame envoyée (influence significative lorsque des trames courtes sont envoyées)
  • surcharge de votre protocole pour chaque trame (également très important pour les trames courtes)

Éditer:

J'ai ajouté (en rouge) les limites des gazouillis afin que l'effet des changements cycliques soit plus facile à comprendre. À l'exception de quelques symboles spéciaux à la fin du préambule signalant un début de trame, tous les gazouillis dans une trame LoRa ont exactement la même longueur. La fréquence semble "sauter" un peu, mais il n'y a pas de discontinuité de phase qui conduirait à de grandes quantités d'harmoniques indésirables tout autour de la bande.

représentation de changement cyclique


FmuneX-Fmjen

1
Les «irrégularités» et «étapes» sont dues au changement cyclique. Un chirp non décalé commence à fmin et se termine à fmax. Un chirp décalé de 2 ^ (SF-1) échantillons commence à (fmin + fmax) / 2, augmente jusqu'à fmax à la moitié de la longueur de chirp, puis saute immédiatement à fmin, puis monte à (fmin + fmax) / 2 à la fin du bip.
Sylvain

OK enfin j'y arrive :) Merci pour le montage, c'est tellement plus clair maintenant, du moins pour moi. C'est ce que j'appelle un "Aha! Moment" pour moi. Pendant tout ce temps, je regardais cela avec le cadre commençant auFmjenet cela n'avait aucun sens. Génial!
uhoh

Je suis toujours coincé sur les bits / symboles ~ SF. Cela ressemble à quelque chose d'évident et bien connu des amateurs de signaux, mais je ne vois pas encore pourquoi. Pouvez-vous m'indiquer un endroit où je peux lire plus loin? J'ai juste besoin d'un "aha!" indice de type. Merci! Il semble que LoRa soit devenu une expérience d'apprentissage vraiment agréable pour moi.
uhoh

J'ai passé les dernières 24h pour entrer dans LoRa et suis tombé sur cette question. J'étais également coincé avec le taux de gazouillis et comment on peut voir différentes puces dans un gazouillis et ainsi de suite. Je n'aime pas les deux réponses ici car elles ne traitent pas la partie intitulée Question: Si j'ai le temps, j'écrirai ma propre réponse, jusqu'à ce moment, je conseillerais de lire ce brevet . Cette réponse est en fait des informations brouillées à partir de ce document. Merci beaucoup pour les exemples et surtout pour dessiner les limites des gazouillis, c'était vraiment utile!
Felix Crazzolara

4

Définitions

Alors, qu'est-ce qu'un bit , un symbole , une puce et un gazouillis , et que signifient-ils?


Bit

Le bit est la plus petite unité d'information. La plupart du temps, nous essayons d'envoyer ces bits de l'expéditeur (TX) au récepteur (RX).

Afin d'envoyer ces bits à RX, ils doivent passer par une sorte de support pour atteindre leur destination. Cela peut être n'importe quel métal, air, eau, fibre optique, etc., n'importe quel type de support que vous pouvez imaginer.
Ils ont chacun des avantages, des inconvénients et leurs propres caprices, mais nous les utilisons principalement parce que nous devons compenser les lacunes des autres médias.
Les fibres optiques sont utilisées car elles transmettent mieux le signal avec beaucoup moins d' atténuation. L' la transmission sans fil qui utilise l'air comme moyen, et beaucoup moins coûteuses que la communication à base de cuivre si nous parlons de longues distances.
L'inconvénient de ce support est que vous ne pouvez pas transmettre de puissance dessus, ce serait inutile. Vous ne pouvez pas réutiliser ce pouvoir à la fin, donc si vous voulez alimenter quelque chose pendant que vous transmettez des informations, vous devrez utiliser du cuivre.
Le débit binaire est le nombre de bits transmis ou traités par unité de temps.

Bjet runete=Rb


symbole

Si vous voulez transmettre sur ces différents types de médias, vous devez décrire et transmettre ces bits d'information de manière à ce qu'ils atteignent leur destination.
Un symbole représente un ou plusieurs bits de données, il peut s'agir d'un type de forme d'onde ou d'un code .
Le débit de symboles est le nombre de changements de symboles par unité de temps, il peut être égal ou inférieur au débit binaire. Le débit de symboles est également connu comme le débit en bauds et le taux de modulation.

Voici un exemple du type de codes de ligne existants et du type de modulations .

Symbol runete=Rs


Puce

La puce est l'élément binaire de base de la séquence de données dans le contexte des transmissions à spectre étalé, et pour éviter les confusions, ils l'ont nommé différemment du bit.

Le spectre étalé est l'idée d'avoir vos données réparties sur une bande passante, de cette façon la transmission sera plus redondante, moins sujette au brouillage. Si vous voulez atteindre la même fiabilité sans utiliser de spectre étalé, vous devrez transmettre dans une bande étroite avec une puissance relativement élevée. Cela bloque les autres transmissions et va à l'encontre du point de la télécommunication, que vous transmettez les informations avec succès, sans gêner la transmission de quelqu'un d'autre.
Le taux de puces est le nombre de puces transmises ou reçues par unité de temps, et il est beaucoup plus grand que le débit de symboles, ce qui signifie que plusieurs puces peuvent représenter un symbole.

Chjep runete=Rc

Le débit de symboles est inférieur ou égal au débit binaire, le débit de puce est supérieur au débit de symboles et également supérieur au débit binaire.

Dans le document Semtech AN1200.22 à la page 9-10, les formules suivantes sont utilisées:

Rb=SFBW2SFRs=BW2SFRc=Rs2SF

Les deux premières équations peuvent être jointes, ce sera: Rb=SFRs, et si vous remplacez ceci par la troisième équation, vous obtenez: Rc=RbSF2SF.
Vous ne pouvez pas avoir le facteur d'étalement à zéro, car vous diviseriez avec zéro. Le plus petit nombre que vous pouvez saisir comme facteur d'étalement est 1, et dans le cas de100 bps, le taux de puce serait 200 cps, il est donc vrai que:

Rc>Rb>Rs

Si vous êtes intéressé par les autres technologies à spectre étalé qui utilisent le concept de puce, consultez la méthode d'accès Code Division Multiple Access .


Gazouiller

Un chirp est un signal dont la fréquence augmente (up-chirp) ou diminue (down-chirp). En QPSK, BPSK et de nombreux types de modulation numérique, ils ont utilisé des ondes sinusoïdales comme symboles, mais en CSS, ils utilisent des gazouillis, qui ne font pas varier la tension / la puissance dans le temps, mais changent la fréquence dans le temps.

-À suivre-
Je dois réviser la réponse de la partie puce, car le calcul des choses à partir des deux documents ( 1 , 2 ) ne donne pas le même résultat, et dans la vidéo, ce n'est toujours pas clair ce que nous prenons comme puce ou un symbole dans le signal modulé CSS.


Ressources

Puce

Étaler le spectre

Techniques de modulation

Bit, symbole et taux de puce


Lire plus loin

Débit binaire vs débit en bauds

Techniques de multiplexage

Techniques modernes de modulation numérique

Théorie des communications à spectre étalé

Systèmes de communication par satellite: systèmes, techniques et technologie

Quelques applications et mesures de la technologie Chirp Spread Spectrum (CSS)

Transmission numérique: une introduction assistée par simulation avec VisSim / Comm (technologie des signaux et de la communication)


Ceci est une très belle réponse, et je vais certainement "rester à l'écoute" pour les mises à jour. N'oubliez pas la partie intitulée Question: Je voudrais comprendre la relation spécifiquement pour LoRa, et si je peux comprendre comment reconnaître les puces et les symboles dans le spectrogame réel d'un signal modulé LoRa. Merci!
uhoh
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.