เรดาร์บีบอัดพัลส์ 6 GHz ทำเอง
(hforsten.com)- จากประสบการณ์ทำ เรดาร์ FMCW เองก่อนหน้านี้ บันทึกนี้เป็นเรื่องราวการสร้าง เรดาร์บีบอัดพัลส์ ย่าน 6 GHz ด้วยชิ้นส่วนราคาถูกและการประมวลผลสัญญาณดิจิทัลความเร็วสูงเท่านั้น
- รองรับการส่งรูปคลื่นตามต้องการและการประมวลผลแบบบีบอัดพัลส์ โดยผสาน Zynq 7020 FPGA, ADC 12-bit 250 MHz, DAC 14-bit 500 MHz และโครงสร้างรับส่ง zero-IF IQ
- ความยากในการพัฒนามุ่งไปที่ ข้อจำกัดด้านดิจิทัลความเร็วสูงและ RF เช่น ฟิลเตอร์ ADC/DAC, การเดินลาย DDR3, อินเทอร์เฟซ LVDS, 1 Gbps Ethernet, การซิงโครไนซ์สัญญาณนาฬิกา, การกรองไฟเลี้ยง, การสลับรับส่ง และการชดเชย LO leakage
- จากการวัดจริง ได้ ความละเอียดระยะประมาณ 1 m ด้วยแบนด์วิดท์ 150 MHz ตรวจจับรถริมถนนได้ไกลราว 400~450 m และจากการคำนวณ ระยะตรวจจับสูงสุดของเป้าหมายที่มีพื้นที่หน้าตัดเรดาร์ 1 m² อยู่ที่ระดับประมาณ 1 km
- สร้างเสร็จด้วยค่า PCB ผลิตและประกอบ 2 แผ่น 330 USD กับชิ้นส่วนจาก Digikey ที่บัดกรีเอง 225 EUR และมองว่าในช่วงราคาเดียวกันหาเรดาร์บีบอัดพัลส์เชิงพาณิชย์หรือ SDR ที่มีแบนด์วิดท์ RF ใกล้เคียงกันได้ยาก
เหตุผลที่สร้างเรดาร์บีบอัดพัลส์แทน FMCW
- เรดาร์ FMCW หากแยกเสาส่งและเสารับออกจากกันจะไม่ต้องมีการสวิตช์ และสามารถผสมสัญญาณรับกับสัญญาณส่งให้กลายเป็นความถี่ต่ำ จึงทำได้ง่ายแม้ใช้ ADC ความเร็วต่ำ
- เรดาร์ขนาดใหญ่มักใช้เรดาร์พัลส์เป็นหลัก
- สามารถใช้เสาอากาศเดียวร่วมกันทั้งส่งและรับได้
- เมื่อใช้กำลังส่งสูง จะกังวลเรื่องตัวรับอิ่มตัวน้อยกว่า FMCW
- ส่งพัลส์ได้ถี่กว่า ทำให้ค่า Doppler shift ไม่กำกวมสูงสุดมีค่ามากขึ้นในการวัดความเร็วของเป้าหมายที่เคลื่อนที่เร็ว
- แต่เรดาร์พัลส์มีข้อจำกัดในการพัฒนามากกว่ามาก
- หากการสลับรับส่งใช้เวลา 1 µs จะพลาดสัญญาณสะท้อนจากเป้าหมายที่ระยะ 150 m
- หากใช้เสาอากาศเดียวร่วมกัน ระยะตรวจจับขั้นต่ำอาจกลายเป็นหลายร้อยเมตร
- ต้องสุ่มตัวอย่างแบนด์วิดท์ RF ทั้งหมดของพัลส์ที่ส่ง จึงอาจต้องใช้ ADC หลายร้อย MHz หรือมากกว่า 1 GHz
- เป้าหมายคือ เรดาร์บีบอัดพัลส์ ที่ไม่หยุดอยู่แค่การสวีปความถี่เชิงเส้น แต่รองรับรูปคลื่นตามต้องการ
- เพื่อสิ่งนี้ต้องใช้ DAC และ ADC ที่มี sample rate เพียงพอ
สถาปัตยกรรมโดยรวมและการประมวลผลสัญญาณ
- เรดาร์มีโครงสร้างคล้าย SDR โดยมีเสาอากาศรับ 2 ตัวแบบ time-multiplexed และภาคส่ง
- ภาคส่งใช้ร่วมกับหนึ่งในเสาอากาศรับ
- ช่องรับที่สองมีต้นทุนต่ำ เพราะแค่เพิ่มสวิตช์, LNA และคอนเนกเตอร์ SMA และยังเหลือความเป็นไปได้ในการใช้โหมด FMCW
- TX และ RX เป็นโครงสร้าง zero-IF
- ไม่ใช่ตัวเลือกที่ดีที่สุดในเชิงประสิทธิภาพ แต่เป็นตัวเลือกที่ถูกที่สุด
- เอาต์พุตของมิกเซอร์มีทั้งสัญญาณที่ต้องการ รวมถึง LO leakage และสัญญาณ image
- ใน zero-IF องค์ประกอบที่ไม่ต้องการจะซ้อนทับกับสัญญาณ จึงกำจัดด้วยฟิลเตอร์คงที่ได้ยาก
- ความไม่อุดมคติบางส่วนลดได้ด้วยการชดเชยแบบดิจิทัล
- สามารถชดเชยความไม่อุดมคติของมิกเซอร์ด้วยการทำ predistortion ที่เอาต์พุต DAC เพื่อให้สัญญาณส่งสะอาดขึ้น
- เอาต์พุตของตัวรับก็สามารถชดเชยแบบดิจิทัลได้ หากทำ characterization ได้ละเอียดเพียงพอ
- DAC ส่งออก สัญญาณ complex IQ และ IQ mixer จะมอดูเลตสัญญาณนี้ไปยังความถี่ LO แล้วส่งออกทางเสาอากาศ
- complex IQ แสดงได้ทั้งความถี่บวกและลบใน baseband
- หลังส่งแล้วจะสลับ T/R switch ไปเป็นโหมดรับ และตัวรับจะสุ่มตัวอย่างสัญญาณสะท้อน
- ตำแหน่งเป้าหมายหาได้จาก การคำนวณสหสัมพันธ์ ระหว่างสัญญาณส่งและสัญญาณรับ
- การใช้งานจริงใช้ FFT แทนการทำ convolution โดยตรงในโดเมนเวลา
- ในช่วงเวลาที่มีเป้าหมาย ค่าสหสัมพันธ์ของสัญญาณรับและส่งจะสูงขึ้น และหากไม่มีเป้าหมายจะต่ำลง
- sidelobe ควบคุมด้วยฟังก์ชันหน้าต่าง
- หากคูณพัลส์อ้างอิงด้วยฟังก์ชันหน้าต่าง จะปรับ sidelobe ของเอาต์พุต convolution ได้
- หากใช้หน้าต่างกับพัลส์ส่งด้วย จะลด sidelobe ได้อีก
- ข้อเสียคือ mainlobe จะกว้างขึ้น และความละเอียดระยะจะแย่ลงเล็กน้อย
- ความเร็ววัดจากการเปลี่ยนแปลงเฟสของสัญญาณรับตลอดหลายพัลส์
- เมื่อส่ง pulse burst แล้วคำนวณ FFT ตามมิติของพัลส์ ระยะและความเร็วจะแยกออกจากกันใน range-Doppler map
- วัตถุหลายชิ้นที่อยู่ระยะเดียวกันก็แยกได้หากมีความเร็วต่างกัน
- หากมีเพียงเสาอากาศเดียว จะไม่มีข้อมูลมุม
การเลือก ADC, DAC, FPGA
- sample rate ของ ADC เป็นพารามิเตอร์หลักที่กำหนดแบนด์วิดท์ RF สูงสุดที่รับได้
- การทำให้ได้แบนด์วิดท์ของ ADC ยากกว่าการเพิ่มแบนด์วิดท์ฝั่ง RF และ DAC
- ต้องมี ADC อย่างน้อย 2 ช่องสำหรับ IQ sampling
- ADC อินเทอร์เฟซ JESD204B ต้องใช้ทรานซีฟเวอร์อนุกรมความเร็วสูงของ FPGA ระดับสูง จึงไม่เข้ากับงบประมาณ และใช้ LVDS เป็นตัวเลือกที่เร็วที่สุดที่เชื่อมต่อกับ I/O ของ FPGA ทั่วไปได้
- ADC ที่เลือกคือ ADS4229
- 2 ช่อง, LVDS, sample rate 250 MHz
- ราคาต่อชิ้น 58 EUR
- มี ADC 8-bit 500 MHz ด้วย แต่ถูกตัดออก เพราะ SNR ต่ำกว่า ADC 12-bit อยู่ 20 dB และการเพิ่ม sample rate 2 เท่าชดเชย SNR กลับมาได้เพียง 3 dB
- DAC ที่เลือกคือ DAC3174
- 2 ช่อง, 14-bit, 500 MHz
- ราคาต่อชิ้น 33 EUR
- แบนด์วิดท์ของระบบถูกจำกัดโดย ADC แต่แบนด์วิดท์ DAC ที่เหลือเฟือทำให้การกรองง่ายขึ้น
- ไมโครคอนโทรลเลอร์อย่างเดียวจัดการ timing การสร้างพัลส์, การจัดการข้อมูล ADC/DAC และการควบคุมการสลับรับส่งได้ยาก จึงต้องใช้ FPGA
- FPGA ที่เลือกคือ Zynq 7020
- รวม CPU dual-core ARM-A9 และ FPGA fabric ไว้ในแพ็กเกจเดียวกัน
- ในจีนหาได้ในราคา $17 ส่วนราคาที่ Digikey คือ $173
- CPU รับหน้าที่สื่อสารกับ PC และควบคุม
- เพิ่ม SD card สำหรับรัน Linux ด้วย แต่ซอฟต์แวร์ช่วงแรกทำงานโดยไม่ใช้ OS
ฟิลเตอร์ ADC/DAC และข้อจำกัดแบนด์วิดท์
- หน้า ADC ต้องมีฟิลเตอร์ low-pass แบบ anti-aliasing
- ความถี่ Nyquist ของ sample rate 250 MHz คือ 125 MHz
- หากต้องการเพิ่มแบนด์วิดท์ที่ใช้งานได้ ต้องวาง cutoff ให้ใกล้ Nyquist แต่จะต้องมี cutoff ที่ชัน ทำให้ออกแบบฟิลเตอร์ยากขึ้น
- ฟิลเตอร์ ADC ต้องมีแอมพลิจูดและ group delay สม่ำเสมอใน passband
- หากการลดทอนต่างกันตามความถี่ พัลส์รับจะบิดเพี้ยน
- หากความต่างของ group delay มาก ค่าสหสัมพันธ์กับพัลส์อ้างอิงจะต่ำลงและ sidelobe จะเพิ่มขึ้น
- ค่าการออกแบบฟิลเตอร์ ADC คือ cutoff 100 MHz และลดทอน -20 dB ที่ Nyquist 125 MHz
- แอมพลิจูดและ group delay ดีจนถึงประมาณ 60 MHz
- สูงกว่านั้นปรับปรุงได้ยากเพราะข้อจำกัด
- หากจำเป็นสามารถชดเชยการตอบสนองของฟิลเตอร์แบบดิจิทัลได้
- DAC ก็เป็นระบบ sampling จึงต้องกรอง alias ที่เอาต์พุต
- sample rate ของ DAC คือ 500 MHz และแบนด์วิดท์สัญญาณที่ต้องการคือ 100 MHz จึงออกแบบฟิลเตอร์ง่ายกว่า ADC
- alias ของสัญญาณ 0~100 MHz อยู่ในช่วง 400~500 MHz
- จากการจำลอง alias ถูกลดทอนมากกว่าสัญญาณอย่างน้อย 65 dB
- ที่กำลังสัญญาณ 30 dBm สัญญาณ image อาจอยู่ที่ประมาณ -35 dBm
- มองว่าเพียงพอสำหรับการทำงาน แต่ถ้าเป็นเรดาร์ที่เหมาะสมจริง ๆ อาจจำเป็นต้องลดทอนมากกว่านี้เพื่อหลีกเลี่ยงการแผ่คลื่นนอกย่านความถี่ที่ได้รับอนุญาต
การออกแบบดิจิทัลและการไหลของข้อมูล
- Zynq SoC ประกอบด้วย processing system (PS) และ programmable logic (PL)
- PS คือ CPU ARM A9 แบบ dual-core
- PL คือ FPGA fabric
- ทั้งสองเชื่อมต่อกันด้วยบัส AXI 64-bit
- ตั้งคล็อก AXI ไว้ที่ 130 MHz
- บัส AXI 1 เส้นสำหรับ ADC DMA
- บัส AXI 1 เส้นสำหรับ DAC DMA
- มีบัส AXI ความเร็วต่ำแยกต่างหากสำหรับตั้งค่ารีจิสเตอร์ของ PL
- เลือกใช้ 1 Gbps Ethernet สำหรับการเชื่อมต่อความเร็วสูงกับ PC
- USB 3 ให้ได้ 5 Gbps แต่ต้องใช้ USB 3 transceiver ภายนอกและต้องออกแรงพัฒนาเพิ่มเติม
- เนื่องจากทำการประมวลผลดิจิทัลขั้นต้นบน PC อัตราการส่งตัวอย่าง ADC ที่ capture ได้จึงสำคัญ
- DDR3 DRAM เชื่อมต่อกับฝั่ง PS ด้วยชิปเดียว
- ทำงานที่ 1066 MHz เนื่องจากข้อจำกัดของ memory controller
- ความกว้างบัสคือ 16-bit
- สามารถเพิ่มชิป DDR3 ตัวที่สองเพื่อทำคอนฟิก 32-bit ได้ แต่ไม่จำเป็น
- แบนด์วิดท์ DDR3 น้อยกว่าผลรวมแบนด์วิดท์ของ DAC และ ADC
- วิธีสตรีมตัวอย่าง DAC จาก DRAM พร้อมกับบันทึกตัวอย่าง ADC ไปด้วยนั้นทำไม่ได้
- จึงวางหน่วยความจำ 1 MB ไว้ที่ฝั่ง PL เพื่อเก็บตัวอย่าง DAC
- ส่งตัวอย่างพัลส์จาก PC ผ่าน Ethernet เข้า DRAM แล้ว DMA ย้ายไปยังหน่วยความจำ PL จากนั้นส่งไปยัง DAC ในแต่ละพัลส์
- หน่วยความจำ DAC 1 MB จำกัดความยาวพัลส์ไว้ที่ 130 µs
- พัลส์ 130 µs เทียบเท่ากับระยะตรวจจับขั้นต่ำ 20 km
- ความยาวพัลส์ทั่วไปประมาณ 1 µs จึงเพียงพอ
- วิธีแบบ LUT ทำให้ทดลอง window function, pre-distortion และรูปคลื่นพัลส์ต่าง ๆ ได้ง่าย
RF front-end และการสลับส่ง/รับ
- ความถี่ทำงานอยู่ที่ประมาณ 6 GHz ใกล้เคียงกับเรดาร์ทำเองรุ่นก่อนหน้า
- มองว่าเป็นย่านความถี่สูงสุดที่มีชิ้นส่วนสำเร็จรูปราคาถูกจำนวนมากเพราะมีแอปพลิเคชันฝั่งผู้บริโภครองรับ
- ส่วน RF ประกอบด้วย IQ modulator, IQ demodulator, PLL สำหรับ LO, power amplifier, LNA และสวิตช์
- เลือก Skyworks SE5004L เป็นเพาเวอร์แอมป์
- จุด 1 dB compression ของกำลังขับทั่วไปอยู่ที่ 2 W
- อัตราขยาย 32 dB
- datasheet มีเอกสารไม่ละเอียดและไม่มีค่าชิ้นส่วนภายนอก แต่ตรวจสอบ schematic ได้จากเอกสารของ evaluation board
- เลือก MASW-007588 เป็นสวิตช์ T/R
- ความเร็วสวิตช์ 55 ns
- จุด 1 dB compression 37 dBm
- ในเวลา 55 ns แสงเดินทางได้ 16.5 m
- มีสวิตช์เฉพาะทางที่ดีกว่านี้ แต่ไม่อยู่ในงบประมาณ
- circulator ก็เป็นอีกทางเลือกหนึ่งแต่ไม่ได้ใช้
- พบได้บ่อยในเรดาร์กำลังสูง รองรับได้หลายร้อย W และไม่มีปัญหาเรื่องความเร็วสวิตช์
- ผลิตภัณฑ์ในย่านความถี่นี้มีขนาดใหญ่และแพงกว่าสวิตช์ธรรมดามาก
- ตัวรับต้องมี noise floor ของ RF สูงกว่า quantization noise ของ ADC อย่างเพียงพอ
- จากการคำนวณ noise floor ของ RF ที่อินพุต ADC อยู่ที่ประมาณ -155 dBV/Hz
- noise floor ของ ADC อยู่ที่ประมาณ -156 dBV/Hz
- โดยทั่วไป noise floor ของ RF ควรสูงกว่า ADC ประมาณ 10 dB แต่ในการออกแบบจริงยอมประนีประนอมที่สูงกว่าเพียงไม่กี่ dB
การคำนวณระยะตรวจจับสูงสุด
- คำนวณระยะตรวจจับสูงสุดด้วยสมการเรดาร์
- ใช้กำลังส่ง, อัตราขยายเสาอากาศ, ความยาวคลื่น, radar cross section ของเป้าหมาย, อุณหภูมิตัวรับ, ความยาวพัลส์, จำนวนพัลส์, noise figure และค่า threshold การตรวจจับ
- พารามิเตอร์ประมาณที่ใช้มีดังนี้
- กำลังส่ง: 30 dBm
- อัตราขยายเสาอากาศ: 14 dBi
- ความยาวคลื่น: 5.2 cm
- radar cross section ของเป้าหมาย: 1 m²
- อุณหภูมิตัวรับ: 290 K
- ความยาวพัลส์: 1 µs
- จำนวนพัลส์ใน burst: 1024
- noise figure ของตัวรับ: 5 dB
- threshold การตรวจจับ: 15 dB
- ผลการคำนวณ ระยะตรวจจับสูงสุดของเป้าหมายที่มี radar cross section 1 m² คือ 1200 m
- ค่านี้อาจมองโลกสวยไปเล็กน้อย
- ไม่รวมการสูญเสียในสายเสาอากาศ
- ไม่รวมการสูญเสียจากประสิทธิภาพเสาอากาศ
- ไม่รวมการสูญเสียจาก impedance mismatch
- ไม่รวมการลดทอนในบรรยากาศ
- ถึงอย่างนั้นคาดว่าระยะตรวจจับสูงสุดควรอยู่ราว 1 km
- ที่ระยะสูงสุด กำลังรับเฉลี่ยเท่ากับ threshold ขั้นต่ำในการตรวจจับ
- โดยเฉลี่ย เป้าหมายที่ระยะนี้จะถูกตรวจจับได้ด้วยความน่าจะเป็น 50%
- กำลังรับแปรผกผันกับระยะทางยกกำลังสี่ ดังนั้นเมื่อไกลกว่านี้ ความน่าจะเป็นในการตรวจจับจะลดลงอย่างรวดเร็ว
การออกแบบ PCB, DDR3, transmission line และไฟเลี้ยง
- PCB มีทั้งวงจร RF และวงจรดิจิทัลความเร็วสูง จึงต้องระวังเรื่องการ routing
- ใช้ PCB 6 ชั้น
- วัสดุ FR-4 มาตรฐานไม่เหมาะกับ RF นัก แต่คงความยาว RF trace ให้สั้นมาก จึงมองว่าไม่ใช่ปัญหาใหญ่
- หน่วยความจำ DDR3L ทำงานด้วยคล็อก 533 MHz และส่งข้อมูล 2 ครั้งต่อคล็อก
- มาตรฐาน DDR3L แรงดันต่ำ 1.35 V
- ต้องมีการ match ความยาว trace, characteristic impedance และ termination
- จำลองว่าควรละเว้นตัวต้านทาน termination ของบัส address DDR3 ได้หรือไม่
- แม้ไม่มีตัวต้านทาน termination ก็ดูเหมือนจะทำงานได้ตามเกณฑ์ threshold
- แต่เกิด overshoot ประมาณ 0.7 V ซึ่งละเมิดเงื่อนไข overshoot สูงสุด 0.4 V ใน datasheet ของหน่วยความจำ
- สุดท้ายจึงเพิ่มตัวต้านทาน termination ให้ address line
- ในการ routing DDR3 ใช้ trace 60 ohm และตัวต้านทาน termination 50 ohm
- trace 40 ohm มีความกว้าง 0.24 mm
- trace 60 ohm มีความกว้าง 0.10 mm จึงจัดวางได้แน่นกว่า
- ตัวต้านทาน 50 ohm จำเป็นในตำแหน่งอื่นของ PCB ด้วย จึงลด BOM ได้
- ขา enable ของสวิตช์ T/R และ IQ modulator ต้องสลับเร็วมาก
- ที่ drive strength สูงสุดของ FPGA rise time ของอินพุตสวิตช์จาก simulation อยู่ที่ประมาณ 400 ps
- PCB trace ยาวไม่กี่ cm ทำตัวเหมือน transmission line และเกิด reflection
- ใช้ AC termination ที่มีตัวต้านทาน 50 ohm กับคาปาซิเตอร์ขนาดเล็กต่ออนุกรมกัน เพื่อลด reflection โดยไม่มีปัญหาเรื่องระดับ DC
- ไฟเลี้ยงใช้การผสมระหว่าง switching regulator, LDO และ ferrite bead filter
- เนื่องจาก switching noise สูงกว่า noise floor เชิงความร้อนของตัวรับมาก จึงต้องกรองอย่างหนัก
- จากการคำนวณ ในเงื่อนไขเลวร้ายสุดต้องการการกรองไฟเลี้ยงระดับ 100 dB
- ฟิลเตอร์ ferrite bead 2 ชั้นทำ attenuation ได้ 100 dB ที่ 1 MHz
- บน PCB มี power rail ทั้งหมด 9 ชุด
- สำหรับดิจิทัลและ FPGA: 1.0 V, 1.8 V, 2.5 V, 3.3 V และสำหรับ DDR3: 1.35 V กับ 0.675 V
- สำหรับอนาล็อก: 1.8 V, 3.3 V, 5.0 V แบบ low-noise ใช้ LDO และ ferrite bead filter
อินเทอร์เฟซความเร็วสูงและสัญญาณนาฬิกา
- ADC เชื่อมต่อกับ FPGA ผ่านบัส LVDS แบบ 12 บิต
- อัตราการสุ่มตัวอย่างของ ADC คือ 250 MHz
- ข้อมูลสองแชนเนลถูกส่งบนขอบขาขึ้นและขาลงของ clock
- FPGA ใช้ adjustable delay line เพื่อปรับแก้จังหวะการ capture แบบไดนามิก
- DAC ใช้อินเทอร์เฟซ LVDS 500 MHz, 14 บิต
- FPGA ตัวนี้ไม่มีการปรับ output delay line ดังนั้นการ match ความยาว PCB trace จึงสำคัญ
- ตามเครื่องมือสังเคราะห์ สามารถจัด timing ให้ตรงได้ที่ trace delay ±25 ps หรือความยาวต่างกันประมาณ ±4 mm
- Ethernet PHY ใช้ Realtek RTL8211F
- ในจีนสามารถซื้อแบบชิ้นเดี่ยวได้ในราคา $1
- datasheet ทางการอยู่ภายใต้ NDA แต่สามารถหาเอกสารที่มีเครื่องหมาย “Confidential” ได้จาก reseller ในจีน
- อินเทอร์เฟซ RGMII ของ Zynq FPGA ไม่เป็นไปตามสเปกที่ 3.3 V จึงตั้งไฟฝั่ง PS เป็น 1.8 V
- ทำให้ SD card และ UART ต้องใช้ level shifter
- JTAG และ debug UART ทำด้วย FTDI FT2232H
- ไม่ใช้ Xilinx JTAG debugger ทางการ เพราะราคาปลีกอยู่ที่ $270
- เมื่อตั้งค่า EEPROM ด้วยเครื่องมือ
program_ftdiของ Xilinx แล้ว Vivado จะรู้จัก
- การซิงโครไนซ์ clock สำคัญต่อประสิทธิภาพของเรดาร์
- ADC คือ 250 MHz
- DAC คือ 500 MHz
- ลอจิก FPGA ต้องใช้ clock ที่ต่ำกว่า
- jitter ของ clock 100 MHz จาก PLL ภายใน FPGA ตามการคาดการณ์ของเครื่องมือคือ 130 ps peak-to-peak ขณะที่ clock generator ภายนอกอยู่ที่ประมาณ 4 ps peak-to-peak
- ฝั่ง PL ใช้ clock generator CDCM6208 เพื่อสร้าง clock 250 MHz และ 500 MHz หลายสัญญาณจาก crystal 25 MHz
- clock เหล่านี้อยู่ในสถานะ phase synchronized กัน
- ฝั่ง PS ใช้ crystal 33 MHz ของตัวเอง และจำเป็นสำหรับการโปรแกรม clock generator หลังจ่ายไฟ
- clock domain อิสระของ PS และ PL จัดการด้วย clock domain crossing ที่เหมาะสม
การผลิตและการ bring-up บอร์ด
- PCB สั่งจากผู้ผลิตจีนพร้อมบริการประกอบ
- ได้บอร์ดที่ประกอบแล้ว 2 แผ่น และ PCB เปล่า 3 แผ่น
- ชิ้นส่วนที่ไม่ค่อยพบบางรายการไม่มีในบริการประกอบ จึงสั่งและบัดกรีเอง
- รวมถึงชิ้นส่วนราคาแพงอย่าง ADC, DAC, PLL
- FPGA สามารถประกอบให้ได้ จึงเลี่ยงการบัดกรี BGA 484 pin เอง
- คุณภาพ PCB ดีเมื่อเทียบกับราคา แต่บอร์ดที่ประกอบแล้ว 1 ใน 2 แผ่นไม่ทำงานทันทีเนื่องจากปัญหาการบัดกรี
- FPGA ราคาถูก $15 มีวันที่และ lot code ถูกปิดทับไว้
- แตกต่างจาก marking บนชิปของ development board ตระกูลเดียวกัน
- สุดท้ายทำงานได้ แต่แหล่งที่มายังคงเป็นข้อสงสัย
- ชิ้นส่วนที่เหลือบัดกรีเองด้วย solder paste และ hot air tool
- หากต้องบัดกรีแพ็กเกจ QFN บนบอร์ดที่มีชิ้นส่วนติดตั้งอยู่แล้ว จำเป็นต้องใช้ hot air tool
- เพื่อลดต้นทุนการประกอบสองด้าน จึงวางชิ้นส่วนทั้งหมดไว้บน top side
- bottom side เว้นไว้เฉพาะตำแหน่งสำหรับใส่ decoupling capacitor เพิ่มหากจำเป็น แต่จริง ๆ แล้วไม่จำเป็นต้องใช้
- หลังจากโปรแกรม EEPROM ของ FT2232H แล้ว Vivado hardware manager ก็รู้จัก Zynq 7020 และสามารถโปรแกรมกับดีบัก FPGA ได้
เฟิร์มแวร์ FPGA และ timing
- ลอจิก FPGA ทำหน้าที่หลักในการย้ายข้อมูล
- อินเทอร์เฟซ LVDS ของ ADC/DAC
- timing ของพัลส์สำหรับเปิดปิดสวิตช์, PA, LNA ฯลฯ ให้ตรงเวลา
- รีจิสเตอร์ AXI สำหรับให้ PS ตั้งค่า PL
- DMA 2 ตัวสำหรับตัวอย่าง ADC/DAC
- อินเทอร์เฟซ SPI สำหรับ ADC, DAC, PLL และ clock generator
- การประมวลผลสัญญาณส่วนใหญ่ทำบน PC
- ในอนาคต หากทำ digital filtering และ decimation บน FPGA จะช่วยลดปริมาณข้อมูลที่ส่งไปยัง PC และเพิ่ม framerate ได้
- LVDS receiver อ้างอิงจาก Xilinx appnote xapp1017
- ต่อ delay line และ flip-flop เข้ากับ LVDS lane แต่ละเส้น
- state machine ปรับ delay เพื่อให้ sampling ที่กึ่งกลาง data eye
- ปรับชดเชยความต่างของความหน่วงจาก PCB routing และภายใน FPGA แบบไดนามิก
- วงจร timing ของพัลส์เป็นโครงสร้าง counter ที่มี equality comparison สำหรับแต่ละ event
- เมื่อ PS trigger แล้ว counter จะเริ่มทำงาน
- ควบคุมแต่ละ subsystem และชิปภายนอกใน clock cycle ที่แม่นยำ
- มีฟังก์ชัน loop สำหรับส่งพัลส์หลายครั้งโดยรักษา repeat interval ให้แม่นยำ
- burst timing ที่แม่นยำเป็นสิ่งจำเป็นต่อการวัดความเร็ว
- หากเกิดข้อผิดพลาด 1 cycle ของ clock 125 MHz ที่ trigger ของ ADC หรือ DAC จะทำให้ระยะที่วัดคลาดเคลื่อน 1.2 m
การวัด noise ของตัวรับและกำลังส่ง
- ตรวจสอบ noise ของตัวรับโดยต่อ matched load เข้ากับขั้วต่อเสาอากาศ และบันทึกเอาต์พุต ADC ขณะปิดตัวส่ง
- บันทึก 33 ms, 8 ล้าน sample
- ค่าเฉลี่ย noise floor คือ -139 dBFs ใกล้เคียงกับที่คาดไว้
- พบสัญญาณรบกวนหลายตัว โดยตัวที่ใหญ่ที่สุดเป็นพหุคูณของ 25 MHz
- แอมพลิจูดประมาณ -100 dBFs
- เทียบเท่ากับประมาณ 15 µV RMS ที่อินพุต ADC
- สาเหตุคือ PLL fractional spur
- หากตั้งความถี่เอาต์พุต PLL เป็นพหุคูณจำนวนเต็มของ reference clock จะลด spur ได้มากที่สุด
- PLL reference clock คือ 250 MHz แต่ phase detector ใช้สัญญาณที่หาร 2 เป็น 125 MHz
- ที่การตั้งค่า 5.75 GHz spur แทบหายไป
- 5.875 GHz ก็ทำงานได้ดีเพราะอยู่ใกล้พหุคูณ
- switching frequency ของ DC/DC converter คือ 2.5 MHz และไม่ปรากฏในสเปกตรัมเอาต์พุต
- power filtering ทำงานตามที่ตั้งใจไว้
- ตรวจสอบกำลังส่งด้วย power detector ในตัว PA
- ตั้งเอาต์พุต DAC ไว้ที่ 85% ของแอมพลิจูดสูงสุด
- คาดว่าเอาต์พุต IQ modulator อยู่ที่ประมาณ +3 dBm
- ด้วย gain ของ PA 32 dB จึงเพียงพอที่จะเข้าสู่ compression
- detector peak voltage ที่วัดได้คือ 1.72 V
- หาก extrapolate เชิงเส้นจากกราฟใน datasheet จะได้กำลังเอาต์พุตประมาณ 33 dBm หรือระดับ 2 W
- สอดคล้องกับ -1 dB compression point ของ PA ที่ typical 34 dBm จึงดูเหมือนอยู่ในสถานะ compression
การปรับเทียบและคุณภาพของการบีบอัดพัลส์
- บันทึกสัญญาณรั่วจากการส่งผ่านสวิตช์ T/R ในสภาวะ matched load
- รูปคลื่นส่งเป็นการสวีปความถี่เชิงเส้น แบนด์วิดท์ 100 MHz ความยาว 1 µs
- ใช้แอมพลิจูดสูงสุดของ DAC ที่ 0.1
- รูปคลื่นรับก่อนการปรับเทียบพบความไม่เป็นอุดมคติหลายอย่าง
- ADC DC offset ก่อนพัลส์
- spike จากการเปิดตัวส่ง
- pulse DC offset จากการรั่วของ LO ของตัวส่ง
- การลดทอนที่มากขึ้นของความถี่เบสแบนด์สูง
- DC level จาก ADC offset หลังพัลส์และการทำงานแบบ high-pass ของ ADC filter
- ใน pulse compression ก่อนการปรับเทียบ sidelobe level อยู่ที่ -21 dBc
- สาเหตุหลักที่สุดคือการรั่วของ LO ของตัวส่ง
- เนื่องจากตัวส่งและตัวรับใช้ LO เดียวกัน การรั่วของ LO จึงถูก down-mix เป็น DC ที่ตัวรับ
- ADC DC offset ปรับเทียบโดยทริกเกอร์ตัวรับในขณะที่ปิดตัวส่งเพื่อวัดค่า แล้วนำไปลบออกจากการวัดครั้งถัด ๆ ไป
- การรั่วของ LO วัดโดยทริกเกอร์ sweep ในสภาวะที่ให้ DAC เอาต์พุตเป็น 0
- ตามอุดมคติไม่ควรมีการส่ง แต่เนื่องจากการรั่วของ LO จึงมีการส่งสัญญาณที่ความถี่ LO
- ปรับ DC level ของสัญญาณส่งให้ ADC input กลายเป็น 0 เพื่อหักล้างการรั่วของ LO
- หลังปรับเทียบการรั่วของ LO sidelobe level ดีขึ้นเป็น -36 dB
- ยังสูงกว่าอุดมคติที่ -42 dB อยู่ไม่กี่ dB
- เนื่องจากการทำงานแบบ high-pass ของ AC coupling capacitor จึงยังเหลือการตอบสนองเชิงเส้นยาวที่ -60 dB
- อีกวิธีในการลดปัญหา DC offset คือมอดูเลต sweep เป็น low-IF แทนที่จะเป็น zero-centered
- ใช้ offset 25 MHz กับ sweep 50 MHz เพื่อสวีป 0~50 MHz
- ปัญหา DC offset จาก high-pass filter หายไป
- ข้อเสียคือแบนด์วิดท์สูงสุดที่ใช้ได้ลดลงเหลือครึ่งหนึ่งเมื่อเทียบกับ zero-centered sweep
- เมื่อนำ Tukey window ไปใช้กับพัลส์ส่ง sidelobe ระยะไกลจะลดลงอย่างมาก
- ที่ α=0.1 pulse energy และ SNR ของตัวรับลดลง 0.8 dB
- ที่ offset 500 ns sidelobe level ลดลงประมาณ 20 dB
ปัญหาการรั่วของสัญญาณรบกวนจาก PA
- เมื่อสลับไปเป็นการรับ สวิตช์ T/R จะเปลี่ยนจากตัวส่งไปยังตัวรับ แต่ถ้า PA ยังคงเปิดอยู่ สัญญาณรบกวนเอาต์พุตของ PA จะรั่วไปยังตัวรับ
- สวิตช์ T/R สลับได้ในราว 50 ns แต่การ enable/disable PA ใช้เวลาประมาณ 10 µs
- เมื่อใช้เสาอากาศเดี่ยว เวลาเปลี่ยนสถานะ PA ที่ยาวนี้ทำให้สัญญาณรบกวนของตัวรับเพิ่มขึ้น
- หากอินพุตของ PA เป็น thermal noise ของตัวต้านทาน 50 ohm จะอยู่ที่ -174 dBm/Hz และเมื่อผ่าน gain ของ PA 32 dB รวมถึง noise ของ PA เอง พื้นสัญญาณรบกวนที่เอาต์พุตจะอยู่ที่ประมาณ -135 dBm/Hz
- เมื่อผ่าน isolation ของสวิตช์ T/R แล้ว คาดว่า noise จาก PA ที่อินพุต LNA จะอยู่ที่ประมาณ -165 dBm/Hz
- สูงกว่าพื้น thermal noise ที่ -174 dBm/Hz จึงจำกัดประสิทธิภาพของตัวรับหากไม่ปิด PA
- ในการวัดจริง พื้นสัญญาณรบกวน ADC ของตัวรับที่เชื่อมต่อกับสวิตช์ T/R ขณะ PA on สูงกว่าตอนเชื่อมต่อกับพอร์ตอื่น 2.1 dB
- เมื่อพิจารณาความไม่แน่นอนของค่าคำนวณแล้ว ถือว่าสอดคล้องกับทฤษฎีได้ดี
- หากใช้เสาอากาศสองตัว สามารถสลับสวิตช์รับตัวที่สองไปที่ RX2 และปิด LNA ของ RX1 ได้ ทำให้ isolation ดีขึ้นจนการรั่วจาก PA ไม่ส่งผลต่อสัญญาณรบกวนของตัวรับ
ซอฟต์แวร์ตรวจจับและติดตาม
- pipeline สำหรับให้ได้การตรวจจับเป้าหมายจากตัวอย่าง ADC มีดังนี้
- ทำ pulse compression กับแต่ละพัลส์ที่รับ
- ทำ FFT ตามมิติของจำนวนพัลส์
- สร้าง range-Doppler map ที่มีแกนเป็นระยะทางและความเร็ว Doppler
- amplitude ของแต่ละ pixel ใน range-Doppler map แสดงกำลังรับของ bin ระยะทาง·ความเร็วนั้น
- bin ของเป้าหมายระบุด้วย อัลกอริทึม CFAR
- แทนที่จะใช้พื้นสัญญาณรบกวนคงที่ จะประมาณพื้นสัญญาณรบกวนเฉพาะที่จากค่าเฉลี่ยของ bin รอบข้าง
- หาก amplitude ของ bin ที่กำลังทดสอบมากกว่า threshold × พื้นสัญญาณรบกวนที่ประมาณไว้ จะทำเครื่องหมายเป็นเป้าหมาย
- พื้นสัญญาณรบกวนอาจเปลี่ยนไปตามเวลา, sidelobe ของเป้าหมายรอบข้าง และ clutter เช่น ground reflection
- false detection จาก sidelobe ของเป้าหมายขนาดใหญ่ถูกลบด้วย post-processing
- หากมีเป้าหมายที่ใหญ่กว่ามากในแถวหรือคอลัมน์เดียวกัน จะตัดสินว่าเป็น sidelobe
- เนื่องจาก amplitude ต้องมากกว่า bin ที่อยู่ติดกัน จึงตรวจพบเฉพาะตำแหน่ง peak ของ compressed pulse
- การติดตามเป้าหมายใช้ Stonesoup Python library
- ติดตามตำแหน่ง ความเร็ว และความไม่แน่นอนของแต่ละเป้าหมายด้วย Kalman filter
- การติดตั้งอิงจาก StoneSoup tutorial เป็นหลัก
- เรดาร์วัดระยะทางและความเร็ว แต่ไม่มีข้อมูลมุม จึงทำได้เพียง 1D tracking
- transition model ใช้ constant acceleration
- Kalman filter ประมาณความเร่งจากการวัดและทำนายตำแหน่งถัดไป
ผลการวัดจริงข้างถนน
- ติดตั้งเรดาร์ไว้ข้างถนนเพื่อวัดรถยนต์
- ความยาวพัลส์: 2 µs
- แบนด์วิดท์: 150 MHz
- จำนวนพัลส์: 1024
- ความยาว RX: 5 µs
- หน่วงเวลาก่อนพัลส์ถัดไป: 7 µs
- ใช้เสาอากาศ TX/RX แยกกัน 2 ตัว
- เสาอากาศเป็น horn antenna ที่ทำเอง
- แบนด์วิดท์ 150 MHz สอดคล้องกับ ความละเอียดระยะทาง 1 m
- ความละเอียดคือระยะต่ำสุดที่สามารถแยกเป้าหมายแบบจุดสองจุดออกจากกันได้
- ความแม่นยำของตำแหน่งเป้าหมายเดี่ยวอาจดีกว่าความละเอียดได้ ขึ้นกับ SNR
- ช่วงพัลส์ 12 µs สอดคล้องกับ pulse repetition frequency 83 kHz
- ที่ RF 5.8 GHz และ pulse repetition interval 12 µs ช่วงความเร็วแบบไม่กำกวมคือ -1077 m/s ~ +1077 m/s
- มากกว่าความเร็วเสียงกว่า 3 เท่า จึงไม่มีปัญหา speed ambiguity ในการวัดรถยนต์
- ความละเอียดความเร็ว Doppler คือ 2155 m/s ÷ 1024 = 2.1 m/s
- หากเป้าหมายสองจุดที่ระยะเดียวกันจะแยกออกจากกัน ต้องมีความเร็วต่างกันประมาณเท่านี้
- ความแม่นยำของความเร็วเป้าหมายเดี่ยวจะดีขึ้นตาม SNR
- Video 9 คือผลลัพธ์ที่ซิงค์วิดีโอจากมือถือกับ range-Doppler map
- CFAR detection แสดงด้วยเครื่องหมาย plus สีแดง
- แกน Y คือ Doppler velocity ค่าลบคือทิศทางที่เข้าใกล้เรดาร์
- แกน X คือระยะทาง
- เส้นขนาดใหญ่ที่ zero Doppler คือการสะท้อนจากเป้าหมายหยุดนิ่ง
- รถที่อยู่ใกล้สามารถจับคู่ภาพจากกล้องกับ radar detection ได้ง่าย
- มี shadowing ที่รถด้านหน้าบังวัตถุที่อยู่ไกลกว่า
- วัตถุที่มองเห็นไม่ชัดในกล้อง เรดาร์ก็ยังตรวจจับได้ดี
- ตรวจจับรถที่ระยะประมาณ 400 m ได้จนกว่าถนนจะโค้งและ line of sight ถูกบัง
- จากผลของ DC offset จึงเห็น sidelobe ขนาดใหญ่ในทิศทางระยะทาง
- ทำให้ตรวจจับวัตถุขนาดเล็กใกล้เป้าหมายขนาดใหญ่ได้ยาก
- รถที่ไกลที่สุดไม่ได้ถูก CFAR ตรวจจับตลอดเวลา เพราะ sidelobe ที่ซ้อนทับกัน
- Video 10 คือผลลัพธ์จากการใช้ Kalman tracker กับการวัดเดียวกัน
- tracker กำหนด CFAR detection ให้กับเป้าหมายที่มี ID เฉพาะ
- เมื่อ detection ของเป้าหมายไกลมีไม่พอเพราะ shadowing และ sidelobe จะสูญเสีย track และเมื่อปรากฏอีกครั้งจะถูกกำหนด ID ใหม่
การทดลองพัลส์ Low-IF และเสาอากาศเดี่ยว
- ในการทดลองบนถนนครั้งที่สอง ใช้แบนด์วิดท์ RF 75 MHz และความถี่มอดูเลชัน 38 MHz
- กวาดความถี่ตั้งแต่ 0.5 MHz ถึง 75.5 MHz
- พารามิเตอร์อื่นยังคงเดิม
- ตามที่คาดไว้ ไม่พบ sidelobe ที่กว้างมากจาก DC offset
- ความละเอียดระยะทางแย่ลงเหลือประมาณครึ่งหนึ่งของเดิม แต่ไม่มีปัญหากับการติดตามรถยนต์
- รถยนต์มีขนาดใหญ่ จึงยังแยกได้แม้ที่ความละเอียดระยะทาง 2 m
- ช่วงแรก การสะท้อนครั้งที่สองของรถที่วิ่งผ่านปรากฏเป็นระยะทางสองเท่าและความเร็วสองเท่า
- เป็นเส้นทางที่สัญญาณเดินทางจากรถยนต์ ไปยังป้ายใกล้เคียง กลับมาที่รถยนต์ แล้วกลับสู่เรดาร์
- แอมพลิจูดอ่อนและกระจายตัว จึงไม่ถูกตรวจจับเป็นเป้าหมาย CFAR
- จักรยานไม่ถูกตรวจจับเป็นเป้าหมาย
- ความเร็วไม่ได้แยกจากเป้าหมายที่หยุดนิ่งมากพอ
- เป้าหมายที่หยุดนิ่งรอบ ๆ low-speed target ถูกนำไปรวมในการคำนวณ noise floor ของ CFAR
- radar cross section ขนาดเล็กของจักรยานไม่สูงพอเมื่อเทียบกับ noise floor ที่เพิ่มขึ้น
- สำหรับการใช้งานนี้ ความถี่ RF ที่สูงกว่าจะได้เปรียบ
- หากเพิ่มความถี่ RF เป็นสองเท่า Doppler velocity bin separation จะเพิ่มเป็นสองเท่า
- ความเร็ว Doppler สูงสุดแบบไม่คลุมเครือจะลดลงครึ่งหนึ่ง
- เรดาร์วัดความเร็วของตำรวจโดยทั่วไปใช้ย่าน 10~35 GHz
- SNR ของวัตถุที่ตรวจจับได้อยู่ในระดับดีสำหรับระยะนี้
- ที่ระยะ 450 m ค่า SNR สูงสุดอยู่ที่ประมาณ 35 dB
- หลัง 550 m ไม่มี line of sight จึงไม่มี detection
- เมื่อระยะทางเพิ่มเป็น 2 เท่า SNR ควรลดลง 12 dB
- ในการทดลองเสาอากาศเดี่ยว ใช้พารามิเตอร์เดียวกับการวัด low-IF แต่ลดความยาวพัลส์จาก 2 µs เหลือ 1 µs
- ใช้เสาอากาศหนึ่งตัวโดยสลับระหว่างส่งและรับ
- 1 µs เท่ากับระยะทางที่แสงเดินทางได้ 300 m แต่เนื่องจากเป็นสัญญาณไป-กลับ ระยะต่ำสุดที่จะรับ full pulse ได้คือ 150 m
- เป้าหมายที่ใกล้กว่า 150 m ก็ยังตรวจจับได้ด้วย partial pulse
- หากใช้เพียง partial pulse ใน pulse compression ความละเอียดระยะทางและ SNR จะลดลง
- ในการตั้งค่านี้ ระยะตรวจจับต่ำสุดอยู่ที่ประมาณ 40 m
ค่าใช้จ่าย เอกสารที่เปิดเผย และการประเมินขั้นสุดท้าย
- มีการเผยแพร่ Schematic ของเรดาร์แล้ว
- หากปรับแก้เล็กน้อย ก็อาจมีประโยชน์ในฐานะ SDR ได้
- ยังใช้เป็นเอกสารอ้างอิงสำหรับแอปพลิเคชันอื่นที่ต้องใช้ FPGA ได้ด้วย
- เฟิร์มแวร์และซอฟต์แวร์ยังไม่ได้เปิดเผยในขณะนี้
- ยังไม่ได้ตัดสินใจว่าจะเผยแพร่หรือไม่
- ค่าใช้จ่ายมีดังนี้
- การผลิต PCB และประกอบ 2 แผ่น: 330 USD
- ชิ้นส่วนจาก Digikey ที่บัดกรีเอง: 225 EUR หรือประมาณ 240 USD
- ราคานี้รวม VAT 24% และค่าจัดส่งแล้ว
- มองว่าไม่มีเรดาร์บีบอัดพัลส์เชิงพาณิชย์ที่คล้ายกันในช่วงราคาเดียวกัน
- แม้แต่ SDR ที่มีแบนด์วิดท์ RF ใกล้เคียงกันก็ยังแพงกว่ามาก
- เรดาร์ที่สร้างเสร็จมีโครงสร้างโดยพื้นฐานคล้ายกับเรดาร์ขนาดใหญ่สมัยใหม่
- ใช้การประมวลผลสัญญาณดิจิทัล
- รองรับรูปคลื่นแบบกำหนดเองได้
- ด้วย pulse repetition frequency ที่สูง ทำให้ความเร็ว Doppler สูงสุดแบบไม่คลุมเครือมีค่ามาก
- เนื่องจากกำลังส่งและขนาดเสาอากาศเล็ก ระยะสูงสุดจึงสั้นกว่าเรดาร์ขนาดใหญ่
2 ความคิดเห็น
ความคิดเห็นบน Hacker News
นึกถึงบทความเก่าบนเว็บเดียวกัน https://hforsten.com/heartbeat-detection-with-radar.html
เคยซื้อ โมดูลเรดาร์ดอปเปลอร์ 10GHz/24GHz ราคาถูกจาก Amazon มาลองเล่น แค่ดูสเปกโตรแกรมก็จับการเต้นของหัวใจและการหายใจได้ชัดเจนแล้ว
ตัวอย่างตอนนั้นมีวิดีโอ 10GHz ที่เล็งไปที่พัดลมเพดาน https://www.youtube.com/watch?v=tIiFvByf1CQ, วิดีโอที่เล็งขึ้นจากใต้พื้นผิวซึ่งมีเหรียญถูกดีดให้ตกลงมา https://www.youtube.com/watch?v=8riretP8ylE, และวิดีโอที่เล็งไปยังเหรียญซึ่งหมุนอยู่บนพื้นผิว https://www.youtube.com/watch?v=5lnYvJoxRak
comb filtering ที่เกิดจากพื้นผิวหมุนนั้นเจ๋งมากจริง ๆ และโมดูล 10GHz ที่ใช้คือ https://www.amazon.com/HiLetgo-Microwave-Detector-Wireless-1...
เจ๋งเลย ตอนนี้ชิ้นส่วนสุดท้ายของระบบนำวิถีขีปนาวุธสำหรับชานเมืองก็ครบแล้ว ครอบครัว Jones คงอยู่รอดถึงงานบล็อกปาร์ตี้ปีนี้ได้ยาก
ครั้งหน้าหวังว่าจะพูดถึง เรดาร์ phased array ด้วย มีเพื่อนบ้านสองสามคนที่ไม่เก็บอึหมา เลยต้องการความแม่นยำสูงขึ้น
แต่เหมือนต้องถอดส่วนที่เกี่ยวกับเรดาร์ออกจากเฟิร์มแวร์/ซอฟต์แวร์ อาจเป็นเพราะ ITAR: https://forum.krakenrf.com/t/where-has-the-passive-radar-cod...
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...
http://www.interestingprojects.com/cruisemissile/
ต้องแก้ไขน้อยมากและยังเพิ่มอัตราขยายของเสาอากาศได้ด้วย ส่วนใหญ่เป็นโจทย์ด้านการสร้างทางกายภาพ จึงดูเข้าถึงได้แม้ในระดับงานอดิเรก
https://www.radartutorial.eu/06.antennas/Phased%20Array%20An...
เป็นงานที่ยอดเยี่ยมมาก น่าทึ่งที่คนคนเดียวทำสิ่งนี้ได้ และถ้านำไปวางบนแท่นหมุนก็จะกลายเป็น เครื่องตรวจจับเรดาร์ระนาบ
ถ้าเพิ่มการก้มเงยเข้าไปด้วย ก็ดูไม่ต่างจากเรดาร์อากาศยาน/อากาศมากนัก ต้นทุนถือว่าไม่น้อยในสกุลเงินท้องถิ่น และตามความเห็นอื่นคือ 570 ดอลลาร์ แต่ถ้าคิดถึงเวลาที่ลงไปก็เข้าใจได้
ถ้ามีงบพอ ก็น่าจะไม่มีขีดจำกัด อยากรู้ว่าจะตีความอย่างไรถ้าเครื่องบินทหารถูกเรดาร์ 6GHz ที่พลเรือนสร้างขึ้นติดตาม ระยะสูงสุดที่ประมาณไว้คือ 1200 ม. แต่ถ้าสมมติว่าเพิ่มเป็น 10 เท่าด้วยเสาอากาศที่ใหญ่ขึ้นหรืออย่างอื่นล่ะ
อย่างแรก เรดาร์บนอากาศยานมีตัวรับ และรับพัลส์ที่เรดาร์อื่นส่งออกมาได้ด้วย จริง ๆ แล้วการแจมเรดาร์ก็ทำงานในลักษณะเดียวกัน คืออัดกำลังส่งสูง ๆ ในย่าน/ความยาวคลื่นเดียวกันเพื่อเติมหน้าจอให้เต็มไปด้วย clutter
เรดาร์มีคุณลักษณะอย่างความถี่, ความถี่การทำซ้ำของพัลส์ (PRF), รูปคลื่น จึงระบุได้ค่อนข้างง่าย ย่านที่เรดาร์ทำงานถูกกำกับดูแล และหน่วยงานหลายแห่งทั้งทหารและพลเรือนก็ตรวจจับการส่งสัญญาณเรดาร์
โปรเจกต์ DIY เล็ก ๆ แบบนี้ไม่ใช่ภัยคุกคามใหญ่ แต่ถ้าส่งสัญญาณใกล้สถานีเรดาร์ โดยเฉพาะใกล้สถานที่ทางทหาร ก็อาจมีปัญหาได้อย่างรวดเร็วมาก
ไม่รู้ว่าที่ฟินแลนด์เป็นอย่างไร แต่ในที่ที่ผมอยู่ พลเรือนไม่ได้รับอนุญาตให้ทำ fingerprinting เรดาร์ทหารหรือสร้างฐานข้อมูล fingerprint ได้ โดยหลักแล้วมีแต่กองทัพที่ทำได้
พอเพิ่มกำลังส่ง ของแบบนี้ก็หลุดจากขอบเขต DIY อย่างรวดเร็ว อยากเห็นคนนี้ทำ เรดาร์ phased array ด้วย ที่มา: เคยทำงานเกี่ยวกับเรดาร์
ตัวรับสัญญาณเตือนภัยคุกคาม ของทหารเป็นระบบที่ปรับแต่งอย่างละเอียดให้เข้ากับสภาพแวดล้อมภัยคุกคามในการปฏิบัติการที่คาดไว้
ชาวฟินแลนด์ทำได้อีกแล้ว ความลึกและขอบเขตของสาขาเฉพาะทางที่เขาจัดการนั้นเหลือเชื่อจริง ๆ
วางแผนทั้งหมดแล้วไปผลิตที่จีน จากนั้นดูเหมือนว่าครึ่งหนึ่งของบอร์ดจะทำงานได้จริง ๆ ให้ความรู้สึกคล้ายกับทำแอปแบ็กเอนด์+ฟรอนต์เอนด์ให้สตาร์ตอัปตลอดหนึ่งเดือนแล้วภาวนาว่า “ขอให้มันรันได้เถอะ”
เกี่ยวกับส่วนในบทความที่ว่า “FPGA ราคา 15 ดอลลาร์ ที่ถูกจนน่าสงสัยนั้น วันที่และรหัสล็อตก็ถูกปิดทับไว้อย่างน่าสงสัยด้วย” ผมเคยถามฝ่ายปฏิบัติการของ GoPro ว่าของเลียนแบบจากจีนที่ดูเหมือนของแท้ราคา 400 ดอลลาร์นั้นเป็นไปได้อย่างไรในราคา 40 ดอลลาร์
คำตอบคือเขาหาชิปจากกองซากอิเล็กทรอนิกส์กันแบบตามตัวอักษรเลย เช่น ซื้อชิปหน่วยความจำเป็นชุดที่ไม่ผ่านการทดสอบ ซึ่งอาจทำงานได้เฉพาะในช่วงอุณหภูมิบางช่วงเท่านั้น
เขาบอกว่าชิ้นส่วนอื่น ๆ ก็มักถูกคัดเลือกให้ตรงสเปกโดยให้ทำงานได้ประมาณ 6 เดือน แทนที่จะเป็นค่าเฉลี่ย 6 ปี เพราะรู้ว่าผลิตภัณฑ์ “แกดเจ็ต” แบบนี้ส่วนใหญ่ถูกใช้แค่เล็กน้อยช่วงสุดสัปดาห์ แล้วก็ถูกเก็บเข้าตู้
สำหรับโปรเจกต์ R&D แบบนี้อาจพอใช้ได้ แต่ถ้าจะทำผลิตภัณฑ์เชิงพาณิชย์ต้องระวัง นอกจากนี้ยังมีมิติทางการเมือง และอาจมีความหวาดระแวงปนอยู่บ้าง แต่ก็มีร่างกฎหมายที่ห้ามใช้ชิ้นส่วนซิลิคอนจากจีนในผลิตภัณฑ์สำหรับบางตลาดออกมาด้วย
ตัวอย่างที่ดีคือ AlienTek DP100 แหล่งจ่ายไฟไมโครสำหรับแล็บ USB-C 100W ราคา 45 ดอลลาร์: https://www.youtube.com/watch?v=Pd6LG7iP2GQ
ถ้าของคล้ายกันติดโลโก้ Digilent ก็คงราคาประมาณ 500 ดอลลาร์
และ GoPro ของแท้เองก็มีอัตราเสียสูงกว่าค่าเฉลี่ย แถมมีปัญหาที่เครื่องร้อนเกินเองหรือปิดแบบสุ่มตอนบันทึก 4K
สุดยอดจริง ๆ
บทความก่อนหน้า https://hforsten.com/radar-phase-measurements.html และ https://hforsten.com/6-ghz-frequency-modulated-radar.html ช่วยงาน ระบบโซนาร์ ของผมได้มาก
บทความนี้ก็อธิบายหัวข้อที่ซับซ้อนได้ดีมากเช่นกัน ตัวอย่างงานที่เกี่ยวข้องอยู่ที่ https://twitter.com/alextoussss/status/1756371553460121766
เป็นผลงานที่งดงาม Henrik ทำ โปรเจกต์เรดาร์และการเก็บข้อมูล RF ในระดับที่แทบไม่ค่อยเห็นในเอกสารสาธารณะมาเป็นเวลานานแล้ว และคุณภาพการทำเอกสารก็สูงมาก
งานยอดเยี่ยมมาก ไม่ค่อยมีให้เห็นบ่อยที่จะแสดงความลึกทางเทคนิคแบบนี้ได้ครบทั้งสแตก ตั้งแต่ RF, ฮาร์ดแวร์, เฟิร์มแวร์, ซอฟต์แวร์
ยิ่งอ่านบทความก็ยิ่งชอบมากขึ้นเรื่อย ๆ
สงสัยว่าทำไมถึงวางระนาบกราวด์ไว้ที่ ชั้น 2 และชั้น 6 ไม่ใช่ชั้น 1 และชั้น 6
ในฐานะคนที่ไม่มีประสบการณ์ออกแบบ PCB ความถี่สูง ผมคงคิดว่าจะทำชิลด์ด้วยกราวด์ แล้ววางระนาบไฟเลี้ยงไว้ชั้น 3 หรือ 4 แน่ ๆ คงมีเหตุผลที่ดี แต่ผมมองไม่ออก
ต้องตัดระนาบกราวด์รอบชิปทุกตัว และสัญญาณความเร็วสูงต้องการระนาบกราวด์ที่ต่อเนื่องจริง ๆ โดยเฉพาะ RF IC ต้องมีทางเข้าถึงกราวด์ที่สั้น
ถ้าต้องการลดระยะระหว่าง IC กับระนาบกราวด์ให้ต่ำที่สุด ชั้น 2 คือชั้นที่ดีที่สุด
เพื่อรักษา อิมพีแดนซ์ลักษณะเฉพาะ ค่าหนึ่ง ต้องมีระนาบ (GND) อยู่ห่างจากลายทองแดงที่มีความกว้างกำหนดในระยะที่กำหนด ถ้าไม่มีระนาบอยู่ด้านบนหรือล่างของสัญญาณ ก็สร้างค่าอิมพีแดนซ์ที่ต้องการไม่ได้
จะเติม copper pour เพิ่มบนชั้นบนและล่างก็ได้ แต่จะมีผลต่ออิมพีแดนซ์เพียงเล็กน้อย
จากภาพดูเหมือนว่าสัญญาณอยู่ที่ชั้น 1 (แดง), ชั้น 3 (ส้ม), ชั้น 6 (น้ำเงิน) กราวด์อยู่ที่ชั้น 2 (เขียว) และชั้น 5 (ชมพู) ส่วนไฟเลี้ยงอยู่ที่ชั้น 4 (สีฟ้าอมเขียว)
เมื่อลองเทียบ via บางจุด ดูเหมือนชั้น 2 และชั้น 5 เชื่อมต่อกันแน่ ๆ
จะเห็นว่าบริเวณรอบ ๆ นั้นก็ไม่มี copper pour เช่นกัน ลำดับในภาพไม่แน่ใจนัก แต่ดูเหมือน 123/654 อยู่พักหนึ่ง แล้วเหมือนเนื้อหาจะผิด และน่าจะเป็น 123/456 โดยมีชั้น 2 กับชั้น 4 เป็น GND
ดูเหมือนสัญญาณดิจิทัลความเร็วต่ำภายในถูกประกบอยู่ระหว่างระนาบกราวด์/ไฟเลี้ยง หรือถ้าแก้แล้วคือกราวด์/กราวด์ ซึ่งอาจเป็นตัวเลือกที่ดี เพราะถ้าแยกออกจาก PCB อื่น ๆ ปกติมันมักเป็นแหล่งกำเนิดสัญญาณรบกวนที่ใหญ่ที่สุด
ระนาบไฟเลี้ยง/กราวด์ควรอยู่ชิดกันมาก ที่ความถี่ระดับนี้ บายพาสคาปาซิเตอร์แทบทำหน้าที่ไม่ได้แล้ว
พูดถึงเรดาร์ ตอนนี้เรดาร์ที่ใช้การได้มีราคาแค่ 34 เซนต์ แล้ว: https://www.aliexpress.com/item/1005006240906322.html
ชิปนั้นเดิมทีไม่ได้ออกแบบมาสำหรับงานนี้ด้วยซ้ำ แต่เป็นการนำ ชิปเซ็นเซอร์ PIR มาใช้ใหม่
แกนหลักของเรดาร์มีแค่ทรานซิสเตอร์หลาย GHz ตัวเดียวตรงกลางครึ่งซ้ายของ PCB และวงจรฟีดแบ็กที่ชาญฉลาดมากซึ่งทำจากลวดลายทองแดง ที่น่าจะมีใครบางคนออกแบบและปรับแต่งมาหลายปี
วิศวกรรมสุดเพี้ยนที่เกินกว่าจะจินตนาการได้...
ใกล้เคียงกับภาพวิศวกรที่ฉันเคยนึกฝันไว้ราง ๆ มากเกินไป