Modulasi macam apa ini?

8

Saya mencoba mencari tahu apa jenis modulasi dan pengkodean yang digunakan oleh remote control penutup jendela saya, yang bertujuan untuk menerapkan hal yang sama pada Raspberry Pi untuk menambahkan sedikit otomatisasi rumah.

Seorang kolega membantu saya mencicipi sinyal dengan USRP dan memberi saya file data. Saya telah memeriksanya dengan Inspectrum .

Saya khawatir sampel telah direkam terpusat sangat dekat dengan frekuensi sinyal. Saya kemudian membaca bahwa ini mungkin bukan ide yang baik, dan saya pikir inilah yang menyebabkan kebisingan permanen yang dapat Anda lihat dalam gambar. Haruskah saya memusatkan sampling beberapa kHz di bawah di masa depan?

Tekan satu kali sinyal "jendela terbuka"

Ikhtisar sinyal

Tingkat simbol, atau lebih tepatnya apa yang saya duga adalah tingkat simbol, tampaknya konsisten pada tingkat ini (sekitar 42 baud).

Ini menunjukkan energi frekuensi. Sumbu X adalah waktu, sumbu Y adalah frekuensi (baseband). Warna telah disetel untuk menunjukkan hanya kekuatan yang menarik.

Detail dari salah satu "blok"

Detail sinyal Detail sinyal (Frekuensi, Fase, IQ)

Di sini, gambar terakhir menunjukkan, frop to bottom: frekuensi, IQ (merah / biru), dan fase. Saya tidak tahu apa yang diwakili oleh grafik frekuensi di sini.

Zoom pada transisi antara jarang ke padat

"Tingkat simbol" tampaknya tidak konstan di sini.

Detail transisi Detail transisi (Frekuensi, Fase, IQ)

Saya tidak tahu modulasi, encoding, bit rate, atau protokol seperti apa yang digunakan oleh remote ini, dan saat ini satu-satunya pilihan saya adalah dengan membabi buta mencoba semua blok demod di gnuradio.

Akan sangat membantu jika jawabannya dapat mencakup beberapa panduan tentang bagaimana mendemodulasi sinyal ini di gnuradio untuk mendapatkan bit keluar. Saya pikir saya bisa mengambilnya dari sana.

Pengontrolnya untuk penutup jendela Velux, tetapi saya belum menemukan informasi di web. Saya akhirnya perlu mencari tahu chip apa yang harus dibeli untuk Arduino / rPi.

masukkan deskripsi gambar di sini

Saya dapat mengatakan bahwa chip tersebut memiliki beberapa teks yang bertuliskan, tetapi saya tidak dapat membacanya, sepertinya sudah rusak, tetapi saya tidak memiliki kaca pembesar ...: /

Data mentah diunggah ke: https://www.dropbox.com/s/rh2k7ho68dvoxhd/data_mando3.dat?dl=0 . Kecepatan sampel adalah 3 MHz. Format data adalah standar GNU Radio Companion , yaitu IQ, setiap komponen dinyatakan sebagai float 32 bit.

Memperbarui

Setelah beberapa penyelidikan lebih lanjut, ini tampaknya protokol io-homecontrol . Tampaknya itu belum direkayasa balik, ini disandikan, dan tidak ada informasi yang tersedia. Ini adalah protokol dua arah jadi saya harus mengambil sampel dari percakapan penuh (sampel saat ini hanya diambil dengan remote yang tersedia).

Secara teori chip ini dapat bekerja dengan protokol ini: http://www.analog.com/media/en/technical-documentation/data-sheets/ADF7022_2page.pdf

Konsorsium tidak akan memberikan spesifikasi. Saya masih tertarik mengendus beberapa percakapan dengan GNURadio dan melihat apakah saya dapat bekerja dari mereka. Mengingat hal ini, saya hanya dapat merekomendasikan produk io-homecontrol dan Velux.

Terima kasih!

jjmontes
sumber
1
Bisakah Anda menjelaskan lebih banyak, apa yang ditunjukkan oleh setiap kurva? Sosok pertama terlihat seperti STFT. Apa itu kurva hijau, biru dan merah pada gambar terakhir?
Maximilian Matthé
2
Ya akan lebih baik jika Anda bisa membuat sampel ulang, sehingga kelipatan bilangan bulat dari laju pengambilan sampel tidak mendarat di sekitar sinyal Anda. Selanjutnya jika Anda melakukan pengambilan sampel nyata, Anda ingin sinyal digital mendarat pada frekuensi IF Digital. Pilihan ideal adalah memiliki spektrum sampel Andafs/4, oleh karena itu gunakan hubungannya Nfs-fc=fs/4 dan Nfs-fc>2fb dimana fc frekuensi operator Anda dan fbadalah bandwidth dari sinyal. Saya sarankan pergi dengan hasil sedemikian rupa sehingga f_c >> 2 * f_b $. Setelah Anda melakukannya, Anda dapat menghapus carrier secara digital dengan mengamati rotasi.
Dan Boschen
1
Sudahkah Anda membuka remote? Banyak dari perusahaan-perusahaan itu akan menggunakan silikon komersial, dan akan ada nomor bagian pada chip, yang seringkali dapat dengan mudah mengarah pada lembar data.
Stephen Rauch
@ MaximilianMatthé Saya memperbarui pertanyaan, terima kasih!
jjmontes
1
@jjmontes Saya ingin memastikan Anda melihat tautan yang saya tambahkan di bagian atas respons saya di bagian "pembaruan", diulangi di sini: cansecwest.com/slides/2015/… . Presenter menunjukkan kepada Anda langkah demi langkah cara mendemodulasi sinyal io-homecontrol.
Dan Boschen

Jawaban:

5

Ok saya melakukan beberapa forensik sinyal pada penangkapan data dan percaya modulasi adalah bentuk FSK.

Modulasi FSK adalah +/- 20 KHz dengan kecepatan data 38 KHz.


MEMPERBARUI: Penemuan OP bahwa ini adalah "io-homecontrol" dan datasheet dari ADI yang dia temukan telah mengkonfirmasi bahwa ini memang FSK dengan penyimpangan 20KHz dan laju data 38,4 Kbps. Lebih lanjut, tautan ini memberikan detail lebih lanjut tentang format modulasi:

https://cansecwest.com/slides/2015/From_Baseband_to_bitstream_Andy_Davis.pdf

Sepertinya itu sebenarnya Gaussian-FSK, dengan pensinyalan respons penuh (BT = 1), yang berarti respons untuk setiap bit diselesaikan sebelum bit berikutnya dimulai. Ini dapat dengan mudah diimplementasikan dengan filter Gaussian (lihat filter Gaussian FIR tanpa pengganda?) diikuti oleh NCO. Dalam hal ini setiap bit data direpresentasikan sebagai impuls diikuti oleh nol untuk panjang penuh filter dan output filter mendorong kata kontrol frekuensi ke NCO (VCO digital). (Untuk pensinyalan respons parsial yang membutuhkan penerima yang lebih rumit dan bukan yang mereka lakukan di sini, nol lebih pendek dari panjang filter, tetapi itu juga akan berfungsi). Penyimpangan frekuensi dapat diatur dengan konstanta gain pengali antara output filter dan input NCO. Pilihan untuk menggunakan Gaussian FSK vs FSK sederhana adalah untuk penahanan spektral yang lebih baik dalam bentuk gelombang yang ditransmisikan (dan merupakan alasan untuk transisi bulat yang kita lihat).


Saya akan memasukkan plot jika ada yang memiliki wawasan lebih lanjut:

Pertama pandangan makro di sekitar letupan pertama, terjadi sekitar 0,93 detik. Untuk mendapatkan plot ini, saya telah menghapus offset frekuensi yang sesuai dengan 0,2688 radian / sampel setelah dihancurkan oleh 10 sampel, dengan asumsi laju sampling asli adalah 3 MHz, ini sesuai dengan offset 12,834KHz.

Plot ini menunjukkan fase vs waktu yang tidak dibungkus (sumbu vertikal adalah radian) dan besarnya yang sesuai dengan waktu. Saya berasumsi ketika besarnya rendah bahwa kita sedang melihat kebisingan, dan sinyal yang menarik hanya terjadi ketika besarnya lebih tinggi.

masukkan deskripsi gambar di sini

Memperbesar pada bagian pertama dari ledakan, pulsa mulai sekitar 0,9265 detik, dan pada awal ledakan, fase "datar" untuk sekitar 3 ms. Sesuai dengan operator yang tidak dimodifikasi, saya percaya, dari membandingkan dengan detail yang kita lihat nanti.

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

Setelah 3 ms dari bagian "fase datar", ada pola yang sangat panjang dari apa yang tampaknya 1 0 1 0 1 0 dengan kecepatan data 37,5 KS / s. Modulasi terjadi antara 0 dan 180 derajat, tetapi nanti kita akan melihat fase landai yang jelas membuat saya mencurigai FSK bukan BPSK. (Jika itu MSK, saya akan berharap untuk melihat bukti rotasi 90 derajat, tetapi rotasi minimum yang saya temukan adalah 180 derajat). Perhatikan di awal pola (dengan asumsi +180 = 1 dan -180 = 0), kita melihat 1 1 0 1 0 1 0 1 ... yang kemudian bertahan dengan pola 1 0 1 0 selama kira-kira 90 ms sebelumnya lagi menyisipkan "1 1" di dekat tanda 1,02 detik, dan kemudian melanjutkan lagi sebagai 0 1 0 1 0 1 ... hingga tanda 1,414 detik. (durasi sekitar 0,4 detik dengan pola 1 0 1 0). Perhatikan "punuk" dalam lintasan keseluruhan;

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini masukkan deskripsi gambar di sini masukkan deskripsi gambar di sini

Pada 1,414 detik data nyata dimulai. (Yang pertama mungkin merupakan pola sinkronisasi / akuisisi). Melihat pertama pada tampilan makro, kita melihat pola yang pada tampilan ini muncul untuk diulang 3 kali sebelum burst berakhir.

masukkan deskripsi gambar di sini

Memperbesar area pertama, kami melihat fase positif dan negatif yang konsisten mengindikasikan FSK. Pada akhir data meledak ada durasi panjang 1 untuk 4 ms diikuti oleh pola 101010 lagi sekitar 14 ms.

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

Ledakan berikutnya dimulai sekitar 1,51 detik, tak lama setelah yang pertama lagi memiliki pola awal yang sama dari pembawa yang tidak dimodifikasi diikuti oleh pola modulasi panjang 101010. (Meskipun sedikit berbeda dalam hal permulaannya adalah 1 1 1 1 0 1 0 1 0 1 0 1 tetapi durasi pola 1010 sebelum modulasi data lagi 14 ms)

masukkan deskripsi gambar di sini

Dan Boschen
sumber
Pertanyaan sampingan Noob: selama sinkronisasi, ada seperti 5 ~ 7 band frekuensi yang menonjol dalam grafik air terjun. Namun saya masih harus memusatkan filter (lowpass) saya di pusat (20kHz), benarkah itu? Saya terkejut karena ini menyisakan bagian dari spektrum (yang membentang dari ~ + -35kHz) dari filter, tetapi tampaknya tetap bekerja:?
jjmontes
Anda memusatkan pada 12,834 KHz offset untuk didemodulasi, dan kemudian frekuensi sinyal itu akan menjadi data Anda. Penundaan dan berlipat ganda dengan dirinya sendiri dapat membuat pembeda frekuensi sederhana.
Dan Boschen