C2 link telemetry และวิดีโอ
UAT 207 ระบบสื่อสารและเครือข่ายข้อมูล
บทเรียน
เมื่อเรียนจบโมดูลนี้ ผู้เรียนจะสามารถ
- คำนวณแบนด์วิดท์ของ telemetry จากขนาดข้อความ MAVLink และอัตราส่ง
- เปรียบเทียบความต้องการกับอัตราอากาศของวิทยุ SiK และผลของ ECC
- คำนวณความจุ Shannon จาก SNR และประเมินส่วนเผื่อของลิงก์วิดีโอ
- แยกบทบาทของ C2, telemetry และข้อมูลภารกิจ
ทำไมต้องรู้
ลิงก์ของโดรนส่งข้อมูลสามแบบที่ต้องการต่างกัน C2 ส่งคำสั่งซึ่งต้องมาถึงแน่นอนและเร็ว telemetry ส่งสถานะซึ่งต้องสม่ำเสมอ และ ข้อมูลภารกิจ เช่น วิดีโอ ต้องการแบนด์วิดท์สูงแต่ทนการหายได้บ้าง ถ้าส่ง telemetry ถี่เกินกว่าวิทยุรับไหว ข้อความสำคัญจะล่าช้าหรือหาย ถ้าลิงก์วิดีโอไม่มีส่วนเผื่อ ภาพจะค้างเมื่อบินออกไกล
งบแบนด์วิดท์ของ telemetry
แต่ละข้อความ MAVLink 2 มีข้อมูลตามชนิด บวกส่วนหัว 10 ไบต์และ CRC 2 ไบต์ (คู่มือการ serialization ของ MAVLink) คูณด้วยจำนวนครั้งต่อวินาทีแล้วรวมทุกชนิด ได้แบนด์วิดท์ที่ต้องใช้
วิทยุ telemetry แบบ SiK ที่นิยมใช้กับ ArduPilot มีค่าเริ่มต้น AIR_SPEED 64 kbps คู่มือระบุว่าถ้าเปิด ECC อัตราข้อมูลที่รองรับจะเหลือครึ่งหนึ่ง และไม่แนะนำให้ใช้ ECC แล้ว วิทยุยังต้องแบ่งเวลาให้ข้อมูลขาขึ้นจากสถานีด้วย จึงไม่ควรใช้เกือบเต็มอัตรา
ตัวอย่างที่ 1 telemetry ใช้แบนด์วิดท์เท่าใด
ขนาดข้อมูลเป็นขนาดเต็มของแต่ละข้อความใน MAVLink 2 อัตราส่งเป็นค่าที่ทีมตั้ง
MSGS = { # ชื่อ: (ไบต์ข้อมูล, ครั้งต่อวินาที)
"HEARTBEAT": (9, 1),
"SYS_STATUS": (43, 2),
"ATTITUDE": (28, 10),
"GLOBAL_POSITION_INT": (28, 5),
"VFR_HUD": (20, 4),
"GPS_RAW_INT": (52, 2),
"RC_CHANNELS": (42, 2),
}
OVERHEAD = 12 # ส่วนหัว 10 + CRC 2 ไบต์ (ไม่ลงลายเซ็น)
def total_kbps(msgs):
return sum((size + OVERHEAD) * 8 * hz for size, hz in msgs.values()) / 1000
base = total_kbps(MSGS)
for air, label in ((64, "AIR_SPEED 64"), (32, "ECC on (half)")):
print(f"{label:<14}: telemetry {base:.2f} kbit/s uses {base / air:.0%} of the air rate")
fast = dict(MSGS, ATTITUDE=(28, 50), GLOBAL_POSITION_INT=(28, 25))
print(f"attitude 50 Hz + position 25 Hz: {total_kbps(fast):.2f} kbit/s = {total_kbps(fast) / 64:.0%} of 64 kbit/s")
AIR_SPEED 64 : telemetry 8.76 kbit/s uses 14% of the air rate
ECC on (half) : telemetry 8.76 kbit/s uses 27% of the air rate
attitude 50 Hz + position 25 Hz: 27.96 kbit/s = 44% of 64 kbit/s
ค่าตั้งปกติใช้ไม่ถึงหนึ่งในหกของอัตราอากาศ แต่ถ้าเพิ่มอัตรา ATTITUDE และตำแหน่งเพื่อดูกราฟละเอียด จะใช้เกือบครึ่ง และถ้าเปิด ECC ด้วยจะใช้ถึงราว 87% ของอัตรา 32 kbps ที่เหลือ ควรเพิ่มอัตราเฉพาะตอนต้องการ เช่น ตอนจูน แล้วลดกลับ
ความจุ Shannon และลิงก์วิดีโอ
Shannon (1948) พิสูจน์ว่าช่องสัญญาณแบนด์วิดท์ ที่มีอัตราส่วนสัญญาณต่อสัญญาณรบกวน SNR ส่งข้อมูลได้ไม่เกิน เป็นขอบบนทางทฤษฎี ระบบจริงได้ต่ำกว่านี้เสมอ SNR ลดลงตามระยะตาม free-space loss ความจุจึงลดตาม ส่วนสัญญาณรบกวนความร้อนคำนวณจาก dBm/Hz บวก และ noise figure ของเครื่องรับ
ตัวอย่างที่ 2 ความจุของลิงก์วิดีโอ 2.4 GHz ตามระยะ
สมมติส่ง 20 dBm สายอากาศ 2 dBi สองฝั่ง แบนด์วิดท์ 20 MHz noise figure 6 dB วิดีโอ 8 Mbit/s และต้องการส่วนเผื่อสองเท่า
import math
PT_DBM, GAINS_DB, B_HZ, NF_DB, F_HZ = 20.0, 4.0, 20e6, 6.0, 2.44e9
VIDEO_MBPS, MARGIN = 8.0, 2.0
noise = -174 + 10 * math.log10(B_HZ) + NF_DB
print(f"noise floor {noise:.1f} dBm")
for d_km in (1, 2, 5, 8, 10):
fspl = 20 * math.log10(d_km * 1000) + 20 * math.log10(F_HZ) - 147.55
snr_db = PT_DBM + GAINS_DB - fspl - noise
cap = B_HZ * math.log2(1 + 10 ** (snr_db / 10)) / 1e6
ok = "ok" if cap >= VIDEO_MBPS * MARGIN else "not enough"
print(f"{d_km:>2} km: SNR {snr_db:5.1f} dB, Shannon limit {cap:6.1f} Mbit/s -> {ok}")
noise floor -95.0 dBm
1 km: SNR 18.8 dB, Shannon limit 125.2 Mbit/s -> ok
2 km: SNR 12.8 dB, Shannon limit 86.3 Mbit/s -> ok
5 km: SNR 4.8 dB, Shannon limit 40.2 Mbit/s -> ok
8 km: SNR 0.7 dB, Shannon limit 22.5 Mbit/s -> ok
10 km: SNR -1.2 dB, Shannon limit 16.3 Mbit/s -> ok
แม้แต่ขอบบนทางทฤษฎีก็ลดจากกว่าร้อยเมกะบิตที่ 1 km เหลือใกล้เส้นที่ต้องการที่ 10 km ระบบจริงที่ได้ราวครึ่งหนึ่งของขอบบนหรือน้อยกว่าจะเริ่มมีปัญหาเร็วกว่านั้นมาก ทางแก้คือลดบิตเรตวิดีโออัตโนมัติตามคุณภาพลิงก์ ใช้สายอากาศทิศทาง หรือแยกวิดีโอไว้คนละลิงก์กับ C2 ตามที่ RTCA DO-362 กำหนดสมรรถนะของ C2 แยกไว้
ปฏิบัติการประจำโมดูล
ปฏิบัติการ: งบแบนด์วิดท์และคุณภาพลิงก์
- อ่านอัตราส่งข้อความจาก GCS หรือ SITL จริง ใส่ในโค้ดตัวอย่างที่ 1
- อ่านค่าตั้งของวิทยุ SiK ในห้องปฏิบัติการ (AIR_SPEED, ECC) แล้วคำนวณสัดส่วนที่ใช้
- เพิ่มอัตรา ATTITUDE ใน SITL สังเกตว่าข้อความอื่นช้าลงหรือไม่
- ใช้ตัวอย่างที่ 2 กับสเปกของลิงก์วิดีโอที่แล็บมี หาระยะที่คาดว่าจะเริ่มมีปัญหา
- บันทึก RSSI และบิตเรตวิดีโอระหว่างบินออกไปตามแนวตรง เทียบกับการคำนวณ
ข้อผิดพลาดที่พบบ่อย
ระวัง
- เพิ่มอัตรา telemetry ทุกข้อความ โดยไม่คิดแบนด์วิดท์
- ลืมส่วนหัวและข้อมูลขาขึ้น
- ถือว่าความจุ Shannon คืออัตราที่ได้จริง
- ส่งวิดีโอและ C2 ในลิงก์เดียวโดยไม่มีลำดับความสำคัญ
- ใช้ค่าตั้งวิทยุไม่ตรงกันทั้งสองฝั่ง
สรุป
- แบนด์วิดท์ telemetry = ผลรวมของ (ข้อมูล + ส่วนหัว) × 8 × อัตราส่ง
- วิทยุ SiK ค่าเริ่มต้น 64 kbps และ ECC ลดอัตราเหลือครึ่ง
- ความจุ Shannon เป็นขอบบนที่ลดตาม SNR ระบบจริงได้ต่ำกว่านั้น
- แยกความต้องการของ C2, telemetry และวิดีโอ และเผื่อส่วนเผื่อให้แต่ละแบบ
แบบฝึกตรวจความเข้าใจ
- ข้อความข้อมูล 28 ไบต์ ส่ง 10 Hz ใน MAVLink 2 ไม่ลงลายเซ็น ใช้แบนด์วิดท์เท่าใด
- SiK AIR_SPEED 64 kbps เปิด ECC จะรองรับข้อมูลราวเท่าใด
- B = 10 MHz, SNR = 15 (ไม่ใช่ dB) ความจุ Shannon เท่าใด
- สัญญาณรบกวนความร้อนในแบนด์วิดท์ 1 MHz (NF 0 dB) เท่าใด
- ทำไมควรแยกลิงก์วิดีโอกับ C2
เฉลย
- bit/s
- ราว 32 kbps
- Mbit/s
- dBm
- วิดีโอใช้แบนด์วิดท์มากและทนการหายได้ ส่วน C2 ต้องมาถึงแน่นอน การแยกกันทำให้วิดีโอไม่แย่งทรัพยากรของคำสั่ง
สรุปสูตรสำคัญ
| แบนด์วิดท์ของ telemetry | |
| ความจุ Shannon | |
| กำลังสัญญาณรบกวนความร้อน |
แหล่งอ้างอิงหลัก
- ArduPilot Dev Team. SiK radio – advanced configuration. ArduPilot Copter documentation. link
- MAVLink Development Team. Packet serialization. MAVLink developer guide. link
- Shannon, C. E. (1948). A mathematical theory of communication. Bell System Technical Journal, 27(3), 379–423; 27(4), 623–656. link
- RTCA. (2016). Command and control (C2) data link minimum operational performance standards (MOPS) (terrestrial) (DO-362). link
- Kurose, J. F., & Ross, K. W. (2025). Computer networking: A top-down approach (9th ed.). Pearson. link
อ่านเพิ่มเติม
ศึกษาหน่วยความรู้ที่กำหนดล่วงหน้า ดูสื่อประกอบ และทำ quiz ประจำโมดูล
ในชั้นเรียน / ภาคสนาม
ปฏิบัติการในห้องแล็บหรือภาคสนามตามใบงาน พร้อม checklist ความปลอดภัย
หลักฐานการเรียนรู้: ใบงานที่ผ่านการตรวจและผล quiz