← คู่มือ Mesh Networking — สื่อสารในที่ที่ไม่มีเสาสัญญาณ
LEVEL 0 · ปูพื้นจากศูนย์
คลื่นวิทยุเท่าที่ routing ต้องใช้
บทนี้ไม่ได้สอน RF ทั้งศาสตร์ — สอนเฉพาะสี่เรื่องที่ถ้าไม่รู้แล้วจะอ่านบทหลัง ๆ ไม่รู้เรื่อง ถ้าคุณเคยเรียนสายสื่อสารมาแล้ว ข้ามไปบทที่ 3 ได้เลย
2.1 สัญญาณอ่อนลงตามระยะ และอ่อนลงเร็วกว่าที่คิด
สิ่งแรกที่ต้องเลิกเชื่อคือภาพวงกลมสีฟ้ารอบเสาสัญญาณที่เราเห็นในโฆษณา ซึ่งบอกเป็นนัยว่า "ในวงนี้ใช้ได้ นอกวงใช้ไม่ได้" ความจริงคือสัญญาณอ่อนลงอย่างต่อเนื่องตั้งแต่เมตรแรก
สูตรที่ใช้กันคือ free-space path loss — กำลังที่หายไประหว่างทางเมื่อไม่มีอะไรขวางเลย ลองรันดูที่ความถี่ 900 MHz
import math
def fspl_db(dist_m, freq_mhz):
"""กำลังที่หายไป (dB) เมื่อไม่มีอะไรขวาง — d เป็นกิโลเมตร f เป็นเมกะเฮิรตซ์"""
return 20*math.log10(dist_m/1000) + 20*math.log10(freq_mhz) + 32.44
for d in (100, 500, 1000, 5000, 10000):
print(f"{d:>6} m : {fspl_db(d, 900):6.1f} dB")ผลรันจริง
100 m : 71.5 dB
500 m : 85.5 dB
1000 m : 91.5 dB
5000 m : 105.5 dB
10000 m : 111.5 dBเทียบทุกบรรทัดกับจุดตั้งต้นที่ 100 เมตร — ไกลขึ้น 5 เท่า จ่ายเพิ่ม 14 dB · ไกลขึ้น 10 เท่า จ่ายเพิ่ม 20 dB · ไกลขึ้น 100 เท่า จ่ายเพิ่ม 40 dB
💡 dB คืออะไร — หน่วยที่บอก "กี่เท่า" ไม่ใช่ "เท่าไหร่" ทุก ๆ 3 dB คือครึ่งหนึ่ง และ 10 dB คือหนึ่งในสิบ · ดังนั้น 20 dB ที่จ่ายเพิ่มตอนไกลขึ้น 10 เท่า แปลว่าสัญญาณเหลือ หนึ่งในร้อย ของเดิม
ตัวเลขชุดนี้ให้บทเรียนที่ขัดสัญชาตญาณ: การเพิ่มระยะทางเป็นสองเท่าไม่ได้ทำให้แย่ลงสองเท่า แต่แย่ลงสี่เท่า และนี่คือกรณีดีที่สุดที่ไม่มีอะไรขวางเลย
2.2 ความถี่ต่ำไปได้ไกลกว่า แต่แลกมาด้วยอย่างอื่น
ในสูตรเดียวกัน ลองเปลี่ยนความถี่แทน ที่ระยะ 1 กิโลเมตรเท่ากันหมด:
150 MHz : 76.0 dB
433 MHz : 85.2 dB
900 MHz : 91.5 dB
2400 MHz : 100.0 dB ← ย่านเดียวกับ WiFi/Bluetooth ที่บ้าน
5800 MHz : 107.7 dBต่างกัน 31.7 dB ระหว่างหัวกับท้าย — ประมาณ หนึ่งพันห้าร้อยเท่า พลิกอีกด้าน ถ้ากำหนดว่าอุปกรณ์ทนการสูญเสียได้ 120 dB ระยะที่ไปถึงจะเป็น:
150 MHz : 159.19 กม.
900 MHz : 26.53 กม.
2400 MHz : 9.95 กม.
5800 MHz : 4.12 กม.⚠️ ตัวเลขชุดหลังนี้เป็นค่าในสุญญากาศ บนโลกจริงมันน้อยกว่านี้มาก เพราะโลกโค้ง มีต้นไม้ มีภูเขา และอากาศเองก็ดูดกลืนพลังงาน อย่าเอาไปอ้างว่า "วิทยุ 150 MHz ยิงได้ 159 กิโลเมตร" — ใช้มันเป็นการเปรียบเทียบระหว่างความถี่เท่านั้น
ถ้าความถี่ต่ำดีกว่าทุกทาง ทำไมไม่ใช้ต่ำสุดไปเลย? เพราะความถี่ต่ำมี แบนด์วิดท์ ให้ใช้น้อยกว่ามาก — พูดง่าย ๆ คือไปได้ไกลแต่พูดได้ช้า ย่าน 150 MHz เหมาะกับข้อความสั้น ๆ อย่างพิกัด ส่วนวิดีโอจากกล้องต้องใช้ย่านสูงที่ไปได้ใกล้กว่า
จำประโยคนี้ไว้ให้ดี เพราะมันคือเมล็ดของบทที่จะเป็นจุดพีคของเล่ม: ไม่มีความถี่ไหนดีที่สุด มีแต่ความถี่ที่เหมาะกับงานคนละแบบ
2.3 สิ่งกีดขวางไม่ได้บังแค่สายตา
คลื่นวิทยุทะลุกำแพงบาง ๆ ได้ แต่ต้องจ่ายค่าผ่านทาง กำแพงอิฐกินไป 10–15 dB ผนังคอนกรีตเสริมเหล็กกินได้ถึง 20–30 dB ส่วนใบไม้เปียกน้ำ — ซึ่งเจอตลอดในงานภาคสนาม — ดูดกลืนได้มากอย่างน่าตกใจเพราะน้ำสั่นพ้องกับคลื่นย่าน GHz ได้ดี
ที่โหดกว่านั้นคือ ร่างกายคน ตัวคนเป็นถุงน้ำเดินได้ การหันหลังให้เพื่อนอาจทำให้สัญญาณลดลง 5–10 dB นั่นแปลว่าลิงก์ในเครือข่ายกู้ภัยเปลี่ยนค่าทุกครั้งที่มีคนหันตัว ไม่ใช่ทุกครั้งที่มีคนเดินไปไกล
2.4 คลื่นเดียวกันในเวลาเดียวกัน = ไม่มีใครได้ยิน
เรื่องสุดท้ายและสำคัญที่สุดสำหรับ routing: อากาศเป็นทรัพยากรร่วม
ถ้าโหนดสองตัวส่งพร้อมกันในย่านความถี่เดียวกันและอยู่ในระยะได้ยินกัน สัญญาณจะทับกันจนผู้รับถอดรหัสไม่ออกทั้งคู่ เรียกว่า การชนกัน (collision) ผลคือไม่ใช่แค่ช้าลง แต่ข้อมูลหายทั้งสองฝั่งและต้องส่งใหม่
นี่คือความต่างที่ใหญ่ที่สุดจากเครือข่ายมีสาย และเป็นสาเหตุของปรากฏการณ์ที่จะทำให้คุณหงุดหงิดในบทที่ 10: เส้นทางที่มีหลาย hop ได้ความเร็วไม่ถึงหนึ่งในสามของที่วิทยุทำได้ ไม่ใช่เพราะแต่ละ hop ช้า แต่เพราะ hop ที่อยู่ใกล้กันแย่งอากาศก้อนเดียวกัน