Le concept de transfert du traitement du signal vers le cloud n'est pas nouveau. Premièrement, le VRAN (Virtual Radio Access Network) est le principal moyen de construire un réseau d'opérateurs mobiles. Deuxièmement, le réseau IoT de SigFox est construit sur le même principe, comme on peut le voir dans ses brevets. Autrement dit, tout est irréel cool! Alors, que pouvons-nous faire pour ne pas rester en marge du progrès, mais pour rejoindre le sujet?
L'histoire du problème est la suivante: je suis engagé dans la radionavigation depuis longtemps et je ne pouvais pas passer par une norme radio aussi courante sur Internet que LoRa. Je voulais vraiment lui faire du positionnement.
Le moyen de positionnement le plus économique est le télémètre différentiel , en terminologie anglaise différence de temps d'arrivée ( TDOA ). Les compteurs de cette méthode peuvent être monocanaux, ce qui les compare favorablement aux méthodes multicanaux avec angle d'arrivée (AOA). La méthode nécessite de mesurer le temps relatif d' arrivée des signaux à des mètres espacés dans l'espace.

Source
Il existe deux options: la première, pour lier les mesures à une échelle de temps de référence, la seconde, pour calculer directement l'heure d'arrivée mutuelle par la fonction de corrélation mutuelle . Le second nécessite une bande passante considérablement plus grande des canaux de communication avec le compteur, mais présente une meilleure immunité au bruit. J'ai choisi cette approche.
Il convient de noter que pour simplifier la présentation, j'omet la question de la synchronisation de la fréquence porteuse et de la fréquence d'échantillonnage des compteurs pour plus de simplicité. J'espère couvrir cette question dans de futures publications.
Mathématiquement, la deuxième approche est basée sur une fonction de corrélation croisée (VKF). Techniquement, cela signifie que les échantillons de signaux doivent être transférés à un seul endroit pour calculer le WKF. Dans le même temps, il est nécessaire de sélectionner les échantillons de temps d'une source de rayonnement sur tous les compteurs impliqués dans le positionnement. Autrement dit, afin de construire le système de positionnement LoRa TDOA conçu, il est nécessaire de mettre sur chaque compteur un récepteur SDR avec un démodulateur logiciel LoRa, par exemple, comme décrit dans cet article populaire en langue russe. Ensuite, sur chaque récepteur de compteur SDR, vous devez attribuer l'ID du moyen émetteur et envoyer à l'ordinateur central un échantillon d'échantillons avec cet ID. La calculatrice centrale pourra alors, lors de la réception de paquets d'échantillons avec un ID, démarrer la procédure de calcul du WKF et la procédure de positionnement. Cette structure m'a paru trop exigeante sur les performances de l'équipement et la complexité du logiciel du compteur. Et avec une charge de pointe, cela donnerait une charge excessive sur le canal de communication. Par conséquent, je me suis souvenu de l'approche de construction de la structure de traitement du signal des réseaux cellulaires, qu'ils utilisent depuis longtemps, et dans la génération 5G, cette approche devrait devenir obligatoire.
Cette approche est appelée le réseau d'accès radio virtuel ( V-RAN ). Vous pouvez google cette combinaison de mots. J'ai trouvé une description en anglais uniquement. Il y a quelque chose de significatif dans le Wiki sur V-RAN, mais selon le dernier concept - Cloud Radio Access Network ou Centralized Radio Access Network ( C-RAN ). Le concept semble loin de la réalité - "les vaisseaux spatiaux labourent les étendues de l'univers."

Source
Comme son nom l'indique, la principale caractéristique est que la démodulation du signal et toutes les étapes de traitement ultérieures sont transférées vers le cloud ( Baseband hotel ). Avec cette approche, le coût d'achat d'équipement est réduit, mais il y a des coûts de location d'ordinateurs cloud, dont le montant peut être ajusté assez rapidement et facilement, et surtout - en fonction des besoins urgents. Cela apporte des économies. Les économies sont examinées superficiellement dans cet article . Et ceci est une étude plus détaillée du concept.
Étonnamment, la nature à faible vitesse de l'IoT permet d'utiliser une telle approche «spatiale» dans l'économie nationale!
Pour ce faire, vous devez prendre Raspberry (ou tout autre ordinateur Linux avec prise en charge RTL-SDR et SOAPY) et RTL-SDR lui-même, dont un nombre relativement important dispose désormais les ménages personnes, téléchargez la source ou les fichiers binaires du programme, connectez-vous au cloud et regardez les messages dans l'agrégateur de messages LoRa IoT, comme, par exemple, The Things Network.

Et vous avez besoin d'Internet rapide. Maintenant, le flux est calculé comme suit: 200 kHz * 32 bits (I, Q) = 6,4 Mbps. Ensuite, ce flux est compressé, il s'avère qu'environ 3-4 Mbit / s quitte Raspberry en direction de notre serveur en continu.
Examinons maintenant le processus de génération et de lancement par étapes.
Voici le RTL-SDR inséré dans le Raspberry Pi 3.

Voici le code source d'un logiciel qui prend des échantillons de RTL-SDR, les filtre et les décime, et les envoie au cloud via votre Internet. Il s'agit de réduire le débit de données requis pour fournir le signal numérique au cloud. Le logiciel peut être assemblé comme ceci inhabituellement original équipes:
mkdir build cd build cmake .. make
Ensuite, vous devez configurer la fréquence de réception (la valeur par défaut est 868,1 MHz), l'adresse et le port du serveur de traitement au démarrage:
./Bolt5_Client host port [frequency]
et exécutez le programme. Si elle donne

, alors tout se passe bien et vous pouvez configurer The Things Network (TTN). Ceci est décrit en détail ici .
Pour envoyer un message, vous avez besoin d'un nœud LoRa. Pour plus de simplicité, nous avons utilisé ce kit sur Arduino:

Ensuite, vous devez réellement transmettre le message de test et vous assurer que le cloud LoRa fonctionne. Un exemple d'envoi d'un message en utilisant Arduino et LoraWAN Shield peut être trouvé ici .
Pour le moment, il est possible d'envoyer des messages via le système ABP (Activation By Personalization, Activation by personalization).
Dans notre cas, le message envoyé ressemble à ceci:

Un message reçu et enregistré dans TTN ressemble à ceci:

Maintenant, le système fonctionne en mode manuel expérimental. Divers miracles sont possibles, mais nous nous efforçons de rendre tout stable le plus tôt possible. Puisque notre objectif principal est de positionner LoRa, nous recherchons des volontaires désireux de connecter leur matériel (RTL-SDR et Raspberry ou un autre ordinateur) à notre serveur dans une seule zone spécifique de Saint-Pétersbourg: métro Pionerskaya, Udelnaya et Kolomyagi . Nous avons déjà deux mètres: un à l'intersection de l'avenue Kolomyazhsky et de la rue Korolev, le deuxième dans le centre d'affaires Liner sur la rue Verbnaya. Avec votre aide, nous voulons créer un réseau avec une géométrie qui vous permettra de positionner LoRa dans la zone de Specific Park.

Pour notre part, nous nous engageons à écrire sur le système ici. J'espère que nous avons suffisamment de ressources pour trois mois, ce qui devrait être suffisant pour créer un système de positionnement LoRa.
Rejoignez-nous dans les émissions de radio minière pour l'Internet des objets!
Le principal développeur de ce miracle est deef137 , merci de l'aimer et de le favoriser.