การเข้ารหัส CRC

การเข้ารหัส CRC จะทำการคำนวณบิต CRC ความยาว \(L\) บิตก่อน จากนั้นจะนำบิต CRC ที่คำนวณได้ต่อท้ายกับเวกเตอร์ \(\mathbf{a}\) ความยาว \(A\) จากอินพุต (หรือ \(\mathbf{a}’\) ความยาว \(A’\) ในกรณีที่ \({{I}_{{seg}}}=1\)) ดังรูปที่ 2 โดยจะได้เวกเตอร์ \(\mathbf{c}\) ที่มีความยาว \(K=A+L\) (หรือ \(\displaystyle \mathbf{c}’\) ความยาว \(K=A’+L\) ในกรณีที่ \({{I}_{{seg}}}=1\)) การเข้ารหัส CRC จะกระทำอยู่ในรูปแบบ systematic อยู่ใน \(GF(2)\)

กรณีช่องสัญญาณ UCI: ใช้พหุนาม \({{g}_{6}}\) ในการคำนวณบิต CRC ความยาว \(L=6\) ในกรณีที่เวกเตอร์ \(\mathbf{a}\) มีความยาว \(12\le A\le 19\) หากเป็นกรณีที่ \(A\ge 20\) จะใช้พหุนาม \({{g}_{{11}}}\) ในการคำนวณบิต CRC ความยาว \(L=11\) สุดท้ายจะได้ผลลัพธ์เป็นเวกเตอร์ \(\mathbf{c}\)

กรณีช่องสัญญาณ BCH: พหุนามที่ใช้คำนวณบิต CRC คือ \({{g}_{{24C}}}\) ซึ่งจะได้บิต CRC ความยาว \(L=24\) เวกเตอร์ \(\mathbf{a}\) ความยาว \(A={{A}_{{\min }}}={{A}_{{\max }}}=32\) (ถูกกำหนดตายตัวตามมาตรฐาน) จะถูกสแครมบลิงด้วยเวกเตอร์ขนาดเท่ากันก่อนหน้ากระบวนการเข้ารหัสช่องสัญญาณ โดยการสแครมบลิงคือการนำบิตของสองเวกเตอร์มาทำกระบวนการเอ็กซ์คลูซีฟออร์ จากนั้นจะเข้ารหัส CRC ตามปกติ จะได้ผลลัพธ์เป็นเวกเตอร์ \(\mathbf{c}\) ความยาว  \(K=56\) บิต

กรณีช่องสัญญาณ DCI: พหุนามที่ใช้คำนวณ CRC คือ \({{g}_{{24C}}}\) ซึ่งจะได้บิต CRC ความยาว \(L=24\) การเข้ารหัส CRC จะแตกต่างจากการเข้ารหัส CRC ทั่วไป โดยตัวตั้งในการคำนวณ CRC จะนำเวกเตอร์ 1 ขนาดเท่ากับความยาวบิต CRC ไว้ด้านหน้าและตามด้วยเวกเตอร์ \(\mathbf{a}\) ความยาว \(A\) (ซึ่งต่างจากวิธีทั่วไปที่จะนำเวกเตอร์ \(\mathbf{a}\) ไว้ด้านหน้าและตามหลังด้วยเวกเตอร์ 0 ขนาดเท่ากับความยาวบิต CRC ไว้ด้านหลัง) เมื่อคำนวณบิต CRC จะนำบิต CRC ต่อด้านหลังเวกเตอร์ \(\mathbf{a}\) ตามปกติ เวกเตอร์ \(\mathbf{a}\) สามารถมีความยาวได้ \({{A}_{{\min }}}=1\) ถึง \({{A}_{{\max }}}=140\) จะได้ผลลัพธ์เป็นเวกเตอร์ \(\mathbf{c}\)