Protokol Komunikasi FT8 - Bagaimana Cara Kerjanya

Halo Habr.

Mungkin semua orang yang sedikit tertarik pada komunikasi radio dan radio amatir, mendengar tentang protokol komunikasi digital FT8 . Jenis koneksi ini muncul pada tahun 2017, dan sejak itu popularitasnya semakin meningkat.


Sumber: www.qsl.net/w1dyj/FT8%20for%20web.pdf

Bagi mereka yang tertarik dengan cara kerjanya dan mengapa itu diperlukan, dilanjutkan di bawah potongan.

Cerita


Bagi mereka yang jauh dari komunikasi radio amatir, latar belakang sejarah singkat.

Stasiun radio amatir buatan rumah, dan kemudian dibeli, muncul sekitar 100 tahun yang lalu. Satu-satunya sinyal yang bisa mereka terima dan kirimkan adalah nada sederhana, dan transmisi menggunakan kode Morse. Tentu saja, sebelumnya perlu untuk belajar bagaimana mengambil CW melalui telinga, dengan cara keterampilan ini diminati untuk waktu yang lama tidak hanya di kalangan amatir, tetapi juga di kalangan profesional, profesi operator radio di Angkatan Laut tampaknya dibatalkan hanya pada tahun 60-an. Tentu saja, ada romansa tertentu dalam penerimaan sinyal lemah terhadap kebisingan eter, yaitu bagaimana seorang operator radio ham desa sederhana dari wilayah Kostroma berhasil pada tahun 1928 untuk menerima sinyal SOS dari tim pesawat yang tertekan Umberto Nobile .

Langkah selanjutnya adalah komunikasi suara - transmisi suara menggunakan mikrofon dalam modulasi single-band membuat komunikasi radio lebih nyaman. Metode ini masih digunakan.

Akhirnya, sekitar tahun 90-an, komunikasi digital mulai mendapatkan popularitas di antara operator radio ham. Dalam hal ini, sinyal (biasanya RTTY atau PSK) membentuk komputer, operator berkomunikasi dengan koresponden menggunakan semacam obrolan teks.



Saya harus mengatakan bahwa protokol yang mirip secara teknis sangat sederhana, dan karakter yang diketik oleh pengguna dari keyboard dikirim hampir tanpa pemrosesan yang rumit. Dan anehnya, ini memiliki kelebihan - operator itu sendiri harus menemukan frekuensi yang tepat, mengevaluasi kualitas sinyal dengan telinga, melihat karakter yang diterjemahkan pada layar, mengetikkan jawaban, dll.

Tetapi kemungkinan pemrosesan digital tumbuh, dan akhirnya, pahlawan ulasan kami muncul - standar komunikasi FT8. Nama FT8 diterjemahkan sebagai Franke dan Taylor, modulasi 8-FSK. Profesor Steven Franke dan ahli astrofisika dan pemenang Nobel Joseph Taylor, telah menciptakan protokol yang benar-benar menarik dan efisien untuk transfer data.

Fitur FT8:

  • Panjang pesan adalah 15 detik, pesan ditransmisikan dalam slot waktu tetap, yang memudahkan penguraian kode.
  • Panjang pesan adalah 77 bit + 12-bit CRC.
  • Koreksi kesalahan FEC LDPC (174.87).
  • Frekuensi modulasi 8-FSK, jarak antara nada 6.25Hz.
  • Bandwidth 50Hz. Dengan pita sempit seperti itu, beberapa stasiun dapat beroperasi dan didekode secara bersamaan.
  • Ambang decoding -20dB.
  • Kemampuan opsional untuk bekerja secara otomatis, mengirim respons secara otomatis, dll.

Secara umum, penulis melakukan pekerjaan yang baik untuk menciptakan protokol komunikasi yang hampir sepenuhnya otomatis yang dapat, di satu sisi, mengirimkan informasi lebih efisien, dan di sisi lain, membunuh "semangat radio amatir" sejak awal. Tidak ada lagi romansa dari kebisingan dan memudar eter, menerima sinyal koresponden yang lemah dari sisi lain samudera, hanya ada layar PC, dan sisanya dilakukan oleh algoritma dan matematika.

Tangkapan layar program WSJT-X yang mendukung FT8 terlihat seperti ini:


Sumber: 3fs.net.au/ft8-digital-amateur-radio

Secara pribadi, saya tidak benar-benar memahami kesenangan komunikasi radio yang hampir sepenuhnya otomatis, tetapi karena FT8 populer, maka ini adalah seseorang perlu. Mari kita lihat lebih detail bagaimana ini bekerja.

Pengkodean bit


Pertimbangkan contoh praktis - transmisi frasa "CQ RA1ABC KO50". Di sini, CQ adalah kode panggilan yang diterima secara umum (lebih jelasnya di sini ), RA1ABC adalah tanda panggilan amatir, KO50 adalah apa yang disebut grid-locator , yang menentukan wilayah dari mana siaran radio amatir.

Pada langkah pertama, singkatan umum diganti dengan kode pendek, misalnya, CQ menerima kode 2 jam. Tanda panggilan radio amatir memiliki format huruf dan angka yang sangat jelas, yang juga memungkinkan Anda untuk merekamnya dalam bentuk yang lebih ringkas.

const char A0[] = " 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ+-./?";
const char A1[] = " 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
const char A2[] = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
const char A3[] = "0123456789";

// Check for standard callsign
int i0, i1, i2, i3, i4, i5;
if ((i0 = char_index(A1, c6[0])) >= 0 && (i1 = char_index(A2, c6[1])) >= 0 &&
    (i2 = char_index(A3, c6[2])) >= 0 && (i3 = char_index(A4, c6[3])) >= 0 &&
    (i4 = char_index(A4, c6[4])) >= 0 && (i5 = char_index(A4, c6[5])) >= 0) {
        // This is a standard callsign
        int32_t n28 = i0;
        n28 = n28 * 36 + i1;
        n28 = n28 * 10 + i2;
        n28 = n28 * 27 + i3;
        n28 = n28 * 27 + i4;
        n28 = n28 * 27 + i5;
        printf("Pack28: n28=%d (%04xh)\n", n28, n28);
        return NTOKENS + MAX22 + n28;
}

Gagasan mengganti karakter dengan indeks penting di sini, yang efektif dengan ukuran kamus kecil. Akibatnya, tanda panggilan "RA1ABC" akan ditulis sebagai 0BF1C2C1h - kami menghabiskan 4 byte, bukan 6.

Demikian pula, "KO50" locator-grid ditulis sebagai angka 4BFAh 2 byte. Semua ini diperlukan karena panjang pesan maksimum adalah 77 bit; Tentu saja, teks arbitrer dan bahkan telemetri dapat ditransmisikan, tetapi tunduk pada batasan ini. Panjang pesan 77bit dipilih sebagai kompromi antara waktu transmisi (sekitar 13 detik, yang tidak begitu cepat) dan kapasitas informasi - pesan dapat dibuat lebih lama, tetapi kemudian akan dikirim lebih lama.

Akibatnya, semua pesan "CQ RA1ABC KO50" kami akan dikonversi ke blok data 00 00 00 26 28 9F D4 92 FE 88. CRC 14-bit juga ditambahkan ke dalamnya.

Langkah selanjutnya adalah mengubah pesan 91-bit ke kode yang disebut LDPC (Cek kepadatan rendah) dengan panjang 174 bit - ini menambahkan redundansi yang digunakan untuk memperbaiki kesalahan selama penerimaan. Pada langkah ini, pesan dikonversi ke 00 00 00 26 28 9F D4 92 FE 8A CA 0C F3 D1 34 33 88 D0 C2 9C 3D CC.

Pengkodean frekuensi


Semuanya di sini cukup sederhana. Pada langkah ini, kami akan mengubah pesan menjadi urutan nada frekuensi yang berbeda. Seperti yang Anda ketahui, kami dapat memiliki 8 nada (tipe modulasi FSK-8), setelah konversi kami mendapatkan urutan bentuk 31406520 00000001 15353274 61112745 36563140 65201575 76054515 70523040 61407642 3140652 di mana setiap digit adalah nomor nada dari 0 hingga 7.

Jarak frekuensi antara nada 6.25 adalah 6.25. durasi satu nada adalah 0,16 detik, dengan urutan yang ditunjukkan di atas, Anda dapat dengan mudah menghasilkan file WAV atau langsung mengontrol synthesizer frekuensi dalam kasus suar otonom.

Spektrum sinyal yang dihasilkan dari pesan kami terlihat seperti ini:



Tentu saja, lebih baik mendengar sekali daripada melihat spektrumnya, sayangnya, Habr tidak mengizinkan melampirkan file wav, dan kami tidak dapat menemukan video normal di youtube dengan demonstrasi suara FT8. Amatir radio modern tidak perlu lagi mendengarkan siaran , komputer melakukannya untuk mereka. Contoh dari proses radio dapat ditemukan di sini:


Kesimpulan


Seperti yang Anda lihat, secara matematis FT8 adalah protokol yang cukup menarik. Aslinya kode sumber WSJT-X ditulis dalam Fortran, dan saya masih belum bisa mengetahuinya. Versi terpisah dari encoder di C ++ dapat dilihat di github.com/kgoba/ft8_lib , cuplikan kode di atas diambil darinya. Mereka yang ingin juga dapat dengan mudah mengunduh versi WSJT-X , gratis, Anda dapat mencobanya tanpa pemancar, hanya kartu suara. Anda bahkan dapat menyetel frekuensi FT8 menggunakan http://websdr.ewi.utwente.nl:8901 dan mengarahkan suara melalui kabel audio virtual, sehingga Anda dapat menonton program yang sedang beroperasi tanpa transceiver dan tanpa r / l tanda panggilan.

Adapun popularitas FT8 di kalangan radio amatir ... Yah, secara pribadi, ini tidak sepenuhnya jelas bagi saya, menurut saya sudah tidak ada romansa dalam jenis komunikasi seperti itu, lebih dekat ke protokol industri daripada hobi dan kreativitas. Tetapi sebagian besar tampaknya memiliki pendapat yang berbeda, yang ditunjukkan dalam grafik di awal artikel. Jutaan penggemar ham radio tidak mungkin salah? Ya, FT8 itu sendiri, tentu saja, secara teknis menarik, dan di sini, mungkin, proses mempelajari protokol jauh lebih menarik daripada penggunaannya. Meskipun, mencoba program setidaknya sekali tentu juga menarik.

Semua percobaan berhasil.

All Articles