2 คะแนน โดย GN⁺ 2024-04-05 | 2 ความคิดเห็น | แชร์ทาง WhatsApp
  • จากประสบการณ์ทำ เรดาร์ 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 ความคิดเห็น

 
GN⁺ 2024-04-05
ความคิดเห็นบน 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 ด้วย มีเพื่อนบ้านสองสามคนที่ไม่เก็บอึหมา เลยต้องการความแม่นยำสูงขึ้น

  • เป็นงานที่ยอดเยี่ยมมาก น่าทึ่งที่คนคนเดียวทำสิ่งนี้ได้ และถ้านำไปวางบนแท่นหมุนก็จะกลายเป็น เครื่องตรวจจับเรดาร์ระนาบ
    ถ้าเพิ่มการก้มเงยเข้าไปด้วย ก็ดูไม่ต่างจากเรดาร์อากาศยาน/อากาศมากนัก ต้นทุนถือว่าไม่น้อยในสกุลเงินท้องถิ่น และตามความเห็นอื่นคือ 570 ดอลลาร์ แต่ถ้าคิดถึงเวลาที่ลงไปก็เข้าใจได้
    ถ้ามีงบพอ ก็น่าจะไม่มีขีดจำกัด อยากรู้ว่าจะตีความอย่างไรถ้าเครื่องบินทหารถูกเรดาร์ 6GHz ที่พลเรือนสร้างขึ้นติดตาม ระยะสูงสุดที่ประมาณไว้คือ 1200 ม. แต่ถ้าสมมติว่าเพิ่มเป็น 10 เท่าด้วยเสาอากาศที่ใหญ่ขึ้นหรืออย่างอื่นล่ะ

    • กฎกำกับความแรงสัญญาณอิงตาม ERP ดังนั้นถ้าใช้เสาอากาศที่มีทิศทางสูงกว่า การใช้ย่าน 6GHz อาจไม่ถูกกฎหมายอีกต่อไป
    • มีหลายวิธี
      อย่างแรก เรดาร์บนอากาศยานมีตัวรับ และรับพัลส์ที่เรดาร์อื่นส่งออกมาได้ด้วย จริง ๆ แล้วการแจมเรดาร์ก็ทำงานในลักษณะเดียวกัน คืออัดกำลังส่งสูง ๆ ในย่าน/ความยาวคลื่นเดียวกันเพื่อเติมหน้าจอให้เต็มไปด้วย clutter
      เรดาร์มีคุณลักษณะอย่างความถี่, ความถี่การทำซ้ำของพัลส์ (PRF), รูปคลื่น จึงระบุได้ค่อนข้างง่าย ย่านที่เรดาร์ทำงานถูกกำกับดูแล และหน่วยงานหลายแห่งทั้งทหารและพลเรือนก็ตรวจจับการส่งสัญญาณเรดาร์
      โปรเจกต์ DIY เล็ก ๆ แบบนี้ไม่ใช่ภัยคุกคามใหญ่ แต่ถ้าส่งสัญญาณใกล้สถานีเรดาร์ โดยเฉพาะใกล้สถานที่ทางทหาร ก็อาจมีปัญหาได้อย่างรวดเร็วมาก
      ไม่รู้ว่าที่ฟินแลนด์เป็นอย่างไร แต่ในที่ที่ผมอยู่ พลเรือนไม่ได้รับอนุญาตให้ทำ fingerprinting เรดาร์ทหารหรือสร้างฐานข้อมูล fingerprint ได้ โดยหลักแล้วมีแต่กองทัพที่ทำได้
      พอเพิ่มกำลังส่ง ของแบบนี้ก็หลุดจากขอบเขต DIY อย่างรวดเร็ว อยากเห็นคนนี้ทำ เรดาร์ phased array ด้วย ที่มา: เคยทำงานเกี่ยวกับเรดาร์
    • ไม่มีความรู้เฉพาะทาง แต่คิดว่าไม่น่าจะทำให้เกิดสัญญาณเตือนภัยคุกคามร้ายแรงถึงขั้นนั้น
      ตัวรับสัญญาณเตือนภัยคุกคาม ของทหารเป็นระบบที่ปรับแต่งอย่างละเอียดให้เข้ากับสภาพแวดล้อมภัยคุกคามในการปฏิบัติการที่คาดไว้
    • เครื่องบินทหารจะได้รับการแจ้งเตือนหรือเสียงเตือน เช่น คำเตือนเรดาร์ หรือ การล็อกเป้าด้วยเรดาร์
    • ถ้าเป็นสหรัฐฯ คิดว่า FAA หรือ FCC น่าจะมีเขตอำนาจเหนืออุปกรณ์แบบนี้
  • ชาวฟินแลนด์ทำได้อีกแล้ว ความลึกและขอบเขตของสาขาเฉพาะทางที่เขาจัดการนั้นเหลือเชื่อจริง ๆ
    วางแผนทั้งหมดแล้วไปผลิตที่จีน จากนั้นดูเหมือนว่าครึ่งหนึ่งของบอร์ดจะทำงานได้จริง ๆ ให้ความรู้สึกคล้ายกับทำแอปแบ็กเอนด์+ฟรอนต์เอนด์ให้สตาร์ตอัปตลอดหนึ่งเดือนแล้วภาวนาว่า “ขอให้มันรันได้เถอะ”

    • ในการพัฒนาฮาร์ดแวร์ เรื่องแบบนั้นค่อนข้างปกติ คนทำซอฟต์แวร์ใช้ชีวิตสบายเกินไปแล้ว
  • เกี่ยวกับส่วนในบทความที่ว่า “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 แน่ ๆ คงมีเหตุผลที่ดี แต่ผมมองไม่ออก

    • ใน PCB ความเร็วสูง โดยปกติจะไม่ใช้ชั้นบนและชั้นล่างเป็นระนาบกราวด์ เพราะชั้นเหล่านั้นมีชิ้นส่วนอยู่
      ต้องตัดระนาบกราวด์รอบชิปทุกตัว และสัญญาณความเร็วสูงต้องการระนาบกราวด์ที่ต่อเนื่องจริง ๆ โดยเฉพาะ RF IC ต้องมีทางเข้าถึงกราวด์ที่สั้น
      ถ้าต้องการลดระยะระหว่าง IC กับระนาบกราวด์ให้ต่ำที่สุด ชั้น 2 คือชั้นที่ดีที่สุด
    • สัญญาณความเร็วสูงมักเดินลายบนชั้นบนและชั้นล่างเพื่อหลีกเลี่ยง via ที่ทำให้เกิดอิมพีแดนซ์ไม่ต่อเนื่อง แม้จะทำ backdrill ก็ยังแพง
      เพื่อรักษา อิมพีแดนซ์ลักษณะเฉพาะ ค่าหนึ่ง ต้องมีระนาบ (GND) อยู่ห่างจากลายทองแดงที่มีความกว้างกำหนดในระยะที่กำหนด ถ้าไม่มีระนาบอยู่ด้านบนหรือล่างของสัญญาณ ก็สร้างค่าอิมพีแดนซ์ที่ต้องการไม่ได้
      จะเติม copper pour เพิ่มบนชั้นบนและล่างก็ได้ แต่จะมีผลต่ออิมพีแดนซ์เพียงเล็กน้อย
    • ไม่แน่ใจว่าคำอธิบายในบทความถูกหรือไม่
      จากภาพดูเหมือนว่าสัญญาณอยู่ที่ชั้น 1 (แดง), ชั้น 3 (ส้ม), ชั้น 6 (น้ำเงิน) กราวด์อยู่ที่ชั้น 2 (เขียว) และชั้น 5 (ชมพู) ส่วนไฟเลี้ยงอยู่ที่ชั้น 4 (สีฟ้าอมเขียว)
      เมื่อลองเทียบ via บางจุด ดูเหมือนชั้น 2 และชั้น 5 เชื่อมต่อกันแน่ ๆ
    • ผมไม่ใช่นักออกแบบ แต่ดูเหมือนตั้งใจลด โหลดเชิงความจุ ระหว่างสัญญาณความถี่สูงแบบโค้งไปมาที่แมตช์กันด้านบนกับ copper pour ด้านล่าง และทำให้การโมเดลกับการติดตั้ง IC ง่ายขึ้นโดยไม่มี copper pour
      จะเห็นว่าบริเวณรอบ ๆ นั้นก็ไม่มี copper pour เช่นกัน ลำดับในภาพไม่แน่ใจนัก แต่ดูเหมือน 123/654 อยู่พักหนึ่ง แล้วเหมือนเนื้อหาจะผิด และน่าจะเป็น 123/456 โดยมีชั้น 2 กับชั้น 4 เป็น GND
      ดูเหมือนสัญญาณดิจิทัลความเร็วต่ำภายในถูกประกบอยู่ระหว่างระนาบกราวด์/ไฟเลี้ยง หรือถ้าแก้แล้วคือกราวด์/กราวด์ ซึ่งอาจเป็นตัวเลือกที่ดี เพราะถ้าแยกออกจาก PCB อื่น ๆ ปกติมันมักเป็นแหล่งกำเนิดสัญญาณรบกวนที่ใหญ่ที่สุด
      ระนาบไฟเลี้ยง/กราวด์ควรอยู่ชิดกันมาก ที่ความถี่ระดับนี้ บายพาสคาปาซิเตอร์แทบทำหน้าที่ไม่ได้แล้ว
  • พูดถึงเรดาร์ ตอนนี้เรดาร์ที่ใช้การได้มีราคาแค่ 34 เซนต์ แล้ว: https://www.aliexpress.com/item/1005006240906322.html
    ชิปนั้นเดิมทีไม่ได้ออกแบบมาสำหรับงานนี้ด้วยซ้ำ แต่เป็นการนำ ชิปเซ็นเซอร์ PIR มาใช้ใหม่
    แกนหลักของเรดาร์มีแค่ทรานซิสเตอร์หลาย GHz ตัวเดียวตรงกลางครึ่งซ้ายของ PCB และวงจรฟีดแบ็กที่ชาญฉลาดมากซึ่งทำจากลวดลายทองแดง ที่น่าจะมีใครบางคนออกแบบและปรับแต่งมาหลายปี

 
illuza 2024-04-06

วิศวกรรมสุดเพี้ยนที่เกินกว่าจะจินตนาการได้...

ใกล้เคียงกับภาพวิศวกรที่ฉันเคยนึกฝันไว้ราง ๆ มากเกินไป