ESP32 SDR รับความถี่อื่นได้อย่างไรด้วย RF Converter
ESP32 ที่เราเคยมองเป็นแค่ Wi-Fi Microcontroller กำลังถูกทดลองใช้เป็น Software Defined Radio ผ่านเส้นทาง Raw I/Q ที่ไม่ได้ถูกออกแบบมาให้ผู้ใช้ทั่วไปเข้าถึง แต่มีคำถามตามมาทันที: ถ้า RF Front-end ของมันอยู่แถว Wi-Fi แล้วเราอยากฟังความถี่อื่นล่ะ?
วิธีหนึ่งไม่ใช่การบังคับ ESP32 ให้จูนลงไปหาความถี่นั้นโดยตรง แต่คือการใช้เทคนิคเก่าแก่ของวงการวิทยุ: ย้าย Spectrum ของสัญญาณเป้าหมาย เข้ามาอยู่ในย่านที่ Receiver รับได้
อุปกรณ์ที่ทำหน้าที่นี้เรียกว่า Frequency Converter และหัวใจของมันคือ Mixer, Local Oscillator และ Filter
- ESP32 SDR Hack ไม่ได้ทำให้ RF Front-end รองรับทุกความถี่โดยอัตโนมัติ
- Frequency Converter ใช้ Mixer เพื่อสร้าง Sum และ Difference Frequency
- Receive Converter โดยพื้นฐานต้องมี Input Filter, Mixer, Local Oscillator และ Output Filter
- Hackaday ใช้ 400–500 MHz กับ LO 2 GHz เป็นตัวอย่างเพื่อย้ายสัญญาณไปยัง 2.4–2.5 GHz
- ในตัวอย่างตัวเลขนี้ Product ที่อยู่ในย่าน 2.4–2.5 GHz คือ Sum Product
- Low-pass Filter ใช้ช่วยจำกัด RF Input และลดสิ่งที่ไม่ต้องการ
- Output Filter ต้องเลือกให้ผ่านย่านที่ Receiver ต้องการและกด Signal Product อื่น
- Diode Mixer แบบง่ายสามารถใช้ Schottky Diode เป็น Non-linear Element ได้ในเชิงแนวคิด
- วงจรที่ดูง่ายบนกระดาษยังต้องคำนึงถึง RF Layout, Ground Plane และ Impedance เมื่อทำงานระดับ GHz
- บทความ Hackaday ไม่ใช่ Ready-to-build Converter Design
ESP32 กลายเป็น SDR ได้อย่างไร?
โครงการ ESP-SDR แสดงให้เห็นว่า Radio Hardware ภายใน ESP32 บางรุ่น มีเส้นทาง Raw I/Q ที่สามารถนำข้อมูลสัญญาณวิทยุออกมาประมวลผลด้วย Software ได้
ESPARGOS อธิบายว่า Firmware ของตน ใช้ Undocumented Debug Path เพื่อข้าม Fixed-function Wi-Fi Modem และเข้าถึง Raw I/Q Samples จาก Receiver ภายในชิป
นั่นทำให้ ESP32 สามารถทำสิ่งที่ใกล้เคียง SDR Receiver ได้ เช่นดู Spectrum หรือวิเคราะห์สัญญาณวิทยุ แทนการมองเห็นเพียง Wi-Fi Packet
ปัญหาคือ RF Front-end ยังมีข้อจำกัดด้านความถี่
การเข้าถึง Raw I/Q ไม่ได้หมายความว่า Analog RF Front-end ภายในชิปจะมี Performance เท่ากัน ทุก Frequency
Hackaday ใช้ย่านประมาณ 2.4–2.5 GHz เป็นกรอบอธิบาย เพราะเป็นบริเวณของ Wi-Fi 2.4 GHz ที่ Hardware ถูกออกแบบมา
ESP-SDR Firmware ปัจจุบัน เปิดให้ทดลอง Tune นอกย่านดังกล่าวได้กว้างกว่าเดิม แต่ตัว Software เองก็เตือนเมื่อออกนอก Wi-Fi Band
ถ้าจูน Receiver ไปหา Frequency ไม่ได้ ก็ย้าย Frequency เข้ามาหา Receiver
แนวคิดของ Frequency Converter คือไม่เปลี่ยน Receiver หลัก แต่เพิ่ม RF Stage ไว้ด้านหน้า
↓ Input Filter
↓ Mixer + Local Oscillator
↓ Output Filter
↓ ESP32 SDR
Mixer จะสร้าง Frequency Product ใหม่ จาก RF Input และ Local Oscillator จากนั้น Filter เลือกเฉพาะ Product ที่เราต้องการส่งต่อไปยัง Receiver
Mixer ทำอะไรกับ Frequency?
ถ้านำ Signal สอง Frequency เข้า Non-linear Mixer Output จะมี Frequency Product หลายตัว โดยสองตัวพื้นฐานที่สำคัญคือ:
Difference = |RF - LO|
นี่คือหลักการเดียวกับ Analog Radio และ TV Receiver แบบ Superheterodyne ที่ใช้ Local Oscillator ช่วยย้าย Station ที่เลือก ไปยัง Intermediate Frequency
ตัวอย่าง: ย้าย 400–500 MHz ไปให้ ESP32 เห็นที่ 2.4–2.5 GHz
Hackaday ใช้ตัวอย่างสมมติว่า ESP32 Receiver ทำงานในช่วง 2.4–2.5 GHz และเราอยากรับ 400–500 MHz
ถ้าใช้ Local Oscillator 2 GHz Mixer จะสร้าง Product ที่รวม Frequency เข้าด้วยกัน
| ส่วน | Frequency ในตัวอย่าง |
|---|---|
| RF Input | 400–500 MHz |
| Local Oscillator | 2 GHz |
| Sum Product | 2.4–2.5 GHz |
| Receiver | ESP32 SDR ในตัวอย่าง 2.4–2.5 GHz |
Receive Converter ต้องมีอะไรบ้าง?
จาก Architecture ที่ Hackaday เสนอ Block หลักมี 4 ส่วน:
- Input Filter
- Mixer
- Local Oscillator
- Output Filter
Amplifier สามารถเพิ่มได้ตาม Design แต่บทความต้นฉบับไม่ได้ให้ Gain, Noise Figure หรือ Circuit สำหรับ Amplifier แบบพร้อมสร้าง
Input Low-pass Filter ช่วยกัน Signal ที่ไม่ต้องการ
ถ้าต้องการรับ Signal ที่ต่ำกว่าย่านของ ESP32 Hackaday เสนอให้ Input Stage ใช้ Low-pass Filter
จุดประสงค์คือช่วย Reject Signal ที่สูงกว่าช่วง Input ที่ต้องการ และช่วยลด Local Oscillator Leakage ไม่ให้ย้อนออกไปทาง Antenna
Pi Network ที่ยกตัวอย่าง มี Inductor อยู่ใน Signal Path และ Capacitor ลง Ground ทั้งสองด้าน
Local Oscillator คือ Reference ที่ใช้ย้าย Frequency
Local Oscillator หรือ LO คือ Signal ความถี่ที่นำไป Mix กับ RF Input
Hackaday เสนอทางเลือกไว้หลายแนวคิด ตั้งแต่ Oscillator/PLL Module ไปจนถึงการทดลองใช้ ESP32 อีกตัว เป็น RF Source
อย่างไรก็ตาม Source ไม่ได้ให้ Firmware หรือคำสั่งสำหรับสร้าง LO ที่ 2 GHz แบบพร้อมใช้งาน
Diode Mixer แบบง่ายใช้ Non-linearity ของ Schottky Diode
Mixer ไม่จำเป็นต้องเป็น IC ซับซ้อนเสมอไป เพราะอุปกรณ์ Non-linear สามารถสร้าง Frequency Product จาก Signal สองตัวได้
Hackaday เสนอ Fast Small-signal Schottky Diode ที่มี Capacitance ต่ำ เป็นแนวทาง Mixer แบบง่าย
Circuit ในภาพยังมี Coupling Structure และ Output Filter เพื่อส่ง Product ที่ต้องการ ไปยัง Receiver
Output Filter ต้องเลือก Product ที่ ESP32 ต้องการรับ
Mixer ไม่ได้สร้างเพียง Frequency เดียว แต่มีทั้ง Sum, Difference และ Product อื่นจาก Non-linearity
Output Filter จึงมีหน้าที่ ปล่อยเฉพาะช่วง Frequency ที่ Receiver ต้องการ และช่วยลด Local Oscillator หรือ Signal Product ที่ไม่ต้องการ
ในกรณี ESP32 2.4 GHz Hackaday ชี้ให้เห็นว่า Filter สำหรับ Wi-Fi Band มีอยู่แล้วในอุตสาหกรรม และยก TDK RF Filter Range เป็นแหล่งให้ศึกษาเพิ่มเติม
วงจรดูง่าย แต่ GHz RF Layout ไม่ได้ง่ายตามจำนวน Component
ในภาพ Mixer มีเส้น PCB ที่ทำหน้าที่เป็น Coupler ซึ่ง Hackaday อธิบายว่า เป็น Parallel PCB Traces เหนือ Ground Plane
ผู้เขียนกล่าวถึง 50Ω เป็น Impedance ที่มักใช้ และ R1 ใน Diagram ก็แสดงค่า 50Ω
แต่ PCB Trace ที่ระดับ GHz ไม่ได้กำหนด Impedance จากค่า Resistor อย่างเดียว
Geometry ของ Trace, ระยะห่าง, Ground Plane และ PCB Stack-up ล้วนมีผล
Converter กับ Transverter ต่างกันอย่างไร?
| คำ | แนวคิด |
|---|---|
| Receive Converter | ย้าย RF Input จากย่านหนึ่ง ไปยังย่านที่ Receiver รับได้ |
| Transverter | ใช้ Frequency Conversion ทั้งฝั่ง Receive และ Transmit |
ในโลก Amateur Radio Transverter ถูกใช้มานาน เพื่อให้ Radio ชุดเดิม ทำงานใน Frequency Band อื่น ผ่าน External RF Conversion Stage
แล้วฝั่ง Transmit ของ ESP32 ทำได้หรือยัง?
สถานะต้องแยกเป็น Project ไม่ควรเหมารวมว่า ESP32 SDR ทุกแบบรองรับ Transmit
ESPARGOS ESP-SDR Project หลัก ปัจจุบันยังระบุว่า Firmware Implement Reception Only
แต่มี Project แยกอย่าง esp32-sdr-trx ที่ทดลองใช้ ESP32-S3 เป็น Software-defined Transmitter สำหรับ FM, SSB และ RTTY ในย่าน 13 cm Amateur Radio
Repository ของ Project ดังกล่าว ระบุ Transmitter เป็น Experimental และผลหลักมาจาก Board จำนวนจำกัด
สิ่งที่บทความ Hackaday ยังไม่ได้ให้
ผู้เขียนระบุเองว่า เนื้อหานี้ยังไม่ใช่ Ready-to-go Receive Converter Design
Source ยังไม่ได้ให้ค่าที่เพียงพอสำหรับ:
- ค่า Inductor และ Capacitor ของ Filter
- Exact Filter Cutoff
- Schottky Diode Part Number
- Required LO Power
- Conversion Loss
- Mixer Isolation
- Noise Figure
- Amplifier Gain
- PCB Stack-up
- Trace Width
- Coupler Length / Spacing
- Measured Sensitivity หลัง Conversion
- Spurious Suppression
- Harmonic Performance
Maker เรียนรู้อะไรจากแนวคิดนี้ได้?
Lesson สำคัญของบทความนี้ ไม่ได้อยู่ที่ ESP32 เพียงอย่างเดียว แต่อยู่ที่วิธีคิดแบบ RF System
- Receiver มี Frequency Range ของมัน
- ถ้า Signal อยู่คนละย่าน เราสามารถ Frequency-convert ก่อนเข้า Receiver
- Mixer สร้างทั้ง Sum และ Difference
- Filter เป็นตัวเลือก Product ที่ต้องการ
- Local Oscillator Quality มีผลต่อ Conversion System
- ที่ GHz Frequency PCB ไม่ได้เป็นเพียงสายไฟเชื่อม Component
- Receiver Prototype กับ RF Design ที่ Characterize แล้ว เป็นคนละระดับกัน
ถ้ากำลังทดลอง ESP32, SDR หรือ RF Project สามารถสอบถามทีม GlobalByte เรื่อง Development Board, Module และอุปกรณ์ที่เหมาะกับ Requirement ของ Project ได้
หัวข้อนี้เป็น RF Concept ที่มีหลาย Caveat แนะนำอ่าน Source ต้นฉบับควบคู่กัน
โดยเฉพาะก่อนเลือก Mixer, Filter, Local Oscillator หรือทดลอง Transmit จริง ควรอ่าน Source ของ ESP-SDR และ RF Design Reference เพิ่มเติม
FAQ — ESP32 SDR และ Frequency Converter
1. ESP32 ใช้เป็น SDR ได้จริงไหม?
มี Project ที่เข้าถึง Raw I/Q จาก Radio Hardware ของ ESP32 และใช้ข้อมูลนั้นสำหรับ SDR Reception ได้ แต่ Capability แตกต่างตาม Chip และ Firmware
2. ESP32 รับ 400 MHz โดยตรงได้ไหม?
Source หลักไม่ได้ยืนยัน Reliable Direct Reception ที่ 400 MHz แนวทางในบทความ Hackaday คือใช้ Frequency Converter เพื่อย้าย 400 MHz Band เข้าไปยังช่วงที่ Receiver ใช้งานได้
3. Mixer คืออะไร?
เป็น Non-linear RF Stage ที่นำ Frequency สองตัวมาผสมกัน และสร้าง Frequency Product รวมถึง Sum และ Difference
4. ถ้า RF = 400 MHz และ LO = 2 GHz จะได้อะไร?
Mixer สามารถสร้าง Product รวมถึง Sum ที่ 2.4 GHz และ Difference ที่ 1.6 GHz ตามหลัก Frequency Mixing
5. ทำไมต้องมี Filter ก่อน Mixer?
เพื่อช่วยจำกัด RF Input ที่ไม่ต้องการ และช่วยลด Signal หรือ LO Leakage ที่ไม่ควรย้อนออกไปทาง Antenna
6. ทำไมต้องมี Filter หลัง Mixer?
เพราะ Mixer สร้างหลาย Frequency Product Output Filter จึงใช้เลือก Band ที่ต้องการส่งต่อไปยัง Receiver
7. ใช้ Schottky Diode รุ่นไหน?
Source ไม่ได้ระบุ Part Number เพียงแนะนำ Fast Small-signal Schottky Diode ที่มี Capacitance ต่ำในเชิงแนวคิด
8. Low-pass Filter ต้องใช้ค่า C และ L เท่าไร?
Source ไม่ได้ระบุ เพราะค่าขึ้นกับ Frequency และ Design Requirement ของระบบ
9. ใช้ ESP32 อีกตัวเป็น Local Oscillator ได้ไหม?
Hackaday เสนอเป็นแนวคิด แต่ Source ไม่ได้ให้ Ready-to-use 2 GHz LO Firmware หรือ Measurement สำหรับ Converter นี้
10. ESP32 SDR ส่งสัญญาณได้หรือไม่?
ต้องแยกตาม Project ESPARGOS ESP-SDR หลักยังเป็น Receive-only แต่มี Project แยกที่ทดลอง Transmit ด้วย ESP32-S3 ได้ในบาง Mode และ Frequency
11. Transmit Project พร้อมใช้งานทั่วไปแล้วหรือยัง?
Project ที่ตรวจระบุสถานะ Transmitter ว่า Experimental และผลทดสอบมาจาก Hardware จำนวนจำกัด
12. Converter กับ Transverter ต่างกันอย่างไร?
Converter ใช้ Frequency Conversion ในเส้นทางรับเป็นหลัก ส่วน Transverter ใช้แนวคิดเดียวกัน สำหรับทั้ง Receive และ Transmit
13. วงจรใน Hackaday ต่อบน Breadboard ได้ไหม?
Source ไม่ได้แนะนำ Breadboard และเมื่อทำงานในระดับ GHz RF Layout, Ground Plane และ Parasitic มีผลต่อการทำงานอย่างมาก
14. PCB Trace ต้องกว้างเท่าไร?
Source ไม่ได้ระบุ เพราะต้องมี PCB Stack-up, Dielectric และ Geometry ก่อนคำนวณ Controlled Impedance
15. Converter ตัวอย่างมี Conversion Loss เท่าไร?
Source ไม่ได้ระบุ Measurement ของ Conversion Loss
16. สามารถใช้ Converter แบบนี้ส่ง RF ได้ไหม?
หลัก Frequency Conversion สามารถนำไปใช้ฝั่ง Transmit ได้ แต่ต้องออกแบบ Component, Power Handling, Filtering และ Amplification ให้เหมาะสม ซึ่ง Source ไม่ได้ให้ Ready-to-build TX Design
17. ส่ง RF ด้วย ESP32 ได้ทุก Frequency ไหม?
Source ไม่รองรับข้อสรุปนั้น Frequency Range และ Capability ต้องดูตาม Chip, Firmware และผลทดสอบของแต่ละ Project
18. ต้องมีใบอนุญาตสำหรับการทดลอง Transmit หรือไม่?
ขึ้นกับ Frequency, Power, รูปแบบการใช้งาน และข้อกำหนดของประเทศนั้น Project Experimental ที่ตรวจ ระบุว่าการส่งใน Amateur Band ต้องมี Amateur Radio Licence ที่เกี่ยวข้อง
สรุป: อยากให้ SDR ฟัง Frequency อื่น ไม่จำเป็นต้องเปลี่ยน Receiver เสมอไป
แนวคิดสำคัญของบทความ Hackaday คือการกลับไปใช้เทคนิคพื้นฐาน ที่วงการวิทยุใช้มานาน: Frequency Conversion
แทนที่จะบังคับ ESP32 SDR ให้จูนตรงไปยัง Frequency ที่ RF Front-end ไม่ได้ถูกออกแบบมา เราสามารถใช้ Mixer และ LO สร้าง Frequency Product ใหม่ แล้วเลือก Product ที่อยู่ในย่านของ Receiver
แต่ Block Diagram ที่มี Filter, Mixer และ LO เพียงไม่กี่กล่อง ไม่ได้หมายความว่า Hardware ระดับ GHz จะง่ายตามจำนวน Component
Filter Response, LO Quality, Mixer Loss, PCB Geometry, Ground Plane, Impedance และ Spurious Signal ยังเป็นโจทย์ RF Engineering ที่ต้องวัดและปรับจริง
ดังนั้น Source นี้เหมาะมากสำหรับใช้เป็น “จุดเริ่มต้นของแนวคิด” มากกว่า Copy เป็นวงจรสำเร็จรูปทันที
References / แหล่งข้อมูลต้นฉบับ
กำลังทดลอง ESP32, SDR หรือ RF Project?
หากกำลังทดลอง ESP32, Software Defined Radio, RF Module หรือ Embedded Project สามารถสอบถามทีม GlobalByte เรื่องบอร์ดและอุปกรณ์ที่เหมาะกับ Requirement ของ Project ได้
สำหรับงาน RF แนะนำเริ่มจากกำหนด Frequency Range, Receive หรือ Transmit, Filter Requirement และระดับการทดลองให้ชัด ก่อนเลือก Hardware
บทความ Hackaday ที่ใช้เป็น Source หลัก ระบุว่าแนวคิด Receive Converter นี้ ยังไม่ใช่ Ready-to-go Design และไม่ได้ให้ค่า Filter Component, Mixer Conversion Loss, LO Drive, Amplifier Gain, PCB Stack-up หรือ Dimension สำหรับ Controlled Impedance อย่างครบถ้วน จึงไม่มีการสร้างค่าดังกล่าวเพิ่มเอง
ตัวอย่าง RF Input 400–500 MHz และ Local Oscillator 2 GHz ใช้เพื่ออธิบาย Frequency Conversion โดย Product ที่อยู่ในย่าน 2.4–2.5 GHz เป็น Sum Product ไม่ใช่ผลการทดสอบ Performance ของ Converter สำเร็จรูป
ESPARGOS ESP-SDR Project หลัก ปัจจุบันยังระบุ Firmware ฝั่ง Reception เป็นหลัก ขณะที่ความสามารถ Transmit ที่กล่าวถึงในบทความนี้มาจาก Project แยก ซึ่งยังระบุสถานะ Experimental และไม่ควรถูกตีความว่า ESP32 ทุก Model สามารถเป็น General-purpose SDR Transmitter ได้
การทดลองส่งสัญญาณ RF ต้องปฏิบัติตามข้อกำหนดด้าน Frequency, Band, Power, Licence และกฎหมายที่เกี่ยวข้องในพื้นที่ใช้งาน รวมถึงควรใช้เฉพาะ Hardware และระบบ ที่ผู้ใช้เป็นเจ้าของหรือได้รับอนุญาตให้ทดลอง
Source ที่ใช้ไม่ได้ให้ข้อมูลครบสำหรับ Noise Figure, Dynamic Range, Sensitivity หลัง Conversion, Harmonic Suppression, Spurious Emissions, RF Output Power หรือ Performance ของ Converter ที่ประกอบเสร็จ จึงไม่มีการสร้าง Benchmark เพิ่มเอง