Bài giảng Chương 5: Mã hóa kênh (tiếp)

Mã hóa kênh ( Channel coding )  Mã hóa khối (Block codes) + Mã lập (Repetition Code) + Hamming codes + Cyclic codes * Reed-Solomon codes  Mã hóa chập (Convolutional codes) + Encode + Decode  ðiều chếmã lưới (Trellis Coded Modulation)

pdf7 trang | Chia sẻ: nyanko | Lượt xem: 1521 | Lượt tải: 0download
Bạn đang xem nội dung tài liệu Bài giảng Chương 5: Mã hóa kênh (tiếp), để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
3/22/2010 1 CHƯƠNG 5: Mà HÓA KÊNH ðặng Lê Khoa Email: dlkhoa@fetel.hcmuns.edu.vn Facuty of Electronics & Telecommunications, HCMUS 1 Nội dung trình bày:  Mã hóa kênh ( Channel coding )  Mã hóa khối (Block codes) + Mã lập (Repetition Code) + Hamming codes + Cyclic codes * Reed-Solomon codes  Mã hóa chập (Convolutional codes) + Encode + Decode  ðiều chế mã lưới (Trellis Coded Modulation) 2 Sơ ñồ khối DCS Format Source encode Format Source decode Channel encode Pulse modulate Bandpass modulate Channel decode Demod. SampleDetect C ha n nel Digital modulation Digital demodulation 3 Channel coding là gì? • Tín hiệu truyền qua kênh truyền sẽ bị ảnh hưởng bởi nhiễu, can nhiễu, fading là tín hiệu ñầu thu bị sai. • Mã hóa kênh: dùng ñể bảo vệ dữ liệu không bị sai bằng cách thêm vào các bit dư thừa (redundancy). • Ý tưởng mã hóa kênh là gởi một chuỗi bit có khả năng sửa lỗi • Mã hóa kênh không làm giảm lỗi bit truyền mà chỉ làm giảm lỗi bit dữ liệu (bảng tin) • Có hai loại mã hóa kênh cơ bản là: Block codes và Convolutional codes 4 Các loại mã hóa sửa sai  Mã lập (Repetition Code)  Mã khối tuyến tính (Linear Block Code), e.g. Hamming  Mã vòng (Cyclic Code), e.g. CRC  BCH và RS Code  Mã chập (Convolutional Code)  Truyền thống, giải mã Viterbi  Mã Turbo  Mã LDPC  Coded Modulation  TCM  BICM 5 Mã lập Recovered state 6 3/22/2010 2 Kiểm tra chẵn lẻ (Parity Check)  Thêm 1 bit ñể xor các bit có kết quả là 0  Dữ liệu truyền, sửa lỗi, không thể sửa lỗi  Kiểm tra hàng và cột  Ứng dụng: ASCII, truyền dữ liệu qua cổng nối tiếp 7 Mã khối tuyến tính (Linear block codes)  Chuỗi bit thông tin ñược chia thành từng khối k bit.  Mỗi khối ñược encode thành từng khối lớn hơn có n bit.  Các bit ñược mã hóa và gửi trên kênh truyền.  Quá trình giải mã ñược thực hiện ở phía thu. Data block Channel encoder Codeword k bits n bits rate Code bits Redundant n kR n-k c = 8 Linear block codes – cont’d  Khoảng cách Hamming giữa hai vector U và V, là số các phần tử khác nhau.  Khoảng các tối thiểu của mã hóa khối là  Ví dụ: Tính khoảng cách Hamming của C1: 101101 và C2 :001100 Giải: Vì =>d12=W(1000001)=2  => Ta có thể giải mã ñể sửa sai bằng cách chọn codewords có dmin )()( VUVU, ⊕= wd )(min),(minmin iijiji wdd UUU == ≠ 100001001100101101 =⊕ 9 Linear block codes – cont’d  Khả năng phát hiện lỗi ñược cho bởi:  Khả năng sửa lỗi t của mã hóa ñược ñịnh nghĩa là số lỗi tối ña có thể sửa ñược trên 1 từ mã (codeword)     − = 2 1mindt 1min −= de 10 Linear block codes – cont’d  Encoding trong bộ mã hóa khối (n,k)  Các hàng của G thì ñộc lập tuyến tính. mGU = kn k kn mmmuuu mmmuuu VVV V V V ⋅++⋅+⋅=             ⋅= 2221121 2 1 2121 ),,,( ),,,(),,,( ⋮ 11 Linear block codes – cont’d  Example: Block code (6,3)           =           = 1 0 0 0 1 0 0 0 1 1 1 0 0 1 1 1 0 1 3 2 1 V V V G 1 1 1 1 1 0 0 0 0 1 0 1 1 1 1 1 1 0 1 1 0 0 0 1 1 0 1 1 1 1 1 0 0 0 1 1 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 1 0 1 0 0 1 1 0 0 1 0 0 0 0 1 0 0 0 1 0 Message vector Codeword 12 3/22/2010 3 Linear block codes – cont’d  Mã hóa khối (n,k)  k phần tử ñầu tiên (hoặc cuối cùng) trong từ mã là các bit thông tin. matrix )( matrixidentity ][ knk kk k k k −×= ×= = P I IPG ),...,,,,...,,(),...,,( bits message 21 bitsparity 2121  kknn mmmpppuuu − ==U 13 Linear block codes – cont’d  ðối với bất kỳ mã hóa khối tuyến tính, chúng ta có một ma trận . Các hàng của ma trận này trực giao với ma trận :  H ñược gọi là ma trận kiểm tra parity và các hàng của chúng ñộc lập tuyến tính.  ðối với mã hóa khối truyến tính: nkn ×− )(H G 0GH =T ][ Tkn PIH −= 14 Linear block codes – cont’d  Kiểm tra ñặc trưng:  S là ñặc trưng của r, tưng ứng với error pattern e. Format Channel encoding Modulation Channel decodingFormat Demodulation Detection Data source Data sink U r m mˆ channel or vectorpattern error ),....,,( or vector codeword received ),....,,( 21 21 n n eee rrr = = e r eUr += TT eHrHS == 15 Linear block codes – cont’d  Mảng tiêu chuẩn  Hàng ñược tạo thành bằng cách cộng U với pattern kknknkn k k 22222 22222 221 UeUee UeUee UUU ⊕⊕ ⊕⊕ −−− ⋯ ⋮⋱⋯⋮ ⋯ ⋯ zero codeword coset coset leaders kni −= 2,...,3,2 ie 16 Linear block codes – cont’d  Mảng tiêu chuẩn và ñặc trưng bảng giải mã 1. Tính 2. Tìm coset chính , tưng ứng với . 3. Tính và tưng ứng với .  Chú ý: • Nếu , error ñược sửa. • Nếu , bộ giải mã không thể phát hiện lỗi. TrHS = iee =ˆ S erU ˆˆ += mˆ )ˆˆ(ˆˆ e(eUee)UerU ++=++=+= ee =ˆ ee ≠ˆ 17 Linear block codes – cont’d  Ví dụ: Mảng chuẩn cho mã (6,3) 010110100101010001 010100100000 100100010000 111100001000 000110110111011010101101101010011100110011000100 000101110001011111101011101100011000110111000010 000110110010011100101000101111011011110101000001 000111110011011101101001101110011010110100000000 ⋯⋯ ⋮ ⋮⋮⋮ Coset leaders coset codewords 18 3/22/2010 4 Linear block codes – cont’d 111010001 100100000 010010000 001001000 110000100 011000010 101000001 000000000 (101110)(100000)(001110)ˆˆ estimated is vector corrected The (100000)ˆ is syndrome this toingcorrespondpattern Error (100)(001110) :computed is of syndrome The received. is (001110) ted. transmit(101110) =+=+= = === = = erU e HrHS r r U TT Error pattern Syndrome 19  Hamming codes  Là trường hợp riêng của linear block codes  Diễn tả theo hàm của một số nguyên . Hamming codes 2≥m t mn-k mk n m m 1 :capability correctionError :bitsparity ofNumber 12 :bitsn informatio ofNumber 12 :length Code = = −−= −= 20 Hamming codes  Example: Systematic Hamming code (7,4) ][ 1011100 1101010 1110001 33 TPIH ×=           = ][ 1000111 0100011 0010101 0001110 44×=             = IPG 21 Mã hóa Hamming  Mã hóa: H(7,4) Nhiều phép kiểm tra tổng Message=[a b c d] r= (a+b+d) mod 2 s= (a+b+c) mod 2 t= (b+c+d) mod 2 Code=[r s a t b c d]  Tốc ñộ mã: 4/7  Càng nhỏ, nhiều redundance bit, ñược bảo vệ tốt hơn.  Khác biệt giữa phát hiện và sửa lỗi Message=[1 0 1 0] r=(1+0+0) mod 2 =1 s=(1+0+1) mod 2=0 t=(0+1+0) mod 2 =1 Code=[ 1 0 1 1 0 1 0 ] 22 Hamming codes  Example: Systematic Hamming code (7,4) ][ 1011100 1101010 1110001 33 TPIH ×=           = ][ 1000111 0100011 0010101 0001110 44×=             = IPG 23 Ví dụ mã hóa Hamming H(7,4)  Ma trận sinh G: ñầu tiên là ma trận ñơn vị 4x4  Dữ liệu truyền là vector p  Vector truyền x (G=[I/P])  Vector nhận r và vector lỗi e 24 3/22/2010 5 Sửa lỗi  Nếu không có lỗi, vector ñặc trưng (syndrome) z=zeros  Nếu có 1 lỗi ở vị trí thứ 2  Vector ñặc trưng z là tương với cột thứ 2 của H. Vậy, lỗi ñuợc phát hiện ở vị trí thứ 2 và có thể sửa lại cho ñúng. 25 ðộ lợi mã hóa (Coding Gain)  Tốc ñộ mã R=k/n, k: số symbol dữ liệu, n tổng symbol  SNR từ và SNR của bit  Với một sơ ñồ mã hóa, ñộ lợi mã hóa tại một sắc xuất lỗi bit ñược ñịnh nghĩa là sự khác biệt giữa năng lượng cần thiết cho 1 bit thông tin ñã mã hóa ñể ñạt ñược sắc xuất lỗi cho trước và truyền dẫn không mã hóa 26 Ví dụ ñộ lợi mã hóa 27 Example of the block codes 8PSK QPSK [dB] / 0NEb BP 28 Cyclic code  Cyclic codes ñược quan tâm và quan trọng vì  Dựa trên cấu trúc ñại số và có thể ứng dụng rộng rãi.  Dễ dàng thực hiện bằng thanh ghi dịch (shift register)  ðược ứng dụng rộng rãi trong thực nghiệm  Trong thực nghiệm, cyclic codes ñược sử dụng ñể phát hiện lỗi (Cyclic redundancy check, CRC)  ðược sử dụng trong mạng chuyển mạch gói  Khi có 1 lỗi ñược phát hiện ở bộ nhận, chúng sẽ ñược yêu cầu truyền lại.  ARQ (Automatic Repeat-reQuest) 29 Cyclic block codes  Một mã tuyến tính (n,k) ñược gọi là Cyclic code nếu khi dịch vòng 1codeword thì ñó cũng là codeword.  Ví dụ: ),...,,,,,...,,( ),...,,,( 121011 )( 1210 −−−+−− − = = inninin i n uuuuuuu uuuu U U “i” cyclic shifts of U UUUUU U ===== = )1101( )1011( )0111( )1110( )1101( )4()3()2()1( 30 3/22/2010 6 Cyclic block codes  Cấu trúc ñại số của Cyclic codes, suy ra codewords ñược sinh ra từ  Mối quan hệ giữa codeword và thanh ghi dịch:  Vậy: )1( degree ...)( 112210 n-XuXuXuuX nn −−++++=U )1()( ... ...,)( 1 )1( )1( 11 )( 1 2 2 101 1 1 2 2 10 1 )1( ++= ++++++= +++= − + −− − −− − − − − n n Xu n n n X n nn n n n n XuX uXuXuXuXuu XuXuXuXuXX n n U U U    )1( modulo )()()( += nii XXXX UUBy extension )1( modulo )()()1( += nXXXX UU 31 Cyclic block codes  Thuật toán mã hóa Cyclic code (n,k): 1. Nhân thông tin với chuỗi bằng 2. Chia kết quả bước 1 với ña thức sinh . Lấy là phần dư 3. Thêm vào ñể tạo thành codeword )(Xm knX − )(Xg )(Xp )(Xp )(XX kn m− )(XU 32 Cyclic block codes  Example: For the systematic (7,4) Cyclic code with generator polynomial 1. Find the codeword for the message )1 1 0 1 0 0 1( 1)()()( :polynomial codeword theForm 1)1()1( :(by )( Divide )1()()( 1)()1011( 3 ,4 ,7 bits messagebitsparity 6533 )(remainder generator 3 quotient 32653 6533233 32     = +++=+= ++++++=++ ++=++== ++=⇒= =−== − − U mpU gm mm mm pgq XXXXXXX XXXXXXXX X)XX XXXXXXXXXX XXX knkn X(X)(X) kn kn )1011(=m 31)( XXX ++=g 33 Cyclic block codes  Find the generator and parity check matrices, G and H, respectively.             = =⇒⋅+⋅+⋅+= 1011000 0101100 0010110 0001011 )1101(),,,(1011)( 321032 G g ggggXXXX Not in systematic form. We do the following: row(4)row(4)row(2)row(1) row(3)row(3)row(1) →++ →+             = 1000101 0100111 0010110 0001011 G           = 1110100 0111010 1101001 H 44×I 33×I TPP 34 Cyclic block codes  Giải mã Cyclic code:  Từ mã ở bộ thu ñược cho bởi  ðặc trưng ở phần dư có ñược bằng cách chia chuỗi nhận cho ña thức sinh:  Với ñặc trưng và mảng tiêu chuẩn, lỗi sẽ ñược ước lượng. )()()( XXX eUr +=Received codewor d Error pattern )()()()( XXXX Sgqr += Syndrome 35 Ví dụ CRC 36 3/22/2010 7 Checking for errors 37 Khả năng của CRC  Một lỗi E(X) không thể phát hiện khi chúng chia hết cho G(x). Ngược lại, thì có thể phát hiện lỗi.  Có khả năng mạnh mẽ trong phát hiện lỗi 38 BCH Code  Bose, Ray-Chaudhuri, Hocquenghem  Có khả năng sửa ñược nhiều lỗi  Dễ dàng thực hiện mã hóa và giải mã  Các chuẩn trong công nghiệp - (511, 493) mã hóa BCH trong ITU-T. Chuẩn H.261- một chuẩn mã hóa video ñược sử dụng cho video conferencing và video phone.  (40, 32) mã hóa BCH trong ATM (Asynchronous Transfer Mode) 39 BCH Performance 40 Reed-Solomon Codes  Một trường hợp riêng của non-binary BCH  ðược ứng dụng rộng rãi  Storage devices (tape, CD, DVD)  Wireless or mobile communication  Satellite communication  Digital television/Digital Video Broadcast(DVB)  High-speed modems (ADSL, xDSL) 41
Tài liệu liên quan