Saya mendapatkan data I / Q dari radio yang ditentukan perangkat lunak. Saya ingin melakukan beberapa hal pada sinyal dalam data, tetapi hanya jika melebihi kisaran tertentu. Apa prosedur umum untuk mendapatkan dB (dBm, atau apa pun) dari data seperti ini? Program seperti SDR # melakukannya, tapi saya tidak tahu persis apa yang mereka lakukan sehingga saya bisa meniru mereka.
fourier-transform
amplitude
dbfs
rambut kuda
sumber
sumber
Jawaban:
Dasar-dasar
The amplitudo dari sinyal IQ hanya besarnya vektor, .saya2+Q2-------√
The kekuatan dari sinyal IQ adalah besarnya kuadrat, .saya2+Q2
Ketika Anda melihat meter logaritmik (dB), biasanya mengukur log kekuatan, yaitu . (Ini juga dapat dihitung sebagai dari amplitudo, tetapi kecuali Anda sudah memiliki amplitudo yang membuang operasi root kuadrat.)10catatan10(saya2+Q2) 20catatan10
Unit
Ingat, dB adalah angka relatif. Jika Anda hanya mengambil , maka 0 dB sesuai dengan amplitudo tepat 1. Jika driver perangkat keras Anda menggunakan konvensi titik mengambang biasa dari nilai sampel ekstrem absolut yang berasal dari −1 hingga +1, maka Anda dapat mengatakan bahwa nilai daya dB Anda adalah dBFS - desibel relatif terhadap skala penuh . Setiap sinyal yang lebih kuat dari level itu akan terpotong , mendistorsi sinyal.10catatan10(saya2+Q2)
dBm , desibel relatif terhadap satu miliwatt daya, hanya menggunakan level referensi yang berbeda. Anda dapat mengonversi ke dBm hanya dengan menambahkan atau mengurangi nilai kalibrasi yang tepat dari nilai dBFS - tetapi Anda perlu mengetahui kalibrasi untuk perangkat keras Anda pada frekuensi yang diinginkan, seperti dengan mengukurnya (menggunakan sumber sinyal output daya yang diketahui) ; tidak mungkin untuk melakukan kalibrasi itu murni dalam perangkat lunak karena sampel digital hanya angka tanpa unit yang melekat.
(Kesalahan yang saya lihat adalah merujuk pada nilai sampel, atau parameter yang skala menurut mereka seperti ambang batas amplitudo, sebagai berada di "volt"; ini adalah omong kosong kecuali ADC Anda (dan perangkat keras lainnya) benar-benar dikalibrasi hingga satu volt. Ini terlalu besar untuk penerima radio.)
Aplikasi praktis
Jika Anda hanya ingin mengabaikan sinyal yang tidak cukup kuat (ini dikenal sebagai carrier squelch atau power squelch ), tidak masalah unit apa yang Anda gunakan, atau bahkan jika mereka logaritmik atau linier, karena Anda hanya melakukan perbandingan yang lebih besar. Satu-satunya komponen penting adalah bahwa Anda mulai dengan (sebagai lawan dari, katakanlah, , yang jelas-jelas salah).saya2+Q2 saya+ Q
Catatan tentang bandwidth Anda mungkin tidak perlu membaca
Mungkin juga relevan untuk dicatat bahwa jika Anda memfilter sinyal, Anda secara definisi menghapus beberapa kekuatan sinyal, sehingga pengukuran akan lebih kecil.
Secara khusus, FFT (seperti tampilan visual utama dalam alat-alat seperti SDR #) dapat secara longgar dianggap sebagai kumpulan besar filter yang sangat tajam; setiap "bin" keluaran mengumpulkan sebagian daya input. Dengan demikian, daya di setiap tempat sampah tergantung pada lebar tempat sampah. Jika Anda membaginya dengan lebar tempat sampah di hertz (nilai itu menjadi ) sebelum mengambil logaritma, maka alih-alih daya dB, Anda mengukur kepadatan spektral daya dB , yang memiliki keuntungan menjadi independen dari lebar nampan FFT jika fitur yang Anda pedulikan lebih luas dari satu nampan (misalnya sinyal termodulasi pita lebar); jika lebih sempit (misalnya nada murni) maka nilai daya lebih berguna.laju sampel / panjang FFT
sumber