สื่อสารระบบดิจิทัล: บทที่ 3 PDF

Summary

เอกสารนี้เกี่ยวกับระบบการสื่อสารดิจิทัล (Digital communications). มีการอธิบายถึงการใช้สัญญาณดิจิทัลในการสื่อสาร และมีการเปรียบเทียบข้อดีข้อเสียกับการใช้สัญญาณอนาลอก. รวมถึงการพูดถึงส่วนประกอบต่างๆในระบบ เช่น source encoder, encryptor, channel encoder, และอื่นๆ.

Full Transcript

- 65 - บทที่ 3 การสื่อสารในระบบดิจิตอล (Digital communications) การใชสัญญาณดิจิตอลในการสื่อสารนัน้ มี ขอได เปรียบกวาสัญญาณอนาลอกหลายประการเปนตนวา สัญญาณดิจิตอลมี ระดับที่แนนอนการไดสัญญาณเดิมกลับคืนมาอย...

- 65 - บทที่ 3 การสื่อสารในระบบดิจิตอล (Digital communications) การใชสัญญาณดิจิตอลในการสื่อสารนัน้ มี ขอได เปรียบกวาสัญญาณอนาลอกหลายประการเปนตนวา สัญญาณดิจิตอลมี ระดับที่แนนอนการไดสัญญาณเดิมกลับคืนมาอยางถูกตองนัน้ ทําได ดีกวาสัญญาณอนาลอกกลาว อีกนัยหนึ่งการทนตอสัญญาณรบกวนดีกวาสัญญาณอนาลอก รวมถึงการ จัดการสัญญาณที่ ทําไดงายกวา เชน การ เขารหัสในรูปแบบ ตางๆ แตอยางไรก็ ตามโดยทัว่ ไปการสงสัญญาณในระบบดิจิตอลตองการแบนดวิดท สูงกวา อนาลอก และตองการการ Synchronize ระหวางดานสงกับดานรับรวมถึงขาวสารที่ ตองการสงจะตองแปลงใหอยูใน รูปแบบของสัญญาณดิจิตอลกอนสง และแปลงกลับทางดานรับถาตองการ รูปที่ 3.1 ระบบการสงและรับสัญญาณดิจิตอล พิจารณาสวนประกอบในระบบการสื่อสารแบบดิจิตอลตามรูปที่ 3.1 source encoder จะทําหนาที่แปลง สัญญาณอนาลอกให เปนสัญญาณดิจิตอล รวมถึงการสงสัญญาณจากหลายๆ แหลงเขาสูระบบนัน่ คือในสวนนี้ จะรวม การ มัลติเพล็กซ สัญญาณรวม ดวย ในกรณี สัญญาณที่ ตองการสงอยู ในรูปดิจิตอลแลวเชน สัญญาณจากการกด คียบอรดก็ ไม จําเปนตองมี สวนนี้ สัญญาณดิจิตอลจะถูกสงเขาระบบโดยตรง Encryptor จะทําหนาที่ จัดการ สัญญาณเพื่อความปลอดภัยจากผู ที่ ไม ตองการให รับขาวสารนี้ ทั้งนี้ขึ้นอยูก ับความตองการของระบบวาตองการ ความสามารถนี้ หรือไมจากนั้นจึงผานสัญญาณเขาสู channel encoder ที่ จะทําหนาที่ เปลี่ยนสัญญาณดิจิตอลใหอยู ในรูปแบบที่ เหมาะสมกับชองสัญญาณที่ จะสง ซึ่งจะพิจารณาถึงความสามารถในการผานสัญญาณของชองสัญญาณ นั้น การเขารหัสชองสัญญาณเปนการเปลีย่ นรูปแบบสัญญาณในสองลักษณะคือการลดจํานวนขอมูลเพื่อให สง สัญญาณได รวดเร็ว และการเปลี่ยนสัญญาณให มี ความสามารถตรวจสอบความผิดพลาดได วมไปถึงการแกไข ขอผิดพลาดทีเ่ กิดจากการสงขอมูลไดสัญญาณที่ ได จากการเขารหัสชองสัญญาณเปนสัญญาณดิจิตอลที่ ประกอบดวยสัญลักษณตาง ๆ ยกตัวอยาง ถาเปนสัญญาณไบนารี ก็ จะประกอบดวยขบวน '0' ,'1' โดยการแทน '0' ,'1' ดวยระดับแรงดันไฟฟาที่ตา งกันเปนการสงสัญญาณไฟฟาแทนขอมูลไปในชองสัญญาณในลักษณะขบวนพัลส เรียก การสงลักษณะนี้ วาเปน การสงสัญญาณดิจิตอลแบบเบสแบนด (baseband digital communications) ใน ชองสัญญาณที่ มี ขอจํากัดอาจตองมี การเปลี่ยนสัญญาณ โดยการแทนขอมูลดิจิตอลดวยสัญญาณอนาลอกเชน ชองสัญญาณเสียง อาจแทน '0','1' ดวยสัญญาณเสียงที่ มี ความถี่ ตาง กัน ทําให สามารถสงสัญญาณเสียงซึ่งแทน ขอมูลนี้ ไปในชองสัญญาณได การแทนขอมูลดิจิตอลดวยสัญญาณอนาลอกนี้ ก็ คือการมอดูเลตสัญญาณกับสัญญาณ - 66 - ปองกันการรับสัญญาณโดยผู ที่ ไมประสงค ให รับได ทําให ขอมูลมี ความปลอดภัยสูง แต เครื่องรับ เครื่องสงจะตอง ยุงยากขึ้นในทางดานรับก็ จะเปนขบวนการยอนกลับที่สอดคลองกับทางดานสง โดยการ demodulate,Decode ขึ้นอยู กับดานสง แต มี สวนสําคัญที่ เพิ่มขึ้นก็ คือ synchronization เพื่อให ได สัญญาณเดิมกลับมาจะตองมี การตรวจจับ สัญญาณให สอดคล องตรงกันกับดานสง สวนนี้ จึงนับวาเปนสวนที่ มี ความสําคัญมากในการระบบการสงสัญญาณ แบบดิจิตอล 3.1 การเขารหัสแหลงกําเนิด (Source encoding) ถาสัญญาณที่ ตองการสงไม ได อยู ในรูปสัญญาณดิจิตอล นัน่ คือแหลงกําเนิดของขาวสารไม ได แทนดวย สัญญาณดิจิตอล จึงตองทําการเปลี่ยนให เปนสัญญาณดิจิตอลดวยขบวนการแปลงสัญญาณอนาลอกเปนสัญญาณ ดิจิตอล(Analog-to-Digital conversion, ADC,A/D) ก็ คือการเขารหัสของแหลงกําเนิด คือการให กําเนิดสัญญาณที่ แทนขาวสารที่ ตองการสงออกมาเปนสัญญาณดิจิตอล 3.1.1 การสุมตัวอยาง (Sampling) สัญญาณอนาลอกที่ มี ความตอเนื่องทางขนาดจะถูกแปลงเปนสัญญาณดิจิตอลที่มีสัญญาณไม ตอเนื่องไดนั้นทําได โดยการสุมตัวอยาง (Sampling) เปนการตัดสุมสัญญาณอนาลอกออกเปนชวงๆ ดวยความถี่ ของการสุม (sampling frequency,fs) หรือเวลาการสุม (sampling time,Ts) สัญญาณเดิมจะถูกเปลีย่ นกลับคืนมาได อยางครบถวนนัน้ ตองมี ขอจํากัดที่ สําคัญ ซึ่งกลาวไว ในทฤษฎีบทการสุมตัวอยางของ Shannon คือ ความถี่ ของการสุมตัวอยางจะตองสูงกวา ความถี่ สูงสุดของสัญญาณที่ ตองการสุมนี้สองเทาขึน้ ไปถาสัญญาณที่ตองการสุมตัวอยางมีความถี่สูงสุดเปน fm ความถี่ ของการสุมตัวอยางจะตองเปน [3.1] สัญญาณที่ เปลี่ยนกลับจึงไม เกิดการผิดเพี้ยนเรียก อัตราการสุมตัวอยางนี้ วา Nyquist rate รูปที่ 3.2 การ sampling สัญญาณและสเปกตรัม - 67 - รูปที่ 4.3 สเปกตรัมของสัญญาณ X(f) ที่ เกิด aliasing (ก) X(f) (ข) หลังจาก sampling (ค) หลังผานฟลเตอร การสุมตัวอยางของสัญญาณเปนการคูณสัญญาณดวยขบวนพัลส ที  มี ความถี  เทากับความถี  ของการสุม จะได สเปกตรัมของสัญญาณเปนการย ายความถี่ ไปอยู ที่ ความถี่ เปนจํานวนเทาของความถี่ การสุม ดังรูปที่ 3.2 ถาสุม ตัวอยางดวยความถี่ สูงกวาหรือเทากับ Nyquist rate สัญญาณที่ ถูกสุมแลวนัน้ เมือ่ ผานวงจรกรองความถี่ ตํ่าผานก็จะ ได สัญญาณเดิมกลับคืนมา แต ถาสุม ตัวอยางที่ ความถี่ ตํ่ ากวา Nyquist rate ทําให สเปกตรัมของสัญญาณทับซ อน กันดังรูปที่ 3.3 (ข) เรียก วาเกิด aliasing เมื่อผานวงจรกรองความถี่ตํ่าผานจะไม ได สัญญาณเดิมกลับคืนมา 3.1.2 สัญญาณ PCM (Pulse Coded Modulation) สัญญาณอนาลอกเมื่อถูกสุม ตัวอยางเปนพัลส ที่ มี ขนาดความสูงเทากับสัญญาณอนาลอก ณ เวลาที่ ถูกสุม เรียกพัลส ที่ ได นี้ วาสัญญาณ Pulse Amplitude Modulation ,PAM พัลส นี้ จะมี ระดับขนาดเทาใดก็ ได ตาม สัญญาณอนาลอกที่ สุมได จากนั้นจะทําการปรับระดับขนาดของพัลส นี้ ให อยู ในระดับที่ กําหนดไว เรียก ขบวนการนี้ วา quantization จากนั้นจึงเขารหัสของพัลส ที่ ได นี้ การที่ พัลส มีขนาดตาง ๆ เมื่อถูกจัดเขากับระดับที่ กําหนดไว จะ ทําให เกิดความผิดพลาด (ความแตกตาง ) จากการปรับระดับนี้ เรียก วา quantization noise เพื่อลด noise ที่ เกิดขึ้น ลง ทําได โดยการ quantize แบบ non-linearซึ่งจะกลาวถึงในตอนตอไป การเขารหัสสัญญาณ PAM ที่ สุมได นั้นขึน้ อยู กับจํานวนระดับสัญญาณที่ กําหนดไว เชน ถากําหนดระดับสัญญาณที่ แตกตาง กันไว 4 ระดับ ก็ สามารถใช รหัสฐาน สอง 2 บิต แทนสัญญาณแต ละระดับได และ ถาเปน 8 ระดับก็ จะใช 3 บิตในการเขารหัสเปนเลขฐานสองเปนตน รูปที่ 2.4 แสดงขบวนการ Pulse Coded Modulation;PCM ใช 2 บิตในการเขารหัส การสรางสัญญาณ PCM คือ วิธี การเปลี่ยนสัญญาณอนาลอกเปนสัญญาณดิจิตอล(Analog to Digital Conersion;ADC) นั่นเอง วิธี การก็ คือ ตองแยกสัญญาณอนาลอกให เปนระดับที่ แนนอนที่กาํ หนดไวคือ การ quantize สัญญาณนัน่ เอง ในการ quantize สัญญาณนี้ โดยทัว่ ไปมี 3 วิธี คือ 1. Counter quantizer 2. Serial quantizer - 68 - 3. Parallel quantizer 3.1.2.1 Counter quantizer รูปที่ 3.5 แสดง counter quantizer สัญญาณอนาลอกจะถูกวงจร sampling and hold สุมสัญญาณและค างไว ซึ่งก็ พรอมกับวงจรนับและวงจรกําเนิดสัญญาณ ramp เริ่มทํางาน วงจรนับจะนับเพิ่มคา ไปเรื่ อยๆ จนกวาสัญญาณ ramp จะเทากับสัญญาณอนาลอกที่สุมและคางไว วงจรนับจะหยุ ดและคาที่ ได ก็ จะเปน คาดิจิตอลแทนคาอนาลอกที่ สุมได ถาคาสัญญาณที่สมุ ได มีคาสูงวงจร ramp ตองใช เวลานานในการสรางสัญญาณ จนมี คาเทากับสัญญาณที่ สุมได วงจรนับจึงมี เวลาในการนับนานทําให ได คาดิจติ อลที่ แทนสัญญาณอนาลอกมี คา สูงดวย รูปที่ 3.5 Counter quantizer รูปที่ 3.6 สัญญาณจาก Counter quantizer 3.1.2.2 Serial quantizer สัญญาณที่ sampling ได จะถูกตรวจสอบวาสูงกวาครึ่งหนึง่ ของสัญญาณสูงสุด หรือไม โดยการเปรียบเทียบ ถาสูงกวาครึ่งให ผลลั พธ บิตแรกเปน 1 ถาตํ่ ากวาครึ่งจะใหผลลัพธ บิตแรกนี้ เปน 0 แลว จึงพิจารณาแบงครึ่งของสวนที่ เกินครึ่งหรือสวนที่ เหลือไม ถึงครึ่งแรกนั้น คือเปรียบเทียบกับหนึ่งในสี่ ของสัญญาณ สูงสุด ทําการเปรียบเทียบครึง่ ของครึ่งของสัญญาณไปเรื่ อยๆ จนครบจํานวนบิตผลลั พธ ที่ ตองการ ตัวอยางการใช serial quantizer คือ IC ADC0804 เปนตน รูปที่ 3.7 แสดง serial quantizer - 69 - รูปที่ 3.7 Serial quantizer เปนที่ นาสังเกตในการทํา serial quantize นั้นผลลั พธ ที่ ไดจะไม ออกมาทันที ที่ปองสัญญาณเขาเนื่องจาก ตองรอการเปรียบเทียบเปนขัน้ ๆ ไปจึงตองมีเวลาของการ quatize ซึ่งจะมากนอยขึน้ อยูกับจํานวนบิตที่จะใช ในการ แทนสัญญาณนั้น 3.1.2.3 Parallel quantizer สัญญาณที่ สุมตัวอยางได จะถูกนําไปเปรียบเทียบกับ comparator มี จํานวน เทากับจํานวนระดับที่ ตองการแยก โดย comparator แต ละตัวจะถูกกําหนดระดับสําหรับการเปรียบเทียบไว ดวย ระดับตาง ๆ ขึ้นอยู กับ ความละเอี ยดที่ ตองการ แลวจึงนําเอาผลที่ ได จาก comparator ไปเขาวงจรเขารหัสซึ่งเปน วงจรตรรก สัญญาณขาออกของวงจรเขารหัสจะเปนสัญญาณดิจิตอลที่ มี จํานวนบิตเทากับจํานวนบิตที่ สามารถแทน ระดับที่ แยกไว ดวย comparator ได รูปที่ 3.8 แสดง parallel quantization จากการที่ สัญญาณถูกเปรียบเทียบทุก ระดับพรอมกันทันที และผานวงจรเขารหัสที่ เปนวงจรตรรก จึงทําให ได ผลลั พธ ออกมาเกือบจะทันที ที่ ให สัญญาณ เขาบางครัง้ จึงถูกเรียก วา flash ADC เปนวงจรแปลงสัญญาณอนาลอกเปนสัญญาณดิจิตอลที่ เร็วที่ สุดแตจะตองใช comparator จํานวนมาก รูปที่ 3.8 Parallel quantizer 3.1.2.4 Quantization noise จากการแปลงสัญญาณดวยวิธี การตาง ๆ ดังที่ กลาวไปแลวนัน้ ความสําคัญของ การแปลงสัญญาณอยู ที่ การได สัญญาณดิจิตอลที่ แทนสัญญาณอนาลอกได ใกล เคียงมากที่ สุด และใช เวลาในการ - 70 - สัญญาณดิจิตอลดังกลาวจะมี คาเพียง 8 คาดังกลาวคาแตกตาง ระหวางสัญญาณเดิมกับสัญญาณที่ quantize ได แต ละคาจะไม เกิน ± ΔX เมื่อ Δx คือความกวางของขัน้ หรือระดับของการ quantize error 2 [3.2] ให p(en) เปนพรอบอะบิลิตี้ของ คา error(en) นี้ มี คาคงที่ ตลอดช วง − Δx ถึง + Δx หาคา mean square 2 2 error;mse ได เปน [3.3] จากสมการ 4.3 นั้นคือคายกกําลั งสองเฉลีย่ ของ error(en) ที่จะเปนไปไดอาจเรียกวาเปนสัญญาณรบกวนเมื่อนํามา พิจารณากับตัวสัญญาณ ได เปนคาสัญญาณตอสัญญาณรบกวน (signal to quantization noise ratio;SNR) [3.4] เมื่อคิดเทียบกับอินพุต [3.5] 3.1.2.5 Nonuniform quantization จาก error(en) ที่ ได ในหัวขอกอนมี คาเปนไปได − Δx ถึง + Δx ทุกชวง 2 2 ของการแบงระดับเทากัน พิจารณาที่ สัญญาณมี คาตํ่ าๆ คา error คงเทาเดิม คา SNR จะแย ลง ยกตัวอยางสัญญาณ - 71 - Δx + 2 การทํา non-uniform quantization นั้นทําได โดยการแปลงสัญญาณที่ เขามาให มี คาเปลี่ยนไปในลักษณะ nonlinear คือที่ สัญญาณตํ่ าๆ ให มี การขยายสัญญาณออก ในขณะที่ สัญญาณที่ สูงอยู แลวก็ ขยายนอย เรียก ขั้นตอนนี้ วา การ compressing สัญญาณจากนัน้ จึงผานเขา uniform quantizer เพื่อเปลี่ยนเปนสัญญาณดิจติ อล ในทางกลับกัน เมื่อแปลงกลับเปนสัญญาณอนาลอกแลวตองแปลงสัญญาณโดยการขยายที่ ตรงข ามกับตอนแรก เรียก ขั้นตอนนี้ วา การ expanding รวมเรียก ขบวนการเพื่อทํา nonuniform quantization แบบนี้ วา companding ดังรูปที่ 3.9 แสดงการ ทํา companding รูปที่ 3.9 Companding ความสัมพันธ ของสัญญาณขาเขาและสัญญาณขาออกของการ compress สัญญาณ อธิบายได โดยเสนโคง ความสัมพันธ ซึ่งมี มาตรฐานอยู สองมาตรฐานคือ A-law มาตรฐานยุ โรปและ μ − law มาตรฐานของอเมริกาและ ญี่ปุนมีความสัมพันธ ดังสมการที่ 3.6 และ 3.7 ตามลําดั บ [3.6] [3.7] รูปที่ 3.10 แสดงกราฟของความสัมพันธ ของ μ − law ที่ μ คาตาง ๆ รูปที่ 2.11 แสดงกราฟ μ − 255 ที่เปน - 72 - มาตรฐานที่ ใช สําหรับ PCM มาตรฐาน จํานวนบิตเทากับ 8 บิต โดยการแบ งช วงสัญญาณเขาออกเปน 8 ช วง ในแต ละดานบวก ลบของสัญญาณ ในแต ละช วงจะประมาณดวย uniform quantization 8 บิตที่ เขารหัสนี้ จะแบงออกเปน บิตแรก ใช สําหรับแยกสัญญาณดานบวกกับดานลบ 3 บิต ตอมา เปนการเลือกชวงบวก 8 ช วง ลบ 8 ช วง อีก 4 บิต เปนการเลือกจุด 16 จุดในแต ละช วง รูปที่ 3.10 Compression curเมื่อe รูปที่ 3.11 การประมาณ nonuniform quantization ดวย uniform quantization เปนช วงๆ จากการทํา companding ของ nonuniform quantization เปนผลให error ที่ เกิดจากการquantize ลดลง จากคาเฉลี่ ยของ error ในสมการ 3.3 สามารถหาได เปนสมการ 3.8 [3.8] โดยที่ p(x) เปน พรอบอะบิลติ ี้ เดนซิ ตี้ ฟงกชันของสัญญาณ x และ F'(x) เปน ดิ ฟเฟอเรนชิ เอตของ compression function จะเห็นวาถาสวนอิ นที กรั ลมี คานอยกวาหนึ่ง จะได mse ของ nonuniform quantization นอยกวา mse กรณี uniform quantization - 73 - 3.1.3 สัญญาณ DM (Delta Modulation) การแปลงสัญญาณแบบ PCM นั้นเมื่อชวงขนาดของสัญญาณสูงขึ้น การเขารหัสจะตองใชจํานวนบิตเพิ่มขึน้ เพื่อคง ระดับของ error ที่ จะเกิดขึน้ ทําให จํานวนขอมูลมาก การเพิ่มช วงของสัญญาณ (dynamic range) จึงถูกจํากัดดวย จํานวนบิตในการแทนสัญญาณนัน้ มี วิธี การเขารหัสแหลงกําเนิดเพื่อแกปญหานี้หลายวิธี Delta Modulation เปนวิธี การแทนสัญญาณที่ สุมได เฉพาะคาที่ แตกตาง จากคาที่ สุมไดกอนหนาเทานั้น ทําให จํานวนบิตของขอมูลลดลง และ ไม ขึ้นอยู กับช วงการเปลีย่ นแปลงของสัญญาณ และยังได จํานวนบิตที่ นอยกวาที่ quatization noise เทากัน Delta Modulation จะทํา quantize โดยการแทนความแตกตาง ของคาที่ สุมได ดวยจํานวนบิตเดียวเชน แทนบิต '1' สําหรับคาแตกตาง ที่ เปนบวกและ แทนบิต '0' สําหรับคาที่ เปนลบเปนตน กลาวอีกนัยหนึง่ การแทนดวยบิตเดียว คือ การเขารหัสเพือ่ บอกการเปลีย่ นเพิ่มระดับสัญญาณหนึง่ ระดับหรือลดลงหนึ่งระดับทุ กๆ คาของการสุม รูปที่ 3.12 แสดง สัญญาณอนาลอกทั่วไป เนื่องจากการ quantize เปนการเพิ่มหรือลดคาหนึ่งระดับ ณ แต ละจุดของการสุม เทากับเปน การพยามสรางสัญญาณขั้นบันไดที่ เขากับสัญญาณอนาลอกนัน้ โดยการเพิ่มขั้นหรือลดขั้นที ละขั้นที่ เทากับ Δ เทานัน้ จากการเลือกอัตราของการสุมและขนาดของ Δ ก็ จะทําให ได สัญญาณขั้นบันไดที่ ใกล เคียงกับสัญญาณ อนาลอกนัน้ ได ผลที่ ได จากการ quantize นี้ คือ ขบวนบิต '0','1' ที่ สอดคล องกับการเปลี่ยนแปลงสัญญาณขั้นบันได กลาวคือ ถาคาของสัญญาณขั้นบันไดตํ่ากวาสัญญาณอนาลอกที่ สุมได จะได บิต '1' เปนการบอกให เพิ่มสัญญาณ ขั้นบันไดใหเขาใกล สัญญาณอนาลอก แต ถาสัญญาณขั้นบันไดสูงกวาสัญญาณอนาลอกที่ สุมได ก็ จะให บิต '0' เปน การบอกให ลดขั้นบันไดลง เชนนี้ เรื่อยไป รูปที่ 3.12 รูปสัญญาณอนาลอกและสัญญาณขั้นบันไดที่ประมาณคาสัญญาณอนาลอกจากรูปขบวนบิตที่สอดคล อง คือ 1 1 1 1 1 1 1 0 0 0 0 1 0 0 1 1 1 0 1 0 1 0 ขบวนบิตที่ ได ถูกสงไปทางดานรับ เพื่อนําไปสรางสัญญาณขั้นบันได ตามลําดับบิต ที่ เขามาแลวจึงนําไปผานวงจรกรองความถี่ ตํ่ าผานจะได สัญญาณอนาลอกกลับคืนมาได จากหลักการ ทํางานที่ ได อธิบายไปสามารถสรางเปนวงจรได โดยการใช comparator และวงจรสรางสัญญาณขั้นบันได (staircase Generator) ผลที่ ได ก็ จะเปนวงจร A/D ดังรูปที่ 3.13 - 74 - รูปที่ 3.13 Delta A/D converter สัญญาณขั้นบันไดที่ ใช ในการประมาณเพือ่ แทนสัญญาณอนาลอกนั้น จะเห็นวาสัญญาณนี้จะใกลเคียง สัญญาณอนาลอกมากนอยแคไหนขึ้นอยูก ับอัตราการสุม (sampling rate) และขนาดของขั้นบันได (step size) การ เพิ่มอัตราการสุมทําให ได สัญญาณขั้นบันไดที่ ละเอี ยดขึ้น แต เปนการเพิม่ จํานวนบิตของขอมูลการลด step size ลง ก็ จะทําให ได สัญญาณที่ ใกล กับสัญญาณอานาลอกมากขึ้น แต ถา step size เล็กเกินไป การเพิม่ ของสัญญาณ ขั้นบันไดไม สามารถเปลี่ยนทันการเปลี่ยนแปลงของสัญญาณอนาลอก ทําให เกิดความผิดพลาดขึ้นได เรียก ปรากฎการณ นี้วา slope overload ถาให คา step size มี คามากเกินไป ในขณะที่ สัญญาณอนาลอกเปลี่ยนแปลง เพียงเล็กนอยหรือไม เปลี่ยนแปลง แต สัญญาณขั้นบันไดมี การเปลีย่ นกลับไปมารอบๆ คาสัญญาณอนาลอกจริง ความแตกตาง ของสัญญาณอนาลอกกับสัญญาณขั้นบันไดนี้ จะเกิดเปนสัญญาณรบกวนได เรียก สัญญาณรบกวนที่ เกิดขึ้นในกรณีนี้วา Granular noise รูปที่ 3.14 การเลือก step size ที่ ไม เหมาะสม (ก) step size เล็กเกินไปเกิด slope overload (ข) step size ใหญ เกินไปเกิด Granular noise 3.1.4 Adaptiเมื่อ Delta Modulation จากผลของ step size ที่ เลือกใช มี ผลตอสัญญาณที่ ประมาณจากสัญญาณขั้นบันได ซึ่งทําให เกิด slope o เมื่อerload เมือ่ step size เล็ กไป และเกิด Granular noise เมื่อ step size มากไป จึงมี การปรับปรุ งโดยให มี การ เปลี่ยน step size ตามการเปลี่ยนแปลงของสัญญาณ ลักษณะการเปลี่ยนขนาดของ step นี้ มี หลายลักษณะ เชน Song algorithm, Space shuttle algorithm ดังรูปที่ 3.15 (ก) และ (ข) ตามลําดั บ - 75 - รูปที่ 3.15 Adaptiเมื่อe Delta Modulation (ก) Song algorithm (ข) Space shuttle algorithm สําหรับ Song algorithm จะเปลี่ยนขนาดของ step size มากขึ้นเมื่อมี การเพิม่ ติดตอกันหลายครัง้ ดังรูป เริ่มตน step size เปนหนึ่งถูกเพิม่ ขนาดเปนสอง สาม สี่ หา หก เพื่อสรางสัญญาณขั้นบนไดตามขนาดของสัญญาณให ทัน และเมื่อ สัญญาณขั้นบันไดสูงกวาสัญญาณจริ งแลวการลดของขั้นบันไดจะลดลงดวยการคอยๆ ลด Step size จาก หก หา สี่ ตามลํ าดับ และเมื่อตองมี การเพิม่ สัญญาณขั้นบันไดก็ จะเพิ่มดวย step size ที่ เปนอยู ขณะนัน้ ตาง จาก Space shuttle algorithm ที่ การลดหลังจากการเพิ่ม หรือเพิม่ หลังจากการลดจะกระทําที่ step size เริ่มตนทุกครั้ ง 3.1.5 Delta Pulse Code Modulation;(DPCM), Differential PCM และ ADPCM นอกจากการเขารหัสเพื่อแปลงสัญญาณอนาลอกให เปนสัญญาณดิจติ อลที่ ได กลาวมาแลวนัน้ ยังมี การ เขารหัสดวยวิธี การอีกหลายแบบ เพื่อให ได ประสิ ทธิ ภาพสูงสุด คือ ความเชื่ อถื อได สูง และแบนดวิดท ตํ่าที่สุด ใน ที่นี้จะกลาวถึง 3 วิธี คือ Delta Pulse Code Modulation;DPCM , Differential PCM, Adaptiเมื่อe Differential pulse code modulation;ADPCM 3.1.5.1 Delta Pulse Code Modulation;DPCM เปนการนําคาแตกตาง ของสัญญาณที่ สุมได กับสัญญาณ ที่ สุมได กอนหนามาเขารหัสแบบ PCM เนื่องจากเปนการเขารหัสของสวนที่ แตกตาง เทานั้นปกติ ก็ จะมี คานอยกวา ขนาดของสัญญาณ จึงทําให การเขารหัสนี้ ละเอียดขึ้นความผิดพลาดลดลงได รูปที่ 3.16 แสดงการสรางสัญญาณ DPCM คาความแตกตาง ของสัญญาณกับสัญญาณขั้นบันไดจะถูก quantize เปนระดับตาง ๆ ตามจํานวนบิตที่ ใช คาที่ ได จะเปนคาที่ บอกขนาดของขั้นบันได เพื่อให วงจรสรางสัญญาณขั้นบันไดเปลี่ยนระดับตามขนาดขัน้ ที่ ได รับนี้ รูปที่ 3.16 การสรางสัญญาณ DPCM 3.1.5.2 Differential PCM แทนการเปรียบเทียบสัญญาณกับคาที่ สุมได กอนหนา การเขารหัสแบบ Differential PCM นี้ จะเปรียบเทียบสัญญาณกับคาที่ คาดเดา(Predict Value) ไว กอนทําใหคา ความแตกตาง ของ - 76 - n Sˆ (nTs) [3.9] คาคาดเดาจะได จากคาการสุมกอนหนาคูณกับคาคงที่ A การเลือก A ที่ เหมาะสมจะให คาผิดพลาดที่ นอยที่สดุ รูปที่ 3.17 รูปที่ 3.17 การสรางสัญญาณ differential PCM จากรูปแสดงการสรางสัญญาณ Differentail PCM ในบล็ อค Predict นั้นก็ คือ การคูณดวยคาคงที่ A นั่นเองปญหาคือ การหาคา A ที่ ให ได คุณสมบัติ ตามตองการ จากหลั กการ ที่ ให ได คากําลั งสองเฉลี่ ยของความผิดพลาดนอยที่ สุด (Least mean square error ) คาความผิดพลาดที่ เกิดจากความแตกตางของสัญญาณที่สุมไดกับคาที่คาดเดามีคา [3.10] คากําลั งสองเฉลี่ ยของความผิดพลาด จะได เปน [3.11] โดยที่ R เปน autocorrelation ของสัญญาณ หาคา A ที่ ทําให mse มี คานอยที่ สุดโดยการดิฟเฟอเรนชิเอตสมการ 3.9 แลวให เทากับศูนย จะได [3.12] ซึ่งก็ คือการเลือกจากคุณสมบัติ ของสัญญาณนัน่ เอง - 77 - 3.1.5.3 Adaptive differential PCM เชนเดียวกับ Differential PCM ตาง กันที่ คา A ของ ADPCM เปลี่ยนไป ตามสถานการณ ของสัญญาณ ไม ได กําหนดคงที่ ทุ กๆ ช วงเวลาหนึ่งจะมี การเปลี่ยนคาA ไป โดยการคํานวนคา A จาก covariance matrix [Rij] การที่ ดานสงและดานรับจะใช คา A ตรงกันได ทําโดยการสงคา A ไปดวยในลักษณะ over head เพื่อบอกให ทางดานรับใช คา A ที่ ตรงกัน 3.1.6 Voice Technique การแปลงสัญญาณอนาลอกเปน สัญญาณดิจิตอลหลายๆ วิธี ที่ กลาวมาแลว ยังมีการแปลงสัญญาณอนาลอกที่ มี ลักษณะเฉพาะ เชน สัญญาณเสียง สัญญาณเสียงพูด จากการวิ เคราะห จะพบวาสัญญาณเสียงที่ มนุ ษย ได ยิ นหรือตอบสนองได โดยทัว่ ไปแลวมี ความถี่ สูงถึงประมาณ 15 kHz เทานัน้ สวนเสียงพูดของคนทั่วไปก็ จะมี สเป กตรั มสวนใหญ อยู ในช วง 1-3 kHz และ ลักษณะสัญญาณเสียงพูดจะเปนการเปลงเปนชวงๆ เปนคําๆ จากลักษณะเฉพาะนี้ สามารถนําไปใช ในการแปลง สัญญาณ เสียงนี้ ได - linear predictiเมื่อe coding ;LPC เปนเทคนิ คที่ ใช ในการแปลงสัญญาณโดยการวิเคราะหสญ ั ญาณเสียงแลว สง ขอมูลที่ จําเปนของสัญญาณที่ สามารถสั งเคราะห สัญญาณเสียงนั้นกลับคืนมาไดเริ่มตนสัญญาณจะถูก digitize โดย ใช วงจร A/D กอนแลวจึงคํานวนหาคาทางสถิ ติ ของสัญญาณนี้ โดยใชการวิ เคราะห autocorelation หาสวนประกอบ ความถี่ โดยการใช pitch extractor จากขอมูล pitch ที่ ได และ parameter ของ linear predictor สงให เครื่องรับหรือ อาจเรียก วาเครื่องสั งเคราะห ก็ ได เนื่องจากขอมูลที่ ไดรับจะถูกนําไปใช สั งเคราะห เสียงออกมาได จากเทคนิ คนี้ ทํา ให สามารถสงสัญญาณเสียงที่ อัตราการสงขอมูลประมาณ 2.4 kbps ได ในขณะที่ สัญญาณ PCM ตองการอัตราการ สงขอมูลที่ 56 kbps - Adaptiเมื่อe predictive coding ;APC เปนการสงขอมูลเฉพาะสวนแตกตาง จากคาคาดเดากับ คาจริงที่สุมไดทําให ลดขอมูลที่จะสงได มาก - Vocoder ใช การวิ เคราะห cepstrums เปน spectrum ของ spectrum แยกเสียงออกเปนแถบความถี่ แลวสงขอมูลนี้ ไป จะได จํานวนขอมูลที่ นอยมาก แตอยางไรก็ ตามคุ ณภาพเสียงก็ จะอยู ในระดับฟงได เทานัน้ 3.2 การเขารหัสชองสัญญาณ (Channel encoding) จากหัวขอกอนซึ่งเปนการเปลี่ยนสัญญาณอนาลอกให เปนดิจิตอลในลักษณะขบวนของบิต '0' '1' เรียก ขบวนการ เหลานั้นวาการเขารหัสแหลงกําเนิด จากนี้ ไปจะเปนการเปลี่ยนขบวนบิตที่ ได อยู ในรูปแบบที่เหมาะสมเพื่อใช ในการ สงตอไป 3.2.1 ทฤษฎีขาวสารเบื้องตน (Basic information theory) มีความตองการอยู หลายประการที่ ตองเปลี่ยนสัญญาณกอนการสง จากการที่ มี ขอมูลที่ตองการสงจํานวนมาก การที่ จะจัดสงขอมูลเหลานั้นไปดวยวิธี ตาง ๆ นั้น ตองคํานึ งถึงการสง - การรับที่ มีประสิ ทธิ ภาพได ขาวสารที่ ครบถวน เหตุผลหลั กๆ ของการเขารหัสกอนการสงนี้ ก็ เพื่อตองการไดประสิ ทธิ ภาพในการสงที่ สูงขึ้น ได เครื่องสง - เครื่องรับที่ งายในการออกแบบ ลดขอผิดพลาด และเปนการเตรียมการสําหรับการสงขอมูลที่ เปนสวนตัว 3.2.1.1 ขาวสารและการวัดปริมาณขาวสาร พิจารณาตัวอยางเหตุการณ ในร านอาหารแหงหนึง่ หลังจากการ เลือกอาหารตามที่ ตองการแลวบริ กรในร านสั่ งไปในครั วดวยขอความสั้ นๆ เชน "เล็กแหงไมงอก" "ใหญใจแหงไมชู " - 78 - [3.13] โดยที่ Px เปนพรอบอะบิลิตี้ ของการเกิดของขอความ x จะได สอดคล องกับหลั กการที่ วาเมื่อ Px = 1, Ix = 0 โดยไม จําเปนวา log ฐานอะไร แต โดยทัว่ ไปจะใช ฐาน 2 เนื่องจากเมือ่ ลองย อนกลับไปที่ ร านอาหาร ที่ มีรายการให เลือกสั่ งเปนหมายเลข ถาสมมติ วามี รายการเพียงสองรายการให เลือก และเทาที่ ผานมามี การเลือกเทาๆ กันทั้งสอง รายการ พรอบอะบิลิตี้ ของแต ละรายการเทากับ 1/2 เมื่อใช log ฐาน 2 จากสมการ 3.13 จะได [4.14] นั่นคือ หนึ่งหน วยของขาวสารถูกสงออกไปเมื่อมีการสัง่ อาหารแต ละครั้งพิจารณาการสงสัญญาณดิจิตอลที่จะนํามาใช กับกรณี นี้ เมื่อมี สิ่ งที่ เปนไปได สองอยางคืออาหารสองชุ ดใช บิต 1 บิตในการแทนคือ '0' แทนรายการชุ ดที่ 1 บิต '1' แทนรายการชุ ดที่ 2 เมื่อเพิม่ รายการอาหารเปน 4 ชุ ด โดยมี พรอบอะบิลิตี้ของแตละชุ ดเทากับ 1/4 ขาวสารที่ บรรจุ อยู แต ละขอความเทากับ log ( ) 2 4 2 = หน วย ซึ่งเมื่อใช เลขฐาน 2 ในการแทนหมายเลขชุ ดก็ จะตองใช จํานวน 2 บิตคือ '00','01','10','11' เพือ่ แทนรายการชุ ด 1 ถึง 4 ตามลํ าดับสรุปได วาขอความใดๆ ที่ มี พรอบอะบิลิตี้ เทากัน ปริมาณขาวสารในขอความนั้น จะเทากับจํานวนบิตนอยที่สุดที่ จะใช แทนขอความนั้นในการสง เปนเหตุ ผลหนึง่ ของ การใช log ฐานสองในการหาคาปริมาณขาวสารซึง่ หนวยของขาวสารที่ ได ก็ จะถูกเรียก วา 'bit of information' เมื่อ แต ละขอความมี พรอบอะบิลิตี้ เทากันแตละขอความก็ จะมี ขาวสารเทากัน แต ถาแต ละขอความมี พรอบอะบิลิตี้ ไม เทากัน ปริ มารขาวสารที่ บรรจุ ในขอความนั้นก็ ขึ้นอยู กับพรอบอะบิลิตี้ ของขอความนัน้ Entropy ถูกนิ ยามให เปน - 79 - [3.15] ตัวอยาง ระบบสื่อสารหนึง่ ประกอบดวยขอความที่ เปนไปได ทั้งหมด 6 ขอความมี พรอบอะบิลิตี้ ดังนี้ 1/4,1/4,1/8,1/8,1/8,1/8 หา entropy จากสมการ 3.13 แต ละขอความมี ขาวสาร 2 บิต 2 บิต 3 บิต 3 บิต 3 บิต 3 บิต ตามลําดับ entropy สําหรับกรณี ของขอความแบบไบนารี พิจารณาหาได โดย เริ่มที่ ขอความที่ เปนไปได x1, x2 มีพรอบอะบิลิตี้ เปน ได entropy [3.16] จากผลที่ ได นําไปวาดเปนฟงกชนั ของ Px ดังรูปที่ 3.13 รูปที่ 3.13 กราฟ Entropy เปนฟงกชนั ของ Px จากรูปจะพบวาเมื่อพรอบอะบิลิตี้ ของ x1 เขาสู 1 หรือ 0 entropy จะเขาสู 0 เชนกัน ในกรณี Px1=1 ขอความที่ สงตอง เปนขอความที่ 1 แนนอนจึงไม มี ขาวสารใดๆ entropy จึงเปนศูนย สําหรับกรณี Px1=0 ขอความที่ สงตองเปนขอความ ที่ 2 แนนอนจึงไม มี ขาวสารใดๆ เชนกัน entropy สูงสุดที่ Px1 เทากับ 1/2 และเมื่อมี ขอความสามขอความ entropy จะสูงสุดที่ Px1=1/3 - 80 - 3.2.1.2 ความจุ ชองสัญญาณ (Channel capacity) ปริมาณขาวสารที่ บรรจุ อยู ในขอความสามารถสงไปใน ชองสัญญาณมากนอยเทาใดนั้นขึ้นอยู กับความสามารถของชองสัญญาณนัน้ วาจะผานปริมาณขาวสารได เทาใดซึ่งมี ความสัมพันธ กับขอผิดพลาดที่ อาจเกิดขึ้นในการสงดวย กอนที่ จะพิจารณาความสามารถของชองสัญญาณนัน้ จะ นิยามอัตราเร็วของขาวสารกอนโดยที่ ถาแหลงกําเนิดขาวสารกําเนิดขอความดวยอัตราเร็ว r ขอความตอวินาที ตัวอยางเชน การสงตัวอั กษร ดวยความเร็วในหน วยตัวอั กษรตอวินาที ซึ่งเมื่อทราบพรอบอะบิลติ ี้ ของขอความหรือใน ที่นี้ คือตัวอักษร ก็ สามารถหาคา entropy , H ใน หน วยบิตตอวินาที ได เมื่อคูณกับอัตราเร็วขอความก็จะได อัตราเร็ว ขาวสาร information rate;R เปน [3.17] จากตัวอยางในหัวขอกอนหนาที่ ได H=2.5 bit/message เมื่ออัตราเร็วขอความเทากับ 2 ขอความตอวินาที จะได อัตราเร็วขาวสาร 5 bps ในระบบการสื่อสารหนึง่ เมื่ออัตราเร็วขาวสารสูงขึ้นจะทําให จํานวนการผิดพลาดเพิม่ ขึ้นดวย จึงมี คําถามวาในชองสัญญาณหนึ่งจะสงขาวสารได ดวยอัตราเร็วเทาใดโดยที่ การผิดพลาดไม สูงเกินยอมรับได C.E. Shannon แสดงให เห็นวาสําหรับชองสัญญาณหนึ่งจะมี อัตราเร็วขาวสารได สูงสุดคาหนึ่งรู จั กกันในนาม ความจุ ชองสัญญาณ channel capacity;C ถาอัตราเร็วขาวสาร R ตํ่ ากวาความจุ ชองสัญญาณ C ขาวสารจะถูกสงได โดย เกิดผิดพลาดเพี ยงเล็ กนอยและสามารถลดขอผิดพลาดลงได โดยการใช เทคนิ คในการเขารหัส ถึงแม ใน ชองสัญญาณจะมี สัญญาณรบกวนอยู ดวยก็ ตาม แต ถาอัตราเร็วขาวสารสูงกวาความจุ ชองสัญญาณแลวจะไม สามารถหลี กเลี่ ยงขอผิดพลาดได เลยไม วาจะใชเทคนิ คในการเขารหัสอยางไรก็ ตาม ในที่ นี้ จะไม กลาวถึงการ พิสูจน ที่ มาของทฤษฎี นี้ จะกลาวถึงการนําไปใชเทานัน้ พิจารณากรณี ชองสัญญาณความถี่ จํากัด (bandlimited) ที่ มี สัญญาณรบกวนแบบ white Gaussian ความจุ ชองสัญญาณจะเทากับ [4.18] โดยที่ C เปนความจุ ชองสัญญาณในหน วย บิตตอวินาที B เปนแบนวิ ดท ของชองสัญญาณ ในหน วย Hz และ S/N เปนอัตราสวนสัญญาณตอสัญญาณรบกวนในชองสัญญาณ เมื่อพิจารณาดู จะพบวา ความจุ ชองสัญญาณขึ้นอยู กับ แบนดวิดท และ S/N ซึ่งเมื่อเพิ่มแบนดวิดท ทําให ความจุ ชองสัญญาณเพิ่มขึ้นหมายถึงสงขาวสารได มากขึ้น ทํานอง เดียวกับการเพิ่ม S/N ซึ่งหมายถึงคุ ณภาพของชองสัญญาณดี ขึ้นหรือการที่ มี สัญญาณรบกวนนอยนัน่ เอง และเมื่อ S/N เขาสู ∞ หมายถึงชองสัญญาณไม มีสัญญาณรบกวนเลยจะได ความจุ ชองสัญญาณไม จํากัดโดยไม ตอง คํานึงถึงแบนดวิดท เลย และอาจมองได ในทํานองเดียวกันวาเมื่อเพิ่มแบนดวิดท เขาสู ∞ จะได ความจุชองสัญญาณ เขาสู ∞ แต ชองสัญญาณที่ มี สัญญาณรบกวนอยู จะไม สามารถเพิ่มความจุ ของชองสัญญาณได ไม จํากัด ลอง พิจารณาชองสัญญาณที่ มี สัญญาณรบกวนแบบ white noise ที่ มี สเปกตรัมกําลั งคงที No คงที่ ในหน วย W/Hz กําลั งของสัญญาณรบกวนในชองสัญญาณจะขึ้นอยู กับแบนดวิดท ของชองสัญญาณนัน้ เทากับ NoB และเมื่อขนาด ของสัญญาณ (S) คงที่ จะได - 81 - เมื่อให CB [3.19] แสดงให เห็นวาแม จะเพิ่มแบนดวิดท เขาสู ∞ แลวก็ ตาม ความจุ ชองสัญญาณจะถูกจํากัดดวย S/N คือขนาด สัญญาณกับความหนาแน นสเป กตรั มกําลั งของสัญญาณรบกวน ในการออกแบบระบบสื่อสารใดๆ ที่ชองสัญญาณมี สัญญาณรบกวนอยู การเพิม่ ความจุ ชองสัญญาณโดยการเพิม่ แบนดวิดท นัน้ อาจเปนการกระทําที่ สู ญเปล าถา ชองสัญญาณถูกจํากัดดวย S/N จึงตองตรวจสอบสภาพของชองสัญญาณวาสามารถมี ความจุ สูงสุดได เทาใด เพื่อจะ ได เลือกใช อัตราเร็วขาวสารที่ ไม สูงกวาความจุ ชองสัญญาณนี้ เมื่อมี ความจุชองสัญญาณสูงพอจึงจะสงขาวสารได และเพิ่มความสามารถของชองสัญญาณได โดยใช เทคนิคการเขารหัสชองสัญญาณซึ่งจะได กลาวในหัวขอตอไป 3.2.2 การเขารหัส (Coding) การเขารหัสสําหรับชองสัญญาณนัน้ เพื่อเพิ่มประสิ ทธิ ภาพในการสงสัญญาณ คือ เมื่อมีขอความ M ขอความที่ จะสงก็ จะตองเขารหัสดวยรหัสที่ เปนไปได M รหัส การเลือกรหัสที่ ใช นั้นอาจจะแบ งตามวั ตถุ ประสงค ของการเขารหัสออก ได เปนสามกลุม คือการเขารหัสเพื่อการสงรับได อยางมีประสิ ทธิ ภาพเปนการลดขอความที่ จะสงโดยยังคงขาวสาร ครบถ วน กลุมที่ สองเปนการเขารหัสเพื่อ แก ไขขอผิดพลาด และกลุมที่ สามเปนการเขารหัสเพื่อความปลอดภัยของ ขอความ ในที่ นี้ จะกลาวถึงการเขารหัสเพือ่ การลดขอมูลและการเขารหัสเพื่อตรวจสอบและแก ไขขอผิดพลาดเทานั้น พิจารณาหลั กการของการเขารหัส ตองเปนการเขารหัสในดานสงแลวดานรับจะตองตี ความออกมาได อยางถูกตอง ตามที่ สงไป รหัสสําหรับแต ละขอความจะตองไม ทําให ดานรับสั บสนวาเปนการสงรหัสของขอความใดมา ยกตัวอยาง ขอความ 4 ขอความเมื่อเขารหัสดวยเลขฐานสองดังนี้ M1 = 1, M2 = 10, M3 = 01, M4 = 101 เมื่ออยู ทางดานรับและรับรหัสได ลําดับ 101 จะไม สามารถรู ได เลยวาเปนการสง M4 หรือ M M 2 1 หรือ M M 1 3 การเลือกรหัสลักษณะนี้ การตี ความตัดสิ นใจไม เปนหนึ่งเดียว คือดานรับสามารถตี ความได หลายลักษณะ นัน่ คือจะ ทําให การสื่อสารผิดไปได ทั้งๆ ที่ การรับสงสัญญาณได อยางถูกตอง หากจะให รหัสถูกตีความอยางถูกตองได รหัส - 82 - M1 = 1, M2 = 01, M3 = 001, M4 = 0001 การกําหนด prefix ข างตนเปนเงื่ อนไขที่ เพี ยงพอที่ จะทําให รหัสมี คุณสมบัติ การตี ความได เพียงหนึง่ เดียวแต ก็ ไม จําเปนเสมอไป ดังตัวอยาง M1 = 1, M2 = 10, M3 = 100, M4 = 1000 จะเห็นวารหัสตัวหนึ่งเปน prefix ของรหัสตัวถั ดไป แต ก็ เปนรหัสที่ ตี ความได เปนหนึง่ เดียว ความแตกตาง ระหวาง รหัสทั้งสองชุดนี้ คือ ในรหัสชุ ดหลังการถอดรหัสไม สามารถกระทําได ทันที ตองรอให รับครบทั้งสี่ บิตกอนจึงจะ ถอดรหัสตี ความได 3.2.2.1 Entropy coding เปนที่ น าสนใจในวิธี ที่ จะหารหัสที่ มี คุณสมบัติ ตี ความเปนหนึ่งเดียว โดยที่ มี ความยาวของรหัสนอยที่ สุด จะทําให การรับสงได อยางมี ประสิ ทธิ ภาพ คือได อัตราการสงผานชองสัญญาณที่ สูงที่ สุด ความยาวของรหัสที่ กลาวถึงจะหมายถึงความยาวเฉลี่ ยซึ่งเปนการเฉลี่ยจากความยาวของรหัสแต ละขอความ โดย ความยาวของรหัสที่ แทนขอความใดๆ จะพิจารณาจากพรอบอะบิลิตี้ของขอความนัน้ ซึ่งจะพบขอได เปรียบเมื่อกําหนด รหัสที่ มี ความยาวนอยกับขอความที่ มี พรอบอะบิลิตี้ สูงและรหัสที่ มี ความยาวมากให กับขอความที่ มี พรอบอะบิลิตี้ ตํ่ า รหัสมอสก็ เขาข ายหลั กการนี้ คือกําหนดรหัสของอักษรมีความยาวของรหัสนอยที่ สุดทฤษฎีบทพืน้ ฐานของทฤษฎี การเขารหัสในกรณี ที่ ไมมีสญั ญาณรบกวนกลาวไว วา "สําหรับการเขารหัสโดยการใช เลขฐานสองความยาวเฉลี่ยของ รหัสจะมากกวาหรือเทากับ entropy" เมื่อนิยามความยาวเฉลี่ยของรหัสเปน n จะได [3.20] ความยาวเฉลีย่ ของรหัสมีคานอยที่สุดได เทากับ entropy ไมสามารถนอยกวานี้ไดนั่นคือรหัสนัน้ จะตองสามารถนํา ขาวสารไปได ครบถ วน จึงตองมี ขนาดไม นอยกวา entropy ที่ เปนขาวสารเฉลี่ยถาไมไดเปนระบบเลขฐานสองจะได [4.21] โดยที่ L เปนจํานวนสั ญลั กษณ ของขอความ Variable -lenght codes ในกรณีที่พรอบอะบิลิตี้ของขอความแตละขอความที่ตองการสงไม เทากัน การสงอยางมี ประ สิ ทธิ ภาพวิธี หนึง่ คือการให ขอความแต ละขอความมี รหัสที่มีความยาวไมเทากัน คือขอความที่ มี พรอบอะบิลิตี้ สูง ให มี รหัสสั้ นในขณะที่ ขอความที่ มี พรอบอะบิลิตี้ ตํ่ าให มี รหัสยาวกวา ความยาวเฉลี่ ยของรหัสก็ จะตํ่ าเขาสู entropy ได ยกตัวอยางขอความมี พรอบอะบิลิตี้ 1/8,1/8,1/4,1/2 ตามลําดับ รหัสความยาวเทากันที่ เปนไปได อาจเปน 00, 01, 10, 11 ตามลําดับ จะได ความยาวเฉลี่ ยของรหัสเทากับ 2 แต หากใช รหัส 111, 110, 10, 0 แทนขอความทัง้ สี่ ตามลําดับ จะได ความยาวเฉลี่ ยเปน - 83 - ปญหาก็ คือจะเลือกรหัสอยางไรใหไดความยาวเฉลี่ยของรหัสตํ่าที่สุดตามตองการมีวิธีการอยูสองวิธีทจี่ ะกลาวถึง คือวิธี ของ Huffman และ Shannon-Fano code - Huffman codes เปนเทคนิ คการเขารหัสแบบ เมื่อariable-length ที่ ดี ที่ สุดที่ เปนไปได มี วิธี การ ซึ่งจะอธิ บายโดย ใช ตัวอยางเปนขั้นตอนดังนี้ ถามี ขอความM1,M2 , M3 , M4 มี พรอบอะบิลิตี้ เปน 0.1, 0.2, 0.5, 0.2 ตามลําดับ 1. เรี ยงขอความตามลําดับพรอบอะบิลิตี้จากมากไปนอย ในกรณีทพี่ รอบอะบิลิตี้ เทากันเลือกตัวใดก็ไดในกรณีนี้จะได 2. รวมพรอบอะบิลิตี้ คูลางนําไปเขี ยนเปนคอลัมนใหมในกรณีทพี่ รอบอะบิลิตี้ที่รวมไดมากกวาตัวขางบนให สลับที่ เรียงลําดับจากมากไปนอยไปหามาก 3. ทําเชนเดียวกับขอสองจนกระทั่งเหลือเพียงสอง 4. กําหนดรหัสใหกับพรอบอะบิลิตี้คูหลังสุดดวยรหัสหลักหนึ่งแลวยอนกลับไปหาที่มาของพรอบอะบิลิตี้ตัวนัน้ หากเกิด จากการรวมกันก็ใหแยกรหัสดวยหลักที่สอง สาม ตามลําดับ - 84 - จึงไดรหัสของขอความเปน - Shanon-Fano เปนเทคนิ คการเขารหัสอีกแบบหนึง่ ตาง จากของ Huffman คือจะกําหนดรหัสไปพรอมกับการ พิจารณาเลย ในขณะที่ Huffman เปนการกําหนดรหัสย อนกลับ พิจารณาตัวอยางเดิมเปนขั้นตอนดังนี้ 1. เรียงขอความตามลําดับพรอบอะบิลิตี้จากมากไปนอยในกรณีทพี่ รอบอะบิลิตี้เทากันเลือกตัวใดก็ไดในกรณีนี้จะได ขอความ พรอบอะบิลิตี 2. แบงกลุมของขอความออกเปนสองกลุมที่มีผลรวมของพรอบอะบิลิตี้ แตละกลุมเทาๆ กัน ในขั้นตอนนี้ พรอบอะบิลิตี้ ของแตละกลุมเทากับ 0.5 3. กําหนดรหัสของแตละกลุมดวยรหัสที่ แตกตางกัน - 85 - 4. แบงกลุมของขอความในแต ละกลุมออกเปนสองกลุมที่ มี ผลรวมของพรอบอะบิลิตี้ แต ละกลุม เทาๆ กัน กําหนดรหัส ให กับกลุมที่แบงยอยดวยรหัสหลักถัดไป 5. แบงกลุมยอยของขอความในแตละกลุม พรอมกําหนดรหัสในหลักถัดไปจนกระทัง่ เหลือขอความเดียวในแตละกลุม จึงไดรหัสของขอความเปน จากทั้งสองวิธรี หัสที่ไดเมื่อนําไปหาความยาวเฉลี่ ยจะพบวาใกล เคี ยงกับ entropy มากนั่นคือเปนการเขารหัสที่ มี ประ สิ ทธิ ภาพมากวิธี หนึ่ง นอกจากการเขารหัสสําหรับขอความแตละขอความดังตัวอยางนี้แลวยังสามารถเพิ่มประสิ ทธิ ภาพของการเขารหัสได โดยการจับกลุมขอความแลวจึงเขารหัสจะทําให ได รหัสที่มปี ระสิทธิภาพมากยิง่ ขึ้น ตัวอยาง ถาขอความสองขอความมีพรอบอะบิลิตี้ ดังนี้ M1 =0 9. , M2 = 0 1. จะได entropy H = −0.9 log 0.9 − 0.1log o.1 = 0.47bits เมื่อกําหนดรหัสให จะได M1=0 M2=1 จะเห็นวา ความยาวเฉลี่ ยเทากับหนึง่ บิต มากกวา entropy มาก ทําอยางไรจึงจะได ประสิ ทธิ ภาพที่ ดี กวานี้ ถาลอง - 86 - รวมกลุมขอความเปนขอความใหม ที่ ประกอบดวยขอความเดิมสองขอความ ขอความใหม ที่ จะเปน ไปได คือ M1M1=0.81, M1M2=0.09, M2M1=0.09, M2M2=0.01, เมื่อกําหนดรหัสให กับขอความใหม จะได M1M1=0, M1M2=10, M2M1=110, M2M2=111 เมื่อหาความยาวเฉลี่ ยของรหัสจะได L =1×0.81+2×0.09+3×0.09+3×0.01=1.29 bits เปนความยาว รหัสเฉลี่ ยของสองขอความเพราะฉนั้นความยาวรหัสเฉลี่ ยของขอความเดิมเทากับ 0.649 บิต จะเห็นไดวา สั้นลงกวาเดิมมากถาไดรวมกลุมขอความมากขึ้นจะไดความยาวเฉลี่ยของรหัสเขาใกล entropy มากยิ่งขึน้ Data compression เมื่อกลาวถึงการบีบอัดขอมูลนั้นจะเปนคําที่ ใช กับวิธี การตาง ๆ ในการลดจํานวนบิตที่ จะตองสง สําหรับขอความที่ ตองการสง การบีบอัดขอมูลจะประสบผลสําเร็จมากนอยขึน้ อยู กับคุณสมบัติ ของขอความที่ จะสงนั้น เชน entropy coding ที่ กลาวไปจะใช ได ดี กับขอความที่ มี พรอบอะบิลิตี้ ตาง กันมาก วิธี การอื่ นที่ ใช ในการบี บอั ดขอมูลอาจขึ้นอยู กับลําดับการเกิดของขอความนัน้ ตัวอยาง สัญญาณโทรทั ศน ในหนึ่งภาพประกอบไปดวยจุดภาพใน หนึง่ เสนแนวนอน 625 จุดภาพ(ระบบ PAL).ในแต ละจุดภาพถาจะแปลงเปนดิจิตอล สําหรับภาพขาวดํ าที่ เก็บเฉพาะ ความเข มของแสงโดยใช รหัส PCM 128 ระดับ คือหนึ่งจุดภาพตองใช 7 บิตในการเก็ บ ในหนึ่งเสนแนวนอนจะมี ขอมูล จํานวน 625x7=4379 บิต ที่ จะตองสง แต เมื่อพิจารณาดู แลวในหนึง่ ภาพของโทรทัศน นัน้ แตละเสนจะมี จุดภาพที่ มี ความเข มของแสงที่ เทากันเรี ยงตอกันอยู มาก เชน ในภาพฉากหลัง ฉนั้นแทนการสงรหัสของทุกจุดภาพเรียงกันไป ก็ อาจจะสงรหัสบอกความเข มแสงของจุดภาพที่ เหมื อนกันตามดวยรหัสบอกจํานวนของจุดภาพที่เหมือนกันนั้น จึงเปนวิธี การบีบอัดขอมูลได วิธี หนึ่ง เรียก เทคนิ คที่ ใช นี้ วา run-length coding นอกจากนี้ ยังมี วิธี การอื่นๆ อีกมากมายที่ ถูก คิดคนขึ้นมาชวยลดจํานวนขอมูลที่ ตองสง เชน การนําเอาเทคนิคการคาดเดา (prediction) มาใช กับขอมูลที่ มี การ เปลี่ยนแปลงนอยและการเปลี่ยนแปลงเปนไปอยางตอเนื่อง สามารถจะคาดเดาขอมูลชุ ดตอไปที่ จะสงมาได ทางดานสง จึงอาจไม จําเปนตองสงขอมูลทั้งหมดไปทางดานรับสามารถจะสรางจากการคาดเดาได เปนตน รวมถึงการประมวลผล สัญญาณ (digital signal processing,DSP) ในรูปแบบตาง ๆ กอนการสง เชน การทํา transform ในรูปแบบตาง ๆ เหลานี้ ลวนกระทําเพื่อลดจํานวนขอมูลทีต่ องสงทัง้ สิน้ โดยถือหลักที่ ไดขาวสารครบถวนอยู 3.2.2.2 Error Control Coding ในการเขารหัสที่ ผานมาจะคิดวาชองสัญญาณไมมีสัญญาณรบกวน การรับสง สัญญาณถูกตอง ความพยายามในการลดจํานวนบิตในการสงเปนจุดที่ ถูกพิจารณาเปนหลั ก แต ในชองสัญญาณ โดยทัว่ ไปยอมมี สัญญาณรบกวนเกิดขึ้น การรับสัญญาณจากทางดานสงอาจผิดพลาดไปได ความผิดพลาดจากการ รับ-สงสัญญาณนี้ อาจตรวจจับและแก ไขได โดยการ เขารหัสที่ มี ความสามารถดังกลาว ในการกําหนดรหัสให กับ ขอความที่ ตองการสงนัน้ ถาเซ็ตของรหัสที่เปนไปได ในการสงมี จํากัด เมื่อเกิดการผิดพลาดไป รหัสที่ ดานรับรับได ไป เหมื อนกับรหัสของขอความตัวอื่นในเซ็ ตเดียวกัน อาจทําให ดานรับตี ความเปนรหัสตัวนัน้ ไป ในลักษณะเชนนี้ ทาง ดานรับจะไม ทราบเลยวามี ขอผิดพลาดเกิดขึ้น แต ถารหัสที่ ดานรับรับได ไม มี ในเซ็ ตของรหัสที่ กําหนดไว ทาง ดานรับจะทราบทันที วามี ขอผิดพลาดเกิดขึ้นในการสง และอาจสามารถแก ไขได การกําหนดรหัสให แก ขอความนัน้ จะตองมี ระยะห างระหวางรหัส (code distance) หมายถึงจํานวนบิตที่ แตกตาง ระหวางรหัสแต ละรหัสตัวอยางรหัส สองบิต จํานวนรหัสที่ เปนไปได ทั้งหมดเทากับ 4 รหัสคือ 00,01,10,11 ถามี ขอความที่ ตองการกําหนดรหัสอยู 4 - 87 - รูปที่ 3.14 การกําหนดรหัสสําหรับรหัส 3 บิต แสดงระยะห างระหวางรหัส Linear block encoding รหัสที่ มี ความสามารถในการตรวจจับและแก ไขขอผิดพลาดได นั้นมี ดวยกันหลายชนิ ด algebraic codes เปนรหัสในลักษณะ block codes คือมี ความยาวของแต ละรหัสเทากัน มี การจัดการรหัสโดยใช สมการพี ชคณิ ตเขาช วย หนึง่ ในรหัสประเภทนี้ ที่ คุนเคยกันได แก parity-bit check code ตัวอยางในตารางแสดง รหัสพาริ ตี้ 1 บิต (single-parity-bit check code) เปนรหัสที่สามารถตรวจจับขอผิดพลาดได 1 บิต - 88 - บิตสุดทายที่ เติมหลังขอความเติมโดยเงื่ อนไขให จํานวนบิตทั้งหมดเปนจํานวนคู ในลักษณะนี้เรียก วาพาริตี้คู (even parity) ทางดานรับ จะตรวจเช็คจํานวนบิตที่ เปน '1' วาเปนจํานวนคู หรือคี่ ถาเปนจํานวนคู ก็ แสดงวาถูกตองเพี ยงแต ตัดพาริ ตี้ บิตออกก็ จะได รหัสของขอความ ถารหัสที่รับไดมีจํานวนของบิตที่ เปน '1' เปนจํานวนคี่ แสดงวามี บิตใดบิต หนึง่ ผิดพลาด แต ถาเกิดการผิดพลาดสองบิต จะไม สามารถทราบได วาเกิดผิดพลาด เนื่องจากจํานวนบิตที่ เปน '1' ยังคงเปนจํานวนคู รหัสพาริ ตี้ หนึง่ บิตนี้ มี ความสามารถตรวจจับขอผิดพลาดได เพี ยงหนึง่ บิต และไม สามารถแก ไข ขอผิดพลาดได เนื่องจากไม ทราบวา ผิดที่บิตใด ในการใช งานจึงมั กจะตองให ดานสงสงใหม (retransmission) ดู เหมื อนวารหัสเชนนี้ อาจช วยอะไรไม ได มากเนื่องจากตรวจจับบิตที่ ผิดพลาดได เพี ยงบิตเดียว แต เมื่อลองพิจารณาดู โอกาสในการเกิดการผิดพลาดถึงสองบิตในขอความเดียวกันก็ จะมี โอกาสนอยลงไปอีก และหากเกิดผิดพลาดสามบิต ก็ สามารถตรวจเช็ คได เนื่องจากจํานวนบิตที่ เปน '1' เปนจํานวนคี่ จึงนับได วารหัสนี้ ยังคงมี ประโยชน และยังได รับ การยอมรับให มี การใช อยูในที่ นี้ จะกลาวถึงรูปแบบทัว่ ไปของรหัสประเภทนี้ คือ ให จํานวนบิตของขอความเทากับ m บิต (ในตัวอยางข างตนเทากับ 3 บิต) ให จํานวนพาริ ตี้ บิตที่ เติมเขาไปเทากับ n บิต ประกอบเปนรหัสที่ มีความยาว m+n บิต ให ai เปนบิตเดิมของขอความและ ci เปนบิตของพาริ ตี้ ที่ เติมเขาไปจะไดรูปแบบของรหัสเปน a1a2 a3....am c1c2 c3...cn พบวา 2m + n รูปแบบของรหัสที่ เปนไปได แต จะใช เพี ยง 2m เทานั้น แต ละบิตของพาริ ตี้ เช็ค ที่ เติมเขาไปเพื่อใหกลุม ของบิตในขอความเดิมรวมจํานวนบิตที่ เปน '1' ได เปนจํานวนคู ตามเงื่อนไขของพาริตคี้ ู เชน c1 เติมเพื่อ, เมื่อรวมกับ a1,a3,a4 แลวได จํานวนบิต '1' เปนจํานวนคู c2 เติมเพื่อ เมื่อรวมกับ a2,a4,a5 แลวได จํานวนบิต '1' เปนจํานวนคู เปนตน จากความสัมพันธ ของบิตดังกลาวสามารถเขี ยนเปนรูปแบบทั่วไปในการเลือกพาริ ตี้ เช็ คบิตที่ จะตองให สอดคล องกับสมการ 3.22 [3.22] โดยที่ T เปนคอลั มน เวคเตอร ขนาด m+n และ H เปนเมตริ กซ ขนาด n (m+n) เขี ยนได ดังสมการ 3.23 - 89 - [3.23] เมื่อคูณเมตริกซ ออกมาสองแถวบนจะได สมการที่ เปนผลบวกของผลคูณระหวาง a กับ h และ c เมื่อบวกกันในแต ละ สมการโดยใช หลั ก modulo-2 ถาจํานวน 1' เปนจํานวนคู จะได ผลลั พธ เปน 0 เมื่อกําหนดคาของ H ก็ จะสามารถหา คา c ที่ จะเติมให กับขอความแต ละขอความได จากการหาคา c ดังกลาว ตัวอยาง กําหนดให ขอความขนาด 4 บิต พาริตี้ เช็ค 3 บิต และเมตริ กซ H ดังนี้ หารหัสสําหรับขอความที่ เปนไปได ทั้งหมด 16 รหัสได สมการสามสมการสอดคล องกับเงื่ อนไขของ H T = 0 คือ ดังนัน้ c1 จะถูกเลือกให เปนคาที่ เมื่อรวมกับบิตที่ 1 บิตที่ 2 และบิตที?