Apa opsi untuk memulihkan fase sinyal BPSK dalam perangkat lunak? Satu-satunya sumber daya yang dapat saya temukan online berisi diagram sirkuit - sepertinya tidak ada yang mau menjelaskan hal ini kepada orang yang tidak terbiasa dengan sirkuit analog.
Saya ingin penjelasan tentang bagaimana pemulihan pembawa bekerja dalam teori, dan juga akan suka pseudocode atau contoh kode.
Jawaban:
Untuk mendemodulasi sinyal kunci-shift fase, yang mana BPSK adalah yang paling sederhana, Anda harus memulihkan frekuensi pembawa, fase, dan waktu simbol.
Sinyal Bursty Beberapa sinyal bursty dan memberikan urutan data yang dikenal yang disebut preamble atau mid-amble (tergantung pada apakah itu muncul di awal atau tengah ledakan) Demodulator dapat menggunakan filter yang cocok yang "terlihat" untuk urutan data yang diketahui dan menggunakannya untuk mengetahui frekuensi, fase, dan waktu simbol burst. Mereka melakukan ini untuk setiap burst dan tidak perlu repot dengan "drift" (jarak bertahap yang terbentuk antara demodulator dan sinyal yang diterima sebagai kesalahan kecil terakumulasi) karena burst umumnya cukup pendek sehingga drift bukan masalah.
Sinyal Kontinu Kemudian ada sinyal kontinu. Mereka dalam banyak hal lebih sulit untuk pulih daripada sinyal meledak karena Anda biasanya tidak memiliki urutan data yang dikenal untuk membantu mengunci dengan sinyal, dan Anda harus khawatir tentang melayang bahkan setelah Anda mengunci sinyal. Saya akan mencoba menjelaskan pada tingkat tinggi langkah-langkah utama yang biasanya digunakan untuk memulihkan sinyal kontinu.
Pemulihan Operator
Biasanya Anda tahu berapa frekuensi sinyal yang Anda cari, atau setidaknya set frekuensi apa. Meskipun dengan pengetahuan ini, Anda biasanya harus dapat memperbaiki offset frekuensi karena tidak ada dua pemancar yang mentransmisikan pada frekuensi yang sama. Selalu ada beberapa kesalahan. Metode yang biasa, kemudian, adalah mencampur frekuensi yang Anda pikir sinyal akan berada, dan kemudian memperbaiki kesalahan frekuensi residual. Ini dapat dilakukan dengan Costas Loop, atau dengan mengambil kekuatan keempat dari data sinyal baseband dan mencari lonjakan frekuensi. Seharusnya ada lonjakan frekuensi pada offset pembawa * 4 (misalnya jika Anda mengambil FFT data ke daya ke-4 dan melihat lonjakan frekuensi pada 8300 Hz, itu berarti offset carrier adalah 8300/4 = 2075 Hz). Ini adalah cara yang sangat efektif untuk mendapatkan kunci awal pada frekuensi offset. Anda juga dapat menggunakannya untuk mengkompensasi drift jika Anda melakukannya kembali sesekali. Ada cara lain untuk mengimbangi penyimpangan yang akan saya sentuh nanti.
Fase Pembawa
Pada titik ini jika Anda memplot data kompleks Anda dalam bidang kompleks (sumbu x adalah nyata, sumbu y adalah imajiner) itu akan terlihat seperti berikut-
Setelah data dikoreksi fase, Anda dapat menjatuhkan bagian imajiner data karena tidak menambahkan informasi apa pun.
Waktu Simbol
Anda biasanya harus tahu, apriori, periode simbol dari sinyal yang Anda coba demodulasi. Jika Anda perlu menentukan periode / frekuensi simbol, Anda dapat melakukannya dengan cara yang mirip dengan cara offset pembawa terdeteksi. Anda dapat mengkuadratkan data yang akan menyebabkan lonjakan frekuensi dua kali frekuensi simbol.
Seperti dengan operator Anda harus mendapatkan fase (timing) yang benar dan kemudian mengimbangi penyimpangan. Metode yang biasa untuk kedua masalah ini adalah mencari zero crossing. Kecuali jika noise-nya cukup buruk, ia hanya boleh melewati titik nol di tengah transisi simbol dari -1 ke 1 atau dari 1 ke -1. Bahkan jika kebisingan menyebabkan ini terjadi di tengah-tengah simbol itu tidak akan sering terjadi.
Gambar di atas biasanya disebut "diagram mata" atau "pola mata". Itu adalah dua periode simbol lebar, dan memiliki banyak simbol "ditumpuk" di atas satu sama lain. Saya tidak tahu apakah Anda terbiasa dengan osiloskop atau tidak, tetapi Anda bisa mendapatkan osiloskop untuk menunjukkan gambar seperti ini. Bagaimanapun, dua "X's" adalah transisi simbol. Garis tinggi ke rendah dalam X adalah ketika simbol transisi dari 1 ke -1, dan garis rendah ke tinggi di X adalah ketika simbol transisi dari -1 ke 1. 1. Titik di antaranya, di mana garis merah muda adalah, adalah tempat optimal untuk mengambil sampel data untuk melihat apakah simbolnya 1 atau -1.
Teknik yang sama ini dapat digunakan untuk menangani penyimpangan waktu simbol. Ambil rata-rata lari jarak dari zero crossing sebelumnya dan zero zero crossing. Jika kedua rata-rata hampir sama, semuanya baik-baik saja. Jika satu lebih besar dari yang lain maka Anda harus bergeser ke tempat Anda mengambil sampel.
Setelah Anda mengambil sampel simbol di titik yang benar, titik data Anda akan mendapatkan sesuatu yang terlihat seperti titik konstelasi BPSK klasik.
Saya harap ini membantu.
sumber