ข้ามไปยังเนื้อหา
Tayakorn

คู่มือ 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 ที่อยู่ใกล้กันแย่งอากาศก้อนเดียวกัน

อ่านแบบเต็มเล่ม