Konsep mentransfer pemrosesan sinyal ke cloud bukanlah hal baru. Pertama, VRAN (jaringan akses radio virtual) adalah cara utama untuk membangun jaringan operator seluler. Kedua, jaringan IoT SigFox dibangun dengan prinsip yang sama, seperti yang dapat dilihat dari patennya. Sederhananya, itu semua benar-benar keren! Jadi apa yang bisa kita lakukan agar tidak duduk di sela-sela kemajuan, tetapi untuk bergabung dengan topik?
Sejarah masalah ini adalah sebagai berikut: Saya telah terlibat dalam navigasi radio untuk waktu yang lama, dan tidak bisa melewati standar radio yang umum di Internet seperti LoRa. Saya benar-benar ingin membuat posisi untuknya.
Cara penentuan posisi yang paling ekonomis adalah pengintai diferensial , dalam terminologi bahasa Inggris, perbedaan waktu kedatangan ( TDOA ). Meter dalam metode ini dapat berupa saluran tunggal, yang membandingkannya dengan baik dengan metode multi-saluran dengan sudut kedatangan (AOA). Metode ini membutuhkan pengukuran waktu relatif kedatangan sinyal ke spasi spasi.

Sumber
Ada dua opsi: yang pertama, untuk mengikat pengukuran ke satu skala waktu referensi, yang kedua, untuk menghitung waktu kedatangan bersama secara langsung oleh fungsi korelasi timbal balik . Yang kedua membutuhkan bandwidth saluran komunikasi dengan meter yang jauh lebih besar, tetapi berpotensi memiliki kekebalan terhadap kebisingan yang lebih baik. Saya telah memilih pendekatan ini.
Perlu dicatat bahwa untuk kesederhanaan presentasi, saya menghilangkan masalah sinkronisasi frekuensi pembawa dan frekuensi sampling meter untuk saat ini. Saya berharap dapat membahas masalah ini di publikasi mendatang.
Secara matematis, pendekatan kedua didasarkan pada fungsi korelasi silang (VKF). Secara teknis, ini berarti bahwa sampel sinyal harus ditransfer ke satu tempat untuk menghitung WKF. Pada saat yang sama, perlu untuk memilih sampel waktu dari satu sumber radiasi pada semua meter yang terlibat dalam penentuan posisi. Artinya, untuk membangun sistem penentuan posisi LoRa TDOA yang dikandung, perlu untuk menempatkan pada setiap meter penerima SDR dengan demodulator perangkat lunak LoRa, misalnya, seperti yang dijelaskan dalam artikel populer berbahasa Rusia ini . Selanjutnya, pada masing-masing penerima meter SDR, Anda perlu mengalokasikan ID sarana pemancar dan mengirimkan sampel sampel ke komputer pusat dengan ID ini. Kalkulator pusat kemudian akan dapat, ketika menerima paket sampel dengan satu ID, memulai prosedur perhitungan WKF dan prosedur penentuan posisi. Struktur ini bagi saya terlalu menuntut kinerja peralatan dan kompleksitas perangkat lunak meter. Dan dengan beban puncak, itu akan memberi beban berlebihan pada saluran komunikasi. Oleh karena itu, saya ingat pendekatan untuk membangun struktur pemrosesan sinyal jaringan seluler, yang telah lama mereka gunakan, dan dalam generasi 5G pendekatan ini harus menjadi wajib.
Pendekatan ini disebut Jaringan Akses Radio Virtual ( V-RAN ). Anda dapat google kombinasi kata-kata ini. Saya menemukan beberapa deskripsi dalam bahasa Inggris saja. Sesuatu yang bermakna dalam Wiki pada V-RAN tidak, tetapi sesuai dengan konsep terbaru - Cloud Access Radio Network atau Centralized Radio Access Network ( C-RAN ). Konsep itu tampaknya jauh dari kenyataan - "pesawat ruang angkasa membajak bentangan alam semesta."

Sumber
Sesuai namanya, fitur utamanya adalah demodulasi sinyal dan semua langkah pemrosesan selanjutnya ditransfer ke cloud ( Baseband hotel ). Dengan pendekatan ini, biaya pembelian peralatan berkurang, tetapi ada biaya untuk menyewa komputer cloud, yang jumlahnya dapat disesuaikan dengan cepat dan mudah, dan yang paling penting - sesuai dengan persyaratan yang mendesak. Ini membawa penghematan. Tabungan diperiksa secara dangkal dalam artikel ini. Dan ini adalah studi konsep yang lebih rinci.
Anehnya, sifat IoT kecepatan rendah memungkinkan untuk menggunakan pendekatan "ruang" seperti itu dalam ekonomi nasional!
Untuk melakukan ini, Anda perlu menggunakan Raspberry (atau komputer Linux lainnya dengan dukungan RTL-SDR dan SOAPY) dan RTL-SDR itu sendiri, yang saat ini memiliki jumlah yang relatif besar. rumah tangga orang, mengunduh sumber atau binari program, terhubung ke cloud dan menonton pesan di agregator pesan LoRa IoT, seperti, misalnya, The Things Network.

Dan Anda membutuhkan internet cepat. Sekarang streaming dihitung sebagai berikut: 200 kHz * 32 bit (I, Q) = 6,4 Mbps. Kemudian aliran ini dikompresi, ternyata sekitar 3-4 Mbit / s meninggalkan Raspberry ke arah server kami terus menerus.
Sekarang mari kita lihat proses build dan launching secara bertahap.
Berikut adalah RTL-SDR yang dimasukkan ke dalam Raspberry Pi 3.

Berikut ini adalah kode sumber untuk perangkat lunak yang mengambil sampel dari RTL-SDR, memfilter dan menghilangkannya, dan mengirimkannya ke cloud melalui Internet Anda. Ini untuk mengurangi kecepatan data yang diperlukan untuk mengirimkan sinyal digital ke cloud. Perangkat lunak dapat dirakit seperti ini asli luar biasa tim:
mkdir build cd build cmake .. make
Maka Anda perlu mengkonfigurasi frekuensi penerimaan (standarnya adalah 868,1 MHz), alamat dan port server pemrosesan saat startup:
./Bolt5_Client host port [frequency]
dan jalankan program. Jika dia menyerah

, maka semuanya berjalan dengan baik dan Anda dapat mengkonfigurasi The Things Network (TTN). Ini dijelaskan secara rinci di sini .
Untuk mengirim pesan, Anda memerlukan simpul LoRa. Untuk mempermudah, kami menggunakan kit ini di Arduino:

Maka Anda harus benar-benar mengirimkan pesan pengujian dan memastikan bahwa cloud LoRa berfungsi. Contoh pengiriman pesan menggunakan Arduino dan LoraWAN Shield dapat ditemukan di sini .
Saat ini, dimungkinkan untuk mengirim pesan melalui sistem ABP (Aktivasi Dengan Personalisasi, Aktivasi dengan personalisasi).
Dalam kasus kami, pesan yang dikirim terlihat seperti ini:

Pesan yang diterima dan direkam dalam TTN terlihat seperti ini:

Sekarang sistem bekerja dalam mode manual eksperimental. Berbagai mukjizat mungkin terjadi, tetapi kami berusaha untuk membuat semuanya stabil sesegera mungkin. Karena tujuan utama kami adalah memposisikan LoRa, kami mencari sukarelawan yang ingin menghubungkan perangkat keras mereka (RTL-SDR dan Raspberry atau komputer lain) ke server kami hanya di satu area spesifik di St Petersburg: Pionerskaya, Udelnaya, dan Kolomyagi metro . Kami sudah memiliki dua meter: satu di persimpangan Kolomyazhsky Avenue dan Korolev Street, yang kedua di pusat bisnis Liner di Verbnaya Street. Dengan bantuan Anda, kami ingin membuat jaringan dengan geometri yang memungkinkan Anda memposisikan LoRa di area Taman Tertentu.

Untuk bagian kami, kami berjanji untuk menulis tentang sistem di sini. Saya harap kami memiliki sumber daya yang cukup selama tiga bulan, yang seharusnya cukup untuk menciptakan sistem penentuan posisi LoRa.
Bergabunglah dengan kami dalam menambang siaran radio untuk hal-hal Internet!
Pengembang utama mukjizat ini adalah deef137 , mohon cinta dan bantuan.