บทที่ 7

Digital Transmission

ข้อมูลจะเดินทางในสายไม่ได้ ถ้าไม่แปลงเป็น “สัญญาณ” ก่อน — บทนี้ตอบว่าแปลงยังไง (sampling, modulation, line coding) ช่องสัญญาณทำร้ายสัญญาณยังไง (attenuation, distortion, noise) และสุดท้ายส่งได้เร็วสุดเท่าไร (Nyquist, Shannon)

อ่าน ~28 นาที บทที่ยาวที่สุด เชื่อมกับ ข้อสอบ Q1
ข้อสอบออกแบบไหน

หัวข้อ 7.10 Channel Capacity คือข้อที่คุ้มที่สุดในฉบับ — แทนสูตรสองสูตรก็จบ ไม่ต้องวาดอะไร ข้อสอบเก่าให้ B = 2 MHz, 16 ระดับสัญญาณ, SNR = 20 dB และ 40 dB แล้วถามอัตราการส่งสูงสุดตาม Nyquist และ Shannon

→ ฝึกจริงที่ ข้อสอบเก่า Q1 · Nyquist & Shannon Capacity และเล่นเครื่องคิดเลขในหัวข้อ 7.10 ของหน้านี้

การสื่อสารไม่ว่าจะเป็นภาพ เสียง หรือข้อความ เราเรียกรวม ๆ ว่า ข้อมูล (data) เมื่อต้องการส่งไปในช่องทางสื่อสาร ข้อมูลจะถูกแปลงให้อยู่ในรูปของ สัญญาณ (signals) ซึ่งอาจเป็นสัญญาณไฟฟ้าเพื่อส่งผ่านตัวนำ หรือเป็นแสงในเส้นใยแก้วนำแสง

ภาคส่งทำหน้าที่แปลงข้อมูลให้เหมาะกับช่องสัญญาณ ขั้นตอนนี้เรียกว่า การเข้ารหัส (encoding) เมื่อสัญญาณถูกส่งเข้าช่องสัญญาณ คุณสมบัติของช่องสัญญาณอาจทำให้เกิดการลดทอนหรือผิดเพี้ยน ภาครับเมื่อได้รับสัญญาณจะทำงานตรงข้ามคือ ถอดรหัส (decoding) เพื่อส่งข้อมูลไปยังปลายทางต่อไป

รูปแบบทั่วไปของการสื่อสาร ภาคส่ง–ช่องสัญญาณ–ภาครับ
รูปที่ 7.1 จากตำรา — รูปแบบทั่วไปของการสื่อสาร
แผนที่ของบทนี้ (อ่านก่อนจะไม่หลง)

บทนี้จริง ๆ คือ 4 ก้อน เท่านั้น — ก้อนที่ 1 การแปลงสัญญาณ 4 ทิศทาง (7.1–7.5: แอนะล็อก→ดิจิทัล, ดิจิทัล→แอนะล็อก, ดิจิทัล→ดิจิทัล และตัวอย่างจริงบนอีเทอร์เน็ต) · ก้อนที่ 2 ช่องสัญญาณทำร้ายสัญญาณยังไง (7.6–7.8) · ก้อนที่ 3 เพดานความเร็ว (7.9–7.10 = ข้อสอบ) · ก้อนที่ 4 คำศัพท์ baud vs bps (7.11)

7.1คุณลักษณะพื้นฐานของสัญญาณ

ข้อมูลที่ผู้ใช้ต้องการส่งอาจอยู่ในรูปของแอนะล็อกหรือดิจิทัล

ข้อมูลแอนะล็อก

ข้อมูลที่เปลี่ยนแปลงอย่างต่อเนื่อง เช่น สัญญาณภาพหรือเสียง

ข้อมูลดิจิทัล

ข้อมูลที่เป็นระดับของสัญญาณ เช่น ข้อมูลจากคอมพิวเตอร์ (ลอจิก 0 ที่ 0 โวลต์ และลอจิก 1 ที่ 5 โวลต์) หรือข้อมูลที่ได้จากการแปลงสัญญาณแอนะล็อก

ไม่ว่าจะเป็นรูปแบบใด ข้อมูลเหล่านั้นต้องถูกแปลงให้อยู่ในลักษณะสัญญาณไฟฟ้าหรือสัญญาณแสงตามความเหมาะสมของช่องสัญญาณเสมอ

สัญญาณแอนะล็อก — คลื่นซายน์ (Sine wave)

สัญญาณแอนะล็อกพื้นฐานที่สุดคือ คลื่นซายน์ มีคุณลักษณะพื้นฐาน 3 อย่าง:

กราฟคลื่นซายน์สามรอบ แกนตั้งคือแอมพลิจูด แกนนอนคือเวลา มีลูกศรวัดความสูงจากแกนศูนย์ถึงยอดคลื่นกำกับว่า Ac และวงเล็บใต้กราฟวัดความกว้างของแต่ละรอบกำกับว่า คาบ = 1/f
รูปที่ 7.2 จากตำรา — รูปแบบทั่วไปของสัญญาณคลื่นซายน์ที่แอมพลิจูด Ac (สังเกตว่า Ac วัดในแนวตั้ง ส่วน คาบวัดในแนวนอน — คนละแกนกัน)
คุณลักษณะความหมายหน่วย
แอมพลิจูด (amplitude)ขนาดของสัญญาณโวลต์ (Volt) · แอมแปร์ (Ampere) · วัตต์ (Watt) — ขึ้นกับประเภทของสัญญาณ
ความถี่ (frequency)จำนวนรอบใน 1 วินาที · ส่วนกลับของความถี่คือ คาบ (period)เฮิรตซ์ (Hertz)
เฟส (phase)ตำแหน่งของสัญญาณเทียบกับตำแหน่งศูนย์ (เช่น 0, 90, 180, 270 องศา)องศา หรือ เรเดียน (radians)
คาบ T = 1f ความถี่กับคาบเป็นส่วนกลับกันเสมอ

เฟส — ดูจากจุดที่คลื่น “เริ่มต้น”

เฟสบอกว่าคลื่นเลื่อนไปจากตำแหน่งศูนย์เท่าไร วิธีอ่านที่เร็วที่สุดคือดูว่า ณ เวลา 0 คลื่นอยู่ตรงไหนของรอบ:

กราฟคลื่นซายน์สี่รูปเปรียบเทียบการเลื่อนเฟส (a) 0 องศา คลื่นเริ่มที่ศูนย์แล้วขึ้นก่อน (b) 90 องศา เลื่อนไปหนึ่งในสี่รอบ เริ่มใกล้ยอดคลื่น (c) 180 องศา เลื่อนไปครึ่งรอบ เริ่มที่ศูนย์แล้วลงก่อน (d) 270 องศา เริ่มที่ท้องคลื่นแล้วไต่ขึ้น เส้นประคือส่วนของคลื่นที่ถูกเลื่อนออกไปก่อนเวลาศูนย์
รูปที่ 7.3 จากตำรา — การเลื่อนเฟสของสัญญาณที่ (a) 0 องศา (b) 90 องศา (c) 180 องศา (d) 270 องศา (เส้นประ = ส่วนที่ถูกเลื่อนออกไปนอกจอ · 90° = ¼ cycle, 180° = ½ cycle)
แปลงองศาเป็น “เศษของรอบ” ในหัว

หนึ่งรอบเต็ม = 360° = 2π เรเดียน ดังนั้น 90° = ¼ รอบ · 180° = ½ รอบ = π · 270° = ¾ รอบ — จำสามค่านี้ไว้จะอ่านรูป (b)(c)(d) ออกทันที และใช้ต่อได้เลยตอนอ่าน constellation ของ QPSK ในหัวข้อ 7.3 ที่ใช้เฟสเป็น π/4, 3π/4, −π/4, −3π/4

สัญญาณดิจิทัล

สัญญาณดิจิทัลเป็นสัญญาณที่มีระดับไม่ต่อเนื่องกัน อาจเป็นสองระดับหรือมากกว่า สัญญาณดิจิทัลสองระดับเรียกว่า สัญญาณไบนารี (binary signal) โดยลอจิก 1 แทนด้วยรูปสัญญาณที่เกิดขึ้น ส่วนลอจิก 0 เป็นส่วนที่ไม่มีสัญญาณใด ๆ

สัญญาณไบนารีสองระดับของลำดับบิต 1 0 0 1 1 0 1 0 ลอจิก 1 เป็นพัลส์สี่เหลี่ยมยกขึ้นจากเส้นฐาน ส่วนลอจิก 0 อยู่ที่ระดับศูนย์ไม่มีสัญญาณ ใต้กราฟมีลูกศรสองหัวกำกับความกว้างของหนึ่งบิตว่า ช่วง 1 บิต และ T = 1/R
รูปที่ 7.4 จากตำรา — รูปแบบทั่วไปของสัญญาณแบบดิจิทัล (ลำดับบิตในรูปคือ 1 0 0 1 1 0 1 0 · สังเกตว่าช่องของบิต 0 กว้างเท่ากับช่องของบิต 1 แค่ไม่มีสัญญาณเท่านั้น)

ถ้าให้ช่วงเวลาที่เกิดบิต 0 หรือบิต 1 เป็น T เราเรียกค่านี้ว่า ช่วงเวลาของบิต (bit interval) ได้ว่า:

T = 1R   →   R = 1T R = อัตราเร็วของบิต (bit rate) = อัตราเร็วของการส่งข้อมูลดิจิทัล (data rate) หน่วย bps
สัญลักษณ์ความหมายตัวอย่าง
Tช่วงเวลาของบิต (bit interval) — เวลาที่ใช้ต่อ 1 บิต1 µs
Rบิตเรท / data rate — จำนวนบิตต่อวินาที1/(1×10−6) = 1 Mbps

7.2การแทนสัญญาณแอนะล็อกในรูปของสัญญาณดิจิทัล

ข้อมูลประเภทวิดีโอ คลิปภาพและคลิปเสียง (โปรแกรมประยุกต์แบบมัลติมีเดีย) อยู่ในรูปแบบของสัญญาณแอนะล็อก ไม่สามารถส่งในช่องสัญญาณดิจิทัลได้โดยตรง หากต้องการส่งในรูปของดิจิทัลต้องผ่านขบวนการที่เรียกว่า ดิจิไตเซชัน (digitization)

อุปกรณ์ที่ทำขบวนการนี้ พร้อมทั้งแปลงข้อมูลจากสัญญาณดิจิทัลกลับอยู่ในรูปเดิม เรียกว่า coder-decoder หรือเรียกสั้น ๆ ว่า โคเดก (codec)

  1. Sampling — สุ่มค่าสัญญาณที่เวลาต่าง ๆ
  2. Quantization (ควานไตเซชัน) — แบ่งแอมพลิจูดของสัญญาณออกเป็นช่องเท่า ๆ กันตามระดับของสัญญาณ แล้วกำหนดค่าให้แต่ละระดับเป็นจำนวนเต็ม
  3. Encoding — แปลงจำนวนเต็มแต่ละค่าให้อยู่ในเลขฐานสอง (ไบนารี)

ผลลัพธ์คือเราได้ค่าดิจิทัลชุดหนึ่งแทนสัญญาณแอนะล็อกที่เกิดขึ้น

จำนวนระดับ L = 2n   ·   n = log2L n = จำนวนบิตที่ใช้แทนหนึ่งตัวอย่าง (sample)

ตัวอย่าง 7.1 (จากตำรา) — สัญญาณแอนะล็อกที่เวลา 0 ถึง 14 วินาที สมมุติแรงดันสูงสุดอยู่ที่ 7 โวลต์

  • แบ่งเป็น 4 ระดับ → ใช้ไบนารีขนาด 2 บิต (22 = 4)
  • แบ่งเป็น 8 ระดับ → ใช้ไบนารีขนาด 3 บิต (23 = 8)
  • อยากละเอียดขึ้น แบ่งเป็น 16 ระดับ → ใช้ 4 บิต
ตัวอย่างการทำควานไตเซชัน แบ่งสัญญาณเป็น 4 และ 8 ระดับ
รูปที่ 7.5 จากตำรา — ตัวอย่างการทำควานไตเซชัน

ความถี่ของการสุ่มต้องไม่น้อยกว่าสองเท่า

สิ่งที่ต้องเน้นคือ ความถี่ของการสุ่มสัญญาณ เพื่อให้สามารถแปลงข้อมูลดิจิทัลกลับเป็นสัญญาณแอนะล็อกเดิมได้อย่างถูกต้อง การสุ่มของสัญญาณจะต้องไม่น้อยกว่าสองเท่าของความถี่สูงสุดของสัญญาณ หรือเป็นไปตาม Nyquist theorem (รายละเอียดในหัวข้อ 7.10.1)

fs ≥ 2 fmax Nyquist sampling rate — สุ่มช้ากว่านี้แล้วกู้สัญญาณเดิมคืนไม่ได้
จุดที่คนพลาดบ่อย

n บิต ≠ n ระดับ — 3 บิตให้ 8 ระดับ ไม่ใช่ 3 ระดับ และ 16 ระดับใช้ 4 บิต ไม่ใช่ 16 บิต ความสัมพันธ์คือ L = 2n เสมอ · อีกจุดคือสับสนระหว่าง จำนวนบิต (ความละเอียดของแกนตั้ง = แอมพลิจูด) กับ อัตราการสุ่ม (ความละเอียดของแกนนอน = เวลา) — เพิ่มบิตแก้ quantization error, เพิ่มอัตราสุ่มแก้การกู้รูปคลื่นไม่ได้ คนละเรื่องกัน

7.3การแทนสัญญาณดิจิทัลด้วยสัญญาณแอนะล็อก

เมื่อแปลงสัญญาณแอนะล็อกเป็นดิจิทัลได้แล้ว จะส่งไปในช่องสัญญาณอย่างไร? วิธีที่ง่ายที่สุดคือนำสัญญาณที่ต้องการส่งไปมอดูเลตด้วยคลื่นซายน์ เพื่อให้เกิดการเปลี่ยนแปลงเชิงแอมพลิจูด เฟส หรือความถี่ ตามรูปแบบของสัญญาณที่ต้องการส่ง สมมุติให้สัญญาณซายน์เป็นคลื่นพาห์ (carrier) จะได้

xc(t) = Ac(t) cos[ ωct + φ(t) ] สมการ 7.1
สัญลักษณ์ความหมายถ้าเปลี่ยนตัวนี้จะได้
Ac(t)แอมพลิจูดของคลื่นพาห์ ณ เวลา tAM · ASK
fc = ωc/2πความถี่ของคลื่นพาห์FM · FSK
φ(t)เฟสของสัญญาณคลื่นพาห์PM · PSK

กรณีข้อมูลเป็นแอนะล็อก — AM / FM / PM

  • Amplitude Modulation (AM) — เปลี่ยนตามขนาดของข้อมูล ถ้าข้อมูลมีแอมพลิจูดสูงขึ้น สัญญาณที่ส่งจะมีแอมพลิจูดสูงตามไปด้วย
  • Frequency Modulation (FM) — เปลี่ยนเชิงความถี่ตามข้อมูล แอมพลิจูดข้อมูลสูงขึ้น ความถี่สูงขึ้น แอมพลิจูดลดลง ความถี่ต่ำลง
  • Phase Modulation (PM) — อาศัยการเปลี่ยนเฟสของสัญญาณที่ส่ง
การมอดูเลตสัญญาณแบบแอนะล็อก AM FM PM
รูปที่ 7.6 จากตำรา — การมอดูเลตสัญญาณแบบแอนะล็อก

กรณีข้อมูลเป็นดิจิทัล — ASK / FSK / PSK

เนื่องจากสัญญาณจะอยู่ในรูปของลอจิก 0 หรือ 1 เท่านั้น การมอดูเลตจึงกลายเป็นการ “เลือกค่า” แค่ไม่กี่ค่า

วิธีเปลี่ยนอะไรข้อดีข้อเสีย
ASK (Amplitude Shift Keying)
= On-Off keying (OOK)
แอมพลิจูดอย่างเดียว — เสมือนเปิด-ปิดให้สัญญาณผ่านเมื่อลอจิกเป็น 1 และไม่ให้ผ่านเมื่อเป็น 0 (ความถี่และเฟสคงที่) ค่อนข้างง่าย เสี่ยงต่อสัญญาณรบกวนขณะที่ลอจิกเป็น 0 เนื่องจากผลของสนามแม่เหล็กไฟฟ้า
FSK (Frequency Shift Keying) ส่งที่สองความถี่ ขึ้นกับว่าขณะนั้นเป็นลอจิก 1 หรือ 0 (แอมพลิจูดและเฟสไม่เปลี่ยน) กำจัดปัญหาสัญญาณรบกวนที่เกิดกับ ASK ได้ มีผลต่อการใช้แบนด์วิดท์ของช่องสัญญาณ
PSK (Phase Shift Keying) เปลี่ยนเฟสของสัญญาณ ไม่มีผลของสัญญาณรบกวนเหมือน ASK และไม่สิ้นเปลืองแบนด์วิดท์เหมือน FSK ซับซ้อนกว่าสองวิธีแรก

ภาพเคลื่อนไหวด้านบนให้เราเปลี่ยนสตริงบิตเองเพื่อดูว่ากฎแต่ละแบบทำงานอย่างไร ส่วนรูปข้างล่างนี้คือรูปเดียวกันในตำรา ที่ใช้ข้อมูลไบนารี 101 เป็นตัวอย่างมาตรฐาน — ถ้าข้อสอบให้วาด ให้วาดหน้าตาแบบนี้

กราฟสามรูปของการมอดูเลตแบบดิจิทัลด้วยข้อมูล 1 0 1 — ASK มีคลื่นพาห์เฉพาะช่วงบิต 1 และเป็นเส้นตรงเงียบสนิทช่วงบิต 0 · FSK มีคลื่นตลอดเวลาแต่ช่วงบิต 1 ความถี่สูงกว่า (จำนวนรอบมากกว่า) ช่วงบิต 0 · PSK แอมพลิจูดและความถี่คงที่ตลอด แต่พลิกเฟส 180 องศาตรงรอยต่อที่ค่าบิตเปลี่ยน
รูปที่ 7.7 จากตำรา — การมอดูเลตสัญญาณแบบดิจิทัล (ข้อมูลไบนารี 101) · จุดที่ต้องสังเกต: ASK ช่วงบิต 0 “เงียบ” จึงเป็นช่วงที่ noise เข้าแทรกได้ง่ายที่สุด · FSK มีคลื่นตลอดแต่เปลี่ยนความถี่ · PSK แอมพลิจูดกับความถี่เท่าเดิมทั้งเส้น เปลี่ยนแค่ “จังหวะเริ่ม” ของคลื่นตรงรอยต่อ

ส่งทีละหลายบิต — BPSK, QPSK, 8-PSK

เพื่อให้การส่งข้อมูลมีประสิทธิภาพมากขึ้น แทนที่จะส่งทีละสองเฟส เรายังสามารถส่งในลักษณะที่เป็น 4 หรือ 8 เฟส ทำให้ส่งข้อมูลทีละ 2 บิต หรือ 3 บิตตามลำดับ เรียกว่าเป็นการส่งทีละ symbol

  • BPSK (Binary PSK) — 2 เฟส · 1 บิต/symbol · เฟส 0 = ลอจิก 1, เฟส 180° (π) = ลอจิก 0 (สมมุติแอมพลิจูดเป็นหนึ่ง)
  • QPSK (Quadrature PSK) = 4-PSK — 4 เฟส · 2 บิต/symbol
  • 8-PSK — 8 เฟส · 3 บิต/symbol

แผนภาพที่แสดงตำแหน่งเฟสของแต่ละ symbol เรียกว่า phase-state diagram หรือ Constellation

ข้อมูลเฟส
00−3π/4
01−π/4
103π/4
11π/4

ตารางที่ 7.1 — ความสัมพันธ์ของข้อมูลที่ส่งกับเฟสของ QPSK

การส่งข้อมูลแบบ BPSK และ QPSK พร้อม constellation
รูปที่ 7.8 จากตำรา — การส่งข้อมูลแบบ BPSK และ QPSK

QAM — เอา ASK กับ PSK มารวมกัน

เราสามารถส่งข้อมูลด้วยการใช้การมอดูเลต ASK และ PSK ร่วมกัน ทำให้เกิดการมอดูเลชันที่เรียกว่า Quadrature Amplitude Modulation (QAM) เทคนิคนี้ทำให้เกิดการใช้งานในเชิงเฟสอีกหลายรูปแบบ เช่น 2, 4, 8, 16 หรือ 64 — เช่น 16-QAM หรือ 64-QAM ซึ่งนิยมใช้ในการส่งข้อมูลของ WLAN

ทำไมถึงนิยมเล่นกับ “เฟส” มากกว่า “แอมพลิจูด”

เพราะการใช้แอมพลิจูดมีความเสี่ยงต่อสัญญาณรบกวนมากกว่าการใช้เฟส ดังนั้นการใช้เฟสเพื่อเปลี่ยนข้อมูลที่ส่งจึงนิยมมากกว่าการใช้ระดับแอมพลิจูด

constellation ของการส่งข้อมูลแบบ 16-QAM
รูปที่ 7.9 จากตำรา — การส่งข้อมูลแบบ 16-QAM

ตารางที่ 7.2 — bits/symbol กับ bit rate

รูปแบบการมอดูเลชันbits/symbolsymbol rate (baud)bit rate (bps)
ASK, FSK, PSK1NN
4-PSK, 4-QAM2N2N
8-PSK, 8-QAM3N3N
16-QAM4N4N
32-QAM5N5N
64-QAM6N6N
128-QAM7N7N
256-QAM8N8N

ตารางที่ 7.2 — เปรียบเทียบอัตราการส่งข้อมูลของ QAM กับวิธีการอื่น

ตัวอย่างจากตำรา

  • ส่งด้วย ASK ที่ baud rate (N) = 1200 Hz → ส่งได้ที่ความเร็ว 1200 bps
  • ส่งด้วย 16-QAM (4 bits/symbol) ที่ baud rate เดิม → ส่งได้ที่ความเร็ว 4800 bps (4N)

แม้ดูเหมือนว่าเราส่งข้อมูลได้สูงขึ้นเรื่อย ๆ ด้วยการเพิ่ม bits/symbol แต่ด้วยข้อจำกัดของสัญญาณรบกวน อัตราความผิดพลาดที่อาจสูงขึ้น พลังงานที่ใช้ และความสามารถของเครื่องรับ-เครื่องส่ง ทำให้เราไม่สามารถเพิ่ม bits/symbol เท่าที่ต้องการได้เสมอไป

7.4การแทนข้อมูลดิจิทัลด้วยสัญญาณดิจิทัล

นอกเหนือจากการแทนข้อมูลด้วยแอนะล็อกเพื่อส่งในช่องสัญญาณแล้ว การแทนข้อมูลดิจิทัลด้วยสัญญาณดิจิทัลเป็นการเข้ารหัสบิตข้อมูลขนาด 1, 2 หรือ n บิต ให้อยู่ในสัญญาณดิจิทัลที่เหมาะสมเพื่อส่งในช่องสัญญาณ

ข้อดีข้อที่ 1

สามารถแทรกข้อมูลที่เกี่ยวกับการประสานเวลา (timing information) ได้ระหว่างการสื่อสาร

ข้อดีข้อที่ 2

การเข้ารหัสบางแบบสามารถป้องกันสัญญาณรบกวนต่าง ๆ ได้ดีขึ้น

ในที่นี้พิจารณาการเข้ารหัสสัญญาณดิจิทัลสองแบบคือ line coding และ block coding

7.4.1Line Coding

Line Coding เป็นการเข้ารหัสบิตข้อมูลขนาด 1 บิตหรือมากกว่า เป็นสัญญาณดิจิทัลก่อนที่จะส่งไปในช่องสัญญาณ

วิธีกฎการเข้ารหัสจุดเด่น / จุดอ่อน
Nonreturn-to-Zero (NRZ)
Unipolar
ลอจิก 1 = ระดับแรงดัน V · ลอจิก 0 = ระดับ 0 ดังเดิม ง่ายที่สุด · มีแต่แรงดันบวกจึงเรียกว่า Unipolar · กำลังเฉลี่ย = (1/2)V² + (1/2)0² = V²/2
Polar NRZ ลอจิก 1 = +V/2 · ลอจิก 0 = −V/2 มีประสิทธิภาพมากกว่า NRZ · กำลังเฉลี่ย = (1/2)(+V/2)² + (1/2)(−V/2)² = V²/4 (ครึ่งเดียวของ unipolar)
NRZ inverted (NRZ-I) ลอจิก 1 = เปลี่ยนระดับสัญญาณ (transition) ณ จุดเริ่มต้นของแต่ละช่วงเวลา · ลอจิก 0 = ไม่เปลี่ยนระดับ พัฒนาขึ้นเพื่อแก้ปัญหาการซิงโครไนเซชันกรณีมีลอจิกเดียวกันติดกันจำนวนมาก
แมนเชสเตอร์ (Manchester) ลอจิก 1 = เปลี่ยนระดับจาก A/2 ไป −A/2 ในทุกช่วงเวลาของแต่ละบิต · ลอจิก 0 = เปลี่ยนระดับจาก −A/2 ไป A/2 ทำ synchronization ง่ายขึ้น (มีการเปลี่ยนระดับกลางบิตทุกบิต) · ผลเสีย: ความเร็วของช่องสัญญาณต้องเป็นสองเท่าของข้อมูลเดิม ต้องการแบนด์วิดท์สูงขึ้น
ดิฟเฟอเรนเชียลแมนเชสเตอร์
Differential Manchester
รวมวิธีของ Return-to-Zero (RZ) และ NRZ-I — จะเปลี่ยนระดับสัญญาณหากข้อมูลที่ตามมาเป็นลอจิก 0 แต่หากบิตถัดมาเป็นลอจิก 1 จะไม่เกิดการเปลี่ยนระดับ มีการเปลี่ยนระดับกลางบิตเสมอ (ใช้เป็นนาฬิกา) และการตัดสินใจดูที่ “มี/ไม่มีการเปลี่ยนที่ขอบบิต”
mBnL m = จำนวนบิตที่ใช้ · B = ข้อมูลเป็นแบบไบนารี · n = รูปแบบของสัญญาณ · L = จำนวนระดับของสัญญาณ
อักษรสองตัวแรกบอกรูปแบบของข้อมูล ส่วนที่เหลือบอกรูปแบบของสัญญาณ
เช่น 2B1Q (two binary, one quaternary), 8B6T (eight binary, six ternary), 4D-PAM5 (four dimensional five-level pulse amplitude modulation), MLT-3 (multiline transmission, three level)

รูปจากตำรา — ข้อมูลชุดเดียวกัน 010011101 เข้ารหัสได้ 4 หน้าตา

ตำราใช้สตริงบิตชุดเดียวกันคือ 010011101 วาดทุกวิธี เพื่อให้เทียบกันได้ตรง ๆ (ห้องทดลองด้านบนก็ตั้งค่าเริ่มต้นเป็นชุดนี้ กดปุ่ม “010011101 (ตำรา)” แล้วไล่ดูทีละแบบจะได้รูปเดียวกันเป๊ะ) วิธีอ่านรูปให้เร็ว: ดูที่กรอบสี่เหลี่ยมด้านบนซึ่งเขียนค่าบิตไว้ แล้วดูว่าเส้นสัญญาณในกรอบนั้นอยู่ระดับไหน / พลิกตรงไหน

รูปคลื่น Unipolar NRZ ของบิต 0 1 0 0 1 1 1 0 1 มีสองระดับคือศูนย์กับบวก บิต 1 ยกขึ้นระดับบวก บิต 0 อยู่ที่ระดับศูนย์ ไม่มีการพลิกกลางบิต
รูปที่ 7.10 จากตำรา — การเข้ารหัสแบบ Unipolar NRZ (บิต 1 = ระดับ +V · บิต 0 = ระดับศูนย์ ไม่ใช่ค่าลบ — นี่คือจุดที่ต่างจาก Polar NRZ ในรูปถัดไป และเป็นเหตุผลที่ Unipolar มีปัญหา DC component)
รูปคลื่น Polar NRZ ของบิต 0 1 0 0 1 1 1 0 1 มีสองระดับคือบวกและลบคร่อมเส้นศูนย์ บิต 1 อยู่ระดับบน บิต 0 อยู่ระดับล่าง ระดับคงที่ตลอดช่วงบิตไม่มีการพลิกกลางบิต
รูปที่ 7.11 จากตำรา — การเข้ารหัสแบบ Polar NRZ (บิต 1 = +V/2 อยู่เหนือเส้นศูนย์ · บิต 0 = −V/2 อยู่ใต้เส้นศูนย์ · ไม่มีการพลิกกลางบิตเลย)
รูปคลื่น NRZ Inverted ของบิต 0 1 0 0 1 1 1 0 1 ระดับสัญญาณพลิกที่ต้นช่วงบิตทุกครั้งที่เจอบิต 1 และคงระดับเดิมเมื่อเจอบิต 0 ทำให้ช่วงบิต 0 สองตัวติดกันเป็นเส้นตรงยาว
รูปที่ 7.12 จากตำรา — การเข้ารหัสแบบ NRZ Inverted (จุดที่ต้องสังเกต: บิต 1 = “พลิก” ที่ต้นช่วงบิต ไม่ใช่ “ขึ้นสูง” — บิต 1 สามตัวกลางรูปจึงได้ระดับ ล่าง-บน-ล่าง สลับกัน ส่วนบิต 0 สองตัวติดกันได้เส้นตรงยาวไม่ขยับ)
รูปคลื่นแมนเชสเตอร์ของบิต 0 1 0 0 1 1 1 0 1 ทุกช่วงบิตมีการพลิกระดับที่กึ่งกลางบิต บิต 0 พลิกจากล่างขึ้นบน บิต 1 พลิกจากบนลงล่าง
รูปที่ 7.13 จากตำรา — การเข้ารหัสแบบแมนเชสเตอร์ (Manchester) · ทุกบิตมีการพลิกกลางบิตเสมอ จึงถอดนาฬิกาออกจากสัญญาณได้ — แต่นั่นแปลว่าใน 1 ช่วงบิตมีการเปลี่ยนระดับได้ถึง 2 ครั้ง จึงต้องใช้แบนด์วิดท์เป็นสองเท่า
รูปคลื่นดิฟเฟอเรนเชียลแมนเชสเตอร์ของบิต 0 1 0 0 1 1 1 0 1 ทุกช่วงบิตมีการพลิกระดับที่กึ่งกลางบิต และบางขอบของช่วงบิตก็มีการพลิกเพิ่มอีกหนึ่งครั้ง โดยขอบที่พลิกส่วนใหญ่คือขอบหน้าบิตที่มีค่า 0
รูปที่ 7.14 จากตำรา — การเข้ารหัสแบบดิฟเฟอเรนเชียลแมนเชสเตอร์ · อ่านรูปนี้ต้องดูสองจุดต่อบิต: กลางบิตพลิกเสมอ (นาฬิกา) ส่วนขอบต้นบิตพลิกก็ต่อเมื่อบิตนั้นเป็น 0 (ข้อมูล)
รูปที่ 7.14 ในตำราวาดพลาดไป 1 จุด — ให้ยึด “กฎ” ไม่ใช่ “รูป”

ตรวจรูปทีละขอบแล้วพบว่า ขอบระหว่างบิตตัวที่ 6 กับตัวที่ 7 (คือ 1 ตัวที่สองกับตัวที่สามของ 1 สามตัวติดกัน) มีการพลิกระดับที่ขอบ ทั้งที่บิตนั้นเป็น 1 จึงไม่ควรพลิก อีก 7 ขอบที่เหลือถูกต้องตามกฎทั้งหมด

ในข้อสอบให้ยึดกฎที่ตำราเขียนไว้เป็นตัวอักษร คือ “จะเปลี่ยนระดับของสัญญาณหากข้อมูลที่ตามมาเป็นลอจิก 0 แต่หากบิตถัดมาเป็นลอจิก 1 จะไม่เกิดการเปลี่ยนระดับ” — วาดตามกฎนี้ ผลที่ถูกของ 010011101 คือขอบที่พลิกมีแค่ 3 จุด ได้แก่ขอบหน้าบิตที่ 3, บิตที่ 4 และบิตที่ 8 (ทั้งสามตัวเป็น 0) เท่านั้น — บิตที่ 1 เป็น 0 ก็จริงแต่เป็นบิตแรกจึงไม่มีขอบก่อนหน้าให้พลิก · ส่วนกลางบิตนั้นพลิกครบทั้ง 9 บิต

ห้องทดลองด้านบน (กดไปสเต็ป “ดิฟเฟอเรนเชียลแมนเชสเตอร์”) วาดตามกฎที่ถูก ดังนั้นตั้งแต่บิตที่ 7 เป็นต้นไปรูปจะกลับหัวจากรูปในตำรา — ไม่ใช่บั๊ก แต่เป็นเพราะรูปในตำราพลิกเกินมาหนึ่งครั้งนั่นเอง

เทียบสี่รูปข้างบนใน 4 บรรทัด
  • Polar NRZ — อ่านที่ ระดับ · หนึ่งบิต = หนึ่งระดับคงที่
  • NRZ-I — อ่านที่ การพลิกที่ขอบบิต · พลิก = 1, ไม่พลิก = 0
  • แมนเชสเตอร์ — อ่านที่ ทิศของการพลิกกลางบิต · ลง = 1, ขึ้น = 0
  • ดิฟเฟอเรนเชียลแมนเชสเตอร์ — กลางบิตพลิกเสมอ (ไม่ใช่ข้อมูล) แล้วอ่านที่ ขอบบิต · พลิก = 0, ไม่พลิก = 1
แล้วทำไม LAN ถึงยอมใช้แมนเชสเตอร์ ทั้งที่เปลืองแบนด์วิดท์เป็นสองเท่า

ตำราให้เหตุผลไว้ตรง ๆ ว่า — การใช้ bipolar มีจุดประสงค์เพื่อส่งข้อมูลในระยะไกล ให้ใช้แบนด์วิดท์คุ้มค่าที่สุด แต่ LAN เป็นการส่งข้อมูลในระยะทางที่สั้น การคำนึงถึงราคาของเครื่องลูกข่ายจึงสำคัญกว่าประสิทธิภาพของเน็ตเวิร์ก → เลือกวงจรที่ถูกและง่าย (แมนเชสเตอร์) แล้วยอมจ่ายด้วยแบนด์วิดท์แทน · สังเกตว่าพอขึ้นไปถึง Gigabit การจ่ายด้วยแบนด์วิดท์แพงเกินไป (ต้องใช้สาย 2 Gbps) ตำราจึงเปลี่ยนไปใช้ NRZ + 8B/10B ในหัวข้อ 7.5.3 — เหตุผลเดียวกัน แต่คนละสเกลก็ให้คำตอบคนละอย่าง

จุดที่คนพลาดบ่อย

Manchester มีสองสำนัก — ตำราเล่มนี้ (และ IEEE 802.3) กำหนดว่า ลอจิก 1 = สูงลงต่ำ และ ลอจิก 0 = ต่ำขึ้นสูง แต่บางตำรา (G. E. Thomas) กลับด้านกันเป๊ะ ๆ ในข้อสอบวิชานี้ให้ยึดตามตำราเล่มนี้ — ถ้าไม่แน่ใจ ให้เขียนกำกับข้างรูปว่าใช้กฎอะไร มักได้คะแนน

อีกจุด: NRZ-I ดูที่ “มีการเปลี่ยน” ไม่ใช่ “ระดับสูง/ต่ำ” — เห็นบิต 1 แล้วต้องพลิกระดับ ไม่ใช่วาดให้สูงเสมอ และรูปจะกลับหัวได้ทั้งรูปถ้าเริ่มที่คนละระดับ ซึ่งถือว่าถูกทั้งคู่ ขอแค่กฎถูก

ส่วนขยาย (ไม่ได้อยู่ในตำรา) — AMI และ MLT-3

ในภาพเคลื่อนไหวด้านบนมีปุ่ม AMI (Bipolar) และ MLT-3 เพิ่มมาให้ลอง — ตำราเอ่ยชื่อ MLT-3 ไว้ในรายการ mBnL และในหัวข้อ 7.5.2 แต่ไม่ได้ให้กฎการวาดไว้ กฎที่ใช้ในภาพเคลื่อนไหวคือกฎมาตรฐานทั่วไป: AMI — บิต 0 อยู่ที่ระดับ 0 ส่วนบิต 1 สลับ +V, −V, +V, … · MLT-3 — บิต 0 ไม่เปลี่ยนระดับ ส่วนบิต 1 เลื่อนไปตามวง 0 → +V → 0 → −V → 0 ทำให้ต้องใช้บิต 1 ถึง 4 ตัว จึงจะครบหนึ่งรอบคลื่น ความถี่สัญญาณจึงเหลือเพียง 1/4 ของบิตเรท — นี่คือเหตุผลที่ตำราบอกว่า “MLT-3 มีการใช้แบนด์วิดท์ที่มีประสิทธิภาพ” ใน 100Base-TX

8B6T — เข้ารหัสเพื่อให้สาย Cat-3 วิ่ง 100 Mbps ได้

การเข้ารหัส 8B6T เป็นการเข้ารหัสที่น่าสนใจ เพราะทำให้สายสัญญาณ Cat-3 หรือดีกว่า รองรับการทำงานที่ 100 Mbps ได้

  • ใช้ สามระดับแรงดัน (+V, −V หรือ 0) ในการส่งข้อมูล
  • แปลงข้อมูลชุดละ 8 บิต (หนึ่งไบต์) เป็นชุดละ 6 บิตที่สามระดับของสัญญาณ (six ternary)
  • มีข้อมูลอยู่ 28 = 256 รูปแบบ ในขณะที่มี 36 = 729 ลักษณะของสัญญาณ → มีสัญญาณที่ไม่ได้ใช้จำนวนมาก
  • ส่วนที่เหลือถูกใช้เพื่อทำซิงโครไนเซชัน การตรวจสอบข้อผิดพลาด และการทำ DC balance
ข้อมูล (บิต)ข้อมูลที่ถูกเข้ารหัสข้อมูล (บิต)ข้อมูลที่เข้ารหัส
0000 0000− + 0 0 − +1111 0000+ 0 0 0 − +
0000 00010 − + − + 01111 00010 + 0 − + 0
0000 00100 − + 0 − +1111 00100 + 0 0 − +
…
1011 10100 + 0 − + −← ตัวอย่างในรูปที่ 7.15
…
0000 1110+ 0 − 0 + −1111 11100 0 + 0 + −
0000 1111+ 0 − − 0 +1111 11110 0 + − 0 +

ตารางที่ 7.3 — ตารางตัวอย่างการเข้ารหัสแบบ 8B6T (บางส่วน)

ตำรายกแถว 1011 1010 มาวาดให้ดูเต็ม ๆ — รูปบน (a) คือข้อมูลต้นทาง 8 บิต ที่ยังเป็นสองระดับ (+ กับ −) ส่วนรูปล่าง (b) คือสิ่งที่ออกไปในสายจริง ๆ ซึ่งเหลือแค่ 6 ช่วงสัญญาณ แต่ใช้ สามระดับ (+V, 0, −V):

รูปสองส่วน ส่วน (a) เป็นสัญญาณสองระดับบวกและลบของข้อมูล 8 บิต 1 0 1 1 1 0 1 0 มีแปดช่วงเท่ากัน ส่วน (b) เป็นสัญญาณสามระดับ +V, 0 และ −V จำนวนหกช่วง เรียงตามลำดับ 0, +V, 0, −V, +V, −V
รูปที่ 7.15 จากตำรา — ตัวอย่างการส่งข้อมูลแบบ 8B6T (a) ข้อมูล 8B (10111010) (b) ข้อมูลแบบ 6T (0 + 0 − + −) · จุดที่ต้องสังเกต: รูป (b) มีแค่ 6 ช่อง แต่ (a) มี 8 ช่อง — ข้อมูลเท่าเดิมแต่ใช้ช่วงสัญญาณน้อยลง
8 บิต → 6 สัญญาณ = ที่มาของ “100 Mbps ที่ 75 Mbaud”

นับจากรูป: ข้อมูล 8 บิต ถูกยัดลงใน 6 ช่วงสัญญาณ ดังนั้นบอดเรทที่ต้องใช้จริงคือ 100 Mbps × 6/8 = 75 Mbaud ซึ่งพอดีกับตัวเลขที่ตำราให้ไว้ในหัวข้อ 7.5.2 เรื่อง 100Base-T4 — และต่ำกว่าเพดาน 25 Mbaud ของ Cat-3 เมื่อกระจายลงหลายเส้น จึงส่งได้ · ถ้าใช้ NRZ ธรรมดา บอดเรทจะเท่ากับ 100 Mbaud ซึ่ง Cat-3 รับไม่ไหว

7.4.2Block Coding

แทนที่จะเข้ารหัสข้อมูลทีละหนึ่งบิต Block coding เป็นการนำข้อมูลเป็นกลุ่มหรือบล็อก (block) ขนาด m บิต เพื่อแทนด้วยการเข้ารหัสจำนวน n บิต ในรูปแบบ mB/nB

ข้อดี

  • ขจัดปัญหาในการประสานเวลา
  • ใช้เพื่อตรวจสอบข้อผิดพลาดของข้อมูลได้

ข้อจำกัด

แม้ 4B/5B ช่วยแก้ปัญหาการประสานเวลาได้ แต่ไม่สามารถแก้ปัญหาการเกิด DC component ได้

4B/5B (Four binary / Five binary)

4B/5B เป็นการแทนข้อมูลขนาด 4 บิต ด้วยข้อมูลดิจิทัลขนาด 5 บิต ถูกพัฒนาเพื่อใช้งานร่วมกับการเข้ารหัสของ NRZ-I

เหตุผล: ข้อดีของ NRZ-I คือมีอัตราการส่งสัญญาณ (signal rate) ที่ดี แต่มีปัญหาในการประสานเวลา จึงต้องใช้งานร่วมกับ 4B/5B เพื่อให้แน่ใจว่ามีการเปลี่ยนแปลงของระดับสัญญาณ

เราต้องการเพียง 16 รูปของการเข้ารหัส เท่านั้น (จาก 32 รูปที่เป็นไปได้) ทำให้เลือกใช้เฉพาะข้อมูลดิจิทัลที่มีการเปลี่ยนระดับสัญญาณอย่างน้อยสองครั้ง ส่วนที่เหลือถูกใช้เพื่อระบุจุดเริ่มต้น จุดสิ้นสุด ความผิดพลาดของข้อมูล และบางส่วนไม่ได้นำมาใช้ — หากมีการส่งข้อมูลที่ตรงกับส่วนที่ไม่ควรใช้งาน แสดงว่ามีความผิดพลาดในการส่งข้อมูลขึ้น

ข้อมูล 4 บิตข้อมูลที่ถูกเข้ารหัสข้อมูล 4 บิตข้อมูลที่เข้ารหัส
000011110100010010
000101001100110011
001010100101010110
001110101101110111
010001010110011010
010101011110111011
011001110111011100
011101111111111101

ตารางที่ 7.4 — ตารางการเข้ารหัสแบบ 4B/5B

ทำไม 4B/5B เหมาะกับใยแก้วมากกว่าสาย UTP

การส่งข้อมูลที่ความเร็ว 100 Mbps ด้วย 4B/5B จะต้องส่งที่ช่องความถี่ 125 MHz (เพราะ 4 บิตกลายเป็น 5 บิต → ×5/4) การส่งที่ความเร็วนี้บนสาย UTP จะทำให้เกิดการรบกวนทางแม่เหล็กไฟฟ้า (EMI) รวมถึงการรบกวนของคลื่นวิทยุ (RFI) รบกวนการทำงานของสายสัญญาณและอุปกรณ์อิเล็กทรอนิกส์ข้างเคียงได้ — บนใยแก้วนำแสงไม่มีปัญหานี้

7.5ตัวอย่างการใช้งานในการเข้ารหัสแบบต่าง ๆ

ในส่วนนี้กล่าวถึงการนำการเข้ารหัสแบบต่าง ๆ มาใช้จริงและเหตุผลของการเลือกใช้แต่ละวิธี โดยพิจารณากรณีของการใช้งานในแลนแบบต่าง ๆ

7.5.1อีเทอร์เน็ต (Ethernet)

ในการทำงานของอีเทอร์เน็ตที่ความเร็ว 10 Mbps ด้านส่งจะเข้ารหัสข้อมูลเป็นสัญญาณดิจิทัลโดยใช้รูปแบบการเข้ารหัสแบบแมนเชสเตอร์ และด้านรับทำในทางตรงข้ามคือแปลงการเข้ารหัสแบบแมนเชสเตอร์กลับเป็นข้อมูลดิจิทัล

ทำให้สามารถช่วยในการทำซิงโครไนเซชัน เนื่องจากการเข้ารหัสแบบแมนเชสเตอร์มีการเปลี่ยนระดับของสัญญาณที่ทุกบิตของข้อมูล

ไดอะแกรมบล็อกของสเตชันอีเทอร์เน็ต 10 Mbps ข้อมูล 10 Mbps จากเครื่องเข้า Manchester encoder ออกไปบนสาย UTP หรือเส้นใยแก้วนำแสง อีกทางหนึ่งสัญญาณจากสายเข้า Manchester decoder แล้วกลับออกมาเป็น 10 Mbps เข้าเครื่อง
รูปที่ 7.16 จากตำรา — การใช้การเข้ารหัสแบบแมนเชสเตอร์บนอีเทอร์เน็ต · จุดที่ต้องสังเกต: มีแค่กล่องเดียวต่อทิศทาง ไม่มี block coder เลย เพราะแมนเชสเตอร์มีนาฬิกาอยู่ในตัวอยู่แล้ว (เทียบกับรูป 7.17–7.21 ที่ต้องมีสองกล่องซ้อนกัน)

7.5.2Fast-Ethernet

100Base-TX

ทำงานบนสาย Category 5 UTP หรือ STP ใช้การเข้ารหัสแบบ MLT-3 เพราะ MLT-3 มีการใช้แบนด์วิดท์ที่มีประสิทธิภาพ

แต่ MLT-3 มีปัญหาการประสานเวลา จึงใช้ 4B/5B เพื่อป้องกันการเกิดลอจิก 0 หรือ 1 ต่อเนื่องกันจำนวนมาก → ทำให้ความเร็วของข้อมูลอยู่ที่ 125 Mbps

100Base-FX

ใช้เส้นใยแก้วนำแสงจำนวนสองเส้น ใยแก้วมีแบนด์วิดท์สูงจึงใช้การเข้ารหัสแบบง่าย ๆ ได้ — ใช้ NRZ-I

NRZ-I มีปัญหาการประสานเวลาเมื่อมีลอจิก 0 หรือ 1 ต่อเนื่องกัน จึงใช้ 4B/5B เช่นเดียวกับ 100Base-TX ทำให้ความเร็วเพิ่มจาก 100 → 125 Mbps แต่ไม่มีผลใด ๆ ในกรณีของใยแก้วนำแสง

100Base-T4

รองรับ Cat-3 UTP ซึ่งเดิมติดตั้งในอาคารจำนวนมาก ตามข้อกำหนด Cat-3 รองรับการสื่อสารสูงสุดได้เพียง 25 Mbaud เท่านั้น

จึงต้องใช้ 8B/6T เพื่อส่งข้อมูลที่ความเร็ว 100 Mbps ที่ 75 Mbaud โดยอาศัยสายสัญญาณจำนวน 4 เส้น

สามรูปข้างล่างนี้คือไดอะแกรมของทั้งสามแบบในตำรา อ่านเหมือนกันหมด คือไล่จากข้อมูลด้านบน → ลงมาผ่านกล่องเข้ารหัส → ออกไปที่สายด้านล่าง แล้วฝั่งรับย้อนกลับขึ้นไป ให้ดู 2 อย่าง ในทุกรูป: (1) ตัวเลขบนลูกศร ว่าความเร็วเปลี่ยนไปเท่าไรหลังผ่านแต่ละกล่อง และ (2) ชนิดสายที่เขียนไว้ตรงกลาง

ไดอะแกรมบล็อก 100Base-TX ด้านส่ง ข้อมูลเข้ามาเป็นสี่เส้นทางขนาน เส้นละ 25 Mbps เข้ากล่อง 4B/5B encoder ได้ออกมา 125 Mbps แล้วส่งต่อเข้ากล่อง MLT-3 encoder ออกไปบนสาย UTP category 5 ด้านรับมี MLT-3 decoder แล้วต่อด้วย 4B/5B decoder ย้อนกลับขึ้นไปเป็นสี่เส้นทาง เส้นละ 25 Mbps
รูปที่ 7.17 จากตำรา — การเข้ารหัสของการส่งแบบ Fast Ethernet 100Base-TX (4 × 25 Mbps = 100 Mbps → 4B/5B ดัน 100 เป็น 125 Mbps → MLT-3 → Cat-5 UTP)
ไดอะแกรมบล็อก 100Base-FX ด้านส่ง ข้อมูลเข้ามาเป็นสี่เส้นทางขนาน เส้นละ 25 Mbps เข้ากล่อง 4B/5B encoder ได้ 125 Mbps แล้วส่งเข้ากล่อง NRZ-I encoder ออกไปบนเส้นใยแก้วนำแสง ด้านรับมี NRZ-I decoder ต่อด้วย 4B/5B decoder
รูปที่ 7.18 จากตำรา — การเข้ารหัสของการส่งแบบ Fast Ethernet 100Base-FX (โครงเหมือน TX ทุกอย่าง ต่างแค่กล่องล่างเป็น NRZ-I และสายเป็นใยแก้ว — 125 Mbps จึงไม่เป็นปัญหา)
ไดอะแกรมบล็อก 100Base-T4 ข้อมูล 100 Mbps เข้ากล่อง 8B/6T encoder เพียงกล่องเดียว แล้วกระจายออกเป็นสามเส้นทางลงสาย category 3 UTP 4 เส้น ด้านรับมี 8B/6T decoder รับกลับขึ้นมาเป็น 100 Mbps
รูปที่ 7.19 จากตำรา — การเข้ารหัสของการส่งแบบ Fast Ethernet 100Base-T4 (จุดที่ต่างจากสองรูปบน: ไม่มี 4B/5B เพราะ 8B/6T เป็น mBnL ที่มีนาฬิกาในตัวและลดบอดเรทอยู่แล้ว · สังเกตว่าสัญญาณถูกกระจายลงหลายเส้นบนสาย Cat-3 4 เส้น)

7.5.3Gigabit-Ethernet

การใช้การเข้ารหัสแบบแมนเชสเตอร์ใน Gigabit Ethernet ทำให้มีความจำเป็นต้องใช้สายสัญญาณที่ความเร็ว 2 Gbps ซึ่งถือว่าสูงมาก (เพราะแมนเชสเตอร์ต้องการความเร็วช่องสัญญาณเป็นสองเท่าของข้อมูล)

บนใยแก้ว — 1000Base-SX / 1000Base-LX

กรณีส่งที่ใช้สายเพียงสองเส้น การใช้ NRZ จะดีกว่า แต่เพื่อลดปัญหาการประสานเวลาจึงใช้ร่วมกับ 8B/10B ทำให้บิตเรทเหลือเพียง 1.25 Gbps (SX = short-wave, LX = long-wave)

บนสาย Cat-5 UTP — 1000Base-T

เพื่อรองรับสาย Category 5 UTP ที่ติดตั้งไว้เรียบร้อยแล้ว จะใช้ 4D-PAM5 แทน เพื่อลดความเร็วบนสายสัญญาณลง — 4D-PAM5 ใช้สายสัญญาณ 4 เส้น ที่ความเร็ว 250 Mbps ต่อเส้น จึงทำงานบนสาย UTP ได้

ไดอะแกรมบล็อก Gigabit Ethernet บนใยแก้ว ข้อมูลเข้ามาเป็นแปดเส้นทางขนาน เส้นละ 125 Mbps เข้ากล่อง 8B/10B block encoder ได้ออกมา 1.25 Gbps แล้วส่งเข้ากล่อง NRZ line encoder ออกไปบนสาย STP หรือเส้นใยแก้วนำแสง ด้านรับมี NRZ line decoder ต่อด้วย 8B/10B block decoder
รูปที่ 7.20 จากตำรา — การเข้ารหัสของการส่งแบบ Gigabit Ethernet 1000Base-SX, 1000Base-LX และ 1000Base-CX (8 × 125 Mbps = 1 Gbps → 8B/10B ดันเป็น 1.25 Gbps → NRZ → STP หรือใยแก้ว)
ไดอะแกรมบล็อก Gigabit Ethernet 1000Base-T ข้อมูลเข้ามาเป็นแปดเส้นทางขนาน เส้นละ 125 Mbps เข้ากล่อง 4D-PAM5 encoder เพียงกล่องเดียว แล้วกระจายออกเป็นสี่เส้นทางลงสาย UTP category 5 ด้านรับมี 4D-PAM5 decoder รับกลับขึ้นไปแปดเส้นทาง
รูปที่ 7.21 จากตำรา — การเข้ารหัสของการส่งแบบ Gigabit Ethernet 1000Base-T (ไม่มี block coder · 4D-PAM5 ซอย 1 Gbps ลง สาย Cat-5 จำนวน 4 เส้น เส้นละ 250 Mbps)
1000Base-CX มาจากไหน (มีในคำบรรยายรูป 7.20 แต่ไม่มีในเนื้อความ)

คำบรรยายของรูปที่ 7.20 ในตำราครอบคลุม สามมาตรฐาน คือ 1000Base-SX, 1000Base-LX และ 1000Base-CX ทั้งที่เนื้อความเอ่ยถึงแต่ SX (short-wave) กับ LX (long-wave) — ดูในรูปจะเห็นว่าสายที่เขียนไว้คือ “สาย STP หรือ เส้นใยแก้วนำแสง” นั่นคือ CX คือตัวที่วิ่งบน STP ส่วน SX/LX วิ่งบนใยแก้ว — ทั้งสามใช้ชุดเข้ารหัสเดียวกันคือ 8B/10B + NRZ ที่ 1.25 Gbps จึงวาดรวมรูปเดียวได้

มาตรฐานสื่อLine codingBlock codingความเร็วบนสาย
Ethernet 10 MbpsUTP หรือใยแก้วแมนเชสเตอร์—(สองเท่าของข้อมูล)
100Base-TXCat-5 UTP / STPMLT-34B/5B125 Mbps
100Base-FXใยแก้ว 2 เส้นNRZ-I4B/5B125 Mbps
100Base-T4Cat-3 UTP 4 เส้น8B/6T—75 Mbaud
1000Base-SX / LX / CXใยแก้ว (SX, LX) · STP (CX)NRZ8B/10B1.25 Gbps
1000Base-TCat-5 UTP 4 เส้น4D-PAM5—250 Mbps ต่อเส้น

สรุปหัวข้อ 7.5 — ท่องตารางนี้ตารางเดียวก็ตอบข้อ “Fast Ethernet ใช้การเข้ารหัสอะไร” ได้

วิธีจำหัวข้อ 7.5 แบบไม่ต้องท่อง

ทุกบรรทัดในตารางมาจากคำถามเดียวกัน: “สายที่มีอยู่วิ่งได้เร็วแค่ไหน แล้วต้องบีบสัญญาณลงเท่าไรถึงจะพอ?” — สายใยแก้วเร็วเหลือเฟือ → ใช้โค้ดง่าย ๆ (NRZ / NRZ-I) · สาย Cat-5 ตึง ๆ → ใช้ MLT-3 ที่กินแบนด์วิดท์น้อย · สาย Cat-3 เก่าจำกัดที่ 25 Mbaud → ต้องยัด 3 ระดับ 4 เส้น (8B/6T) · Gigabit บน Cat-5 → ต้องซอย 4 เส้น เส้นละ 250 Mbps (4D-PAM5) · และเมื่อไรที่ใช้โค้ดที่ “ไม่มีนาฬิกาในตัว” (NRZ, NRZ-I, MLT-3) ก็ต้องแปะ block coding (4B/5B, 8B/10B) ไปด้วยเสมอ

7.6สัญญาณรบกวน

ด้วยความเป็นเด็กเรียน แต่บังเอิญวันนี้ตื่นสาย จำเป็นต้องนั่งหลังห้อง อาจารย์ไม่ได้ใช้ไมค์ ทำให้ไม่ค่อยได้ยินเสียงอยู่แล้ว เพื่อนที่อยู่ข้าง ๆ ยังคุยกันอีก ข้างหลังก็มีการเคาะโต๊ะเป็นช่วง ๆ ทำให้ได้ยินไม่ชัดเจน และบางคำผิดเพี้ยนจากที่อาจารย์สอนอยู่

ทั้งหมดไม่ต่างจากสัญญาณรบกวนที่เกิดขึ้นในช่องสัญญาณการสื่อสาร ซึ่งทำให้เกิด:

การลดทอนของสัญญาณ

เสียงอาจารย์เบาลงเพราะเรานั่งไกล → Attenuation (7.7.1)

สัญญาณรบกวน

เพื่อนคุยกัน + เคาะโต๊ะเป็นช่วง ๆ → Noise (7.7.3)

การเกิดครอสทอล์ก

เสียงจากอีกช่องทางเล็ดลอดเข้ามาปน → Crosstalk (7.8)

7.7ความบกพร่องจากการสื่อสาร (Transmission Impairment)

แม้ปัจจุบันมีการพัฒนาสายสัญญาณให้ส่งข้อมูลได้สูงขึ้น แต่ด้วยข้อจำกัดของวัสดุที่ใช้ พฤติกรรมของสัญญาณที่เกิดขึ้นในช่องสัญญาณ และความจำเป็นในการตัดต่อสายสัญญาณ จึงหลีกเลี่ยงไม่ได้ที่จะเกิดผลกับการสื่อสาร ประกอบด้วย 3 สาเหตุสำคัญ:

7.7.1การลดทอนของสัญญาณ (Attenuation)

การลดทอนของสัญญาณ หมายถึงการที่สัญญาณมีขนาดของแอมพลิจูดลดลงเมื่อมาถึงยังภาครับ เนื่องจากคุณสมบัติของตัวนำ เช่น ค่าความต้านทานที่มีอยู่ภายในตัวนำสัญญาณ

การลดทอนของสัญญาณจะทำให้การสื่อสารได้ในระยะทางจำกัด ทำให้จำเป็นต้องมีการใช้เครื่องทวนสัญญาณ (repeater) ขยายสัญญาณให้มีขนาดสูงขึ้น ให้ภาครับสามารถทำงานได้อย่างถูกต้อง

การลดทอนของสัญญาณและการใช้เครื่องทวนสัญญาณ
รูปที่ 7.23 จากตำรา — การลดทอนของสัญญาณ (Attenuation)

วัดกันด้วยเดซิเบล (dB)

โดยทั่วไปการวัดค่าของการลดทอนหรือการขยายสัญญาณจะกำหนดอยู่ในรูปของ เดซิเบล (decibel) คล้ายการวัดความแรงของสัญญาณเสียง โดยสมมติให้สัญญาณที่ส่งมีค่าเป็น P1 และสัญญาณที่รับมีค่าเป็น P2 (หน่วยเป็นวัตต์)

การลดทอนของสัญญาณ (Attenuation) = 10 log( P1P2 )  dB สัญญาณส่ง ÷ สัญญาณรับ — ค่าที่ได้เป็นบวกเมื่อสัญญาณอ่อนลง
การขยายสัญญาณ (Amplification / gain) = 10 log( P2P1 )  dB กลับเศษกับส่วน — ค่าที่ได้เป็นบวกเมื่อสัญญาณแรงขึ้น

เดซิเบล (dB) เป็นหน่วยเปรียบเทียบแบบลอการิทึม ใช้ในวงกว้าง ไม่ว่าจะเป็นศาสตร์ด้านเสียง กำลังไฟฟ้า หรือการสื่อสาร ข้อดีคือ:

  • แทนตัวเลขขนาดเล็กหรือขนาดใหญ่ด้วยค่าที่เข้าใจง่ายขึ้น
  • ใช้การบวกหรือลบเลขแทนการคูณหรือหาร
เดซิเบล (dB) = 10 log10( P1P2 )   โดยในที่นี้ P2 มีค่าเท่ากับ 1 วัตต์
กำลังไฟฟ้าเขียนเป็น dBทำไม
100 วัตต์20 dB10 log10(100/1) = 10 × 2
0.1 มิลลิวัตต์−40 dB10 log10(0.0001/1) = 10 × (−4)

dBm — เทียบกับมิลลิวัตต์

เนื่องจากการสื่อสารแบบไร้สาย เช่น ไวไฟ (Wi-Fi) บลูทูธ และอุปกรณ์ IoT ใช้พลังงานที่ต่ำ (เช่น ไวไฟที่สูงสุด 100 มิลลิวัตต์) จึงมีการกำหนดหน่วยในรูปแบบที่เทียบในหน่วยมิลลิวัตต์ (dBm) แทน

เดซิเบลมิลลิวัตต์ (dBm) = 10 log10( P11 × 10−3 ) หารด้วย 1 มิลลิวัตต์แทนที่จะหารด้วย 1 วัตต์
  • 100 มิลลิวัตต์ → 20 dBm
  • 0.1 มิลลิวัตต์ → −10 dBm

7.7.2ความบิดเบือนของสัญญาณ (Distortion)

โดยทั่วไปสัญญาณแต่ละประเภทจะประกอบด้วยสัญญาณพื้นฐานคือ Sine Wave จำนวนมากที่ความถี่ที่แตกต่างกัน ก่อนที่จะเกิดการรวมกันเป็นสัญญาณ Square Wave หรืออื่น ๆ ที่จะถูกส่งเข้าไปในช่องสัญญาณ

เนื่องด้วยความเร็วของการเคลื่อนที่ของคลื่นที่ความถี่แตกต่างกัน เมื่อคลื่นเคลื่อนที่มายังภาครับ รวมถึงข้อจำกัดของตัวนำที่รองรับความถี่ได้ในบางช่วงเท่านั้น ทำให้ตัวนำทำหน้าที่เสมือน Bandpass filter สัญญาณที่เกิดขึ้นที่ภาครับจึงเกิดการบิดเบือนไป เราเรียกว่า ความบิดเบือนของสัญญาณ (distortion)

สัญญาณซายน์ที่มีความถี่ไม่เท่ากันหลาย ๆ ความถี่รวมกันเรียกว่า Composite signal

การเกิดความบิดเบือนของสัญญาณเมื่อ composite signal ผ่านช่องสัญญาณ
รูปที่ 7.24 จากตำรา — การเกิดความบิดเบือนของสัญญาณ

7.7.3สัญญาณรบกวน (Noise)

สัญญาณรบกวนหรือ นอยส์ เป็นอีกหนึ่งปัจจัยสำคัญที่มีผลต่อการสื่อสารอย่างมาก ตัวอย่างของสัญญาณรบกวนได้แก่:

ชนิดเกิดจากอะไร
เทอร์มัลนอยส์ (Thermal Noise) เกิดจากการเคลื่อนที่ของอิเล็กตรอนภายใน เนื่องจากส่งสัญญาณไปในช่องสัญญาณ
อินดิวซ์นอยส์ (Induced Noise) สัญญาณรบกวนที่เกิดขึ้นจากอุปกรณ์ไฟฟ้า เช่น การใช้เครื่องไมโครเวฟ
อิมพัลส์นอยส์ (Impulse Noise) สัญญาณรบกวนช่วงสั้น ๆ ที่เกิดจากการเกิดฟ้าผ่า หรือจากการเริ่มต้นการทำงานของมอเตอร์
ครอสทอล์ก (Crosstalk) เกิดจากการเคลื่อนที่ของสัญญาณไฟฟ้าบนสายเส้นหนึ่งเหนี่ยวนำไปบนอีกเส้น ทำให้เปรียบเสมือนเส้นหนึ่งเป็นเครื่องส่ง ส่วนอีกเส้นเป็นเครื่องรับ (รายละเอียดในหัวข้อ 7.8)

สมการของ Thermal Noise

Pn = k T B กำลังของสัญญาณรบกวนความร้อน
สัญลักษณ์ความหมายค่า / หน่วย
PnMaximum noise power output of a resistorวัตต์
kBoltzmann's constant1.38 × 10−23 Joules / Kelvin
TAbsolute temperatureK = 273 + °C
Bแบนด์วิดท์เฮิรตซ์
จุดที่คนพลาดบ่อย

ใน Pn = kTB ค่า T ต้องเป็น เคลวิน ไม่ใช่องศาเซลเซียส — ถ้าโจทย์ให้ 20 °C ต้องแปลงเป็น 273 + 20 = 293 K ก่อนเสมอ · และสังเกตว่า B ยิ่งกว้าง noise ยิ่งมาก — นี่คือเหตุผลที่ตำราบอกใน 7.10.2 ว่า “แบนด์วิดท์เป็นอนันต์ไม่ได้ทำให้ส่งข้อมูลเป็นอนันต์ เพราะขนาดของสัญญาณรบกวนจะเพิ่มขึ้นเช่นกัน”

ไดอะแกรมการเกิดสัญญาณรบกวน ด้านซ้ายเป็นภาคส่งที่ต้นทาง มีรูปคลื่นสีน้ำเงินรูปร่างสะอาด กลางภาพเป็นเส้นตัวกลางแนวนอน มีรูปคลื่นสีเขียวรูปร่างแหลมผิดปกติกำกับว่าสัญญาณรบกวน พร้อมลูกศรชี้ลงมาแทรกที่ตัวกลาง ด้านขวาเป็นภาครับที่ปลายทางได้รูปคลื่นสีน้ำเงินที่มีความเพี้ยนปนมา
รูปที่ 7.25 จากตำรา — การเกิดสัญญาณรบกวน (Noise) (รูปจาก [14]) · จุดที่ต้องสังเกต: สัญญาณรบกวนไม่ได้เกิดที่ต้นทางหรือปลายทาง แต่ถูก “บวกเข้ามา” ระหว่างทางที่ตัวกลาง ภาครับจึงได้สัญญาณต้นฉบับ + noise เสมอ นี่คือเหตุผลที่เราวัดกันด้วยอัตราส่วน S/N ไม่ใช่วัดค่า noise เดี่ยว ๆ

SNR — อัตราส่วนของสัญญาณต่อสัญญาณรบกวน

Signal-to-Noise Ratio (SNR) เป็นการวัดอัตราส่วนของสัญญาณ S เทียบกับสัญญาณรบกวน N

SNR = 10 log( SN )  dB สมการนี้คือกุญแจของข้อสอบข้อ 7.10 — ต้องกลับสมการเป็น S/N ให้ได้

SNR แสดงถึงระดับความแรงของสัญญาณเทียบกับสัญญาณรบกวนที่เกิดขึ้น จากสมการจะเห็นว่ายิ่งสัญญาณรบกวนต่ำเท่าใด ค่า SNR ก็จะสูงขึ้นเป็นสัดส่วนผกผัน

7.8ครอสทอล์ก (Crosstalk)

ครอสทอล์กเป็นสัญญาณรบกวนประเภทหนึ่งที่กล่าวไปแล้วในหัวข้อ 7.7.3 แต่เนื่องด้วยครอสทอล์กมีความสำคัญอย่างมากต่อการสื่อสาร อันเป็นผลเนื่องจากการสื่อสารเอง จากการเหนี่ยวนำของสนามแม่เหล็กจากสายสัญญาณข้างเคียง จึงแยกมาอธิบายเป็นหัวข้อของตัวเอง

NEXT — near-end crosstalk

near-end crosstalk (NEXT) หรืออาจเรียกอีกชื่อว่า self-crosstalk เกิดขึ้นเพราะ:

  1. การสื่อสารปัจจุบันเป็นแบบ full-duplex — การส่งและรับจะเกิดขึ้นพร้อมกัน
  2. ภาคส่งต้องส่งในระดับสัญญาณที่สูง เพื่อให้สัญญาณที่ภาครับ (ปลายทางไกล ๆ) อยู่ในระดับที่ยอมรับได้
  3. ในขณะเดียวกัน สัญญาณที่รับเข้ามาถูกลดทอนระหว่างทาง ทำให้อยู่ในระดับต่ำ
  4. สัญญาณส่งที่แรงมากจึงเหนี่ยวนำไปยังภาครับที่อ่อนแอ ทำให้ภาครับไม่ได้รับสัญญาณตามที่ควรจะเป็น

สมมติให้มีการส่งข้อมูลที่ภาคส่ง เกิดการเหนี่ยวนำที่จุด (A) ไปยังจุด (C) แต่ไม่กระทบที่จุด (B) — ผลที่ได้คือสัญญาณที่จุด (C) เปลี่ยนแปลงค่อนข้างมากเนื่องจากสัญญาณครอสทอล์กที่เกิดขึ้น ในขณะที่สัญญาณที่จุด (B) ไม่มีการเกิดครอสทอล์ก

การเกิดครอสทอล์กจากจุด A ไปยังจุด C
รูปที่ 7.26 จากตำรา — การเกิดครอสทอล์กจากจุด (A) ไปยังจุด (C)

รูปที่ 7.26 บอกว่า “เหนี่ยวนำจากไหนไปไหน” ส่วนรูปที่ 7.27 บอกว่า “แล้วสัญญาณจริงหน้าตาเป็นยังไง” — เอาสามจุดมาวางซ้อนกันบนแกนเวลาเดียวกันเพื่อเทียบ:

กราฟสามเส้นเรียงจากบนลงล่างบนแกนเวลาเดียวกัน เส้นบนคือสัญญาณภาคส่งที่จุด A เป็นรูปคลื่นสี่เหลี่ยมขนาดใหญ่ เส้นกลางคือสัญญาณภาครับที่จุด B ซึ่งไม่มี crosstalk รูปคลื่นเรียบและอ่านระดับได้ชัด เส้นล่างคือสัญญาณภาครับที่จุด C ซึ่งมี crosstalk รูปคลื่นบิดเบี้ยวมีหนามแหลมยื่นขึ้นลงตรงจังหวะที่สัญญาณ A เปลี่ยนระดับ มีเส้นตั้งลากเชื่อมทั้งสามกราฟให้เทียบเวลากันได้
รูปที่ 7.27 จากตำรา — ผลของครอสทอล์กที่จุดต่าง ๆ · จุดที่ต้องสังเกต: หนามที่จุด (C) โผล่ตรงจังหวะเดียวกับที่สัญญาณส่ง (A) เปลี่ยนระดับพอดี (ดูตามเส้นตั้ง) เพราะการเหนี่ยวนำเกิดจากอัตราการเปลี่ยนแปลงของสัญญาณ ไม่ใช่ตัวระดับ · ส่วนจุด (B) ที่ไม่โดนเหนี่ยวนำยังอ่านบิตได้ปกติ
จุดที่คนพลาดบ่อย — NEXT ไม่ใช่ “สายข้างบ้านกวน” อย่างเดียว

คำว่า self-crosstalk ในตำราหมายความตรงตัวว่า เรากวนตัวเอง — ภาคส่งของเราเองที่แรงมาก เหนี่ยวนำเข้าภาครับของเราเองที่อ่อนแรง (เพราะสัญญาณขามาถูกลดทอนมาทั้งเส้นแล้ว) ที่ปลายเดียวกันของสาย จึงเรียกว่า near-end · ข้อสอบชอบถามว่า “ทำไม NEXT ถึงรุนแรงกว่าตอนสายว่าง ๆ” คำตอบคือ full-duplex ทำให้ส่งกับรับเกิดพร้อมกันบนสายเดียวกันนั่นเอง

ทำไมสาย UTP ถึงต้อง “ตีเกลียว” (ส่วนขยาย เชื่อมกับบทที่ 9)

การตีเกลียว (twisted pair) มีไว้เพื่อลดครอสทอล์กโดยตรง — เมื่อสองเส้นพันกัน สนามแม่เหล็กที่เหนี่ยวนำเข้าสองเส้นจะใกล้เคียงกัน แล้วหักล้างกันเมื่อภาครับอ่านค่าผลต่างของสองเส้น ยิ่งเกลียวถี่ (Cat-6 ถี่กว่า Cat-5) ยิ่งกันครอสทอล์กที่ความถี่สูงได้ดี — และเป็นเหตุผลที่ห้ามคลายเกลียวยาวเกิน ~13 มม. ตอนเข้าหัว RJ-45

7.9ความสามารถของการสื่อสาร

การสื่อสารในช่องสัญญาณ เหตุใดจึงไม่ส่งให้เร็วที่สุด? อะไรคือข้อจำกัดที่สำคัญของการสื่อสาร? ในที่นี้จะกล่าวถึงทฤษฎีและข้อจำกัดเบื้องต้นของการสื่อสารในช่องสัญญาณ โดย:

เริ่มจาก “โลกสวย” — ไม่มีสัญญาณรบกวน

Nyquist's Sampling Theorem — บอกเพดานความเร็วเมื่อช่องสัญญาณปราศจากสัญญาณรบกวน ตัวแปรที่ควบคุมคือ แบนด์วิดท์ กับ จำนวนระดับสัญญาณ

แล้วค่อยเข้าโลกจริง — มีสัญญาณรบกวน

Shannon's Law — บอกเพดานความเร็วเมื่อช่องสัญญาณมีสัญญาณรบกวนเกิดขึ้น ตัวแปรที่ควบคุมคือ แบนด์วิดท์ กับ S/N

7.10ความจุของช่องสัญญาณ (Channel Capacity)

การสื่อสารในปัจจุบัน ตัวกลางที่ใช้ไม่ว่าจะเป็น สายทองแดง สายใยแก้วนำแสง หรือการสื่อสารแบบไร้สาย ต่างมีข้อจำกัดที่เกิดจาก:

  1. ความสามารถของคลื่นที่สามารถส่งได้ของตัวกลางประเภทนั้น ๆ หรือ แบนด์วิดท์ ในคำจำกัดความของการสื่อสาร
  2. การถูกรบกวนของช่องสัญญาณ

โดยทั่วไปอธิบายได้ด้วย Nyquist's Sampling Theorem และ Shannon's Law

อ่านตรงนี้ให้แน่นที่สุดในบท

ทั้งหัวข้อ 7.10 มีแค่ สองสูตรกับหนึ่งการแปลงหน่วย เท่านั้น ถ้าจำสามอย่างนี้ได้ก็ได้คะแนนเต็มข้อ — และเป็นข้อที่ทำเสร็จได้ในเวลาไม่ถึง 3 นาที ควรเก็บก่อนข้ออื่นเสมอ

7.10.1Nyquist's Sampling Theorem

เพื่อส่งข้อมูลในรูปของดิจิทัล สัญญาณแอนะล็อกจำเป็นต้องผ่านการสุ่มด้วยความถี่ที่เหมาะสม ในปี 1924 Harry Nyquist ได้แสดงให้เห็นว่า:

หากสัญญาณถูกส่งด้วยแบนด์วิดท์เป็น W เฮิรตซ์ และไม่มีความถี่อื่นที่สูงกว่า W ข้อมูลที่ได้รับสามารถแปลงกลับได้อย่างถูกต้อง หากสัญญาณนั้นถูกสุ่มค่าที่ความเร็วอย่างน้อยเป็นสองเท่าของความเร็วของสัญญาณ (2W) เรียกว่า Nyquist's Sampling Rate

C = 2 W log2 L   bps C = maximum data rate (อัตราการส่งข้อมูลสูงสุด)
สัญลักษณ์ความหมายหน่วยระวัง
Cอัตราการส่งข้อมูลสูงสุด (channel capacity)bps—
Wแบนด์วิดท์ของช่องสัญญาณ (บางโจทย์เขียนเป็น B)Hz2 MHz = 2×106 Hz ไม่ใช่ 2
Lจำนวนระดับของสัญญาณที่ใช้ระดับใส่ จำนวนระดับ ลงใน log2 ไม่ใช่จำนวนบิต
log2L= m = จำนวนบิตต่อหนึ่งระดับสัญญาณบิต/symbolL=16 → log216 = 4

ตัวอย่าง 7.2 (จากตำรา) — ช่องสัญญาณในระบบโทรศัพท์มีแบนด์วิดท์ 3000 เฮิรตซ์ หากสื่อสารโดยใช้ 16 ระดับของสัญญาณ จงหาอัตราเร็วสูงสุดในการส่งข้อมูลโดยใช้ Nyquist's Theorem

C = 2W log2L
  = 2 × 3000 × log216
  = 2 × 3000 × 4
  = 24,000 bps

7.10.2Shannon's Law

การศึกษาของ Nyquist สมมติว่าช่องสัญญาณไม่มีสัญญาณรบกวนใด ๆ ในปี ค.ศ. 1948 Claude E. Shannon ศึกษาถึงผลของสัญญาณรบกวนที่มีต่อช่องสัญญาณ โดยพิจารณาความสามารถของช่องสัญญาณในการที่จะส่งข้อมูลมากที่สุดที่แบนด์วิดท์ B เฮิรตซ์ โดยไม่เกิดความผิดพลาดแม้มีสัญญาณรบกวนในช่องสัญญาณ

Shannon แสดงถึงความสัมพันธ์ของแบนด์วิดท์ (B) กำลังส่ง (S) และสัญญาณรบกวน (N) เป็น Shannon's Channel Capacity:

C = W log2( 1 + SN ) S/N เป็น “อัตราส่วน” เปล่า ๆ — ไม่ใช่ค่า dB
จุดที่คนพลาดบ่อยที่สุดของทั้งบท — S/N ไม่ใช่ dB

โจทย์เกือบทุกข้อจะให้ SNR มาเป็น dB แต่สูตร Shannon ต้องการ อัตราส่วนเปล่า ๆ ห้ามเอา 20 หรือ 40 ยัดลงในสูตรตรง ๆ เด็ดขาด ต้องแปลงก่อนเสมอ:

SNR(dB) = 10 · log10( S/N )   →   S/N = 10(dB/10)
SNR (dB)ยกกำลังS/N (อัตราส่วน)1 + S/N
10 dB1011011
20 dB102100101
30 dB1031,0001,001
40 dB10410,00010,001

จากสมการจะเห็นว่าเราเพิ่มอัตราการส่งข้อมูลได้ด้วยการเพิ่มค่า S/N และขยายขนาดของแบนด์วิดท์ให้สูงขึ้น นอกจากนี้:

  • หากมีช่องสัญญาณที่ไม่มีสัญญาณรบกวนเลย (noiseless) หรือต่ำมาก → อัตราการส่งข้อมูลจะเป็นอนันต์
  • แต่ไม่อาจกล่าวได้ว่า หากมีแบนด์วิดท์เป็นอนันต์จะส่งข้อมูลได้เป็นอนันต์เช่นกัน เนื่องจากขนาดของสัญญาณรบกวนจะเพิ่มขึ้นเช่นกัน (สอดคล้องกับ Pn = kTB ในหัวข้อ 7.7.3)

ตัวอย่างเต็มรูปแบบจากข้อสอบเก่า

โจทย์ — ช่องสัญญาณมีแบนด์วิดท์ B = 2 MHz ใช้ 16 ระดับสัญญาณ
(ก) จงหาอัตราการส่งข้อมูลสูงสุดตาม Nyquist
(ข) ถ้าช่องสัญญาณมี SNR = 20 dB จงหาความจุตาม Shannon
(ค) ถ้าปรับปรุงจนได้ SNR = 40 dB จะได้เท่าไร

ลองทำเองก่อน แล้วค่อยกดดูเฉลย

(ก) Nyquist — ไม่สนใจ noise ใช้แค่ B กับ L

C = 2 × B × log2(L)
  = 2 × (2 × 106) × log216
  = 2 × (2 × 106) × 4
  = 16 × 106 bps = 16 Mbps

(ข) Shannon ที่ SNR = 20 dB — ขั้นแรกต้องแปลง dB เป็นอัตราส่วนก่อน

20 = 10 log10(S/N)  →  log10(S/N) = 2  →  S/N = 102 = 100

C = B log2(1 + S/N)
  = (2 × 106) × log2(1 + 100)
  = (2 × 106) × log2(101)
  = (2 × 106) × 6.658
  ≈ 1.33 × 107 bps  (13.32 Mbps)

(ค) Shannon ที่ SNR = 40 dB

40 = 10 log10(S/N)  →  S/N = 104 = 10,000

C = (2 × 106) × log2(1 + 10,000)
  = (2 × 106) × log2(10,001)
  = (2 × 106) × 13.288
  ≈ 2.66 × 107 bps  (26.58 Mbps)
อ่านผลลัพธ์

SNR เพิ่มจาก 20 → 40 dB (กำลังสัญญาณต่อ noise เพิ่ม 100 เท่า) แต่ความจุเพิ่มแค่ประมาณ 2 เท่า (1.33×107 → 2.66×107) — เพราะ S/N อยู่ใน log2 ผลตอบแทนจึงลดหลั่น นี่คือเหตุผลว่าทำไมการ “เพิ่มกำลังส่ง” ถึงไม่ใช่ทางออกที่ดีเท่ากับ “เพิ่มแบนด์วิดท์” (B คูณอยู่ข้างนอก log จึงเพิ่มแบบเชิงเส้น)

จุดที่คนพลาดบ่อย — เลขผิดสามแบบที่เจอในกระดาษคำตอบของรุ่นพี่
คำตอบที่เห็นมาจากการทำอะไรผิดที่ถูกคือ
2,000,006.658
(หรือเขียน 2000006.658 bps)
บวกแทนที่จะคูณ — เขียน 2×106 + log2(101) = 2,000,000 + 6.658 แทนที่จะเป็น 2×106 × 6.658 1.33 × 107 bps
4.01 × 106 ใช้ log ผิดฐาน — กด log บนเครื่องคิดเลขซึ่งเป็น log10 ได้ log10(101) = 2.004 แทนที่จะเป็น log2(101) = 6.658
4.32 × 107 ลืมแปลง dB — ยัด 20 ลงในสูตรตรง ๆ ได้ log2(1+20) = log221 แทนที่จะเป็น log2(1+100)

ทั้งสามข้อป้องกันได้ด้วยการเขียนบรรทัดแทนค่าออกมาให้ครบทุกบรรทัดอย่างในเฉลยข้างบน อย่ากดเครื่องคิดเลขรวดเดียวแล้วเขียนแต่คำตอบ — เขียนขั้นตอนไว้ยังได้คะแนนบางส่วนถ้าเลขท้าย ๆ ผิด

เครื่องคิดเลขไม่มีปุ่ม log ฐาน 2 ทำยังไง
log2(x) = log10(x)log10(2) = log10(x)0.3010 = ln(x)0.6931

ตรวจสอบเร็ว ๆ: log2(101) = 2.0043 ÷ 0.3010 = 6.658 ✓ · และค่าที่ควรจำไว้เลยเพราะออกซ้ำ ๆ: log2(101) ≈ 6.658 · log2(10001) ≈ 13.288 · log2(1025) ≈ 10.0 · log216 = 4

ส่วนขยาย — แล้วถ้าโจทย์ให้ทั้ง L และ SNR มาพร้อมกัน ตอบตัวไหน?

ตำราไม่ได้ระบุไว้ แต่ตามหลักการทั่วไป: Nyquist บอกเพดานจากอุปกรณ์ (เราออกแบบให้มีกี่ระดับ) ส่วน Shannon บอกเพดานจากธรรมชาติของช่องสัญญาณ (noise) ความเร็วที่ใช้ได้จริงจึงเป็นค่าที่น้อยกว่าในสองค่านั้น — ในตัวอย่างข้างบน Nyquist ได้ 16 Mbps แต่ Shannon ที่ 20 dB ได้แค่ 13.32 Mbps แปลว่า noise เป็นตัวจำกัด การเพิ่มระดับสัญญาณให้มากกว่า 16 จะไม่ช่วยอะไร ถ้าไม่แก้ noise ก่อน — ในข้อสอบให้ตอบทั้งสองค่าตามที่โจทย์ถาม ไม่ต้องเลือกเอง เว้นแต่โจทย์ถามว่า “ใช้ได้จริงเท่าไร”

7.11อัตราการส่งสัญญาณ อัตราการส่งข้อมูล และบิตเรท

ในทางปฏิบัติ เนื่องจากการสื่อสารไม่ว่าจะเป็นแบบประสานเวลาหรือไม่ จะมีการเพิ่มบิตพิเศษเพื่อช่วยในการสื่อสาร ทำให้อัตราการส่งข้อมูลจริงจะน้อยกว่าบิตเรทที่เกิดขึ้น

ฉะนั้นกล่าวได้ว่าการสื่อสารข้อมูลบนช่องสัญญาณจะเกี่ยวข้องกับอัตราเร็วสามประเภทเสมอ โดยทั้งหมดอาจเป็นค่าเดียวกันหรือคนละค่า:

1. อัตราการส่งสัญญาณ

signal rate (Rs) — หน่วย บอด (baud) · จำนวนครั้งที่ระดับสัญญาณเปลี่ยนต่อวินาที

2. อัตราการส่งข้อมูล

data rate — หน่วย bps · ข้อมูลจริงที่ส่งได้ หลังหักบิตพิเศษออกแล้ว

3. บิตเรท

bit rate (R) — หน่วย bps · จำนวนบิตทั้งหมด (รวมบิตพิเศษ) ต่อวินาที

7.11.1อัตราการส่งสัญญาณ (Signal Rate)

การสื่อสารข้อมูลในช่องสัญญาณที่มีแบนด์วิดท์จำกัด การกำหนดให้หนึ่งระดับสัญญาณสามารถแทนข้อมูลมากกว่าหนึ่งบิต ทำให้การใช้แบนด์วิดท์เป็นไปอย่างมีประสิทธิภาพ พบว่าที่จำนวนระดับสัญญาณเป็น L จะมีจำนวนบิตต่อสัญญาณเป็น m หรือ

m = log2 L เช่น ต้องการสัญญาณ 8 ระดับ → แทนได้ด้วยข้อมูลขนาด 3 บิต

อัตราของการเปลี่ยนระดับสัญญาณนี้เรียกว่า signal rate (Rs) มีหน่วยเป็น บอด (baud) หรือ บอดเรท (baud rate) โดยมีความสัมพันธ์ระหว่างบอดเรทและบิตเรท (R) เป็น

R = Rs log2 L  =  Rs · m บิตเรท = บอดเรท × จำนวนบิตต่อ symbol

สมมติให้ Tb เป็นเวลาของการส่งหนึ่งบิต ส่วนกลับของ Tb ก็คือบิตเรท R ดังนั้น R จะสัมพันธ์กับช่วงเวลาของสัญญาณ (Ts) เป็น

R = log2 LTs = mTs   bps

เนื่องจาก Tb เป็นส่วนกลับของ R ทำให้ได้ค่าประสิทธิภาพเชิงเวลา (effective time) ของแต่ละบิตเป็น

Tb = 1R = Tsm

จากทั้งสองสมการเราจะได้ประสิทธิภาพของแบนด์วิดท์ (bandwidth efficiency) ของช่องสัญญาณเป็น

RW = mW Ts = 1W Tb   bps·Hz−1 ยิ่งค่านี้สูง แปลว่ารีดข้อมูลออกจากแบนด์วิดท์เท่าเดิมได้มากกว่า
สัญลักษณ์ความหมายหน่วย
Lจำนวนระดับสัญญาณระดับ
mจำนวนบิตต่อหนึ่งสัญญาณ = log2Lบิต/symbol
Rssignal rate / baud ratebaud
Rbit ratebps
Tsช่วงเวลาของหนึ่งสัญญาณ (symbol)วินาที
Tbช่วงเวลาของหนึ่งบิตวินาที
Wแบนด์วิดท์Hz
จุดที่คนพลาดบ่อย — baud ≠ bps

baud นับ “จำนวนสัญญาณ” ส่วน bps นับ “จำนวนบิต” ทั้งสองจะเท่ากันก็ต่อเมื่อ m = 1 เท่านั้น (คือ ASK, FSK, BPSK ที่ 1 บิต/symbol ตามตารางที่ 7.2) · ถ้าโจทย์บอก 16-QAM ที่ 1200 baud คำตอบคือ 4800 bps ไม่ใช่ 1200 · และเวลาโจทย์เขียน “25 Mbaud” (เช่น Cat-3 ใน 100Base-T4) นั่นคือข้อจำกัดของสายในหน่วยบอด ไม่ใช่บิตเรท — จึงยัด 100 Mbps ลงไปได้ด้วย 8B/6T ที่ 75 Mbaud

ตัวอย่าง 7.3 (จากตำรา) — ช่องสัญญาณในระบบโทรศัพท์มีแบนด์วิดท์ 3000 เฮิรตซ์ มีค่า SNR เป็น 20 dB จงหาอัตราเร็วสูงสุดในการส่งข้อมูล

ขั้นที่ 1 — แปลง dB เป็นอัตราส่วน
SNR = 10 log10(S/N)
20  = 10 log10(S/N)
S/N = 100

ขั้นที่ 2 — แทนใน Shannon's Channel Capacity
C = W log2(1 + S/N)
  = 3000 × log2(1 + 100)
  = 19,963 bps  (ค่าที่พิมพ์ไว้ในตำรา)

หมายเหตุ: ถ้ากดเครื่องคิดเลขเต็ม ๆ จะได้ 3000 × 6.6582 = 19,974.6 bps ต่างจากในตำราเล็กน้อยจากการปัดเศษระหว่างทาง — ในข้อสอบตอบราว ๆ 2 × 104 bps ถือว่าถูก ขอให้ขั้นตอนถูกเป็นหลัก

สังเกตความต่างของตัวอย่าง 7.2 กับ 7.3

โจทย์ทั้งสองข้อคือ ช่องสัญญาณโทรศัพท์ 3000 Hz อันเดียวกัน — แต่ 7.2 (Nyquist, 16 ระดับ) ได้ 24,000 bps ส่วน 7.3 (Shannon, 20 dB) ได้ ~20,000 bps แปลว่าในโลกจริงที่มี noise เราไปไม่ถึง 24 kbps ที่ Nyquist สัญญาไว้ นี่คือใจความของทั้งหัวข้อ 7.9–7.10 ในหนึ่งบรรทัด

เช็คความเข้าใจ

ช่องสัญญาณมีแบนด์วิดท์ 2 MHz ใช้ 16 ระดับสัญญาณ อัตราการส่งข้อมูลสูงสุดตาม Nyquist เป็นเท่าใด?
C = 2W log2L = 2 × (2×106) × log216 = 2 × 2×106 × 4 = 16×106 bps — คนตอบ 8 Mbps มักลืมคูณ 2 ข้างหน้า ส่วนคนตอบ 32 Mbps มักเผลอใช้ log2(16) = 8 (สับสนกับ 24=16 กลับด้าน)
โจทย์เดิม แต่ระบุว่าช่องสัญญาณมี SNR = 20 dB ความจุตาม Shannon เป็นเท่าใด?
แปลง dB ก่อน: S/N = 1020/10 = 100 → C = 2×106 × log2(101) = 2×106 × 6.658 = 1.33 × 107 bps
ตัวเลือกอื่นคือคำตอบผิดที่เจอจริงในกระดาษคำตอบ — 2,000,006.658 มาจากบวกแทนคูณ · 4.01×106 มาจากใช้ log10 แทน log2 · 8.78×106 มาจากลืมแปลง dB (ใช้ log2(1+20))
การเข้ารหัสแบบใดที่ “มีการเปลี่ยนระดับสัญญาณกลางบิตทุกบิต” จึงทำ synchronization ได้ง่าย และถูกใช้ในอีเทอร์เน็ต 10 Mbps?
แมนเชสเตอร์เปลี่ยนระดับกลางทุกบิต (1 = สูง→ต่ำ, 0 = ต่ำ→สูง) จึงมีนาฬิกาฝังอยู่ในสัญญาณ แต่แลกมาด้วยความเร็วช่องสัญญาณเป็นสองเท่า — ซึ่งเป็นเหตุผลที่ Gigabit Ethernet ไม่ใช้แมนเชสเตอร์ (ต้องใช้สาย 2 Gbps) แต่ไปใช้ NRZ + 8B/10B แทน
ส่งข้อมูลด้วย 16-QAM ที่ baud rate 1200 baud จะได้บิตเรทเท่าใด?
16-QAM = 4 bits/symbol (ตารางที่ 7.2) → R = Rs × log2L = 1200 × 4 = 4800 bps — ตัวอย่างนี้อยู่ในตำราตรง ๆ และเป็นตัวอย่างคลาสสิกของ “baud ≠ bps”
ถ้าสุ่มสัญญาณเสียงที่มีความถี่สูงสุด 4 kHz ด้วยความละเอียด 8 บิตต่อตัวอย่าง จะได้ข้อมูลดิจิทัลกี่ bps (สุ่มที่อัตราต่ำสุดตาม Nyquist)?
อัตราสุ่มต่ำสุด = 2 × fmax = 2 × 4,000 = 8,000 ตัวอย่าง/วินาที แล้วแต่ละตัวอย่างใช้ 8 บิต → 8,000 × 8 = 64,000 bps — คนตอบ 32,000 มักลืมคูณ 2 ตอนหาอัตราสุ่ม ส่วนคนตอบ 8,000 ลืมคูณจำนวนบิตต่อตัวอย่าง (นี่คือที่มาของเสียงโทรศัพท์ 64 kbps)
เก็บก่อนออกจากบทนี้
  • Nyquist: C = 2 × B × log2(L) — L คือจำนวนระดับสัญญาณ · ไม่มี noise ในสูตร
  • Shannon: C = B × log2(1 + S/N) — S/N เป็นอัตราส่วน ไม่ใช่ dB
  • แปลง dB: S/N = 10(dB/10) → 10 dB = 10, 20 dB = 100, 30 dB = 1000, 40 dB = 10000
  • log ฐาน 2: log2x = log10x ÷ 0.3010 · จำ log2101 ≈ 6.658 และ log210001 ≈ 13.288
  • baud vs bps: R = Rs × m โดย m = log2L · 16-QAM → m = 4
  • L = 2n ใช้ได้ทั้งเรื่อง quantization (7.2) และระดับสัญญาณ (7.10, 7.11)
  • Line coding: NRZ (1=V, 0=0) · NRZ-I (1=เปลี่ยนระดับ) · แมนเชสเตอร์ (1=สูง→ต่ำ, 0=ต่ำ→สูง) · Diff-Manchester (0=เปลี่ยนที่ขอบบิต)
  • อีเทอร์เน็ต: 10M=แมนเชสเตอร์ · 100Base-TX=MLT-3+4B/5B · 100Base-FX=NRZ-I+4B/5B · 100Base-T4=8B/6T · Gigabit ใยแก้ว=NRZ+8B/10B · 1000Base-T=4D-PAM5
  • Impairment 3 ตัว: Attenuation (แอมพลิจูดลด → repeater) · Distortion (bandpass filter ตัดฮาร์มอนิก) · Noise (thermal Pn=kTB, induced, impulse, crosstalk)
  • ฝึกโจทย์จริงต่อที่ ข้อสอบเก่า Q1 · Nyquist & Shannon Capacity