ข้อสอบเก่า · Q1

Nyquist & Shannon Capacity

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

ง่าย ควรใช้ ~10 นาที 10 คะแนน บทที่ 7 · Digital Transmission
อ่านบรรทัดนี้ก่อน ถ้ามีเวลาแค่ 30 วินาที

คำตอบทั้งข้อคือสามตัวเลข: Nyquist = 16 Mbps · Shannon @20 dB ≈ 1.33 × 107 bps · Shannon @40 dB ≈ 2.66 × 107 bps — และห้ามลืมแปลง dB เป็นอัตราส่วนก่อน (20 dB → S/N = 100 ไม่ใช่ 20)

โจทย์จริงจากข้อสอบปีที่แล้ว

ข้อ 1 (10 คะแนน)

สมมติให้ Bandwidth ขนาด 2 MHz สายสัญญาณจะสามารถส่งที่ความเร็วสูงสุดเท่าไร (bit rate) หากเป็นการส่งแบบ 16 ระดับสัญญาณ (16-level) และจะได้ Shannon capacity เท่าใด หากช่องสัญญาณมีค่า SNR เป็น 20 dB และ 40 dB

โจทย์นี้ซ่อนคำถาม 3 ข้อไว้ในประโยคเดียว
  1. ความเร็วสูงสุด (bit rate) เมื่อใช้ 16 ระดับสัญญาณ → Nyquist
  2. Shannon capacity เมื่อ SNR = 20 dB
  3. Shannon capacity เมื่อ SNR = 40 dB

คิดยังไง (แนวคิดใน 30 วินาที)

ข้อนี้ถามว่า "ช่องสัญญาณเส้นนี้ยัดข้อมูลได้เร็วสุดแค่ไหน" ซึ่งมีคำตอบสองมุมมองเสมอ:

มุมที่ 1 — เพดานจาก "อุปกรณ์ของเรา"

Nyquist สมมติว่าช่องสัญญาณไม่มี noise เลย เพดานจึงขึ้นกับแค่ว่าเรากล้าใช้กี่ระดับสัญญาณ (L) และมีแบนด์วิดท์เท่าไร → เห็นคำว่า "กี่ระดับสัญญาณ" หรือ "L-level" เมื่อไหร่ ให้นึกถึง Nyquist ทันที

มุมที่ 2 — เพดานจาก "ธรรมชาติของสาย"

Shannon ยอมรับว่ามี noise จริง เพดานจึงขึ้นกับแบนด์วิดท์กับ S/N → เห็นคำว่า SNR หรือหน่วย dB เมื่อไหร่ ให้นึกถึง Shannon ทันที

ท่ามาตรฐานของข้อนี้มี 4 จังหวะ เท่านั้น — ทำตามนี้ทุกครั้ง ไม่มีทางพลาด:

  1. แปลงหน่วยให้หมดก่อน — MHz → Hz (× 106), kHz → Hz (× 103)
  2. ถ้าโจทย์ให้ "จำนวนระดับ L" → ใช้ Nyquist C = 2B log₂L
  3. ถ้าโจทย์ให้ "SNR (dB)" → แปลงเป็นอัตราส่วนก่อนด้วย S/N = 10(dB/10) แล้วค่อยใช้ Shannon
  4. เขียนคำตอบพร้อมหน่วย bps และ (ถ้ามีที่ว่าง) แปลงเป็น Mbps ให้อ่านง่าย
ส่วนขยาย — ทำไมสองสูตรนี้ให้เลขไม่เท่ากัน แล้วต้องตอบตัวไหน

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

สูตร/ขั้นตอนที่ต้องใช้

สูตรที่ 1 — Nyquist's Sampling Theorem (ช่องสัญญาณไม่มี noise)

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

สูตรที่ 2 — Shannon's Law (ช่องสัญญาณมี noise)

C = B log2( 1 + SN )   bps สังเกต — ไม่มีเลข 2 คูณข้างหน้า ต่างจาก Nyquist

ตัวเชื่อม — แปลง dB เป็นอัตราส่วน (บรรทัดที่ทำคนตกม้าตายมากที่สุด)

SNR(dB) = 10 log10( SN )   →   SN = 10(dB/10) dB ใช้ log ฐาน 10 · Shannon ใช้ log ฐาน 2 — คนละฐานกัน
SNR (dB)10(dB/10)S/N (อัตราส่วน)1 + S/Nlog2(1+S/N)
10 dB10110113.459
20 dB1021001016.658
30 dB1031,0001,0019.967
40 dB10410,00010,00113.288
คิด log2 ในห้องสอบยังไงถ้าไม่มีเครื่องคิดเลข

ใช้ log2(x) = log10(x) / 0.301 · หรือประมาณจากกำลังของ 2 ที่ท่องได้: 26 = 64, 27 = 128 → 101 อยู่ระหว่าง 64 กับ 128 ดังนั้น log2101 ต้องอยู่ระหว่าง 6 กับ 7 (จริง ๆ คือ 6.658) · และ 213 = 8,192, 214 = 16,384 → log210,001 อยู่ระหว่าง 13 กับ 14 (จริง ๆ คือ 13.288) — แค่เขียนช่วงนี้ลงไปก็ยังได้คะแนนขั้นตอน

เฉลยละเอียดทีละขั้น

นี่คือสิ่งที่ควรเขียนลงกระดาษคำตอบ ทุกบรรทัด ตามลำดับนี้:

  1. ถอดตัวแปรจากโจทย์ + แปลงหน่วย

    B = 2 MHz = 2 × 106 Hz
    L = 16 ระดับ
    SNR = 20 dB และ 40 dB
  2. (ก) หา bit rate สูงสุดด้วย Nyquist — ตอนนี้ยังไม่ต้องสนใจ SNR เลย

    C = 2 B log2 L
      = 2 × (2 × 106) × log216
      = 2 × (2 × 106) × 4   (เพราะ 24 = 16)
      = 16 × 106 bps = 16 Mbps
  3. (ข) แปลง SNR = 20 dB เป็นอัตราส่วน

    20 = 10 log10(S/N)
    log10(S/N) = 2
    S/N = 102 = 100
  4. (ข ต่อ) แทนใน Shannon

    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)
  5. (ค) แปลง 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)
  6. เขียนกรอบคำตอบให้ครบสามค่า

    คำถามสูตรที่ใช้คำตอบ
    bit rate สูงสุด (16 ระดับ)Nyquist16 × 106 bps = 16 Mbps
    Shannon capacity @ SNR 20 dBShannon≈ 1.33 × 107 bps
    Shannon capacity @ SNR 40 dBShannon≈ 2.66 × 107 bps
อ่านผลลัพธ์ให้เป็น (เผื่อโจทย์ถามต่อ)

SNR เพิ่มจาก 20 → 40 dB คือกำลังสัญญาณต่อ noise เพิ่ม 100 เท่า แต่ความจุเพิ่มแค่ ประมาณ 2 เท่า — เพราะ S/N ถูกครอบด้วย log2 ส่วน B คูณอยู่ข้างนอก log จึงเพิ่มแบบเชิงเส้น สรุปเป็นประโยคเดียว: "เพิ่มแบนด์วิดท์คุ้มกว่าเพิ่มกำลังส่ง"

เครื่องคิดเลขแบบแสดงวิธีทำ

เลื่อนสไลเดอร์แล้วอ่านทีละบรรทัด — นี่คือหน้าตาของสิ่งที่ต้องเขียนลงกระดาษคำตอบเป๊ะ ๆ ลองตั้ง B = 2 MHz, L = 16, SNR = 20 dB เพื่อเทียบกับเฉลยข้างบน

เห็นภาพ — ทำไม "จำนวนระดับ" กับ "SNR" ถึงคุมความเร็ว

ระดับสัญญาณเยอะ = 1 สัญลักษณ์พาบิตได้เยอะ

Shannon โตช้า ๆ ตาม SNR — และตัดกับ Nyquist ที่จุดหนึ่ง

กับดักที่ทำให้เสียคะแนน

กับดักที่ 1 — ยัดค่า dB ลงในสูตร Shannon ตรง ๆ

คำตอบผิดที่พบจริงในกระดาษของรุ่นพี่: C = 2×106 × log2(1 + 20) = 8.78 × 106

ผิดเพราะ 20 คือค่า dB ไม่ใช่อัตราส่วน S/N · ต้องแปลงเป็น 100 ก่อนเสมอ · วิธีกันพลาด: ทันทีที่เห็นคำว่า dB ให้เขียนบรรทัด S/N = 10(dB/10) ลงกระดาษก่อนทำอย่างอื่น

กับดักที่ 2 — สลับฐานลอการิทึม

คำตอบผิดที่พบจริง: 2×106 × log10(101) = 4.01 × 106

ผิดเพราะ ใช้ log10 แทน log2 · ท่องให้ติดว่า "dB ใช้ฐาน 10 · capacity ใช้ฐาน 2" — เครื่องคิดเลขปุ่ม log คือฐาน 10 ต้องหารด้วย log 2 = 0.301 อีกที

กับดักที่ 3 — เอา 16 ใส่ log แทนที่จะเป็น log216

คำตอบผิดที่พบจริง: C = 2 × 2×106 × 16 = 6.4 × 107

ผิดเพราะ ลืม log2 · L = 16 คือจำนวนระดับ แต่สิ่งที่คูณคือจำนวนบิตต่อสัญลักษณ์ = log216 = 4 · เช็กเร็ว ๆ: ถ้าคำตอบ Nyquist ออกมามากกว่า 4 เท่าของแบนด์วิดท์ ให้สงสัยไว้ก่อนว่าลืม log

กับดักที่ 4 — ลืมแปลง MHz เป็น Hz หรือบวกแทนคูณ

คำตอบผิดที่พบจริง: C = 2,000,006.658 (มาจาก 2×106 + 6.658) และ C = 2 × 2 × 4 = 16 (ลืม ×106)

วิธีกันพลาด: เขียน B = 2 × 106 Hz เป็นบรรทัดแรกสุดของคำตอบเสมอ แล้วอย่าเขียนเลข "2 MHz" ซ้ำอีกในบรรทัดคำนวณ

กับดักที่ 5 — ใส่เลข 2 ผิดสูตร

Nyquist มี 2 คูณข้างหน้า (C = 2B log2L) แต่ Shannon ไม่มี (C = B log2(1+S/N)) — คนที่เผลอเขียน 2B log2(1+S/N) จะได้ 2.66 × 107 ที่ 20 dB ซึ่งบังเอิญไปตรงกับคำตอบข้อ 40 dB พอดี กรรมการจับได้ทันที

เขียนยังไงให้ได้คะแนนเต็ม

ข้อนี้ 10 คะแนน แต่แบ่งเป็น 3 คำถามย่อย คะแนนอยู่ที่ขั้นตอน — ถึงเลขสุดท้ายผิดก็ยังเก็บได้เกินครึ่งถ้าเขียนครบตามนี้:

✓ต้องมีในกระดาษคำตอบตัวอย่างที่เขียนแล้วได้คะแนน
☐บรรทัดถอดตัวแปรB = 2 MHz = 2×106 Hz, L = 16, SNR = 20 dB, 40 dB
☐เขียนชื่อสูตรกำกับNyquist: C = 2B log₂L · Shannon: C = B log₂(1+S/N)
☐บรรทัดแทนค่า (ยังไม่คิดเลข)C = 2 × (2×106) × log₂16
☐บรรทัดแปลง dB แยกออกมาให้เห็นชัด20 = 10 log₁₀(S/N) → S/N = 10² = 100
☐ค่ากลางของ loglog₂(101) = 6.658 (ถ้าไม่มีเครื่องคิดเลข เขียน "อยู่ระหว่าง 6 กับ 7")
☐คำตอบพร้อมหน่วย bpsC ≈ 1.33 × 107 bps (จะใส่ Mbps ต่อท้ายด้วยยิ่งดี)
☐ตีกรอบ/ขีดเส้นใต้คำตอบ 3 ค่าอาจารย์หาคำตอบเจอเร็ว = ไม่พลาดให้คะแนน
เทมเพลตคำตอบที่ลอกโครงไปเขียนได้เลย
// ข้อ 1
กำหนด  B = 2 MHz = 2×10^6 Hz , L = 16 , SNR = 20 dB และ 40 dB

(ก) Nyquist  C = 2B log2(L)
              = 2 × (2×10^6) × log2(16)
              = 2 × (2×10^6) × 4
              = 16×10^6 bps = 16 Mbps

(ข) SNR = 20 dB  20 = 10 log10(S/N)  →  S/N = 10^2 = 100
     Shannon   C = B log2(1 + S/N)
              = (2×10^6) × log2(101)
              = (2×10^6) × 6.658
              = 1.33×10^7 bps  (13.32 Mbps)

(ค) SNR = 40 dB  40 = 10 log10(S/N)  →  S/N = 10^4 = 10000
     Shannon   C = (2×10^6) × log2(10001)
              = (2×10^6) × 13.288
              = 2.66×10^7 bps  (26.58 Mbps)

โจทย์ฝึก 5 ข้อ

ไล่จากง่าย → ยากกว่าของจริงเล็กน้อย · ลองทำในกระดาษก่อนกดดูเฉลยทุกข้อ

ข้อ 1 อุ่นเครื่อง
ช่องสัญญาณมีแบนด์วิดท์ 1 MHz ใช้ 4 ระดับสัญญาณ
(ก) จงหาอัตราการส่งข้อมูลสูงสุดตาม Nyquist
(ข) ถ้าช่องสัญญาณนี้มี SNR = 10 dB จงหา Shannon capacity

เฉลยข้อ 1

(ก) Nyquist — B = 1 MHz = 1×106 Hz, L = 4 → log₂4 = 2

C = 2B log2L = 2 × (1×106) × 2 = 4 × 106 bps = 4 Mbps

(ข) Shannon — แปลง dB ก่อน

10 = 10 log10(S/N) → S/N = 101 = 10

C = B log2(1 + 10) = (1×106) × log2(11)
  = (1×106) × 3.459 = 3.46 × 106 bps (≈ 3.46 Mbps)

สังเกต: Shannon (3.46 Mbps) < Nyquist (4 Mbps) → noise เป็นตัวจำกัด การเพิ่มระดับสัญญาณให้เกิน 4 จะไม่ช่วยอะไร

ข้อ 2 เปลี่ยนหน่วยเป็น kHz
ช่องสัญญาณโทรศัพท์มีแบนด์วิดท์ 3 kHz ใช้ 8 ระดับสัญญาณ และมี SNR = 30 dB
จงหา (ก) Nyquist rate (ข) Shannon capacity (ค) ค่าที่ใช้ได้จริงคือเท่าไร เพราะอะไร

เฉลยข้อ 2

ถอดตัวแปร — B = 3 kHz = 3,000 Hz, L = 8 → log₂8 = 3, SNR = 30 dB

(ก) Nyquist

C = 2 × 3,000 × log28 = 2 × 3,000 × 3 = 18,000 bps = 18 kbps

(ข) Shannon

30 = 10 log10(S/N) → S/N = 103 = 1,000

C = 3,000 × log2(1 + 1,000) = 3,000 × log2(1,001)
  = 3,000 × 9.967 = 29,902 bps ≈ 2.99 × 104 bps

(ค) ใช้ได้จริง = ค่าที่น้อยกว่า = 18,000 bps — คราวนี้ Nyquist เป็นตัวจำกัด เพราะเราเลือกใช้แค่ 8 ระดับ ทั้งที่ช่องสัญญาณรองรับได้ถึง ~30 kbps · ถ้าอยากได้เร็วขึ้นต้องเพิ่มจำนวนระดับสัญญาณ (ไม่ใช่เพิ่มกำลังส่ง)

ข้อนี้เป็นภาพกลับด้านของโจทย์จริง — ฝึกไว้เพราะข้อสอบชอบถามต่อว่า "อะไรเป็นตัวจำกัด"

ข้อ 3 ถามย้อนกลับ
วิศวกรต้องการอัตราการส่งข้อมูล 12 Mbps บนช่องสัญญาณแบนด์วิดท์ 2 MHz ที่ไม่มีสัญญาณรบกวน
จงหาว่าต้องใช้กี่ระดับสัญญาณ (L) และแต่ละสัญลักษณ์พากี่บิต

เฉลยข้อ 3

ตั้งสมการจาก Nyquist แล้วแก้หา L

C = 2B log2L
12 × 106 = 2 × (2 × 106) × log2L
12 × 106 = (4 × 106) × log2L
log2L = 12 × 1064 × 106 = 3
L = 23 = 8 ระดับ

แต่ละสัญลักษณ์พา log₂8 = 3 บิต · ตรวจย้อน: 2 × 2×106 × 3 = 12 × 106 ✓

ข้อ 4 dB ไม่ลงตัว
ช่องสัญญาณแบนด์วิดท์ 4 MHz มีค่า SNR = 24 dB จงหา Shannon capacity
(กำหนดให้ 100.4 ≈ 2.512)

เฉลยข้อ 4

ขั้นที่ 1 — แปลง dB (24 ไม่ใช่ตัวคูณของ 10 จึงต้องแยกเป็น 102 × 100.4)

24 = 10 log10(S/N) → log10(S/N) = 2.4
S/N = 102.4 = 102 × 100.4 = 100 × 2.512 = 251.2

ขั้นที่ 2 — Shannon

C = B log2(1 + S/N) = (4 × 106) × log2(252.2)
  = (4 × 106) × 7.978
  ≈ 3.19 × 107 bps (≈ 31.9 Mbps)

เช็กเร็ว ๆ: 27 = 128, 28 = 256 → log2252.2 ต้องอยู่ใกล้ ๆ 8 แต่น้อยกว่านิดหน่อย ✓

ข้อ 5 ยากกว่าของจริงนิดเดียว
ช่องสัญญาณแบนด์วิดท์ 2 MHz มี SNR = 20 dB
(ก) การเพิ่มจำนวนระดับสัญญาณให้มากที่สุดเท่าที่ยังไม่เกินเพดานของ Shannon จะใช้ได้กี่ระดับ (จำนวนเต็ม)
(ข) ถ้าเลือกใช้ระดับสัญญาณเป็นกำลังของ 2 ควรเลือกกี่ระดับ และได้ bit rate เท่าไร

เฉลยข้อ 5

ขั้นที่ 1 — หาเพดาน Shannon ก่อน (เหมือนโจทย์จริงเป๊ะ)

S/N = 1020/10 = 100
CShannon = (2 × 106) × log2(101) = 1.3316 × 107 bps

ขั้นที่ 2 — ตั้งเงื่อนไข Nyquist ≤ Shannon

2 × (2 × 106) × log2L ≤ 1.3316 × 107
log2L ≤ 1.3316 × 1074 × 106 = 3.329
L ≤ 23.329 = 10.05

(ก) ใช้ได้มากที่สุด 10 ระดับ (จำนวนเต็ม)

(ข) ถ้าต้องเป็นกำลังของ 2 → เลือก L = 8 (เพราะ 16 เกินเพดาน)

C = 2 × (2 × 106) × log28 = 4 × 106 × 3 = 1.2 × 107 bps = 12 Mbps
นี่คือคำอธิบายของโจทย์จริง

ในข้อสอบให้ L = 16 ซึ่ง Nyquist บอกว่าได้ 16 Mbps แต่ Shannon ที่ 20 dB เพดานอยู่แค่ 13.32 Mbps — แปลว่า 16 ระดับนั้น "เกินตัว" สำหรับ noise ระดับนี้ ต้องแก้ noise (เพิ่ม SNR เป็น ~24 dB ขึ้นไป) ก่อน ถึงจะใช้ 16 ระดับได้จริง

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

ช่องสัญญาณแบนด์วิดท์ 2 MHz ใช้ 16 ระดับสัญญาณ อัตราการส่งข้อมูลสูงสุดตาม Nyquist เป็นเท่าใด?
C = 2B log₂L = 2 × (2×106) × log₂16 = 2 × 2×106 × 4 = 16 × 106 bps · ตัวเลือก 64 Mbps มาจากการเอา 16 ใส่แทน log₂16 (ลืม log) · 8 Mbps มาจากลืมคูณ 2 ตัวหน้า
SNR = 40 dB หมายความว่าอัตราส่วน S/N มีค่าเท่าใด?
S/N = 10(dB/10) = 1040/10 = 104 = 10,000 · แล้วที่ใส่ลงในสูตร Shannon คือ 1 + S/N = 10,001 ไม่ใช่ 10,000 เฉย ๆ (ในโจทย์ระดับนี้ต่างกันน้อยมาก แต่ต้องเขียนให้ถูก)
ข้อความใดถูกต้องเกี่ยวกับสองสูตรนี้?
Nyquist สมมติช่องสัญญาณไม่มี noise ตัวแปรที่คุมคือ B กับ L · Shannon คิด noise เข้าไปด้วย ตัวแปรที่คุมคือ B กับ S/N · ทั้งคู่ใช้ log₂ (เฉพาะการแปลง dB เท่านั้นที่ใช้ log₁₀) · และ Shannon ไม่มี เลข 2 คูณข้างหน้า
ถ้าเพิ่ม SNR จาก 20 dB เป็น 40 dB (S/N เพิ่ม 100 เท่า) ความจุตาม Shannon จะเปลี่ยนไปอย่างไร?
1.33×107 → 2.66×107 คือ ประมาณ 2 เท่า เพราะ S/N ถูกครอบด้วย log₂ (log₂ ของ 100 เท่า ≈ +6.64 บิต/symbol) — นี่คือเหตุผลว่าทำไมการ "เพิ่มกำลังส่ง" ให้ผลตอบแทนลดหลั่น ในขณะที่ B คูณอยู่นอก log จึงเพิ่มแบบเชิงเส้น
เก็บก่อนออกจากข้อนี้
  • C = 2B log₂L (Nyquist, ไม่มี noise) · C = B log₂(1 + S/N) (Shannon, มี noise) — จำเลข 2 ให้ถูกสูตร
  • S/N = 10(dB/10) — 20 dB → 100 · 40 dB → 10,000 · เขียนบรรทัดนี้ทุกครั้งที่เห็นคำว่า dB
  • คำตอบของข้อสอบจริง: 16 Mbps · 1.33×107 bps · 2.66×107 bps
  • ตอบทั้งสองค่าตามที่ถาม ถ้าถามว่า "ใช้ได้จริงเท่าไร" ตอบ ค่าที่น้อยกว่า
  • ต่อยอด: บทที่ 7 หัวข้อ 7.10 · ข้อถัดไปที่คุ้มพอกัน Q2 — TDM