Hình 2.1 Mô hình hệ thống

Một phần của tài liệu Mã turbo và ứng dụng trong các hệ thống thông tin thế hệ tiếp theo (Trang 30 - 36)

dịch sẽ qua tất cả 2m -1 trạng thái theo chu kì. Do đó trạng thái của m cấp thanh ghi dịch có thể mô tả hàm chèn.

Lấy ví dụ với bộ chèn kích thước N = 7, 1 bộ chèn giả ngẫu nhiên có thểđược tạo ra từ thanh ghi dịch 3 cấp với đa thức sinh 1+ D + D3 . Giả sử là trạng thái bắt đầu là 010 và chuỗi bit tin vào là C = (c1 , c2 , c3 , ... , c7). Chuỗi sinh ra bởi bộ chèn :

C’ = (c2 , c5 , c6 , c7, c3, c1, c4). Trong đó đầu ra của bộ chènlà biểu diễn dạng oct của số trạng thái.

1.5.3.5.2 Bộ chèn không đồng đều ( non-uniform

Bộ chèn dùng trong mã turbo nguyên thủ là 1 bộ chèn không đồng đều. Nó dựa trên bộ chèn khối vuông bình thường, nhưng dữ liệu đọc ra theo đường chéo với hàng cố định và nhảy giữa các cột trong quá trình đọc. Cho i, j là địa chỉ của hàng và cột cho quá trình viết vào, ir , jr là địa chỉ của hàng, cột cho quá trình đọc ra. Với N= M x M, trong đó M có mũ 2, bộ chèn không đồng đều có thểđược mô tả bởi

( 1)( ) mod 2 r M i = + i+ j M k = (i+j) mod L r j = { [ P(k).(j+1)] – 1} mod M

Trong đó L là số tự nhiên nhỏ có giá trị dược lựa chọn theo kinh nghiệm như là 1 hàm của M, P(k), k=0, 1, 2, 3,....L-1 là hàm của địa chỉ hàng ir và giá trị của P(k) phải liên hệ trước với M . Chú ý là với quá trình đọc ra chỉ số cột j là hàm của chỉ

só hàng ir , 1 hệ số nhân ( 2

M +1) được sử dụng để tránh hiện tượng ở đầu vào dữ

liệu là 2 hàng liền kề có đầu ra cũng liền kề nhau. Thêm vào, đó việc đọc ra theo

đường chéo với sự chú ý khi viết để tránh mẫu chữ nhật đầu vào trọng só thấp ở bộ

chèn khối thông thường.

Một cách điển hình với bộ chèn kích thước N = 256 x 256, L được chon là 8 số P(k), k= 0,1,2,...7 được cho bởi:

P(0) = 17 , P(1) = 37 , P(2) = 19 , P(3) = 29 P(4) = 41 , P(5) = 23 , P(6) = 13 , P(7) = 7

1.5.3.5.3 Bộ chèn ngẫu nhiên S ( S-randoom

S-random là bộ chèn giả ngẫu nhiên được đưa ra bởi Divsalar và Pollara. Chúng dựa trên sự sinh ra ngẫu nhiên của N số tự nhiên từ 1 đến N với một dàng buộc S, trong đó S được định nghĩa là khoảng cách chèn tối thiểu. Bộ chèn S-random còn

được gọi là bộ chèn trải ra (spread interleaver). Một bộ chèn S-Random được định nghĩa như sau. Lựa chọn ngẫu nhiên số tự nhiên được so sánh với số tự nhiên S1 cho trước. Nếu giá trị tuyệt đối của chênh lệch giữa lựa chọn hiện tại với giá trị S1 bất kì chọn trước là nhỏ hơn S2 thì sự lựa chọn hiện tại bị loại bỏ. Dược mô tả bởi :

| i1-i2| ≥ S2 khi |π (i1)- π (i2)| ≤ S1 i1,i2 ∈ A

Trong đó S1 , S2 < N về cơ bản trọng bộ mã hóa turbo đây là 2 tham số cần chọn để

chiều dài tối đa mẫu đầu vào có phá vỡ bởi bộ chèn. Chiều dài mẫu là chiều dài của chuỗi đầu vào từ bit 1 bắt đầu đến bit 1 cuối cùng. Nhung thực tế S1 , S2 < N/ 2 và ta có thể set S1 = S2 = S .Nếu S = 1 bộ chèn S-random sẽ trở thành bộ chèn ngẫu nhiên. {C} là chuỗi đầu vào, chiều dài của mẫu C là l{C}, trọng lượng của mẫu

đầu vào là w{C}. Nếu chiều dài của mẫu vào nhỏ, nó sẽ như là xử lý từ mã trọng số

thấp. Do đó bộ chèn cần thay đổi loại đầu vào này. Với bộ chèn S-random , mẫu

đầu vào được ánh xạ thanhg C’ nếu C’ không phải là mẫu lỗi ta nói rằng mẫu đầu vào cho bộ mã hóa thành phần đã bị thay đổi. Bộ giải mã thành phần thứ hai sẽ tạo ra bit parity kiểm tra chuỗi trọng lượng cốđịnh. Mặt khác nếu l{C}≤S+1 vì S giàng

buộc, l{C’} > (w {C} -1)(S+1). C’ sẽ như là tạo ra bit kiểm tra có trọng số cao do

đó trong cả hai trường hợp trọng số của từ mã sẽ cao.

1.5.3.6 kết luận

Trên đây liệt kê một số các kiểu chèn được sử dụng trong mã TC. Với cùng một chuỗi tin ngõ vào, có thể đối với bộ chèn này sẽ cho ra các từ mã có trọng số cao nhưng với bộ chèn kiểu khác lại cho ra các từ mã có trọng số thấp hơn. Trong thực tế để có BER thấp người ta không sử dụng thuần tuý một kiểu chèn mà người ta thiết kế một bộ chèn mới bằng cách kết hợp các ưu điểm của các bộ chèn khác nhau. Các cách thiết kế này làm tăng đáng kể chất lượng của mã TC đối với từng hệ

Chương 2 Giải mã mã turbo

2.1 Giới thiệu chương

Mã turbo khai thác ý tưởng tương tự thế, kết nối hai mã và phân cách chúng bởi bộ

chèn. Sự khác nhau giữa mã turbo và mã liên kết nối tiếp đó là trong mã turbo hai hệ thống mã thành phần được liên kết song song với nhau. Bit thông tin hệ thống của bộ mã thành phần thứ hai không được truyền đi và do đó tăng tốc độ mã so với mã liên kết nối tiếp tương ứng. Lý do chính của việc sử dụng một bộ cài xen dài trong mã turbo la fđể tạo ra mã liên kết với chiều dài khối lớn điều này dẫn tới độ lợi mã lớn. Bộ giải mã turbo gồm hai bộ giải mã thành phần liên kết, được ngăn cách bởi bộ cài xen tương tự. Bộ giải mã thành phần hoạt động dựa trên thuật toán sác xuất MAP (maximum a posteriori) hoặc SOVA (soft output Viterbi algorithm ) tạo ra một ước lượng mềm về trọng lượng của chuỗi đầu vào. Quá trình giải mã lặp thực hiện việc trao đổi thông tin giữa các bộ mã thành phần. Bằng cách tăng số lần lặp trong việc giải mã sác xuất lỗi bít có thểđạt 10-5-10-7ở một tỉ lệ

tín hiệu trên tạp âm SNR gần với giớ hạn Shannon.

2.2 Mô hình hệ thống

Trong chương này chúng ta xem xet mô hình hệ thống như hình 2.1 cho việc giải mã

Hình 2.1 Mô hình hệ thống

Để quá trình phân tích được đơn giản, ta mô tả hệ thống giải mã VA (Viterbi algorithm) với bộ mã xoắn nhị phân (n,1,v) thông qua nó ta có thể dễ dàng tạo ra

Decoder n Modulator Encoder v c r x Memoryless noise

các bộ mã xoắn có tốc độk/n cũng như dễ dàng cho việc giả mã của mã khối. Chuỗi tin đầu vào được mô tả là c

C = ( c1 , c2 , c3….. , cN)

Trong đó ct là ký tự của bản tin ở thời điểm t, và N là chiều dài của bản tin,

được mã hóa bởi một bộ mã tuyến tính. Về cơ bản ký tự ct của bản tin có thể không phải là nhị phân nhưng để đơn giản chúng ta giả sử chúng là các ký tự nhị phân

được tạo ra một cách độc lập và có xác xuất tiền nghiệm (priori probability) bằng nhau. Hoạt động của bộ mã hóa được mô hình hóa là một quá trình Markov với trạng thái thời gian rời rạc. Quá trình này có thể mô tả dưới dạng đồ họa qua sơ đồ

trạng thái hoặc sơ đồ lưới (trellis diagram). Tương ứng với đầu vào ct, Quá trình Markov với trạng thái thời gian sinh ra vt và chuyển trạng thái từ St sang St+1 trong

đó t+1 là trạng thái thời gian tiếp theo của t. Quá trình có thể được mô tả bằng 2 quan hệ:

vt = f (St ,ct , t) St+1 = g(St ,ct , t) Hàm f g cơ bản thay đổi theo thời gian .

Chuỗi trạng thái thay đổi từ 0 đến t được mô tả bằng St0

0

St= (S0 ,S1,..., St)

Chuỗi trạng thái là quá trình Markov nên sác xuất P(St+1 | S0 ,S1,..., St ) của trạng thái St+1ở thời điểm t+1 chỉ phụ thuộc vào trạng thái St tại thời điểm t,

P(St+1 | S0 ,S1,..., St ) = P(St+1 | St ) Chuỗi đầu ra của bộ mã hóa từ thời điểm 1 đến t là

t 1

v = (v1 ,v2 ,…vt ) trong đó vt = (vt,0,vt,1,…vt,n-1) là khối mã có chiều dài n

Chuỗi mã t 1

v được điều chế bởi bộ điều chế BPSK, chuỗi sau điều chế được mô tả bởi: t

1

x = (x1 ,x2 ,…xt ) trong đó xt = (xt,0, xt,0,…xt,n-1) Và xt,i = 2vt,i – 1, i = 0,1,…,n-1

Có sự tương thích 1-1 giữa chuỗi mã và chuỗi sau điều chế, cặp mã hóa/ điều chế có thểđược biểu diễn bởi quá trình Markov và có thể biểu diễn bằng sơđồ trạng thái hoặc sơđồ lưới (trellis).

Chuỗi đã được điều chế t 1

x bị tác động bởi nhiễu trắng Gausian, sinh ra ở

phía nhận chuỗi :

t 1

r = (r1 ,r2 ,…rt) trong đó rt = (rt,0,rt,1,…rt,n-1) và rt,i = xt,i + nt,i ; i = 0, 1, …n-1 Trong đó nt,i là giá trị nhiễu Gaussian thay đổi ngẫu nhiên có phương sai σ2, mỗi mẫu nhiếu được giả thiết là không phụ thuộc vào mẫu nhiễu khác.

2.3 Tiêu chuẩn tối ưu hóa

Theo mô hình trên hình 2.1, chúng ta giả thiết sử dụng phương pháp điều chế

BPSK, và chuỗi x được điều chế có chứa N’ ký tự

x = (x1 ,x2 ,…xN’) khi đó v sẽ có chiều dài N’.log2 M bít nhị phân. Chuỗi bản tin

được cho bởi : C = ( c1 , c2 , c3….. , cN) với N= RN’ log2 M và R là tốc độ mã. Phía nhận ước lượng chuỗi bản tin không biết C được mô tả :

Ĉ = (ĉ1 , ĉ2 ,… ĉN )

Theo đáp ứng một một giữa c, v, x ước lượng của chuỗi mã có thể đạt

được bằng các đơn giản là ánh xạ từĉ.

Một thiết bị nhận tối ưu được thiết kếđể tối thiểu hoá một trong các sác xuất lỗi sau:

+ Tỉ lệ lỗi từ mã (WER, word error rate) được định nghĩa là sác xuất mà v$ ≠

v trong đó v$ và v tương ứng là chuỗi ước lượng và chuỗi truyền

+ Tỉ lệ lỗi ký tự (SER, symbol error rate) là sác xuất mà xt ≠ xt,

với t = 1, 2 ,..N’ trong đó xt và xttương ứng là ký tự ước lượng và ký tựđã được

điều chếở thời điểm t.

+ Tỉ lệ lỗi bit (BER) được định nghĩa là sác xuất ct ≠ ĉt trong đó ct và ĉt

Với ước lượng cứng đầu ra, nếu có một từ lỗi thì phải có ít nhất 1 ký tự lỗi, nếu có một ký tự lỗi thì phải có ít nhất một bit lỗi.

2.4 Giải thuật Viterbi

Giải thuật Viterbi được đưa ra để giải mã cho mã xoắn, nó cũng được áp dụng như là một giải pháp thay đổi ước lượng các vấn đề của truyền thông, cũng như hệ thống có giản đồ trạng thái và được biểu diễ bởi sơđồ lưới (trellis diagram). Chúng ta xem xét hệ thống trên hình 2.1 cặp mã hóa / giải mã biểu diễn quá trình Markov trạng thái thời gian rời rạc với sơđồ lưới gồm Ms Trạng thái.

Trước tiên chúng ta giả sử là quá trình thay đổi từ trạng thái 0 tại thời điểm t=0 sang trạng thái 0 ở thời điểm τ, trong đó τ là thời điểm kết thúc. Chuỗi trạng thái có thểđược biểu diễn: S= (0, S0,…., sτ−1, 0). Giải thuât VA tìm chuỗi thông tin

ĉ = τ

1

c tương ứng với chuỗi đã được điều chế x = τ

1 x trên sơđồ lưới để sác xuất lỗi từPw là tối thiểu. Sác xuất lỗi từ mã có thểđược biểu diễn: w 1 r(c|r) (r) rr r

Một phần của tài liệu Mã turbo và ứng dụng trong các hệ thống thông tin thế hệ tiếp theo (Trang 30 - 36)

Tải bản đầy đủ (PDF)

(94 trang)