วันอังคารที่ 30 สิงหาคม พ.ศ. 2559

CDMA Simple Example

การเข้ารหัสแบบ CDMA เป็นการนำข้อมูลไปรวมกับ ชุดรหัส ใน WLAN จะเรียกว่า Barker code ถ้าในระบบ Cellular จะเรียกว่า Chipping code หรือ Pseudo Noise code (PN code) ซึ่งเป็นการทำให้ข้อมูลมีความซ้ำซ้อน (redundant) ทำให้ทนต่อสัญญาณรบกวนได้มากขึ้น สามารถใช้ช่วงความถี่ได้เต็มประสิทธิภาพ โดยที่ไม่ต้องแบ่งความถี่เหมือน FDMA และ ไม่ต้องแบ่งเวลาเหมือน TDMA แต่ใช้ Code ในการแบ่งแทน

เช่น
ระบบนี้ มีผู้ใช้ 3 คน กำหนด บิต 0 แทนด้วยข้อมูล +1 โวลท์ และ บิต 1 แทนด้วยข้อมูล -1 โวลท์ ให้นำข้อมูลมา XOR (เหมือนกันได้ 0 ต่างกันได้ 1) กับ PN Code เพื่อเข้ารหัสข้อมูลก่อนจะส่งไป ซึ่งเป็นหลักการของ Spread Spectrum โดยเทคนิค DSSS ที่ได้กล่าวมาแล้ว

ข้อมูลผู้ใช้ 1 เมื่อรวมกับ PN Code ได้ผลลัพท์เป็น XOR D1

ข้อมูลผู้ใช้ 2 เมื่อรวมกับ PN Code ได้ผลลัพท์เป็น XOR D2

ข้อมูลผู้ใช้ 3 เมื่อรวมกับ PN Code ได้ผลลัพท์เป็น XOR D3



ข้อมูลที่ได้จากการ XOR ของทุกคน จะถูกเอามารวมกันได้เป็น Composite waveform เดียว ที่ฝั่งข้อมูลของผู้ใช้ 3 คนแล้ว ซึ่ง Composite waveform นี้เอง คือสัญญาณที่ส่งไปยังผู้รับ หากต้องการถอดรหัสข้อมูลของผู้ใช้แต่ละคน สามารถใช้ PN Code ของผู้ใช้คนนั้น ในการถอดรหัสต้นฉบับออกมาได้ ดังนี้


นำ Composite waveform มาคูณกับ Code ในแต่ละบิต และหาผลรวมของแต่ละบิตข้อมูล จากนั้นให้หารด้วยจำนวนบิต ก็จะได้ค่าโวลท์ที่เป็นข้อมูลเริ่มต้น สามารถแปลงโวลท์ ที่ได้เพื่อหาบิตข้อมูลได้


ทำกระบวนการเดียวกัน สำหรับผู้ใช้คนที่ 2 และ 3



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



แต่ถ้ากำหนดบิต 0 เป็น -1 โวลท์ และ บิต 1 เป็น 1 โวลท์ เมื่อนำมาคูณกัน ผลคูณจะเทียบเท่ากับ XNOR เพื่อให้สอดคลองกับการทำงานของ DSSS ที่ใช้ PN Code ไป XOR กับข้อมูล ในการทดลองอันนี้ จึงกำหนดค่าของบิต 0 เป็น 1 โวลท์ และ บิต 1 เป็น -1 โวลท์แทน


ถ้าหารเรานำ PN Code ทั้งหมด มาคูณกันแล้วบวกกันทั้งหมดจะเห็นได้ว่าผลรวมสุดท้ายจะมีค่าเป็น 0 เนื่องจากว่า PN Code ของทุกผู้ใช้ที่รวมกันจะต้องหักล้างกันหมด หรือที่เรียกว่า ออโทกอแนล (Orthogonal) กัน ถ้าไม่หักล้างกันพอดี ก็จะไม่สามารถใช้ PN Code ในการเรียกข้อมูลที่ผสมเข้าไปของแต่ละคนออกมาได้ 

ทดลองกำหนดข้อมูลของผู้ใช้แต่ละคนอยู่ในรูปของตัวแปร d1, d2 และ d3 จะเห็นได้ว่าข้อมูลเมื่อนำมาคูณกันและบวกทั้งหมด หลังจะสามารถถอดค่าของข้อมูลดังเดิมตามตัวอย่างนี้



ไม่มีความคิดเห็น: