2 poin oleh GN⁺ 2024-04-05 | 2 komentar | Bagikan ke WhatsApp
  • Berdasarkan pengalaman membuat radar FMCW sendiri sebelumnya, ini adalah catatan pembuatan radar kompresi pulsa pita 6 GHz hanya dengan komponen murah dan pemrosesan sinyal digital berkecepatan tinggi
  • Menggabungkan FPGA Zynq 7020, ADC 12-bit 250 MHz, DAC 14-bit 500 MHz, serta struktur transceiver IQ zero-IF untuk mendukung transmisi gelombang arbitrer dan pemrosesan kompresi pulsa
  • Tingkat kesulitan implementasi berfokus pada kendala digital berkecepatan tinggi dan RF seperti filter ADC/DAC, routing DDR3, antarmuka LVDS, Ethernet 1 Gbps, sinkronisasi clock, penyaringan daya, switching TX/RX, dan koreksi kebocoran LO
  • Dalam pengukuran nyata, dengan bandwidth 150 MHz diperoleh resolusi jarak sekitar 1 m, kendaraan di tepi jalan terdeteksi hingga sekitar 400–450 m, dan secara perhitungan jarak deteksi maksimum untuk target dengan radar cross section 1 m² berada di kisaran sekitar 1 km
  • Selesai dibuat dengan biaya 330 USD untuk produksi dan perakitan 2 PCB serta 225 EUR untuk komponen Digikey yang disolder sendiri; penulis menilai sulit menemukan radar kompresi pulsa komersial atau SDR dengan bandwidth RF serupa pada kisaran harga yang sama

Alasan membuat radar kompresi pulsa, bukan FMCW

  • Radar FMCW, jika antena pemancar dan penerima dipisah, tidak memerlukan switching, dan sinyal penerima dapat dicampur dengan sinyal pemancar untuk diturunkan ke frekuensi rendah sehingga mudah diimplementasikan bahkan dengan ADC berkecepatan rendah
  • Radar besar umumnya menggunakan radar pulsa
    • Satu antena dapat dipakai bersama untuk pemancaran dan penerimaan
    • Saat menggunakan daya pancar besar, masalah saturasi penerima tidak perlu dikhawatirkan sebesar pada FMCW
    • Pulsa dapat dikirim lebih sering, sehingga Doppler shift tak-ambigu maksimum menjadi lebih besar saat mengukur kecepatan target cepat
  • Namun radar pulsa memiliki kendala implementasi yang jauh lebih besar
    • Jika perpindahan TX/RX memakan waktu 1 µs, pantulan dari target berjarak 150 m akan terlewat
    • Jika satu antena dipakai bersama, jarak deteksi minimum bisa mencapai ratusan meter
    • Karena seluruh bandwidth RF dari pulsa pancar harus disampling, mungkin diperlukan ADC ratusan MHz atau lebih dari 1 GHz
  • Tujuannya adalah radar kompresi pulsa yang tidak terbatas pada sapuan frekuensi linear dan mendukung bentuk gelombang arbitrer
    • Untuk itu diperlukan DAC dan ADC dengan laju sampel yang memadai

Arsitektur keseluruhan dan pemrosesan sinyal

  • Radar ini memiliki struktur mirip SDR, dengan 2 antena penerima yang dimultipleks waktu dan satu bagian pemancar
    • Bagian pemancar dipakai bersama dengan salah satu antena penerima
    • Kanal penerima kedua murah karena hanya perlu menambahkan switch, LNA, dan konektor SMA, sekaligus menyisakan kemungkinan penggunaan mode FMCW
  • TX dan RX menggunakan struktur zero-IF
    • Ini bukan pilihan terbaik dari sisi performa, tetapi paling murah
    • Keluaran mixer memuat bukan hanya sinyal yang diinginkan, tetapi juga kebocoran LO dan sinyal image
    • Pada zero-IF, komponen yang tidak diinginkan bertumpang tindih dengan sinyal sehingga sulit dihilangkan dengan filter tetap
  • Sebagian ketidakidealan dapat dikurangi dengan koreksi digital
    • Dengan predistorsi keluaran DAC, ketidakidealan mixer dapat dikoreksi agar sinyal pancar menjadi bersih
    • Keluaran penerima juga dapat dikoreksi secara digital jika dikarakterisasi dengan cukup presisi
  • DAC mengeluarkan sinyal IQ kompleks, lalu mixer IQ memodulasinya ke frekuensi LO untuk dipancarkan melalui antena
    • IQ kompleks merepresentasikan frekuensi positif dan negatif sekaligus pada baseband
    • Setelah transmisi, switch T/R dialihkan ke penerimaan, dan penerima menyampling sinyal pantulan
  • Posisi target diperoleh melalui perhitungan korelasi antara sinyal pancar dan sinyal terima
    • Implementasi sebenarnya menggunakan FFT, bukan konvolusi langsung di domain waktu
    • Pada waktu ketika ada target, korelasi sinyal terima dan pancar menjadi besar; jika tidak ada target, korelasinya kecil
  • Sidelobe dikendalikan dengan fungsi window
    • Jika pulsa referensi dikalikan dengan fungsi window, sidelobe pada keluaran konvolusi dapat diatur
    • Jika window juga diterapkan pada pulsa pancar, sidelobe dapat diturunkan lebih jauh
    • Kekurangannya, mainlobe melebar dan resolusi jarak sedikit memburuk
  • Kecepatan diukur dengan memanfaatkan perubahan fase sinyal terima selama beberapa pulsa
    • Jika burst pulsa dikirim dan FFT dihitung pada dimensi pulsa, jarak dan kecepatan terpisah dalam range-Doppler map
    • Beberapa objek pada jarak yang sama pun dapat dibedakan jika kecepatannya berbeda
    • Dengan satu antena saja, tidak ada informasi sudut

Pemilihan ADC, DAC, dan FPGA

  • Laju sampel ADC adalah parameter kunci yang menentukan bandwidth RF maksimum yang dapat diterima
    • Mendapatkan bandwidth ADC lebih sulit daripada memperbesar bandwidth sisi RF dan DAC
    • Untuk sampling IQ diperlukan ADC minimal 2 kanal
  • ADC dengan antarmuka JESD204B memerlukan transceiver serial berkecepatan tinggi pada FPGA kelas atas sehingga tidak sesuai anggaran; sebagai opsi tercepat yang dapat dihubungkan ke I/O FPGA biasa, digunakan LVDS
  • ADC yang dipilih adalah ADS4229
    • 2 kanal, LVDS, laju sampel 250 MHz
    • Harga satuan 58 EUR
    • Ada juga ADC 8-bit 500 MHz, tetapi dikecualikan karena SNR-nya 20 dB lebih rendah daripada ADC 12-bit, sementara peningkatan laju sampel 2 kali hanya mengembalikan SNR sebesar 3 dB
  • DAC yang dipilih adalah DAC3174
    • 2 kanal, 14-bit, 500 MHz
    • Harga satuan 33 EUR
    • Bandwidth sistem dibatasi oleh ADC, tetapi kelonggaran bandwidth DAC membuat filtering lebih mudah
  • Mikrokontroler saja sulit menangani timing pembangkitan pulsa, manajemen data ADC/DAC, dan kontrol perpindahan TX/RX, sehingga diperlukan FPGA
  • FPGA yang dipilih adalah Zynq 7020
    • Memuat CPU dual-core ARM-A9 dan FPGA fabric dalam paket yang sama
    • Di China bisa didapat seharga $17, sedangkan harga Digikey $173
    • CPU dapat menangani komunikasi dengan PC dan kontrol
    • Kartu SD juga ditambahkan untuk menjalankan Linux, tetapi perangkat lunak awal dijalankan tanpa OS

Filter ADC/DAC dan kendala bandwidth

  • Di depan ADC diperlukan filter low-pass anti-aliasing
    • Frekuensi Nyquist untuk laju sampel 250 MHz adalah 125 MHz
    • Untuk memperbesar bandwidth yang dapat digunakan, cutoff harus ditempatkan dekat Nyquist, tetapi ini memerlukan cutoff yang tajam sehingga desain filter menjadi sulit
  • Filter ADC harus memiliki amplitudo dan group delay yang seragam pada passband
    • Jika atenuasi berbeda menurut frekuensi, pulsa terima akan terdistorsi
    • Jika perbedaan group delay besar, korelasi dengan pulsa referensi menurun dan sidelobe meningkat
  • Nilai desain filter ADC adalah cutoff 100 MHz dan atenuasi -20 dB pada Nyquist 125 MHz
    • Hingga sekitar 60 MHz, amplitudo dan group delay baik
    • Di atas itu, perbaikan sulit karena keterbatasan tersebut
    • Jika perlu, respons filter dapat dikoreksi secara digital
  • DAC juga merupakan sistem sampling, sehingga alias keluaran harus difilter
    • Laju sampel DAC adalah 500 MHz dan bandwidth sinyal yang diperlukan 100 MHz, sehingga desain filter lebih mudah dibanding ADC
    • Alias sinyal 0–100 MHz berada pada rentang 400–500 MHz
    • Dalam simulasi, alias teredam setidaknya 65 dB lebih besar daripada sinyal
  • Pada daya sinyal 30 dBm, sinyal image dapat menjadi sekitar -35 dBm
    • Dinilai cukup untuk operasi, tetapi untuk radar yang benar-benar layak, kemungkinan diperlukan atenuasi lebih besar agar menghindari radiasi di luar frekuensi yang dialokasikan

Desain digital dan alur data

  • Zynq SoC terdiri dari processing system (PS) dan programmable logic (PL)
    • PS adalah CPU dual-core ARM A9
    • PL adalah FPGA fabric
    • Keduanya terhubung melalui bus AXI 64-bit
  • Clock AXI disetel ke 130 MHz
    • 1 bus AXI untuk DMA ADC
    • 1 bus AXI untuk DMA DAC
    • Ada bus AXI berkecepatan rendah terpisah untuk pengaturan register PL
  • Untuk koneksi cepat dengan PC, dipilih 1 Gbps Ethernet
    • USB 3 dapat menyediakan 5 Gbps, tetapi memerlukan transceiver USB 3 eksternal dan upaya implementasi tambahan
    • Karena pemrosesan digital awal dilakukan di PC, kecepatan transfer sampel ADC yang ditangkap menjadi penting
  • DDR3 DRAM terhubung ke sisi PS sebagai satu chip
    • Beroperasi pada 1066 MHz karena keterbatasan memory controller
    • Lebar bus 16-bit
    • Chip DDR3 kedua dapat ditambahkan untuk konfigurasi 32-bit, tetapi tidak diperlukan
  • Bandwidth DDR3 lebih kecil daripada gabungan bandwidth DAC dan ADC
    • Cara melakukan streaming sampel DAC dari DRAM sambil menyimpan sampel ADC secara bersamaan tidak memungkinkan
    • Memori 1 MB ditempatkan di sisi PL untuk menyimpan sampel DAC
    • PC mengirim sampel pulsa ke DRAM melalui Ethernet, DMA memindahkannya ke memori PL, lalu pada setiap pulsa sampel dikirim ke DAC
  • Memori DAC 1 MB membatasi panjang pulsa menjadi 130 µs
    • Pulsa 130 µs setara dengan jarak deteksi minimum 20 km
    • Panjang pulsa umum sekitar 1 µs, sehingga ini sudah cukup
    • Pendekatan LUT memudahkan eksperimen dengan window function, predistorsi, dan berbagai bentuk gelombang pulsa

RF front-end dan switching transmisi/penerimaan

  • Frekuensi operasi sekitar 6 GHz, mirip dengan radar buatan sendiri sebelumnya
    • Ini dinilai sebagai pita frekuensi tertinggi yang memiliki banyak komponen siap pakai murah berkat aplikasi konsumen
  • Bagian RF terdiri dari IQ modulator, IQ demodulator, PLL untuk LO, power amplifier, LNA, dan switch
  • Untuk penguat daya dipilih Skyworks SE5004L
    • Titik compression 1 dB output tipikal adalah 2 W
    • Gain 32 dB
    • Dokumentasi datasheet kurang lengkap dan tidak ada nilai komponen eksternal, tetapi skematik ditemukan di dokumen evaluation board
  • Untuk switch T/R dipilih MASW-007588
    • Kecepatan switching 55 ns
    • Titik compression 1 dB 37 dBm
    • Dalam 55 ns, cahaya menempuh jarak 16,5 m
    • Ada switch khusus yang lebih baik, tetapi tidak sesuai anggaran
  • Circulator juga merupakan alternatif, tetapi tidak digunakan
    • Umum pada radar berdaya tinggi, dapat menangani ratusan W, dan tidak memiliki masalah kecepatan switching
    • Produk untuk pita frekuensi ini berukuran besar dan jauh lebih mahal daripada switch sederhana
  • Receiver harus memiliki noise floor RF yang cukup lebih tinggi daripada noise kuantisasi ADC
    • Dari perhitungan, noise floor RF di input ADC sekitar -155 dBV/Hz
    • Noise floor ADC sekitar -156 dBV/Hz
    • Umumnya noise floor RF sebaiknya sekitar 10 dB lebih tinggi daripada ADC, tetapi dalam desain aktual dikompromikan menjadi hanya beberapa dB lebih tinggi

Perhitungan jarak deteksi maksimum

  • Jarak deteksi maksimum dihitung dengan persamaan radar
    • Menggunakan daya pancar, gain antena, panjang gelombang, radar cross section target, suhu receiver, panjang pulsa, jumlah pulsa, noise figure, dan ambang deteksi
  • Parameter estimasi yang digunakan adalah sebagai berikut
    • Daya pancar: 30 dBm
    • Gain antena: 14 dBi
    • Panjang gelombang: 5,2 cm
    • Radar cross section target: 1 m²
    • Suhu receiver: 290 K
    • Panjang pulsa: 1 µs
    • Jumlah pulsa dalam burst: 1024
    • Noise figure receiver: 5 dB
    • Ambang deteksi: 15 dB
  • Hasil perhitungan menunjukkan jarak deteksi maksimum untuk target dengan radar cross section 1 m² adalah 1200 m
  • Nilai ini mungkin agak optimistis
    • Rugi kabel antena
    • Rugi efisiensi antena
    • Rugi ketidaksesuaian impedansi
    • Atenuasi atmosfer tidak disertakan
  • Meski begitu, jarak deteksi maksimum diperkirakan seharusnya berada di kisaran 1 km
    • Pada jarak maksimum, daya terima rata-rata sama dengan ambang deteksi minimum
    • Secara rata-rata, target pada jarak ini terdeteksi dengan probabilitas 50%
    • Karena daya terima berbanding terbalik dengan pangkat empat jarak, probabilitas deteksi turun cepat pada jarak yang lebih jauh

Desain PCB, DDR3, transmission line, dan catu daya

  • PCB mencakup rangkaian RF dan digital berkecepatan tinggi, sehingga routing perlu diperhatikan
    • Menggunakan PCB 6 layer
    • Material FR-4 standar tidak ideal untuk RF, tetapi trace RF dijaga sangat pendek sehingga dianggap bukan masalah besar
  • Memori DDR3L beroperasi dengan clock 533 MHz dan dua transfer per clock
    • Standar DDR3L tegangan rendah 1,35 V
    • Diperlukan pencocokan panjang trace, impedansi karakteristik, dan terminasi
  • Disimulasikan apakah resistor terminasi bus alamat DDR3 bisa dihilangkan
    • Tanpa resistor terminasi pun terlihat bekerja menurut kriteria ambang
    • Namun terjadi overshoot sekitar 0,7 V, melanggar syarat overshoot maksimum 0,4 V pada datasheet memori
    • Pada akhirnya resistor terminasi ditambahkan ke jalur alamat
  • Pada routing DDR3 digunakan trace 60 ohm dan resistor terminasi 50 ohm
    • Trace 40 ohm memiliki lebar 0,24 mm
    • Trace 60 ohm memiliki lebar 0,10 mm, sehingga memungkinkan penempatan yang lebih rapat
    • Resistor 50 ohm juga diperlukan di lokasi PCB lain, sehingga BOM dapat dikurangi
  • Pin enable pada switch T/R dan IQ modulator harus beralih sangat cepat
    • Pada drive strength maksimum FPGA, rise time input switch menurut simulasi sekitar 400 ps
    • Trace PCB sepanjang beberapa cm berperilaku seperti transmission line dan menimbulkan refleksi
    • Terminasi AC berupa resistor 50 ohm dan kapasitor kecil secara seri mengurangi refleksi tanpa masalah level DC
  • Catu daya menggabungkan switching regulator, LDO, dan filter ferrite bead
    • Karena noise switching jauh lebih besar daripada thermal noise floor receiver, diperlukan filtering yang kuat
    • Dari perhitungan, pada kondisi terburuk kebutuhan filtering catu daya mencapai sekitar 100 dB
    • Filter ferrite bead 2 tahap mencapai atenuasi 100 dB pada 1 MHz
  • PCB memiliki total 9 power rail
    • 1,0 V, 1,8 V, 2,5 V, 3,3 V untuk digital/FPGA, serta 1,35 V dan 0,675 V untuk DDR3
    • 1,8 V, 3,3 V, 5,0 V low-noise untuk analog menggunakan LDO dan filter ferrite bead

Antarmuka berkecepatan tinggi dan clock

  • ADC terhubung ke FPGA melalui bus LVDS 12-bit
    • Laju sampel ADC adalah 250 MHz
    • Data dua kanal dimuat pada edge naik dan turun clock
    • FPGA menggunakan adjustable delay line untuk mengoreksi timing capture secara dinamis
  • DAC menggunakan antarmuka LVDS 500 MHz, 14-bit
    • FPGA ini tidak memiliki penyesuaian output delay line, sehingga pencocokan panjang trace PCB menjadi penting
    • Berdasarkan alat sintesis, timing dapat diselaraskan pada trace delay ±25 ps, kira-kira perbedaan panjang ±4 mm
  • Ethernet PHY menggunakan Realtek RTL8211F
    • Di Tiongkok, komponen satuan bisa didapat seharga $1
    • Datasheet resmi berada di bawah NDA, tetapi dari reseller Tiongkok bisa didapat dokumen bertanda “Confidential”
    • Antarmuka RGMII pada FPGA Zynq tidak memenuhi spesifikasi pada 3,3 V, sehingga catu daya sisi PS disetel ke 1,8 V
    • SD card dan UART menjadi memerlukan level shifter
  • JTAG dan debug UART diimplementasikan dengan FTDI FT2232H
    • Debugger JTAG resmi Xilinx tidak digunakan karena harga resminya $270
    • Jika EEPROM disetel dengan tool program_ftdi dari Xilinx, Vivado akan mengenalinya
  • Sinkronisasi clock penting untuk performa radar
    • ADC adalah 250 MHz
    • DAC adalah 500 MHz
    • Logika FPGA memerlukan clock yang lebih rendah
    • Jitter clock 100 MHz dari PLL internal FPGA menurut prediksi tool adalah 130 ps peak-to-peak, sedangkan generator clock eksternal sekitar 4 ps peak-to-peak
  • Sisi PL menghasilkan beberapa clock 250 MHz dan 500 MHz dari crystal 25 MHz dengan generator clock CDCM6208
    • Clock-clock ini berada dalam kondisi phase synchronized satu sama lain
    • Sisi PS menggunakan crystal 33 MHz sendiri, dan diperlukan untuk memprogram generator clock setelah daya dinyalakan
    • Domain clock independen PS dan PL ditangani dengan clock domain crossing yang sesuai

Manufaktur dan bring-up board

  • PCB dipesan ke produsen Tiongkok termasuk perakitan
    • Menerima 2 board terakit dan 3 PCB kosong
    • Beberapa komponen yang tidak umum tidak disediakan oleh layanan perakitan, sehingga dipesan dan disolder sendiri
    • Komponen mahal seperti ADC, DAC, dan PLL termasuk di sini
    • FPGA dapat dirakit oleh layanan tersebut, sehingga menghindari penyolderan manual BGA 484-pin
  • Kualitas PCB baik untuk harganya, tetapi 1 dari 2 board terakit tidak langsung berfungsi karena masalah penyolderan
  • FPGA murah seharga $15 memiliki tanggal dan lot code yang ditutupi
    • Marking chip-nya berbeda dari development board seri yang sama
    • Pada akhirnya berfungsi, tetapi asal-usulnya tetap menjadi tanda tanya
  • Komponen lainnya disolder sendiri dengan solder paste dan hot air tool
    • Untuk menyolder paket QFN pada board yang sudah terpasang komponen, hot air tool diperlukan
  • Untuk mengurangi biaya perakitan dua sisi, semua komponen ditempatkan di top side
    • Di bottom side hanya disisakan ruang untuk menambah decoupling capacitor bila diperlukan, dan pada praktiknya tidak diperlukan
  • Setelah memprogram EEPROM FT2232H, Zynq 7020 dikenali di Vivado hardware manager, sehingga pemrograman dan debugging FPGA menjadi memungkinkan

Firmware FPGA dan timing

  • Logika FPGA terutama berperan memindahkan data
    • Antarmuka LVDS ADC/DAC
    • Timing pulsa untuk menyalakan dan mematikan switch, PA, LNA, dan sebagainya tepat waktu
    • Register AXI untuk mengonfigurasi PL dari PS
    • Dua DMA untuk sampel ADC/DAC
    • Antarmuka SPI untuk ADC, DAC, PLL, dan generator clock
  • Sebagian besar pemrosesan sinyal dilakukan di PC
    • Ke depannya, jika digital filtering dan decimation dilakukan di FPGA, jumlah data yang dikirim ke PC dapat dikurangi dan frame rate dapat ditingkatkan
  • LVDS receiver didasarkan pada Xilinx appnote xapp1017
    • Delay line dan flip-flop dihubungkan ke tiap LVDS lane
    • State machine mengubah delay agar sampling dilakukan di tengah data eye
    • Perbedaan routing PCB dan delay internal FPGA dikoreksi secara dinamis
  • Rangkaian timing pulsa berupa struktur counter dengan equality comparison untuk tiap event
    • Saat PS memicu, counter mulai berjalan
    • Tiap subsistem dan chip eksternal dikendalikan pada siklus clock yang tepat
    • Ada fungsi loop untuk mengirim beberapa pulsa dengan interval pengulangan yang akurat
  • Timing burst yang presisi sangat penting untuk pengukuran kecepatan
    • Jika terjadi kesalahan 1 siklus clock 125 MHz pada trigger ADC atau DAC, akan timbul galat jarak pengukuran sebesar 1,2 m

Pengukuran noise receiver dan daya pancar

  • Noise receiver diperiksa dengan menghubungkan matched load ke konektor antena dan merekam output ADC saat transmitter dimatikan
    • Rekaman 33 ms, 8 juta sampel
    • Rata-rata noise floor adalah -139 dBFs, mirip dengan perkiraan
  • Beberapa sinyal interferensi terlihat, dan yang terbesar adalah kelipatan 25 MHz
    • Amplitudonya sekitar -100 dBFs
    • Ini setara dengan sekitar 15 µV RMS pada input ADC
    • Penyebabnya adalah PLL fractional spur
  • Jika frekuensi output PLL disetel ke kelipatan bulat dari clock referensi, spur diminimalkan
    • PLL reference clock adalah 250 MHz, tetapi phase detector menggunakan 125 MHz yang dibagi 2
    • Pada setelan 5,75 GHz, spur hampir hilang
    • 5,875 GHz juga bekerja baik sebagai kelipatan yang dekat
  • Frekuensi switching DC/DC converter adalah 2,5 MHz dan tidak terlihat pada spektrum output
    • Filtering catu daya bekerja sesuai rencana
  • Daya pancar diperiksa dengan power detector bawaan PA
    • Output DAC disetel ke 85% amplitudo maksimum
    • Output IQ modulator diperkirakan sekitar +3 dBm
    • Dengan gain PA 32 dB, ini cukup untuk masuk ke compression
  • Tegangan puncak detector yang terukur adalah 1,72 V
    • Jika grafik datasheet diekstrapolasi secara linear, daya output sekitar 33 dBm, yaitu sekitar 2 W
    • Ini sesuai dengan -1 dB compression point PA yang tipikalnya 34 dBm, sehingga tampaknya berada dalam kondisi compression

Kalibrasi dan kualitas kompresi pulsa

  • Merekam sinyal bocor transmisi melalui switch T/R dalam kondisi matched load
    • Bentuk gelombang transmisi berupa sweep frekuensi linear dengan bandwidth 100 MHz dan durasi 1 µs
    • Menggunakan 0,1 dari amplitudo maksimum DAC
  • Pada bentuk gelombang yang diterima sebelum kalibrasi, muncul beberapa ketidakidealan
    • ADC DC offset sebelum pulsa
    • spike akibat transmitter menyala
    • pulse DC offset akibat kebocoran LO transmitter
    • Atenuasi yang lebih besar pada frekuensi baseband tinggi
    • DC level akibat ADC offset setelah pulsa dan operasi high-pass pada ADC filter
  • Pada pulse compression sebelum kalibrasi, sidelobe level adalah -21 dBc
    • Penyebab terbesarnya adalah kebocoran LO transmitter
    • Karena transmitter dan receiver berbagi LO yang sama, kebocoran LO di-down-mix menjadi DC di receiver
  • ADC DC offset dikalibrasi dengan memicu receiver saat transmitter dimatikan untuk mengukurnya, lalu menguranginya dari pengukuran berikutnya
  • Kebocoran LO diukur dengan memicu sweep saat DAC dibuat mengeluarkan 0
    • Idealnya tidak boleh ada transmisi, tetapi karena kebocoran LO, sinyal pada frekuensi LO terkirim
    • DC level sinyal transmisi disesuaikan agar input ADC menjadi 0, sehingga kebocoran LO dibatalkan
  • Setelah koreksi kebocoran LO, sidelobe level membaik menjadi -36 dB
    • Beberapa dB lebih tinggi daripada nilai ideal -42 dB
    • Karena operasi high-pass dari AC coupling capacitor, masih tersisa respons linear panjang pada -60 dB
  • Cara lain untuk mengurangi masalah DC offset adalah memodulasi sweep sebagai low-IF, bukan zero-centered
    • Menggunakan offset 25 MHz pada sweep 50 MHz sehingga melakukan sweep dari 0 hingga 50 MHz
    • Masalah DC offset akibat high-pass filter hilang
    • Kekurangannya, bandwidth maksimum yang dapat digunakan berkurang setengah dibanding sweep zero-centered
  • Jika Tukey window diterapkan pada pulsa transmisi, sidelobe jauh berkurang banyak
    • Pada α=0,1, pulse energy dan SNR receiver turun 0,8 dB
    • Pada offset 500 ns, sidelobe level turun sekitar 20 dB

Masalah kebocoran noise PA

  • Saat beralih ke mode receive, switch T/R berpindah dari transmitter ke receiver, tetapi jika PA tetap menyala, noise keluaran PA bocor ke receiver
  • Switch T/R beralih dalam sekitar 50 ns, tetapi enable/disable PA memerlukan sekitar 10 µs
    • Saat memakai satu antena, waktu transisi PA yang panjang ini meningkatkan noise receiver
  • Jika input PA adalah thermal noise dari resistor 50 ohm, nilainya -174 dBm/Hz, dan setelah gain PA 32 dB serta noise PA sendiri, output noise floor menjadi sekitar -135 dBm/Hz
  • Setelah melewati isolation switch T/R, noise PA pada input LNA diperkirakan sekitar -165 dBm/Hz
    • Ini lebih besar daripada thermal noise floor -174 dBm/Hz, sehingga jika PA tidak dimatikan, performa receiver dibatasi
  • Dalam pengukuran nyata, ADC noise floor receiver yang terhubung ke switch T/R saat PA on 2,1 dB lebih tinggi dibanding saat terhubung ke port lain
    • Dengan mempertimbangkan ketidakpastian hasil perhitungan, ini cukup sesuai dengan teori
  • Jika menggunakan dua antena, switch receive kedua dapat dialihkan ke RX2 dan LNA pada RX1 dimatikan, sehingga isolation meningkat sampai kebocoran PA tidak memengaruhi noise receiver

Perangkat lunak deteksi dan pelacakan

  • Pipeline untuk mendapatkan deteksi target dari sampel ADC adalah sebagai berikut
    • Melakukan pulse compression pada tiap pulsa yang diterima
    • Melakukan FFT pada dimensi jumlah pulsa
    • Membuat range-Doppler map dengan jarak dan kecepatan Doppler sebagai sumbu
  • Amplitudo tiap pixel pada range-Doppler map menunjukkan daya terima pada bin jarak·kecepatan tersebut
  • Bin target diidentifikasi dengan algoritme CFAR
    • Alih-alih noise floor tetap, noise floor lokal diperkirakan dari rata-rata bin di sekitarnya
    • Jika amplitudo bin yang sedang diuji lebih besar dari threshold × noise floor terestimasi, bin tersebut ditandai sebagai target
    • Noise floor dapat berubah tergantung waktu, sidelobe target di sekitar, dan clutter seperti ground reflection
  • False detection akibat sidelobe dari target besar dihapus lewat pascapemrosesan
    • Jika ada target yang jauh lebih besar pada baris atau kolom yang sama, itu dianggap sebagai sidelobe
    • Karena amplitudo harus lebih besar daripada bin yang berdekatan, hanya posisi peak dari compressed pulse yang terdeteksi
  • Untuk pelacakan target digunakan Stonesoup Python library
    • Posisi, kecepatan, dan ketidakpastian tiap target dilacak dengan Kalman filter
    • Implementasinya sangat didasarkan pada StoneSoup tutorial
  • Radar mengukur jarak dan kecepatan, tetapi tidak memiliki informasi sudut sehingga hanya bisa melakukan 1D tracking
    • transition model menggunakan constant acceleration
    • Kalman filter mengestimasi percepatan dari pengukuran dan memprediksi posisi berikutnya

Hasil pengukuran nyata di tepi jalan

  • Radar dipasang di samping jalan untuk mengukur kendaraan
    • Panjang pulsa: 2 µs
    • Bandwidth: 150 MHz
    • Jumlah pulsa: 1024
    • Panjang RX: 5 µs
    • Delay sebelum pulsa berikutnya: 7 µs
    • Menggunakan 2 antena TX/RX terpisah
    • Antenanya adalah horn antenna buatan sendiri
  • Bandwidth 150 MHz setara dengan resolusi jarak 1 m
    • Resolusi adalah jarak minimum untuk dapat memisahkan dua target titik
    • Akurasi posisi target tunggal dapat lebih baik daripada resolusi, tergantung SNR
  • Interval pulsa 12 µs setara dengan pulse repetition frequency 83 kHz
    • Pada RF 5,8 GHz dan pulse repetition interval 12 µs, rentang kecepatan tak ambigu adalah -1077 m/s hingga +1077 m/s
    • Karena lebih dari 3 kali kecepatan suara, tidak ada masalah ambiguitas kecepatan dalam pengukuran mobil
  • Resolusi kecepatan Doppler adalah 2155 m/s ÷ 1024 = 2,1 m/s
    • Agar dua target pada jarak yang sama dapat dipisahkan, diperlukan perbedaan kecepatan sebesar ini
    • Akurasi kecepatan target tunggal menjadi lebih baik tergantung SNR
  • Video 9 adalah hasil sinkronisasi video ponsel dengan range-Doppler map
    • CFAR detection ditampilkan dengan tanda plus merah
    • Sumbu Y adalah Doppler velocity; nilai negatif berarti arah mendekati radar
    • Sumbu X adalah jarak
    • Garis besar pada zero Doppler adalah pantulan target diam
  • Kendaraan yang dekat mudah dicocokkan antara video kamera dan radar detection
    • Ada shadowing, yaitu kendaraan di depan menutupi objek yang lebih jauh
    • Objek yang tidak terlihat jelas di kamera pun terdeteksi dengan baik oleh radar
    • Kendaraan pada jarak sekitar 400 m terdeteksi sampai jalan berbelok dan line of sight terhalang
  • Akibat pengaruh DC offset, terlihat sidelobe besar pada arah jarak
    • Ini menyulitkan deteksi objek kecil di dekat target besar
    • Kendaraan terjauh tidak selalu terdeteksi oleh CFAR karena sidelobe yang bertumpuk
  • Video 10 adalah hasil penerapan Kalman tracker pada pengukuran yang sama
    • tracker menetapkan CFAR detection ke target dengan ID unik
    • Jika detection target jauh kurang memadai karena shadowing dan sidelobe, track hilang, lalu ketika terlihat lagi, ID baru diberikan

Eksperimen pulsa Low-IF dan antena tunggal

  • Pada eksperimen jalan kedua, digunakan bandwidth RF 75 MHz dan frekuensi modulasi 38 MHz
    • Frekuensi di-sweep dari 0,5 MHz hingga 75,5 MHz
    • Parameter lain dipertahankan
  • Sesuai dugaan, sidelobe yang sangat lebar akibat DC offset tidak terlihat
    • Resolusi jarak memburuk menjadi sekitar setengah dari sebelumnya, tetapi tidak bermasalah untuk pelacakan kendaraan
    • Karena kendaraan berukuran besar, pemisahan tetap memungkinkan bahkan pada resolusi jarak 2 m
  • Pada awalnya, pantulan kedua dari kendaraan yang lewat terlihat pada jarak dua kali dan kecepatan dua kali
    • Jalur sinyalnya adalah dari kendaraan, ke rambu terdekat, kembali ke kendaraan, lalu kembali ke radar
    • Amplitudonya lemah dan menyebar, sehingga tidak terdeteksi sebagai target CFAR
  • Sepeda tidak terdeteksi sebagai target
    • Kecepatannya tidak cukup terpisah dari target diam
    • Target diam di sekitar low-speed target ikut masuk dalam perhitungan noise floor CFAR
    • Radar cross section sepeda yang kecil tidak cukup lebih besar daripada noise floor yang meningkat
  • Untuk penggunaan ini, frekuensi RF yang lebih tinggi lebih menguntungkan
    • Jika frekuensi RF digandakan, Doppler velocity bin separation menjadi dua kali lipat
    • Kecepatan Doppler maksimum yang tidak ambigu berkurang setengah
    • Radar pengukur kecepatan polisi biasanya menggunakan pita 10–35 GHz
  • SNR objek yang terdeteksi pada jarak ini bagus
    • Pada jarak 450 m, SNR maksimum sekitar 35 dB
    • Setelah 550 m tidak ada line of sight, sehingga tidak ada detection
    • Pada jarak 2 kali lipat, SNR seharusnya turun 12 dB
  • Pada eksperimen antena tunggal, parameter yang sama seperti pengukuran low-IF digunakan, tetapi panjang pulsa dikurangi dari 2 µs menjadi 1 µs
    • Satu antena digunakan dengan beralih antara pemancaran dan penerimaan
    • 1 µs berarti jarak tempuh cahaya 300 m, tetapi karena sinyalnya bolak-balik, jarak minimum untuk menerima full pulse adalah 150 m
  • Target yang lebih dekat dari 150 m juga dapat dideteksi dengan partial pulse
    • Jika hanya partial pulse yang digunakan untuk pulse compression, resolusi jarak dan SNR menurun
    • Pada pengaturan ini, jarak deteksi minimum sekitar 40 m

Biaya, materi yang dipublikasikan, dan evaluasi akhir

  • Schematic radar dipublikasikan
    • Dengan sedikit modifikasi, ini juga bisa berguna sebagai SDR
    • Juga dapat digunakan sebagai referensi untuk aplikasi lain yang membutuhkan FPGA
  • Firmware dan software saat ini tidak dipublikasikan
    • Belum diputuskan apakah akan dipublikasikan atau tidak
  • Biayanya sebagai berikut
    • Produksi PCB dan perakitan 2 papan: 330 USD
    • Komponen Digikey yang disolder sendiri: 225 EUR, sekitar 240 USD
    • Harga sudah termasuk VAT 24% dan ongkos kirim
  • Tampaknya tidak ada radar kompresi pulsa komersial serupa di kisaran harga yang sama
    • SDR dengan bandwidth RF serupa pun jauh lebih mahal
  • Radar yang selesai dibuat pada dasarnya memiliki struktur yang mirip dengan radar besar modern
    • Menggunakan pemrosesan sinyal digital
    • Mendukung bentuk gelombang arbitrer
    • Berkat pulse repetition frequency yang tinggi, kecepatan Doppler maksimum yang tidak ambigu menjadi besar
    • Karena daya keluaran dan ukuran antenanya kecil, jarak maksimumnya lebih pendek daripada radar besar

2 komentar

 
GN⁺ 2024-04-05
Komentar Hacker News
  • Ini mengingatkan pada tulisan lama di situs yang sama, https://hforsten.com/heartbeat-detection-with-radar.html
    Saya pernah membeli modul radar Doppler 10GHz/24GHz murah di Amazon dan mencobanya; hanya dengan melihat spektrogram saja, detak jantung dan pernapasan bisa tertangkap dengan jelas
    Sampel saat itu mencakup video 10GHz yang diarahkan ke kipas langit-langit https://www.youtube.com/watch?v=tIiFvByf1CQ, video yang diarahkan dari bawah permukaan tempat koin dijentikkan dan dijatuhkan https://www.youtube.com/watch?v=8riretP8ylE, serta video yang diarahkan ke koin yang berputar di atas permukaan https://www.youtube.com/watch?v=5lnYvJoxRak
    Pemfilteran berbentuk sisir yang muncul dari permukaan berputar benar-benar keren, dan modul 10GHz yang digunakan adalah https://www.amazon.com/HiLetgo-Microwave-Detector-Wireless-1...

    • Saya penasaran apakah ini bisa bekerja di balik struktur, dan ingin tahu apakah aman jika diarahkan ke tubuh sendiri
  • Keren. Sekarang bagian terakhir untuk sistem pemandu rudal pinggiran kota sudah lengkap, dan keluarga Jones sepertinya akan sulit melewati pesta blok tahun ini
    Berikutnya saya berharap mereka juga membahas radar phased array. Ada beberapa tetangga yang tidak memungut kotoran anjingnya, jadi saya butuh presisi yang lebih tinggi

  • Pekerjaan yang luar biasa. Menakjubkan bahwa satu orang bisa membuat ini, dan jika dipasang di dudukan berputar, jadilah detektor radar planar
    Jika ditambah kemiringan, ini tampaknya tidak jauh berbeda dari radar pesawat/cuaca. Biayanya memang tidak kecil dalam mata uang lokal dan menurut komentar lain 570 dolar, tetapi bisa dimaklumi jika mempertimbangkan waktu yang dihabiskan
    Dengan anggaran yang cukup, sepertinya tidak ada batasnya. Saya penasaran bagaimana interpretasinya jika pesawat militer dilacak oleh radar 6GHz buatan sipil. Jarak maksimum perkiraan katanya 1200m, tetapi bagaimana jika diasumsikan diperbesar 10 kali dengan antena yang lebih besar dan sebagainya

    • Regulasi kekuatan sinyal didasarkan pada ERP, jadi jika memakai antena yang lebih terarah, penggunaan pita 6GHz mungkin tidak lagi legal
    • Ada berbagai cara
      Pertama, radar pesawat memiliki penerima, dan juga menerima pulsa yang dipancarkan radar lain. Bahkan radar jamming sebenarnya bekerja dengan cara yang sama: menuangkan daya besar pada pita/panjang gelombang yang sama untuk memenuhi layar dengan clutter
      Radar memiliki karakteristik seperti frekuensi, pulse repetition frequency (PRF), dan bentuk gelombang, sehingga relatif mudah diidentifikasi. Pita tempat radar beroperasi diatur, dan berbagai lembaga militer maupun sipil mendeteksi pancaran radar
      Proyek DIY kecil seperti ini bukan ancaman besar, tetapi jika memancar di dekat fasilitas radar, terutama dekat fasilitas militer, Anda bisa sangat cepat mendapat masalah
      Saya tidak tahu soal Finlandia, tetapi di tempat saya tinggal, warga sipil tidak diizinkan melakukan fingerprinting radar militer atau membuat basis data fingerprint. Pada praktiknya hanya militer yang boleh melakukannya
      Begitu dayanya dinaikkan, benda seperti ini cepat keluar dari ranah DIY. Saya juga ingin melihat orang ini membuat radar phased array. Sumber: pernah bekerja di bidang radar
    • Saya tidak punya pengetahuan spesifik, tetapi sepertinya ini tidak akan sampai memicu peringatan ancaman serius
      Threat warning receiver militer adalah sistem yang sangat disetel untuk lingkungan ancaman operasi yang diperkirakan
    • Pesawat militer menerima notifikasi atau peringatan suara seperti peringatan radar atau radar lock-on
    • Kalau di AS, saya kira FAA atau FCC mungkin punya yurisdiksi atas perangkat seperti ini
  • Orang Finlandia melakukannya lagi. Kedalaman dan cakupan bidang spesialisasi yang mereka tangani benar-benar sulit dipercaya
    Mereka tampaknya merencanakan semuanya, memproduksinya di Tiongkok, lalu setengah dari board-nya benar-benar berfungsi. Rasanya mirip seperti membuat aplikasi backend+frontend di sebuah startup selama sebulan lalu berpikir “tolong jalan, ya”

    • Itu cukup umum dalam pengembangan hardware. Orang software itu hidupnya terlalu nyaman
  • Terkait bagian tulisan yang mengatakan “FPGA 15 dolar yang mencurigakan murahnya itu juga tanggal dan kode lot-nya ditutupi secara mencurigakan”, dulu saya pernah bertanya kepada seorang penanggung jawab operasional GoPro bagaimana tiruan buatan Tiongkok yang tampak seperti produk asli seharga 400 dolar bisa dijual 40 dolar
    Jawabannya, secara harfiah, mereka mendapatkan chip dari tempat penimbunan barang bekas. Misalnya mereka membeli sekumpulan chip memori yang tidak lolos pengujian, yang mungkin hanya bekerja pada rentang suhu tertentu
    Ia juga mengatakan bahwa komponen lain sering dipilih dan dispesifikasikan agar bekerja sekitar 6 bulan, bukan rata-rata 6 tahun. Karena mereka tahu kebanyakan produk “gadget” seperti ini hanya dipakai sebentar di akhir pekan lalu dimasukkan ke lemari
    Untuk proyek R&D seperti ini mungkin tidak masalah, tetapi harus hati-hati saat membuat produk komersial. Ada juga sisi politisnya, dan mungkin bercampur paranoia, tetapi mulai muncul pula undang-undang yang melarang penggunaan komponen silikon buatan Tiongkok untuk produk yang ditujukan ke pasar tertentu

    • Banyak perusahaan elektronik konsumen Tiongkok juga memang tidak sekadar menambahkan margin besar pada barangnya
      Contoh bagusnya adalah catu daya lab mikro USB-C AlienTek DP100 100W seharga 45 dolar: https://www.youtube.com/watch?v=Pd6LG7iP2GQ
      Kalau barang serupa ditempeli logo Digilent, harganya mungkin sekitar 500 dolar
      Dan GoPro asli pun tingkat kerusakannya di atas rata-rata, serta punya masalah seperti terlalu panas sendiri saat merekam 4K atau mati secara acak
  • Benar-benar luar biasa
    Tulisan lama https://hforsten.com/radar-phase-measurements.html dan https://hforsten.com/6-ghz-frequency-modulated-radar.html sangat membantu pekerjaan saya pada sistem sonar
    Tulisan kali ini juga menjelaskan topik yang rumit dengan sangat baik. Contoh pekerjaan terkait ada di https://twitter.com/alextoussss/status/1756371553460121766

  • Pekerjaan yang indah. Henrik sudah lama mengerjakan proyek radar dan akuisisi data RF pada tingkat yang jarang terlihat dalam dokumentasi publik, dan kualitas dokumentasinya juga sangat tinggi

  • Pekerjaan yang luar biasa. Jarang ada yang menunjukkan kedalaman teknis seperti ini di seluruh stack, dari RF, hardware, firmware, hingga software
    Semakin dibaca, semakin bagus tulisannya

  • Saya penasaran kenapa ground plane diletakkan di lapisan 2 dan 6, bukan lapisan 1 dan 6
    Sebagai orang yang tidak punya pengalaman desain PCB frekuensi tinggi, saya kira ground akan dipakai untuk membuat perisai dan power plane ditempatkan di lapisan 3 atau 4. Pasti ada alasan bagus, tetapi tidak terlihat jelas bagi saya

    • Pada PCB berkecepatan tinggi, lapisan atas dan bawah biasanya tidak dipakai sebagai ground plane. Karena ada komponen di lapisan-lapisan itu
      Ground plane di sekitar semua chip harus dipotong, sementara sinyal berkecepatan tinggi benar-benar membutuhkan ground plane yang kontinu. Khususnya RF IC harus punya akses yang pendek ke ground
      Untuk meminimalkan jarak antara IC dan ground plane, lapisan 2 adalah lapisan terbaik
    • Sinyal berkecepatan tinggi sering dirutekan di lapisan atas dan bawah untuk menghindari via yang menyebabkan ketidakcocokan impedansi. Bahkan dengan backdrill pun biayanya besar
      Untuk mempertahankan impedansi karakteristik tertentu, diperlukan sebuah plane (GND) pada jarak tertentu dari jalur dengan lebar tertentu. Jika tidak ada plane di atas atau bawah sinyal, nilai impedansi yang diinginkan tidak bisa dibuat
      Lapisan atas dan bawah juga bisa diberi copper pour tambahan, tetapi pengaruhnya pada impedansi hanya kecil
    • Saya tidak yakin apakah penjelasan di tulisan itu benar
      Dari gambar, sinyal tampak berada di lapisan 1 (merah), 3 (oranye), dan 6 (biru), ground di lapisan 2 (hijau) dan 5 (merah muda), sedangkan power di lapisan 4 (sian)
      Jika mencocokkan beberapa via, lapisan 2 dan 5 jelas terhubung
    • Saya bukan perancangnya, tetapi sepertinya tujuannya adalah mengurangi beban kapasitif antara sinyal frekuensi tinggi berkelok-kelok yang dicocokkan di atas dan copper pour di bawah, serta memudahkan pemodelan dan pemasangan IC tanpa copper pour
      Terlihat juga bahwa di sekelilingnya tidak ada copper pour. Urutan pada gambar tidak pasti, tetapi sempat terlihat seperti 123/654, lalu teksnya salah dan tampaknya 123/456 dengan lapisan 2 dan 4 sebagai GND
      Sinyal digital berkecepatan rendah di bagian dalam tampak diapit di antara plane ground/power, atau kalau dikoreksi, ground/ground; jika dipisahkan dari PCB lain, biasanya itu sumber noise terbesar, jadi ini bisa menjadi pilihan yang baik
      Plane power/ground harus saling berdekatan. Pada frekuensi setinggi ini, kapasitor bypass hampir tidak bisa menjalankan perannya
  • Mumpung membahas radar, sekarang radar yang cukup layak harganya hanya 34 sen: https://www.aliexpress.com/item/1005006240906322.html
    Chip itu sebenarnya tidak dirancang untuk penggunaan ini, melainkan hasil pemanfaatan ulang chip sensor PIR
    Inti radarnya hanya satu transistor multi-GHz tunggal di tengah separuh kiri PCB, dan sebuah rangkaian umpan balik yang sangat cerdik dari pola tembaga yang mungkin dirancang dan disempurnakan seseorang selama bertahun-tahun

 
illuza 2024-04-06

Rekayasa gila yang melampaui imajinasi...

Terlalu mirip dengan sosok insinyur yang selama ini samar-samar kubayangkan.