โดรนเรดาร์สังเคราะห์ช่องรับแบบโพลาไรซ์ที่สร้างเอง
(hforsten.com)- ติดตั้ง เรดาร์สังเคราะห์ช่องรับแบบ FMCW (SAR) ที่สร้างขึ้นเองบนโดรน FPV ขนาด 7 นิ้วราคาประหยัด เพื่อถ่ายภาพโพลาไรซ์ HH/HV/VH/VV จากอากาศด้วยตัวเครื่องที่มีน้ำหนักต่ำกว่า 1 กก.
- ด้วยงบเรดาร์ต่ำกว่า 500 EUR และข้อจำกัดของเฟรมที่แคบ การออกแบบจึงถูกบีบให้เน้น PCB แบบ FR4, ชิ้นส่วนย่าน 6GHz, FPGA Zynq 7020 และเสาอากาศโพลาไรซ์คู่ขนาดเล็ก
- สำหรับระยะใกล้และแพลตฟอร์มที่เคลื่อนที่ช้า FMCW ได้เปรียบกว่า pulse radar จึงตั้งเป้า ความละเอียดภาพระดับ 0.3 ม. ด้วยแบนด์วิดท์ RF 300MHz, ADC 50MHz, PRF ระดับ 1kHz และการกวาดสัญญาณหลายหมื่นครั้ง
- แม้การใช้เพียง GPS แบบไม่ใช่ RTK และ IMU จะทำให้ภาพเบลอ แต่เมื่อนำ minimum entropy autofocus บน PyTorch และ GPU backprojection มาใช้ รายละเอียดของผิวทุ่ง สายไฟฟ้า อาคาร และโครงสร้างป่าก็ชัดขึ้น
- ระบบสุดท้ายสามารถทำภาพได้ไกลอย่างน้อย 1.5 กม. ในคอนฟิกน้ำหนัก 948 กรัมรวมแบตเตอรี่ โดยโดรนมีราคาราว 200 EUR, PCB เรดาร์ 2 แผ่นราว 600 EUR และใช้เวลาว่างหลังเลิกงานประมาณ 10 เดือน
เป้าหมายและข้อจำกัดด้านงบประมาณ
- จากประสบการณ์สร้างเรดาร์ภาคพื้นและทดลองทำภาพแบบ synthetic aperture มาก่อน เป้าหมายคือการนำเรดาร์ขึ้นโดรนเพื่อให้ได้ ภาพ SAR ทางอากาศ
- งานวิจัยก่อนหน้านี้ใช้โดรนขนาดกลางอย่าง DJI S900 และ RTK-GPS โดยระบบตัวอย่างในบทความวิจัยมีราคารวม £15,000 ซึ่งไม่เหมาะกับงบส่วนบุคคล
- เมื่อไม่นานมานี้ราคาโดรน FPV ขนาดเล็กจากจีนลดลง ทำให้คิตควอดคอปเตอร์ขนาด 5–7 นิ้วสามารถซื้อได้ที่ประมาณ 100 EUR โดยไม่รวมแบตเตอรี่และรีโมต
- จึงซื้อคิต FPV 7 นิ้วจีนโนเนมที่ถูกที่สุดพร้อมโมดูล GPS+เข็มทิศขนาดเล็ก และเริ่มสร้างระบบ SAR น้ำหนักเบาที่โดรนยกได้
หลักการพื้นฐานของเรดาร์สังเคราะห์ช่องรับ
- เรดาร์ช่องสัญญาณเดี่ยวสามารถวัดได้เพียง ระยะทาง ถึงเป้าหมาย แต่ไม่รู้มุมของเป้าหมายโดยตรง
- หากวางช่องรับหลายช่องเรียงเป็นแนวเส้นตรง ความยาวเส้นทางถึงตัวรับแต่ละตัวจะต่างกันตามมุมของเป้าหมาย และสามารถคำนวณมุมได้จากความต่างของเฟสนี้
- ความละเอียดเชิงมุมของเสาอากาศกำหนดได้คร่าว ๆ ด้วย
Δθ ≈ λ / D- หากต้องการความละเอียด 1 ม. ที่ระยะ 1 กม. ที่ 6GHz จะต้องมีความละเอียดเชิงมุมประมาณ 0.03°
- เงื่อนไขนี้ต้องใช้ เสาอากาศขนาดราว 100 ม.
- แทนที่จะใช้เสาอากาศขนาดใหญ่ หากขยับเรดาร์เดี่ยวไปวัดจากหลายตำแหน่ง ก็จะได้ผลเทียบเท่าเรดาร์หลายช่องขนาดใหญ่เมื่อฉากเป็นแบบคงที่
- เมื่อติดเรดาร์ช่องเดียวไว้บนโดรนและวัดระหว่างบิน ก็จะสร้าง ช่องรับสังเคราะห์ ขนาดใหญ่เพื่อให้ได้ความละเอียดเชิงมุมสูง
การเลือกสถาปัตยกรรมเรดาร์
- เป้าหมายการออกแบบคือให้ใส่ลงในโดรน FPV ได้ พร้อมเพิ่มสมรรถนะด้านภาพให้มากที่สุด และคงงบเรดาร์ไว้ที่ ต่ำกว่า 500 EUR
- ด้วยข้อจำกัดด้านงบ วัสดุ RF แบบ low-loss จึงถูกตัดออก และทั้งวงจรอิเล็กทรอนิกส์กับเสาอากาศต้องทำบน PCB FR4 ที่มีการสูญเสีย
- ความกว้างเฟรมโดรนอยู่ที่ประมาณ 40 มม. ระยะระหว่างปลายใบพัดข้ามเฟรมประมาณ 50 มม. และความยาวประมาณ 170 มม. ดังนั้นเรดาร์จึงต้องมีรูปทรงแคบและยาว
- pulse radar แบบทำเองเดิมมีขนาดราว 64×132 มม. ซึ่งกว้างไปเล็กน้อย และด้วยข้อจำกัดด้านความเร็วสุ่มตัวอย่างของ ADC ทำให้แบนด์วิดท์ถูกจำกัดที่ราว 100MHz ส่งผลให้ความละเอียดระยะทางอยู่ที่ 1.5 ม.
- เรดาร์ FMCW สามารถส่งและรับพร้อมกันได้ จึงได้เปรียบด้านอัตราส่วนสัญญาณต่อสัญญาณรบกวน และสามารถเพิ่มความยาวการกวาดไปถึงหลายร้อย µs ได้
- pulse radar จำเป็นเมื่ออยากได้ระยะไกลมาก โดยเฉพาะหลายกิโลเมตรขึ้นไป แต่ FMCW เหมาะกับระยะใกล้และแพลตฟอร์มที่เคลื่อนที่ช้า
การออกแบบ RF และการวัดโพลาไรซ์
- โครงสร้าง RF เป็นเรดาร์ FMCW ที่ใช้ เสาอากาศโพลาไรซ์คู่
- PLL สร้างสัญญาณกวาด
- สัญญาณถูกส่งผ่านตัวลดทอนแบบปรับค่าได้และภาคขยายกำลัง ไปยังเสาอากาศส่ง
- สัญญาณส่งบางส่วนถูกคัปปลิงเข้ามายังมิกเซอร์ฝั่งรับ
- สัญญาณรับถูกขยายด้วย LNA แล้วแปลงเป็นสัญญาณ IF ความถี่ต่ำในมิกเซอร์ ก่อนถูกดิจิไทซ์ด้วย ADC
- การสร้างสัญญาณกวาดด้วย DAC หรือ DDS อาจดีกว่า PLL แต่เลือก PLL เพราะราคาถูกกว่าและกินพื้นที่น้อยกว่า
- กำหนดความถี่ RF ไว้ที่ประมาณ 6GHz
- ความถี่นี้ใกล้ขีดบนของช่วงที่ยังหาชิ้นส่วน RF ราคาประหยัดสำหรับผู้บริโภคได้มาก
- ภาคขยายกำลังราคาประหยัดให้กำลังส่งได้ราว 30dBm
- LNA สำหรับภาครับที่มี noise figure 1–2dB ก็หาได้ในราคาถูก
- ภาครับเป็นแบบ direct conversion และไม่มี image rejection
- สัญญาณรบกวนทั้งเหนือและใต้ความถี่ส่งจะถูกแปลงมาเป็นความถี่เอาต์พุตเดียวกัน ทำให้ noise floor เพิ่มขึ้น 3dB
- ตัวรับแบบ IQ sampling ต้องใช้ทั้งมิกเซอร์และ ADC อย่างละ 2 ชุด จึงมองว่าไม่คุ้มเมื่อเทียบกับต้นทุนและพื้นที่ PCB
- สวิตช์โพลาไรซ์เลือก H/V ได้ทั้งฝั่งส่งและรับ จึงวัดได้ 4 ชุดคือ HH, HV, VH, VV
- เป้าหมายที่ผิวเรียบมักสะท้อนกลับแรงกว่าในโพลาไรซ์แบบเดียวกัน
- ป่าและพืชพรรณอาจมีองค์ประกอบ cross-polarization แบบ HV/VH สูงกว่าถนนและพื้นโล่ง เพราะเกิดการสะท้อนหลายครั้งภายใน
- หากใช้ตัวรับ 2 ชุดก็รับ H/V พร้อมกันได้ แต่ด้วยข้อจำกัดด้านต้นทุนและพื้นที่ จึงเลือกโครงสร้างตัวรับเดี่ยวร่วมกับสวิตช์
การรั่วไหล TX-RX และงบลิงก์
- FMCW มีการส่งและรับพร้อมกัน ดังนั้น การรั่วไหล TX-RX อาจทำให้ภาครับอิ่มตัวได้
- ภาครับต้องไวพอจะตรวจจับ noise floor เชิงความร้อนที่
-174 dBm/Hzแต่ระดับอินพุตที่ทำให้ LNA อิ่มตัวมักอยู่ราว-20 dBm - หากกำลังส่งเป็น
+30 dBmจะต้องมี การแยกมากกว่า 50dB ระหว่างตัวส่งและตัวรับเพื่อป้องกันภาครับอิ่มตัว - หากการแยกไม่พอ ก็สามารถลดกำลังส่งได้ด้วยตัวลดทอนแบบปรับค่าได้ก่อนภาคขยายกำลัง
- งบลิงก์คำนวณจากกำลังรับ, ค่าสะท้อนของพื้นดิน, ระยะทาง, อัตราขยายเสาอากาศ, กำลังส่ง และจำนวนการกวาด
- พารามิเตอร์ตัวอย่างมีดังนี้
- กำลังส่ง: 30dBm
- อัตราขยายเสาอากาศ: 10dBi
- ความยาวคลื่น: 5.2 ซม.
- ความละเอียดพิกเซลของภาพ: 0.3×0.3 ม.
- ความยาวการกวาด: 200µs
- จำนวนพัลส์ในภาพ: 10,000
- noise figure ของภาครับ: 6dB
- grazing angle: 30°
- ภายใต้เงื่อนไขนี้คาดหวังคุณภาพภาพที่ดีได้ถึงราว 1–2 กม. แต่ที่ 2 กม. และ grazing angle 30° จะต้องบินที่ความสูง 1 กม. ซึ่งถือเป็นเงื่อนไขที่มองโลกในแง่ดีสำหรับโดรน
ข้อกำหนดของ PRF และ ADC
- การสร้างภาพ SAR อาศัย ข้อมูลเฟส ของสัญญาณรับ ดังนั้นความต่างของเฟสระหว่างการวัดที่ติดกันต้องไม่เกิน 180° เพื่อหลีกเลี่ยง aliasing
- ที่ 6GHz ความยาวคลื่น 1/4 เท่ากับ 12.5 มม. และหากโดรนบินที่ 10 ม./วินาที จะต้องใช้ PRF ขั้นต่ำประมาณ 800Hz
- เนื่องจากมีการมัลติเพล็กซ์ตามเวลา 4 โพลาไรซ์ จึงต้องการรวมเป็น
4 × 800Hz = 3.2kHz - เงื่อนไขนี้ทำให้เหลือเวลาสูงสุดต่อการกวาดเพียง 312.5µs และเมื่อหักเวลา PLL locking 20–30µs ออกแล้ว ความยาวการกวาดสูงสุดจะเหลือประมาณ 280µs
- ใน FMCW ความถี่ IF ถูกกำหนดโดยระยะทาง, แบนด์วิดท์ RF และความยาวการกวาด
- แบนด์วิดท์ RF 300MHz ให้ ความละเอียดระยะทาง 0.5 ม.
- ที่ระยะสูงสุด 2 กม. และการกวาด 280µs ความถี่ IF จะอยู่ที่ประมาณ 14MHz
- เมื่อคำนึงถึงเงื่อนไข Nyquist และระยะเผื่อของ anti-alias filter จึงต้องใช้ ADC อย่างน้อยราว 35MHz และในทางปฏิบัติเลือก สุ่มตัวอย่างที่ 50MHz
FPGA และโครงสร้างการจัดเก็บข้อมูล
- เนื่องจากข้อกำหนดด้านจังหวะเวลาที่เข้มงวดของการสร้างสวีปและปริมาณข้อมูลที่มาก จึงทำได้ยากหากใช้เพียงไมโครคอนโทรลเลอร์ และจำเป็นต้องใช้ FPGA
- FPGA ที่ใช้คือ Zynq 7020 ซึ่งเคยใช้กับ pulse radar รุ่นก่อนหน้าด้วย
- มีทั้ง FPGA fabric และโปรเซสเซอร์ ARM แบบดูอัลคอร์อยู่ในแพ็กเกจเดียวกัน
- ราคาตลาดทั่วไปอยู่ที่ประมาณ 150 EUR แต่สามารถหาได้ถูกกว่านี้จากเครือข่ายผู้จัดจำหน่ายในจีน
- ข้อเสียคือฝั่ง ARM มีการเชื่อมต่อความเร็วสูงไม่เพียงพอ
- อินเทอร์เฟซ SD-card และ EMMC อยู่ที่ 25MB/s ซึ่งต่ำกว่าอัตราข้อมูลของ ADC
- แม้จะมี 1Gbps Ethernet แต่ต้องใช้คอมพิวเตอร์เสริมอย่าง Raspberry Pi ทำให้ไม่สามารถใส่ได้เพราะข้อจำกัดด้านพื้นที่
- DDR3 ภายนอกสามารถใส่ได้เพียง 1 โมดูล จึงจำกัดที่ 1GB ขณะที่การวัดทั้งหมดอาจมีขนาดหลาย GB
- ทางแก้คือการอิมพลีเมนต์อินเทอร์เฟซสื่อสารภายนอกความเร็วสูงไว้ที่ฝั่ง FPGA programmable logic
- ใช้ ZipCPU GPL3 SD-card/EMMC controller ซึ่งตอนนั้นยังไม่ผ่านการตรวจสอบบนฮาร์ดแวร์จริงที่ความเร็วตามต้องการ แต่สุดท้ายก็ทำงานได้ดี
- ยังเพิ่ม FT600 USB3 bridge IC เพื่อให้เชื่อมต่อกับพีซีแบบเรียลไทม์ได้ แต่ไม่จำเป็นสำหรับการใช้งานบนโดรน และมีประโยชน์สำหรับการทดสอบกับงานประยุกต์อื่น
- บล็อก radar timer ภายใน FPGA สลับสัญญาณภายในและภายนอกได้แม่นยำถึงระดับ clock cycle เพื่อการวัดเสถียรภาพของเฟส
- decimating FIR filter หลัง ADC สามารถตั้งค่า decimation ได้เป็น 1, 2, 4
- การวัดระยะไกลจะปิด decimation เพื่อให้ได้แบนด์วิดท์ IF สูงสุด
- การวัดระยะใกล้สามารถใช้ decimation เพื่อลดปริมาณข้อมูลที่ต้องจัดเก็บ
การทำ PCB และปัญหาในการผลิต
- PCB ของเรดาร์เป็น 6-layer PCB และจัดวางชิ้นส่วนอย่างหนาแน่นเพื่อลดขนาด
- การประกอบด้านเดียวมีต้นทุนถูกกว่า จึงปล่อยด้านล่างให้ว่าง ยกเว้นคอนเนกเตอร์ SD-card หนึ่งตัวที่ต้องบัดกรีเอง
- วงจร RF เป็นเพียงส่วนเล็ก ๆ ของ PCB และพื้นที่ส่วนใหญ่จริง ๆ ถูกใช้โดยวงจรดิจิทัลกับตัวควบคุมแรงดันไฟฟ้า
- เรดาร์รับไฟเข้า 12~30V จึงต่อเข้ากับแบตเตอรี่โดรนได้โดยตรงโดยไม่ต้องใช้ตัวควบคุม DC/DC ภายนอก
- ขนาด PCB คือ 113×48mm โดยลดความกว้างลงให้พอใส่ในโดรนได้
- เนื่องจากพื้นที่ไม่พอ จึงไม่สามารถใส่ SMA connector ได้ครบ 4 ตัว และวางไว้บน PCB ได้เพียงเอาต์พุต TX H/V 2 ตัวกับอินพุต RX 1 ตัว
- สวิตช์โพลาไรซ์ RX ถูกแยกออกไปอยู่บน PCB ภายนอก
- คอนเนกเตอร์ JST ใช้สำหรับสวิตช์โพลาไรซ์ RX, พอร์ตอนุกรมของ flight controller และการเชื่อมต่อสำรอง
- ชิ้นส่วนหนึ่งที่สั่งจาก Mouser ไม่สามารถซื้อได้เพราะซัพพลายเออร์ห้ามขายให้บุคคลทั่วไป
- จึงหา IC รุ่นเก่าที่เลิกผลิตแล้วอย่าง PE43204 ซึ่งเข้ากันได้ระดับ pin-compatible มาแทน
- ชิ้นส่วนเดิมรองรับถึง 6GHz แต่แม้ PE43204 จะสเปกที่ 4GHz ก็ยังมีการสูญเสียที่ต่ำพอที่ 6GHz จึงไม่ก่อปัญหาใหญ่
- มีข้อผิดพลาดที่ต่อขา SD-card เข้ากับ 1.8V I/O แทนที่จะเป็น 3.3V
- แทนที่จะสั่ง PCB ใหม่ จึงออกแบบ interposer PCB ขนาดเล็กที่มี level shifter แล้วบัดกรีทับลงบน footprint เดิม
- รายละเอียดที่เกี่ยวข้องถูกสรุปแยกไว้ในบทความก่อนหน้า
- power amplifier อาจร้อนขึ้นได้เมื่อมี duty cycle การส่งสูง จึงสั่งฮีตซิงก์ PCB แกนอะลูมิเนียมมาติดน็อตไว้ใต้ PCB ของเรดาร์
- ราคา $4 ต่อ 5 ชิ้น และใช้งานได้ดี
อุปกรณ์อิเล็กทรอนิกส์ของโดรนและการประมาณตำแหน่ง
- flight controller ที่รวมมาในชุดโดรนคือ Speedybee F405 V3
- เป็นคอนโทรลเลอร์ราคาประหยัดที่มีแฟลช 1MB
- เนื่องจากส่วนต่างราคาไม่มาก จึงมองว่าคอนโทรลเลอร์แฟลช 2MB เป็นตัวเลือกที่ดีกว่า
- ซอฟต์แวร์ควบคุมการบินหลักสำหรับโดรน FPV ได้แก่ Betaflight, Inav และ ArduPilot
- Betaflight เน้นการบินแบบแมนนวลที่รวดเร็วและไม่รองรับการบินอัตโนมัติ
- Inav ใช้โค้ดร่วมกับ Betaflight จำนวนมากและรองรับการบินอัตโนมัติบางส่วน
- ArduPilot ให้ความสามารถด้านการบินอัตโนมัติที่พัฒนามากที่สุด แต่ตั้งค่ายากกว่า
- โปรเจ็กต์นี้เลือกใช้ ArduPilot และการผสานข้อมูลจาก IMU กับ GPS ก็ช่วยปรับปรุงความแม่นยำของตำแหน่งได้
- flight controller สื่อสารกับเรดาร์ผ่านพอร์ตอนุกรม
- สามารถเปิดและปิดเรดาร์ได้ระหว่างภารกิจอัตโนมัติ
- สามารถส่งข้อมูลตำแหน่งให้กับเรดาร์ได้
- การทำภาพ SAR ต้องการความแม่นยำของตำแหน่งในระดับเศษส่วนของความยาวคลื่น ซึ่งที่ 6GHz จะอยู่ในระดับไม่กี่เซนติเมตร
- โดรน SAR เชิงพาณิชย์สามารถใช้ RTK GPS และตัวรับอ้างอิงภาคพื้นเพื่อให้ได้ ความแม่นยำตำแหน่งประมาณ 1cm แต่เห็นว่าไม่เหมาะกับโดรนนี้เพราะทั้งต้นทุนและขนาด
- GPS ทั่วไปอาจมีความแม่นยำราว 1 เมตรและก่อให้เกิดความผิดพลาดในภาพได้ แต่สามารถใช้ autofocus เพื่อแก้ไขความคลาดเคลื่อนของตำแหน่งจากข้อมูลเรดาร์ได้
- แทนที่จะเพิ่ม GPS และ IMU แยกสำหรับเรดาร์โดยเฉพาะ ค่าประมาณตำแหน่งจากคอมพิวเตอร์การบินจะถูกส่งมายังเรดาร์ผ่านอินเทอร์เฟซอนุกรม
- ลิงก์ควบคุมใช้ ExpressLRS
- ด้วย การรองรับ Mavlink ของ ELRS จึงสามารถจัดการทั้งรีโมตคอนโทรลและเทเลเมทรีผ่านลิงก์ไร้สายเส้นเดียวได้
การออกแบบเสาอากาศ
- ในทางทฤษฎีของ SAR มุมลำคลื่นของเสาอากาศที่กว้างอาจช่วยให้ได้ความละเอียดที่ดีกว่า แต่ในทางปฏิบัติ gain ที่ต่ำจะจำกัดอัตราส่วนสัญญาณต่อสัญญาณรบกวนและระยะทางสูงสุด
- ใน link budget ค่า gain ของเสาอากาศถูกนำไปคิดแบบยกกำลังสอง ดังนั้นหากลด gain ลงครึ่งหนึ่ง จำนวนพัลส์ที่ต้องใช้เพื่อให้ได้ SNR เท่าเดิมจะเพิ่มเป็น 4 เท่า
- สำหรับโดรน SAR การได้เส้นทางการบินที่ยาวทำได้ยากเพราะข้อจำกัดด้าน line-of-sight และในหลายกรณีความยาว baseline สูงสุดเป็นตัวจำกัดความละเอียด
- เนื่องจากเป็นสถาปัตยกรรม FMCW จึงต้องแยกเสาอากาศส่งและรับออกจากกัน และยังต้องมีระยะห่างระหว่างกันเพื่อลด TX-RX leakage ทำให้ปัญหาด้านพื้นที่ยิ่งรุนแรงขึ้น
- horn antenna แบบทำเองก่อนหน้านี้มีความยาว 100mm และเฉพาะ coaxial-to-waveguide transition ก็ยาว 25mm แล้ว จึงไม่เหมาะกับโดรนที่มีระยะห่างปลายใบพัดเพียง 50mm
- patch antenna แบบง่ายมีขนาดเล็กและทำเป็น dual-polarized ได้ แต่บน FR4 หนา 1.6mm จะมีแบนด์วิดท์แคบ ความคลาดเคลื่อนของค่าคงที่ไดอิเล็กทริกทำให้ความถี่เลื่อน และ gain ก็ไม่สูงนัก
- โครงสร้างที่เลือกอ้างอิงจาก dual-polarized slot-fed stacked patch antenna ที่เห็นในงานวิจัย
- ป้อนสัญญาณให้ patch ด้วย slot รูปตัว H และ microstrip feed
- ทำ dual polarization ด้วย feed/slot สองชุดที่วางทำมุม 90°
- วาง patch แผ่นที่สองลอยอยู่เหนือชั้นอากาศเพื่อให้ได้แบนด์วิดท์กว้างกว่า patch เดี่ยว
- เพื่อเพิ่ม gain และลด sidelobe จึงเพิ่มโครงสร้าง horn แบบแผ่นโลหะรอบ patch กลายเป็น stacked patch-fed horn antenna
- เสาอากาศนี้ตอบโจทย์พร้อมกันทั้ง dual polarization, แบนด์วิดท์กว้าง, gain ดี, ความสูงต่ำ และต้นทุนการผลิตต่ำ
- หากใช้วัสดุ RF สูญเสียต่ำแทน FR4 gain อาจเพิ่มขึ้น 0.5~1.0dB แต่สำหรับการทำต้นแบบในจำนวนไม่มาก ต้นทุนจะสูงขึ้นประมาณ 100 เท่า
- ใส่ผนังขนาดเล็กประมาณ 0.25×0.5 ความยาวคลื่นไว้ระหว่างเสาอากาศเพื่อลด TX-RX coupling
- ขนาดและสมรรถนะของเสาอากาศมีดังนี้
- ความสูงไม่รวม SMA: 18mm
- ความสูงรวม SMA: 28mm
- แผ่นวงจร patch: 45×45mm
- horn aperture: 65×65mm
- ค่าจำลอง -3dB beamwidth: 50/60 องศา ในทิศทาง 0/90 องศา
- ค่าจำลอง peak gain: 10.0dB
- แบนด์วิดท์ที่ใช้งานได้: ประมาณ 4.5~6.2GHz
การออกแบบเชิงกลและน้ำหนัก
- เรดาร์ไม่มีพื้นที่พอจะติดตั้งไว้ภายในเฟรม จึงออกแบบ ตัวยึดพิมพ์ 3D เพื่อยึด PCB ของเรดาร์ไว้ใต้เฟรมโดรน
- ออกแบบขาลงจอดเพื่อไม่ให้เรดาร์แตะพื้น
- ออกแบบด้วย Blender และทำงานได้ดีเพียงพอสำหรับชิ้นส่วนที่ไม่ซับซ้อน
- ยังไม่ได้ทำ waterproof enclosure และได้เสริมวัสดุป้องกันไว้บน PCB เผื่อกรณีที่ขาลงจอดล้มเหลว
- บอร์ดเสาอากาศยึดด้วยโบลต์ 2 ตัว จึงสามารถปรับมุมได้
- PCB สวิตช์โพลาไรซ์ RX ถูกปล่อยให้ห้อยไว้โดยไม่ยึดกับตัวยึด เพราะสาย SMA แข็งแรงพอ
- ขาลงจอดประกอบด้วย carbon tube เส้นผ่านศูนย์กลาง 10 ซม. และ TPU cap ที่พิมพ์ 3D
- เรดาร์รับไฟตรงจากแบตเตอรี่โดรนผ่าน XT60 splitter
- น้ำหนักมีดังนี้
- โดรนไม่รวมแบตเตอรี่: 752g
- LiPo 6 เซลล์ 1300mAh: 196g
- LiPo 6 เซลล์ 2200mAh: 322g
- ระบบทั้งหมดพร้อมแบตเตอรี่ก้อนเล็ก: 948g
การสร้างภาพและการประมวลผลด้วย GPU
- ใช้ matched filtering เพื่อแปลงค่าการวัดจากเรดาร์ให้เป็นภาพ
- สำหรับแต่ละพิกเซลของภาพ จะสร้างสัญญาณอ้างอิงของเป้าหมาย ณ ตำแหน่งนั้น แล้วคูณ complex conjugate ของสัญญาณอ้างอิงกับสัญญาณวัดจริง จากนั้นนำไปบวกสะสมกับทุกการวัด
- หากสัญญาณวัดตรงกับสัญญาณอ้างอิง เฟสจะเรียงตรงกันทำให้การตอบสนองสูงขึ้น แต่ถ้าไม่ตรง องค์ประกอบเฟสแบบสุ่มจะถูกเฉลี่ยจนได้การตอบสนองต่ำ
- อัลกอริทึมที่ใช้คือ backprojection
- เรียบง่ายและไม่ต้องอาศัยการประมาณหรือสมมติฐานเกี่ยวกับเรขาคณิตการบิน
- ใช้การคำนวณสูงมาก
- ตัวอย่างเช่น หากสร้างภาพขนาด 1km×1km ที่ความละเอียด 0.3m ด้วย 10,000 sweep จะต้องใช้ backprojection
111×10^9ครั้ง - หากใช้พิกัดแบบ polar ความละเอียดเชิงมุมจะคงที่ และยิ่งใกล้เรดาร์มากเท่าไร ความละเอียด cross-range ก็จะดีขึ้น ทำให้ลดจำนวนพิกเซลลงได้เมื่อเทียบกับ Cartesian grid
- บน GPU สมัยใหม่ การคำนวณนี้ทำได้ในเวลาไม่ถึง 1 วินาที
- CUDA kernel แบบง่ายสามารถคำนวณ 2.2 แสนล้าน backprojection ต่อวินาที บน RTX 3090 Ti
- เนื่องจากแต่ละพิกเซลคำนวณแบบขนานและเป็นอิสระจากกัน จึงเหมาะกับการทำบน GPU มาก
ออโตโฟกัส
- ความแม่นยำของตำแหน่งจาก GPS และ IMU เพียงอย่างเดียวไม่เพียงพอสำหรับการสร้างภาพคุณภาพสูง จึงต้องใช้อัลกอริทึม ออโตโฟกัส
- phase gradient autofocus ที่ใช้กันทั่วไปนั้นเรียบง่ายและเร็ว แต่ในกรณีนี้ทำงานได้ไม่ดี เพราะมี azimuth beam กว้างและ radar baseline ยาว
- ได้อัปเดตและปรับปรุง backpropagation autofocus เดิมด้วย PyTorch
- อัลกอริทึมทำงานดังนี้
- สร้างภาพเรดาร์
- คำนวณ gradient ของ velocity อินพุต
- ทำ clipping กับ learning rate เพื่อไม่ให้การเปลี่ยนแปลงตำแหน่งเกินค่ามากสุดที่กำหนดไว้ล่วงหน้า
- อัปเดต velocity ด้วย gradient descent optimizer
- หากใช้ตำแหน่ง 3D โดยตรง แต่ละตำแหน่งมักจะขยับสุ่มเล็กน้อยไปคนละทิศทาง ทำให้ทำงานได้ไม่ดี จึงได้ผลดีกว่าเมื่อใช้ velocity แล้วอินทิเกรตให้เป็น position
- ยังใส่ regularization term ขนาดเล็กเพื่อไม่ให้ตำแหน่งที่ปรับเหมาะสมแล้วเบี่ยงออกจากตำแหน่งเดิมมากเกินไป
- วิธีนี้ไม่ตั้งสมมติฐานเกี่ยวกับระบบเรดาร์ ฉาก หรือเส้นทางการบิน แต่ต้องสร้างภาพซ้ำหลายครั้ง จึงช้าเกินไปหากไม่มีการสร้างภาพความเร็วสูงบน GPU
- อัลกอริทึมออโตโฟกัสเผยแพร่ไว้บน Github
ผลการวัด SAR ครั้งแรก
- ตั้งค่าภารกิจล่วงหน้าใน ArduPilot Mission Planner
- โดรนบินอัตโนมัติตาม waypoint
- ตั้งค่า ROI เพื่อให้เสาอากาศหันไปยังพื้นที่สนใจตลอดเวลา
- เริ่มการวัดเรดาร์ด้วย digicam configure command
- การตั้ง ROI โดยอิงจากทิศทางเสาอากาศจำเป็นต้องแพตช์ firmware ของ ArduPilot
- พฤติกรรมปกติคือให้ด้านหน้าของโดรนหันไปยัง ROI
- แพตช์มีให้ใน ArduPilot Github pull request
- ฉากแรกเป็นทุ่งโล่งกว้าง โดยป่าในทิศทางที่เสาอากาศหันไปอยู่ห่างออกไปราว 1.5km
- โดรนบินที่ความสูง 110m เป็นแนวตรงยาวประมาณ 500m ด้วยความเร็ว 5m/s
- การตั้งค่าเรดาร์ใช้เฉพาะโพลาไรซ์ VV โดยมี sweep length 400µs, แบนด์วิดท์ 500MHz และ PRF 1kHz
- range-compressed raw data ไม่ได้ดูเหมือนภาพ
- เพราะในแต่ละ sweep ลำคลื่นเสาอากาศที่กว้างจะจับเป้าหมายจากหลายมุมพร้อมกัน
- ที่ระยะ 0 จะเห็น TX-RX leakage ขนาดใหญ่
- ที่ระยะประมาณ 100m จะเห็นการสะท้อนจากพื้นดินด้านล่างโดยตรง
- การสะท้อนจากระยะไกลส่วนใหญ่จะต่ำกว่าระดับสัญญาณรบกวนในแต่ละ sweep แต่การสร้างภาพจะรวมหลาย sweep เข้าด้วยกันจึงช่วยเพิ่ม SNR
- ภาพ SAR ก่อนออโตโฟกัสพอมองเห็นลักษณะภูมิประเทศได้ แต่ยังเบลออยู่
- หลังใช้ minimum entropy gradient optimization autofocus 30 รอบ คุณภาพภาพดีขึ้นมาก
- อาจเป็นไปได้ว่าแค่ 5 รอบก็เพียงพอ แต่การทำซ้ำมากกว่านั้นช่วยให้คุณภาพดีขึ้นอีกเล็กน้อย
- แต่ละรอบต้องคำนวณ forward/backward pass ของ backprojection จึงใช้เวลาหลายนาที
- เมื่อซูมดูพื้นที่ขนาด 300×300m จะเห็นรายละเอียดพื้นผิวทุ่งชัดเจนในภาพหลังออโตโฟกัส ขณะที่ก่อนออโตโฟกัสยังเบลอ
- ผลจาก phase gradient autofocus คล้ายกับภาพที่ไม่มีออโตโฟกัสมาก จึงไม่ทำงานได้ดีในกรณีนี้
การวัดแบบเต็มโพลาไรซ์
- ยังได้ทำการวัดในอีกสถานที่หนึ่งโดยใช้โพลาไรซ์ทั้งสี่แบบ HH, HV, VH, VV
- โดรนบินอัตโนมัติตามเส้นทางเชิงเส้นเช่นเดิม และเรดาร์สลับสถานะสวิตช์โพลาไรซ์ทั้งสี่อย่างรวดเร็ว
- ค่าตั้งมีดังนี้
- sweep length: 200µs
- PRF ต่อโพลาไรซ์: 715Hz
- จำนวน sweep ในภาพ: 51,200
- พารามิเตอร์อื่นเหมือนเดิม
- ภาพทั้งสี่โพลาไรซ์คล้ายกันมาก แต่ภาพ cross-polarization แบบ HV/VH โดยทั่วไปมีค่าน้อยกว่าการสะท้อนแบบโพลาไรซ์เดียวกัน จึงมี amplitude ต่ำกว่า
- หากกำหนดโพลาไรซ์ต่างกันให้กับช่อง RGB จะมองเห็นคุณสมบัติการสะท้อนตามโพลาไรซ์ของแต่ละเป้าหมายได้ง่ายขึ้น
- พื้นดินออกโทนม่วง แสดงว่าสะท้อน VV และ HH ได้ดีกว่าแบบ cross-polarization
- แนวโน้มเดียวกันนี้เห็นได้ในอาคารและเสาไฟริมถนน
- ป่าสะท้อนเกือบเท่ากันในทุกโพลาไรซ์ จึงดูเป็นสีขาว
- ยังไม่ได้ชดเชย radiation pattern ของเสาอากาศและความต่างของการสูญเสียในแต่ละสถานะของสวิตช์โพลาไรซ์ ดังนั้นความต่างบางส่วนที่สังเกตได้อาจมาจากฮาร์ดแวร์
- หากต้องการการวัดโพลาไรซ์ที่แม่นยำกว่านี้ จำเป็นต้องทำ calibration
- บริเวณจุดกระจุกใกล้พิกัดภาพ SAR
(200, 500)m ดูเหมือนเป็นสวนที่มีต้นไม้เล็ก ๆ ล้อมด้วยรั้วลวดโลหะ - ตอนทำการวัดมีหิมะบาง ๆ ปกคลุมพื้น
การทดลอง VideoSAR
- แทนที่จะสร้างภาพความละเอียดสูงจาก baseline ยาวเพียงเส้นเดียว สามารถนำภาพ baseline สั้นหลายภาพจากการวัดยาวครั้งเดียวมาประกอบเป็น วิดีโอ ได้
- อัลกอริทึม backprojection ไม่จำเป็นต้องให้เส้นทางการบินเป็นเส้นตรง จึงให้โดรนบินเป็นเส้นทางรูปแปดเหลี่ยม และให้เสาอากาศหันเข้าหาศูนย์กลางของแปดเหลี่ยม
- แต่ละเฟรมประกอบด้วย 1024 radar sweep และซ้อนทับกับเฟรมก่อนหน้า 512 sweep
- จำนวน sweep ต่อเฟรมมีน้อยกว่าภาพเต็ม จึงมีสัญญาณรบกวนมากกว่าและความละเอียดเชิงมุมต่ำกว่า
- วิดีโอเป็นแบบ 10x และใช้ทั้งสี่โพลาไรซ์ โดยการใส่สีเหมือนกับภาพ SAR แบบโพลาไรซ์ก่อนหน้านี้
- ใช้ออโตโฟกัสแยกกันในแต่ละเฟรม และไม่ได้จัดแนวเฟรมที่ติดกัน จึงบางครั้งดูเหมือนสั่นหรือกระโดด
- ที่มุมของเส้นทางแปดเหลี่ยม การสร้างภาพทำได้ยากเป็นพิเศษ เพราะต้องแก้ตำแหน่งทั้ง along-range และ cross-range ให้แม่นยำ
- เป้าหมายธรรมชาติอย่างพื้นดินและป่าดูคล้ายกันในแต่ละเฟรม แต่สะพานและสายส่งไฟฟ้าจะให้การสะท้อนสูงเมื่ออยู่ในทิศทำมุม 90 องศากับเรดาร์
- จุดสว่างที่ดูเหมือนเคลื่อนที่บนสะพานคือ glint จากราวกั้น
- เนื่องจากรูปแบบเสาอากาศของแต่ละโพลาไรซ์ไม่ตรงกัน เป้าหมายเดียวกันจึงอาจเห็นเป็นสีต่างกันเล็กน้อยระหว่างกึ่งกลางลำคลื่นกับขอบลำคลื่น
ความสูงในการบินและเรขาคณิตการสังเกต
- โดยไม่ต้องมีใบอนุญาตพิเศษ โดรนสามารถบินได้ที่ความสูงสูงสุด 120m
- โดยทั่วไป look angle ของ SAR จะอยู่ที่ประมาณ 10~50 องศา
- เมื่อ look angle เข้าใกล้ 90 องศา หรือก็คือมองลงเกือบแนวดิ่ง แม้กำลังสะท้อนจะสูง แต่ระยะเรดาร์ระหว่างตำแหน่งรอบข้างจะเกือบเท่ากัน ทำให้ range resolution แย่ลง
- ที่ look angle ต่ำ range resolution จะดี แต่เนื่องจาก grazing angle ต่ำ กำลังสะท้อนที่กลับมาถึงเรดาร์จึงลดลง
- ในกรณีที่ look angle ต่ำมาก กำลังสะท้อนอาจต่ำกว่าการมองที่ look angle ทั่วไปราว 45 องศาอยู่ 10~20dB ทำให้ระยะสังเกตสูงสุดลดลง
- เมื่อดูที่ระยะ 2km จากความสูง 120m ค่า grazing angle มีเพียง 3.4 องศา
- ที่มุมนี้ ต้นไม้สูง 10m จะสร้างเงายาวประมาณ 170m และจะไม่สามารถเห็นสัญญาณสะท้อนจากพื้นหลังวัตถุที่สูงได้
- ในการวัดทั้งหมดพบ shadowing อย่างชัดเจน และในการวัดโพลาไรซ์ครบชุด บางครั้งมองเห็นได้เพียงส่วนยอดของอาคารที่อยู่ไกล
การอัปเดตและผลลัพธ์สุดท้าย
- ในการอัปเดตเดือนตุลาคม 2025 ซอฟต์แวร์ประมวลผลภาพได้รับการปรับปรุงอย่างมาก จึงสามารถสร้างภาพที่มีคุณภาพดียิ่งขึ้นได้
- รายละเอียดเพิ่มเติมสรุปไว้ที่ Synthetic aperture radar autofocus and calibration
- โดรน SAR ที่สร้างเสร็จแล้วสามารถทำ imaging ได้อย่างน้อย 1.5km และคาดว่าหากบินที่ความสูงมากขึ้นก็น่าจะทำได้ไกลกว่านี้
- ระบบทั้งหมดรวมเรดาร์ โดรน และแบตเตอรี่ มีน้ำหนัก ต่ำกว่า 1kg
- สามารถบันทึกโพลาไรซ์ได้ 4 แบบคือ HH, HV, VH, VV
- gradient based minimum entropy autofocus สามารถสร้างภาพคุณภาพดีได้จากลำคลื่นเสาอากาศที่กว้าง แม้ใช้เพียงข้อมูล GPS แบบไม่ใช่ RTK และ IMU
- ค่าใช้จ่ายและเวลาเป็นดังนี้
- โดรน: ประมาณ 200 EUR
- แผงวงจรเรดาร์ PCB 2 แผ่น: ประมาณ 600 EUR
- เวลาสร้าง: ประมาณ 10 เดือน ในเวลาว่างหลังเลิกงาน
- differentiable GPU image formation library ถูกเผยแพร่ภายใต้สัญญาอนุญาต MIT บน Github
- มีการเผยแพร่ schematic ของวงจรเรดาร์ด้วย
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
ที่ ราคาโดรน FPV ลดลง ดูเหมือนเป็นเพราะจีนขายสินค้าจำนวนมหาศาลให้ทั้งสองฝ่ายในสงครามยูเครน
รัสเซียและยูเครนต่างใช้หมดไปประมาณ 100,000 ลำ ต่อเดือน และชิ้นส่วนส่วนใหญ่จัดหาจากจีน จึงเกิดการประหยัดต่อขนาด
ได้อ่านมาว่าช่วงหลังยูเครนผลิตโดรนจำนวนมากและกำลังเพิ่มกำลังการผลิต อีกทั้งยังใช้ โดรนควบคุมผ่านใยแก้วนำแสง เพื่อหลีกเลี่ยงสงครามอิเล็กทรอนิกส์/การรบกวนสัญญาณด้วย
ในฐานะคนทำ DIY ความซับซ้อนที่ Henrik ทำออกมาได้น่าทึ่งมาก: มีครบทั้ง การประมวลผลสัญญาณ, ฮาร์ดแวร์, การเร่งความเร็วด้วย GPU และการปรับแต่งอัลกอริทึม
ทำให้นึกว่าอยากให้ชุมชน HN มีรางวัลสำหรับผลงานสุดยอดแบบนี้
สำหรับนักพัฒนาสายงานอดิเรกแล้ว นี่เป็นความสำเร็จครั้งใหญ่
นี่เป็นครั้งแรกที่ได้เห็น อัลกอริทึม SAR ถูกอธิบายจริง ๆ
โปรเจกต์ SAR ที่เคยเห็นมาจนถึงตอนนี้มักข้ามส่วนนี้ไปแบบคร่าว ๆ
อยากรู้ว่ามีใครเคยเห็นเอกสารที่เกี่ยวข้องเพิ่มเติมไหม และตั้งใจจะอ่านบทความที่ลิงก์ไว้: https://topex.ucsd.edu/rs/sar_summary.pdf
สุดท้ายแล้วดูเหมือนว่า autofocusing จะช่วยเลี่ยงปัญหาเรื่องตำแหน่งได้ค่อนข้างมาก ซึ่งส่วนนี้ก็เพิ่งเคยเห็นเป็นครั้งแรกเหมือนกัน
บทที่ 3 และ 4 ของ PDF วิทยานิพนธ์อธิบายว่าคณิตศาสตร์ทำงานอย่างไร: https://github.com/stevesimmons/phd-thesis-radar-imaging
SAR = Synthetic Aperture Radar คือวิธีที่เรดาร์บินเป็นเส้นตรง และการหมุนปรากฏของพื้นผิวโลกทำให้เกิด Doppler shift เพื่อให้ได้ความละเอียดเชิงมุมสูง (cross-range resolution)
ISAR = Inverse Synthetic Aperture Radar คือวิธีที่เรดาร์อยู่นิ่ง (เช่น บนพื้นดิน) ส่วนเป้าหมาย (เช่น เครื่องบิน) เคลื่อนที่ และการเคลื่อนที่สัมพัทธ์ของทั้งสองทำให้เกิดการหมุนของเป้าหมาย จึงได้ความละเอียดเชิงมุมสูงผ่าน Doppler shift เช่นกัน
โดยส่วนตัวแล้ว เข้าใจง่ายที่สุดเมื่อมองในบริบทของ เสาอากาศ phased array ทั่วไป แต่ถ้าไม่รู้หลักการนั้นอยู่ก่อนแล้ว อาจช่วยได้น้อยลง
เคยเห็น ภาพ SAR จากระบบที่แพงกว่านี้มากหลายครั้ง แต่ก็ดูไม่ได้ดีเท่านี้
ผลลัพธ์ที่นี่สุดยอดจริง ๆ
นี่แหละเหตุผลที่อ่าน HackerNews
ทุกเดือนจะมีโพสต์ใหม่ที่ช่วยปรับปรุง ระบบป้องกันมิสไซล์ ชานเมือง และทำให้หมาของเพื่อนบ้านไม่กล้ามาถ่ายบนสนามหญ้าของฉันอีก
การทำแผนที่ภูมิประเทศแถวบ้านเพื่อให้จรวดตามหาผู้กระทำผิดตัวจริงได้แม่นยำเป็นเรื่องยากเสมอมา แต่ตอนนี้ใช้โดรนก็พอ
ที่พูดถึงนี่คือระบบป้องกันที่มีมิสไซล์ ไม่ใช่ระบบป้องกันมิสไซล์ที่จะสกัดมิสไซล์ นั่นมันไร้สาระ
Tactical and Strategic Missile Guidance, Seventh Edition https://www.amazon.com/Tactical-Strategic-Missile-Guidance-S...
Tactical missile warheads https://www.amazon.com/Tactical-Warheads-Progress-Astronauti...
Fundamentals of Astrodynamics https://www.amazon.com/Fundamentals-Astrodynamics-Second-Dov...
เพราะมันรู้ว่าตัวเองไม่ได้อยู่ที่ไหน
เราอยู่ในโลกที่น่าทึ่งจริง ๆ
เป็นที่รู้กันดีว่าในกระบวนการวางเงื่อนไขสัตว์ ฟีดแบ็กทันทีนั้นสำคัญ
ถ้าต้องใช้ เสาอากาศ 100 เมตร จะประสานโดรนหลายลำให้ทำเส้นทางโค้งพาราโบลายาว 100 เมตรเพื่อให้ได้ผลคล้าย ๆ กันไม่ได้หรือ?
ถ้าไม่มีการรบกวน GPS การซิงก์อาจเป็นไปได้ แต่ต้องมีวิธีแลกเปลี่ยนองค์ประกอบสัญญาณดิบระหว่างทุกแพลตฟอร์มให้ได้
ในกรณีนี้ไม่จำเป็นต้องจัดวางเป็นพาราโบลาเลย แค่ปรับเฟสของแต่ละยูนิตให้สอดคล้องกับการจัดวางจริงก็พอ
แนวทางนี้เป็นสาขาที่มีการพิจารณากันอยู่ และมักพิจารณาที่ ความถี่ต่ำมากระดับ 1~100MHz เป็นหลัก ในช่วงนี้ปัญหาข้างต้นจะง่ายลงมาก และถ้าต้องการทิศทาง อาจต้องใช้เสาอากาศขนาดใหญ่ระดับกิโลเมตร
คำกล่าวที่ว่า “เรดาร์ช่องสัญญาณเดียววัดได้แค่ระยะถึงเป้าหมาย และตรวจจับมุมของเป้าหมายไม่ได้” อาจถูกต้องสำหรับกรณีใช้งานเฉพาะนั้น
แต่ เสาอากาศพาราโบลอยด์ และ ช่องเปิดท่อนำคลื่นแบบสล็อต มีมานานแล้ว