Nghiên cứu mã Turbo trong hệ thống CDMA

MỞ ĐẦU Cùng với sự phát triển của Khoa Học và Công Nghệ phục vụ cho cuộc sống của con người công nghệ viễn thông trong những năm qua đã có những bước phát triển mạnh mẽ cung cấp ngày càng nhiều tiện ích . Thế kỷ 21 chứng kiến sự bùng nổ thông tin ,trong đó thông tin di động đóng một vai trò rất quan trọng.Nhu cầu trao đổi thông tin ngày càng tăng cả về số lượng ,chất lượng và các loại hình dịch vụ kèm theo điều này đòi hỏi phải tìm ra phương thức trao đổi thông tin mới .Và công nghệ CDMA là mục tiêu hướng tới của lĩnh vực thông tin di động trên toàn thế giới . Công nghệ CDMA bao gồm nhiều ưu điểm nhưng vấn đề đặt ra là trao đổi thông tin bằng cách nào cho hiệu quả nhất .Làm sao cho thông tin không bị mất mát trên đường truyền để đảm bảo chức năng trao đổi thông tin và mã hoá là một phần quan trọng của công nghệ CDMA.Chính vì thế mã TURBO được sử dụng trong CDMA do những tính năng và cấu trúc ưu việt hơn những mã khác.Nhằm khai thác tối đa những ưu điểm của công nghệ này ta cần tìm hiểu kỹ vấn đề mã Turbo và đây là lí do em chọn đề tài:”Nghiên cứu mã Turbo trong hệ thống CDMA”. Nội dung đồ án gồm 5 chương : · Chương 1:Tổng quan về công nghệ CDMA:Giới thiệu những đặc tính của CDMA. · Chương 2: Khái niệm về mã Turbo: Nói về sự kết nối các bộ mã tích chập hệ thống đệ quy để tạo nên mã Turbo. · Chương3: Mã turbo kết nối song song hay còn gọi là mã Turbo (Turbo Code):Tìm hiểu về bộ mã hoá và bộ giải mã ,biện pháp cải tiến chất lượng, các bộ chèn và kỹ thuật xoá. · Chương 4: Ứng dụng của mã Turbo:Ứng dụng trong truyền thông không dây và truyền thông đa phương tiện. · Chương 5: Chương trình mô phỏng và kết quả: Chọn thuật toán giải mã Log-Map và SOVA,chọn kích thước khung,sử dụng kỹ thuật xoá hay không,chọn giá trị Eb/Eo và chọn giới hạn lỗi để kết thúc chương trình. Trong quá trình làm đồ án tốt nghiệp ,mặc dù đã cố gắng nhiều nhưng vẫn không tránh những sai sót,em mong được sự phê bình ,chỉ bảo và giúp đỡ của thầy cô và bạn bè. Em xin chân thành cảm ơn sự giúp đỡ tận tình của thầy Nguyễn Duy Nhật Viễn và các thầy cô giáo trong khoa Điện Tử-Viễn Thông đã giúp em hoàn thành đồ án này. MỤC LỤC CHƯƠNG 1: TỔNG QUAN VỀ CDMA1 1.1GIỚI THIỆU CHƯƠNG1 1.2TỔNG QUAN1 1.3THỦ TỤC THU/PHÁT TÍN HIỆU2 1.4CÁC ĐẶC TÍNH CỦA CDMA2 1.4.1Tính đa dạng của phân tập. 2 1.4.2Điều khiển công suất CDMA3 1.4.3Công suất phát thấp. 5 1.4.4Bộ mã-giải mã thoại và tốc độ số liệu biến đổi5 1.4.5Bảo mật cuộc gọi6 1.4.6Chuyển giao mềm(Soft Handoff). 7 1.4.7Dung lượng. 7 1.4.8Tách tín hiệu thoại8 1.4.9Tái sử dụng tần số và vùng phủ sóng. 8 1.4.10Giá trị Eb/E0 thấp và chống lỗi8 1.4.11Dung lượng mềm9 1.5KẾT LUẬN CHƯƠNG9 CHƯƠNG 2: KHÁI NIỆM MÃ TURBO10 2.1GIỚI THIỆU CHƯƠNG10 2.2SỰ KẾT NỐI MÃ VÀ RA ĐỜI CỦA MÃ TURBO(TURBO CODE). 10 2.3BỘ MÃ HOÁ TÍCH CHẬP HỆ THỐNG ĐỆ QUY (RSC). 11 2.3.1Mã chập tuyến tính. 12 2.3.2Mã tích chập hệ thống đệ quy. 13 2.3.3Các bộ mã hoá tích chập đệ quy và không đệ quy. 14 2.3.4Kết thúc Trellis. 15 2.4KẾT LUẬN CHƯƠNG16 CHƯƠNG 3: MÃ TURBO KẾT NỐI SONG SONG17 3.1GIỚI THIỆU CHƯƠNG17 3.2BỘ MÃ HOÁ17 3.3KỸ THUẬT XOÁ (PUNCTURE). 19 3.4BỘ CHÈN (INTERLEAVER). 20 3.4.1Bộ chèn ma trận. 21 3.4.2Bộ chèn giả ngẫu nhiên. 21 3.4.3Bộ chèn dịch vòng. 22 3.4.4Bộ chèn chẵn-lẻ(Odd-Even). 22 3.4.5Bộ chèn Smile. 23 3.4.6Bộ chèn khung. 24 3.4.7Bộ chèn tối ưu. 25 3.4.8Bộ chèn đồng dạng. 25 3.4.9Bộ chèn S. 25 3.5BỘ GIẢI MÃ26 3.5.1Khái niệm về các thuật toán giải mã. 26 3.5.2Tổng quan về các thuật toán giải mã. 27 3.5.3Thuật toán Log-MAP. 29 3.5.4Thuật toán SOVA30 3.5.4.1Độ tin cậy của bộ giải mã SOVA tổng quát30 3.5.4.2Bộ giải mã thành phần SOVA33 3.5.4.3Sơ đồ khối của bộ giải mã SOVA34 3.6CẢI TIẾN CHẤT LƯỢNG PCCC QUA THIẾT KẾ BỘ CHÈN37 3.6.1Thiết kế bộ chèn mới39 3.6.2Các phương pháp tối ưu hoá cấu trúc bộ chèn. 42 3.7SỰ KHÁC NHAU GIỮA MÃ CHẬP VÀ MÃ PCCC42 3.8SO SÁNH CHẤT LƯỢNG CÁC HỆ THỐNG MÃ HOÁ42 3.9KẾT LUẬN CHƯƠNG43 CHƯƠNG 4:ỨNG DỤNG CỦA MÃ TURBO44 4.1GIỚI THIỆU CHƯƠNG44 4.2CÁC ỨNG DỤNG TRUYỀN THÔNG ĐA PHƯƠNG TIỆN(MMC). 44 4.2.1Hạn chế khi ứng dụng TC vào MCC44 4.2.1.1Băng thông giới hạn. 44 4.2.1.2Khối lượng dữ liệu lớn. 44 4.2.1.3Tính thời gian thực. 44 4.2.1.4Các đặc tính của kênh truyền. 44 4.2.2Các đề xuất khi ứng dụng TC vào MCC45 4.2.2.1Kích thước khung lớn. 45 4.2.2.2Cải tiến quá trình giải mã. 45 4.3CÁC ỨNG DỤNG TRUYỀN THÔNG KHÔNG DÂY46 4.3.1Các hạn chế khi ứng dụng TC trong truyền thông không dây. 46 4.3.1.1Kênh truyền. 46 4.3.1.2Hạn chế về thời gian. 47 4.3.1.3Kích thước khung nhỏ. 47 4.3.1.4Băng thông giới hạn. 47 4.3.2Cải tiếnviệc thực hiện giải mã PCCC bằng cách tăng hệ số Scalling và khoảng cách tự do theo chuẩn CDMA2000. 47 4.3.2.1Bộ mã hoá PCCC theo chuẩn CDMA2000. 47 4.3.2.2Phân bố trọng số 2,3 ở mã PCCC trong CDMA2000. 50 4.3.2.3Hệ số Scalling. 52 4.4KẾT LUẬN CHƯƠNG53 CHƯƠNG 5CHƯƠNG TRÌNH MÔ PHỎNG VÀ KẾT QUẢ54 5.1GIỚI THIỆU CHƯƠNG54 5.2CHƯƠNG TRÌNH MÔ PHỎNG54 5.2.1Cấu trúc chương trình. 54 5.2.2Chương trình chính. 54 5.3KẾT QUẢ MÔ PHỎNG56 5.4KẾT LUẬN CHƯƠNG62

doc68 trang | Chia sẻ: lvcdongnoi | Lượt xem: 3752 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Nghiên cứu mã Turbo trong hệ thống CDMA, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
1 … … 1 0 0 0 … … 1 0 … … 1 1 … … 0 0 0 0 … … 1 1 Viết vào Hình 3.5: Bộ chèn ma trận Với bộ chèn như trên , nếu ta cho chuỗi vào là ( x1 x2. . . . . .x15), như bảng 3.1 x1 x6 x11 x2 x7 x12 x3 x8 x13 x4 x9 x14 x5 x10 x15 Bảng 3.1 Bảng ma trận vào Thì chuỗi ra là: x1 x6 x11 x2 x7 x12 . . . … … x5 x10 x15 Bộ chèn giả ngẫu nhiên 0 1 1 0 1 0 0 1 1 3 6 8 2 7 4 5 0 1 0 1 1 0 0 1 Viết vào Hoán vị ngẫu nhiên cố định Đọc ra Hình 3.6: Bộ chèn giả ngẫu nhiên với độ dài chuỗi ngõ vào L= 8 Bộ chèn giả ngẫu nhiên sử dụng tính ngẫu nhiên cố định và sắp xếp chuỗi ngõ vào theo thứ tự hoán vị.Như hình trên bộ chèn viết vào [ 01101001] và đọc ra [ 01011001] Bộ chèn dịch vòng 0 1 1 0 1 0 0 1 0 3 6 1 4 7 2 5 0 0 0 1 1 1 1 0 Viết vào Hoán vị dịch vòng Đọc ra 0 1 2 3 4 5 6 7 Chỉ số Hình 3.7: Bộ chèn dich vòng với L=8, a=3, s=0 Phép hoán vị của bộ chèn dịch vòng là: p(i)= ( a*i+ s)mod L Với a<L, s<L, L, a:là kích cỡ của bước ;s: là phần bù; L : là độ dài chuỗi ngõ vào Bộ chèn chẵn-lẻ(Odd-Even) Bộ chèn chẵn lẻ là đặc trưng cho mã PCCC r = 1/2 .Một mã PCCC r = 1/2 đựơc lấy bằng cách kết hợp 2 chuỗi ngõ ra được mã hoá của mã PCCC r = 1/3 thành một chuỗi ngõ ra của mã PCCC r = 1/2. Nhưng khi kết hợp hai chuỗi ngõ ra được mã hoá này có thể một bit tin sẽ không có các bit mã hoá của nó cũng có thể một bit tin có một hay cả hai bit được mã hoá của nó .Vì vậy, nếu một lỗi xãy ra cho bit tin không được bảo vệ (là bit tin không có bất kỳ một bit nào được mã hoá ) thì chất lượng của bộ giải mã TC có thể bị giảm hay BER của nó có thể tăng . Để khắc phục vấn đề trên thì ta có bộ chèn chẵn lẻ ,bộ chèn chẵn lẻ cho phép mỗi bit tin có một trong các bit được mã hoá của nó một cách chính xác. Do vậy khả năng sửa sai của mã được phân bố đồng nhất trên tất cả các bit tin . Ví dụ :cho chuỗi tin x= c1 của L= 9 sau khi qua bộ mã hoá RSC1 thì cho ra chuỗi mã hoá c2 .Từ c2 chỉ có các bit mã hoá ở vị trí lẻ được lưu trữ trong bảng3.2 x1 x2 x3 x4 x5 x6 x7 x8 x9 c21 - c23 - c25 - c27 - c29 Bảng 3.2 Bảng các bit chẵn mã hoá của chuỗi c2 Một bộ chèn khối 3x3 được dùng để hoán vị chuỗi tin tức x cho bộ mã hoá RSC2 như sau: x1 x4 x7 x2 x5 x8 x3 x6 x9 Bảng 3.3 Bộ chèn khối Chuỗi tin tức x được viết theo cột đọc ra theo hàng .Chuỗi tin được hoán vị cho ra chuỗi mã hoá c3 .Từ chuỗi c3 chỉ có các bit mã hoá vị trí chẵn được lưu trữ như trong bảng 3.4 x1 x4 x7 x2 x5 x8 x3 x6 x9 - c34 - c32 - c38 - c26 - Bảng 3.4 Các bit mã hoá lẻ của chuỗi c3 Đối với mã hoá PCCC r= 1/2, các chuỗi bit mã hoá sau đó phải được ghép với nhau như trong bảng3.5 sau đây: x1 x4 x7 x2 x5 x8 x3 x6 x9 c21 c34 c27 c32 c25 c38 c23 c36 c29 Bảng 3.5 Chuỗi tin và chuỗi mã hoá được ghép Mỗi bit tin có bit mã hoá riêng của nó. Bộ chèn Smile Bộ chèn chẵn lẻ như trên cho duy nhất một bit kiểm tra đi kèm theo một bit mã hoá .Hạn chế của bộ chèn này là: sau khi mã hoá cả hai chuỗi bit thông tin ( chuỗi tin tức gốc và chuỗi sau khi qua bộ chèn ) trạng thái của cả hai bộ mã phải giống nhau .Ta vẫn có thể thêm vào sau chuỗi thông tin một số bit “ tail bits” hoặc kết thúc Treliss để làm cho hai bộ mã hoá đều kết thúc ở cùng một trạng thái zero bằng cách dùng một bộ chèn đặc biệt là Simile. Ý tưởng của bộ chèn này xuất phát từ ý tưởng một khối thông tin K bit có thể được chia thành m+1 chuỗi với m là tham số ô nhớ của bộ mã hoá .Ví dụ m=2 ta có chuỗi: Chuỗi 0 = { dk |k mod ( m+1) =0} Chuỗi 1 = { dk |k mod ( m+1) =1} Chuỗi 2 = { dk |k mod ( m+1) =2} Hình 3.8: Mô tả bộ chèn Smile Ví dụ như đối với bộ RSC như ở trên với một K cho trước , trạng thái cuối cùng của bộ mã hoá mô tả bằng trạng của hai D flip-flop sẽ là sự kết hợp của các chuỗi vừa nêu trên thể hiện trong bảng 3.6 sau : K mod(m+1) S0K S1K 0 Chuỗi 1+chuỗi 2 Chuỗi 0+chuỗi 1 1 Chuỗi 2+chuỗi 0 Chuỗi 1+chuỗi 2 2 Chuỗi 0+chuỗi 1 Chuỗi 2+chuỗi 0 Bảng 3.6 Trạng thái cuối của bộ mã hoá Thứ tự của các bit đơn lẻ trong mỗi chuỗi không còn quan trọng ,chỉ cần các bit đó ở trong cùng một chuỗi .Một bộ chèn Simile phải thực hiện việc hoán vị các bit trong mỗi chuỗi để đưa được bộ mã hoá về cùng trạng thái như khi không sử dụng bộ chèn . Bộ chèn khung Nếu bộ chèn Simile cần sử dụng thêm tail bit để lái cả hai bộ mã hoá đến cùng một trạng thái thì bộ chèn khung lại không cần tail bit .Mỗi một bộ RSC do tính hồi quy của nó có thể đặc trưng bằng một đa thức sinh chu kỳ L .Trong trường hợp này N bit thông tin sau khi được chèn sẽ được lưu hai lần trong bộ nhớ kích thước 2N tại những địa chỉ mà việc đọc chúng ra sau này bị ngăn cách bằng một khoảng thời gian bằng với số nguyên lần của L .Bằng cách này, nếu bộ mã hoá bắt đầu bằng một trạng thái zero thì sẽ kết thúc tại một trạng thái zero mà không cần thêm bất kỳ một tail bit nào. Bộ chèn tối ưu Bộ chèn tối ưu là bộ chèn cho ra các chuỗi mã hoá ngõ ra có trọng số thấp ít nhất .Bộ chèn này thiết kế dài dòng và phức tạp , thuật toán mô tả như sau: Bước 1 : phát ra chèn ngẫu nhiên . Bước 2 : phát tất cả các chuỗi tin ngõ vào có thể. Bước 3: đối với tất cả các chuỗi tin ngõ vào có thể mã hoá thành từ mã và xác định kết quả trọng số của từ mã để tìm được phân bố trọng số của từ mã . Bước 4: xác định trọng số từ mã nhỏ nhất và số các từ mã với trọng số đó. Bộ chèn đồng dạng Một bộ chèn đồng dạng theo định nghĩa là một bộ chèn trung bình của tất cả các bộ chèn có thể sử dụng. Ta xét một chuỗi k bit gồm w bit 1 và k-w bit còn lại đương nhiên là bit 0. Một bộ chèn đồng dạng chiều dài k là một thiết bị xác suất sẽ ánh xạ chuỗi này thành tất cả các hoán vị riêng biệt với xác suất như nhau là . Kỹ thuật này cho phép khảo sát một bộ mã PCCC bất kỳ như một bộ mã PCCC chỉ gồm 2 bộ mã thành phần dựa trên phân bố đồng dạng tạo bởi bộ chèn. Bộ chèn S Bộ chèn loại S (S = 1,2,3,...) là bộ chèn “bán ngẫu nhiên” được xây dựng như sau : Chọn số nguyên ngẫu nhiên đem so sánh với các số nguyên ngẫu nhiên chọn trước đó S. Nếu việc chọn hiện tại và chọn trước đó S khác nhau nhỏ hơn S thì số nguyên ngẫu nhiên bị loại bỏ. Quá trình này được lặp lại cho đến khi N số nguyên phân biệt được chọn. Thiết kế bộ chèn này đảm bảo tránh được các sự kiện chu kỳ ngắn. Một sự kiện chu kỳ ngắn xảy ra khi 2 bit gần nhau trong cả trước và sau khi chèn. Thuật toán hoán vị cho bộ chèn bán ngẫu nhiên được mô tả như sau: Bước 1: Chọn chỉ số ngẫu nhiên i Î[0,L-1]. Bước 2: Chọn số nguyên dương . Bước 3: So sánh i với các số nguyên trước đó. Đối với mỗi số nguyên S, so sánh i nếu nó nằm trong khoảng ±S thì giữ i, nếu nó không nằm trong khoảng ±S thì trở lại bước 1. Bước 4: Trở lại bước 1 cho đến khi tất cả các vị trí L được lấp đầy. Hình 3.9 trình bày bộ chèn bán ngẫu nhiên với L = 16 và S = 2. Viết vào Hoán vị bán ngẫu nhiên Đọc ra 0 1 1 0 1 0 0 1 0 3 6 9 15 12 8 5 0 0 0 1 1 1 0 0 0 1 2 3 4 5 6 7 Chỉ số 0 1 1 0 1 0 0 1 2 10 13 1 4 7 11 14 1 1 0 1 1 1 0 0 8 9 10 11 12 13 14 15 Hình 3.9: Bộ chèn bán ngẫu nhiên với L = 16 và S = 2 Từ Hình 3.9, bộ chèn viết vào [0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1] và đọc ra [0 0 0 1 1 1 0 0 1 1 0 1 1 1 0 0]. Bộ chèn bán ngẫu nhiên cố gắng đưa ra vài tính ngẫu nhiên để khắc phục tính qui tắc của việc hoán vị. Tuy nhiên, thuật toán không bảo đảm kết thúc một cách thành công. BỘ GIẢI MÃ Khái niệm về các thuật toán giải mã Chất lượng mã TC là qui trình giải mã mềm được thực hiện lặp đi lặp lại và độ phức tạp chỉ tăng tuyến tính theo kích thước khung . Mã PCCC có cấu trúc mã hoá kết nối song song nhưnng quá trình giải mã lại dựa trên sơ đồ giải mã kết nối nối tiếp.Vì sơ đồ kết nối nối tiếp thực hiện tốt hơn sơ đồ kết nối song song do sơ đồ kết nối nối tiếp có khả năng chia sẻ thông tin giữa các bộ giải mã kết nối còn các bộ giải mã có sơ đồ kết nối song song chủ yếu giải mã độc lập nhau. Trong khi thực hiện một vòng lặp giải mã các thông tin mềm được trao đổi giữa các bộ giải mã thành phần .Foney đã chứng minh được rằng ngõ ra mềm tối ưu cho bộ giải mã phải là xác suất a posteriori (APP) là xác suất của một bit nào đó đựơc truyền dựa trên tín nhận được . Tổng quan về các thuật toán giải mã Hình 3.10, Trình bày các họ thuật toán giải mã dựa trên sơ đồ Trellis Các thuật toán giải mã dựa trên Trellis Viterbi Max-Log-MAP SOVA cải tiến SOVA Log-MAP MAP Hình 3.10: Các thuật toán giải mã dựa trên Trellis Họ thứ nhất là họ các thuật toán MAP còn gọi là thuật toán BCJR (Bahl-Cocke-Jelinek-Raviv, tên bốn người đã tìm ra thuật toán này). Thuật toán này liên quan đến các thuật toán giải mã khả năng xảy ra lớn nhất (ML) nhằm làm giảm tối đa xác suất lỗi bit.Họ này bao gồm các thuật toán symbol-by-symbol MAP, là phương pháp tối ưu để tính các thông tin APP(a posteriori), đây là thuật toán dạng tích, độ phức tạp rất cao. Trong họ này còn có hai loại thuật toán làm gần đúng thuật toán MAP để trở thành thuật toán dạng tổng độ phức tạp ít hơn mà chất lượng giải mã gần như tương đương là Log-MAP và phiên bản gần đúng của Log-MAP là Max-log-MAP.Họ thuật toán giải mã khác là một họ thuật toán dựa trên việc sửa đổi thuật toán Viterbi (VA) có sử dụng thêm metric bổ sung vì VA truyền thống không tính các thông tin APP, metric bổ sung làm điều đó. Họ thuật toán giải mã này bao gồm thuật toán nổi tiếng là thuật toán Viterbi ngõ ra mềm (SOVA) và thuật toán ít được biết đến hơn là thuật toán Viterbi ngõ ra liệt kê nối tiếp . Tuy cùng là các thuật toán ngõ ra mềm dựa trên sơ đồ trellis nhưng khác với VA là một thuật toán giải mã trellis ML và giảm thiểu xác suất lỗi từ mã, thuật toán MAP lại nhắm tới giảm tối đa xác suất lỗi bit. MAP là một phương pháp tối ưu để ước đoán các trạng thái và ngõ ra của các quá trình Markov trong điều kiện nhiễu trắng. Tuy nhiên MAP ít khả năng được ứng dụng thực tế bởi các khó khăn về số học liên quan đến việc biểu diễn xác suất, các hàm phi tuyến cùng một số các phép nhân và cộng khi tính toán các giá trị này.Log-MAP là một biến thể của MAP, chất lượng gần như tương đương mà không gặp trở ngại trong việc ứng dụng trong thực tế. Log-MAP được thực hiện hoàn toàn trong miền logarit, nhờ đó phép nhân chuyển thành phép cộng và ta có được một hàm tương đối dễ thực hiện hơn. Max-Log-MAP và SOVA là thuật toán gần tối ưu dùng để giảm bớt độ phức tạp tính toán nhưng trong kênh nhiễu Gauss thì chất lượng hai loại này cũng không cao, đặc biệc trong vùng SNR thấp. Max -Log-MAP hầu như giống với Log-MAP chỉ có duy nhất một điểm khác là sử dụng một hàm đơn giản hơn rất nhiều. Các nghiên cứu cho thấy Max-Log-MAP làm giảm chất lượng khoảng 0.5 dB so với MAP/Log-MAP trong kênh nhiễu Gauss. Mặc dù thuật toán MAP tốt hơn thuật toán SOVA nhưng nó có cấu trúc phần cứng và quá trình tính toán giải mã lại phức tạp hơn nhiều.Do giới hạn của đồ án và để phục vụ cho chương trình mô phỏng nên ta chỉ tập trung tìm hiểu về :Log-MAP và SOVA. Thuật toán Log-MAP - - - - Hard decision Deinter. Deinter. Inter. Inter. DEC1 DEC2 S S Hình 3.11: Bộ giải mã lặp Log-MAP Giải thuật giải mã được thực hiện như sau: Tách tín hiệu nhận ra thành 2 chuỗi tương ứng cho bộ giải mã 1 và bộ giả mã 2 . Ở vòng lặp đầu tiên ,thông tin a priori của bộ giải mã 1 được đưa về 0.Sau khi bộ giải mã 1 đưa ra được thông tin extrinsic thì sẽ được chèn và đưa tới bộ giải mã 2 đóng vai trò là thông tin a priori của bộ giải mã này.Bộ giải mã 2 sau khi đưa ra thông tin extrinsic thì vòng lặp kết thúc.Thông tin extrinsic của bộ giải mã thứ 2 sẽ được giải chèn và đưa về bộ giải mã 1 như là thông tin a priori . Quá trình giải mã giải mã cứ lặp lại như vậy cho đến khi thực hiện đủ số lần lặp đã qui định . Sau vòng lặp cuối cùng ,giá trị ước đoán có được tính bằng cách giải chèn thông tin ở bộ giải mã thứ 2 và đưa ra quyết định cứng. Thuật toán SOVA Độ tin cậy của bộ giải mã SOVA tổng quát Độ tin cậy trong giải mã SOVA được tính toán từ biểu đồ trellis như hình : Hình 3.12: Các đường survivor và đường cạnh tranh để ước đoán độ tin cậy Trong Hình 3.12 trình bày biểu đồ trellis 4 trạng thái. Đường liền nét chỉ ra đường survivor (giả thiết ở đây là một phần của đường ML) và đường đứt nét chỉ ra đường cạnh tranh (xảy ra đồng thời) tại thời điểm t đối với trạng thái 1. Để đơn giản thì các đường survivor và cạnh tranh cho các nút khác không được vẽ ra. Nhãn S1,t biểu diễn trạng thái 1 tại thời điểm t. Cũng vậy, các {0,1} được viết trên mỗi đường chỉ ra quyết định nhị phân được ước đoán cho các đường. Một metric tích lũy Vs(S1,t) gán cho đường survivor đối với mỗi nút và metric tích lũy Vc(S1,t) gán cho đường cạnh tranh đối với mỗi nút. Thông tin cơ bản cho việc gán giá trị tin cậy L(t) đến đường survivor của nút S1,t là giá trị tuyệt đối của 2 metric tích lũy. L(t) = |Vs(S1,t) - Vc(S1,t)| (3.1) Giá trị này càng lớn thì đường survivor càng đáng tin cậy. Để tính toán độ tin cậy này, giả thiết metric tích lũy của survivor thì luôn luôn lớn hơn metric tích lũy của cạnh tranh.Để giảm độ phức tạp, các giá trị tin cậy chỉ cần được tính cho đường survivor ML và không cần thiết tính cho các đường survivor khác bởi vì chúng sẽ được bỏ qua sau này. Để minh họa khái niệm độ tin cậy, 2 ví dụ được đưa ra bên dưới. Trong các ví dụ này, thuật toán Viterbi chọn đường survivor như là đường có metric tích lũy nhỏ nhất. Trong ví dụ đầu tiên, giả thiết tại nút S1,t có metric survivor tích lũy là Vs(S1,t) = 50 và metric cạnh tranh tích lũy là Vc(S1,t) = 100. Giá trị tin cậy liên kết đến việc chọn đường survivor này là L(t) = |50 - 100| = 50. Trong ví dụ thứ 2, giả thiết metric survivor tích lũy không đổi Vs(S1,t) = 50 và metric cạnh tranh tích lũy là Vc(S1,t) = 75. Kết quả giá trị tin cậy là L(t) = |50 - 75| = 25. Hình 3.13 minh họa vấn đề sử dụng trị tuyệt đối giữa các metric survivor và cạnh tranh tích lũy như là phép đo độ tin cậy của quyết định. Trong Hình 3.13, các đường survivor và các đường cạnh tranh tại S1,t tách ra tại thời điểm t - 5. Các đường survivor và các đường cạnh tranh cho ra các quyết định nhị phân ước đoán đối lập tại các thời điểm t, t - 2 và t - 4 ở trong Hình3.13. Để minh họa, chúng ta giả thiết các metric tích lũy của survivor và cạnh tranh tại S1,t là bằng nhau, Vs(S1,t) = Vc(S1,t) = 100. Điều này có nghĩa là cả hai đường survivor và cạnh tranh có cùng xác suất là đường ML. Hơn nữa, chúng ta giả thiết là metric tích lũy survivor thì “tốt” hơn metric tích lũy cạnh tranh tại thời điểm t - 2 và t - 4 như được trình bày trong Hình 3.13. Để giảm bớt độ phức tạp của hình vẽ, các đường cạnh tranh này tại các thời điểm t - 2 và t - 4 không đưa ra. Từ giả thiết này, chúng ta thấy rằng giá trị tin cậy gán cho đường survivor tại thời điểm t là L(t) = 0, điều này có nghĩa là không có độ tin cậy liên kết với việc chọn đường survivor. Tại các thời điểm t - 2 và t - 4, các giá trị tin cậy gán cho đường survivor thì lớn hơn 0 (L(t - 2) = 25 và L(t - 4) = 10) nghĩa là kết quả các metric tích lũy “tốt hơn” cho đường survivor. Tuy nhiên, tại thời điểm t, đường cạnh tranh cũng có thể là đường survivor bởi vì chúng có cùng metric. Vì vậy, có thể có các quyết định nhị phân được ước đoán trái ngược nhau tại các thời điểm t, t - 2, và t - 4 mà không có làm giảm các giá trị tin cậy liên kết suốt dọc theo đường survivor. Hình 3.13: Ví dụ trình bày việc gán độ tin cậy bằng cách sử dụng các giá trị metric trực tiếp Để cải tiến các giá trị tin cậy của đường survivor, một phép tính truy ngược để cập nhật các giá trị tin cậy được giả thiết. Thủ tục cập nhật này được tích hợp vào trong thuật toán Viterbi như sau: Đối với nút Sk,t trong biểu đồ trellis (đáp ứng đến trạng thái k tại thời điểm t), lưu L(t) = |Vs(Sk,t) - Vc(Sk,t)|. Nếu có nhiều hơn một đường cạnh tranh, thì sau đó nhiều giá trị tin cậy phải được tính và giá trị tin cậy nhỏ nhất được lấy là L(t). Khởi tạo giá trị tin cậy Sk,t bằng +¥ (tin cậy nhất). So sánh các đường survivor và cạnh tranh tại Sk,t và lưu lại các cấp độ nhớ (MEM) trong đó các quyết định nhị phân được ước đoán của 2 đường là khác nhau.Cập nhật các giá trị tin cậy tại các MEM này với thủ tục như sau: Tìm MEM dương thấp nhất, coi như là MEMlow, mà giá trị tin cậy của nó không được cập nhật. Cập nhật giá trị tin cậy của MEMlow L(t - MEMlow) bằng cách gán giá trị tin cậy thấp nhất giữa MEM = 0 và MEM = MEMlow. Tiếp theo từ ví dụ, các ước đoán bit đối lập giữa các đường của bit survivor và cạnh tranh của S1,t được định vị và lưu trữ như là MEM={0, 2, 4}. Với thông tin MEM này, tiến trình cập nhật độ tin cậy được hoàn thành như trình bày trong hình 3.14. Trạng thái 5 0 1 2 3 0 0 0 0 0 0 1 1 1 1 1 1 2 2 2 2 2 2 3 3 3 3 3 3 0 0 1 1 1 1 1 0 0 0 0 Cấp độ nhớ (MEM) 0 1 2 3 4 t-5 t t-1 t-2 t-3 t-4 L(t-1)=300 L(t)=0 S1,t Thời gian L(t-2)=25 Cập nhật L(t-2)=0 L(t-3)=200 L(t-5)=100 L(t-4)=10 Hình 3.14: Tiến trình cập nhật cho thời điểm t - 2 (MEMlow = 2) Hình 3.14 trình bày việc cập nhật độ tin cậy đầu tiên. MEM dương thấp nhất, mà giá trị tin cậy của nó không được cập nhật, được xác định là MEMlow = 2. Giá trị tin cậy thấp nhất giữa MEM = 0 và MEM = MEMlow = 2 được tìm thấy là L(t) = 0. Vì vậy, giá trị tin cậy liên kết được cập nhất từ L(t - 2) = 25 thành L(t - 2) = L(t) = 0. MEM thấp nhất kế tiếp, mà giá trị tin cậy của nó không được cập nhật, được xác định là MEMlow = 4. Giá trị tin cậy thấp nhất giữa MEM = 0 và MEM = MEMlow = 4 được tìm thấy là L(t) = L(t - 2) = 0. Vì vậy, giá trị tin cậy liên kết được cập nhật từ L(t - 4) = 10 thành : L(t - 4) = L(t) = L(t - 2) = 0. Bộ giải mã thành phần SOVA Bộ giải mã thành phần SOVA ước đoán chuỗi tin tức qua việc sử dụng một trong 2 luồng bit mã hóa được sinh ra bởi bộ mã hóa TC. Hình 3.15 trình bày ngõ vào và ngõ ra của bộ giải mã thành phần SOVA. Lcy L(u) SOVA L(u’) u’ Hình 3.15: Bộ giải mã thành phần SOVA Bộ giải mã thành phần SOVA xử lý các ngõ vào (tỉ lệ log-khả năng xảy ra) L(u) và Lcy trong đó : + chuỗi a priori information của chuỗi tin u được ký hiệu lại là L(u) cho phù hợp với các ký hiệu đã sử dụng trong giải mã SOVA tổng quát + Lcy là chuỗi nhận được đã qua cân bằng cũng như giải mã Log-MAP Chuỗi y được nhận qua kênh truyền. Tuy nhiên, chuỗi L(u) được sinh ra và được lấy từ bộ giải mã thành phần SOVA có trước đó. Nếu không có bộ giải mã thành phần SOVA trước đó thì sau đó không có các giá trị a priori. Vì vậy, chuỗi L(u) được khởi động đến chuỗi tất cả zero. Bộ giải mã thành phần SOVA cho ra các ngõ ra u’ và L(u’) trong đó : +u’ là chuỗi tin ước đoán. +L(u’) là chuỗi thông tin posteriori. Sơ đồ khối của bộ giải mã SOVA Bộ giải mã SOVA có thể được thực hiện theo nhiều cách khác nhau. Nhưng có lẽ theo hướng tính toán thì dễ dàng thực hiện bộ giải mã SOVA cho các mã có chiều dài bắt buộc K lớn và kích cỡ khung dài bởi vì sự cần thiết cập nhật tất cả các đường survivor. Do thủ tục cập nhật chỉ có ý nghĩa cho đường ML, nên việc thực hiện của bộ giải mã SOVA chỉ thực hiện thủ tục cập nhật đối với đường ML được trình bày trong Hình 3.16 BỘ GIẢI MÃ SOVA Chuỗi trạng thái ML SOVA không có thủ tục cập nhật Thanh ghi dịch Thanh ghi dịch SOVA L(u’) u’ L(u) Lcy Hình 3.16: Sơ đồ khối bộ giải mã SOVA Bộ giải mã SOVA lấy ngõ vào là L(u) và Lcy, là giá trị tin cậy và giá trị nhận được đã qua cân bằng tương ứng, và cho ra u’ và L(u’), tương ứng là các quyết định bit ước đoán và các thông tin a posteriori L(u’). Việc thực hiện bộ giải mã SOVA này bao gồm 2 bộ giải mã SOVA riêng biệt. Bộ giải mã SOVA đầu tiên chỉ tính các metric của đường ML và không tính (giữ lại) các giá trị tin cậy. Các thanh ghi dịch được sử dụng để đệm cho các ngõ vào trong khi bộ giải mã SOVA đầu tiên đang xử lý đường ML. Bộ giải mã SOVA thứ hai (có thông tin của đường ML) tính lại đường ML và cũng tính và cập nhật các giá trị tin cậy. Ta thấy rằng phương pháp thực hiện này làm giảm độ phức tạp trong tiến trình cập nhật. Thay vì truy ngược và cập nhật 2m đường survivor, thì chỉ có đường ML cần được xử lý. Một sơ đồ chi tiết của một bộ giải mã SOVA lặp được trình bày ở Hình 3.17 Le2(u’) - - - I{L2(u’)} y2 y1 y3 Độ tin cậy kênh 4Eb/N0 SOVA1 SOVA2 thanh ghi CS thanh ghi CS thanh ghi CS thanh ghi CS 2 thanh ghi dịch song song 2 thanh ghi dịch song song I I-1 I-1 + + I u’ Le1(u’) L1(u’) - CS : dịch vòng I : bộ chèn I-1: bộ giải chèn Hình 3.17: Bộ giải mã SOVA lặp Bộ giải mã xử lý các bit kênh nhận được trên một khung cơ bản. Như được trình bày trong Hình 3.17, các bit kênh nhận được tách thành dòng bit hệ thống y1 và 2 dòng bit parity y2 và y3 từ các bộ mã hóa 1 và 2 tương ứng. Các bit này được cân bằng bởi giá trị tin cậy kênh và được lấy ra qua các thanh ghi CS. Các thanh ghi trình bày trong hình được sử dụng như các bộ đệm để lưu trữ các chuỗi cho đến khi chúng ta cần. Các khóa chuyển được đặt ở vị trí mở nhằm ngăn ngừa các bit từ các khung kế tiếp đợi xử lý cho đến khi khung hiện hành được xử lý xong. Bộ giải mã thành phần SOVA cho ra thông tin a posteriori L(ut’) và bit được ước đoán ut’ (ở thời điểm t). Thông tin a posteriori L(ut’) được phân tích thành 3 số hạng L(u’t)=L(ut) + Lcyt,1 + Le(ut’) (3.2) L(ut) là giá trị a priori và được sinh ra bởi bộ giải mã thành phần SOVA trước đó. Lcyt,1 là giá trị kênh hệ thống nhận được đã qua cân bằng. Le(ut’) là giá trị extrinsic được sinh ra bởi bộ giải mã thành phần SOVA hiện tại. Tin tức đi xuyên qua giữa các bộ giải mã thành phần SOVA là giá trị extrinsic. Le(ut’)=L(u’t) – Lcyt,1 – L(ut) (3.3) Giá trị a priori L(ut) được trừ đi từ số bị trừ là thông tin a posteriori L(ut’) để ngăn ngừa tin tức đi ngược lại bộ giải mã mà từ đó sinh ra nó. Cũng vậy, giá trị kênh hệ thống nhận được đã qua cân bằng Lcyt,1 được trừ đi nhằm để xóa tin tức “thông thường” trong các bộ giải mã thành phần SOVA. Hình 3.17 trình bày bộ giải mã mã PCCC là sự kết nối theo thứ tự vòng kín của các bộ giải mã thành phần SOVA. Trong sơ đồ giải mã vòng kín này, mỗi một bộ giải mã thành phần SOVA ước đoán chuỗi tin bằng cách sử dụng dòng bit parity đã qua cân bằng. Hơn nữa, bộ giải mã PCCC thực hiện giải mã lặp nhằm cho ra các ước đoán a priori /độ tin cậy đáng tin tưởng hơn từ 2 dòng bit parity đã qua cân bằng khác nhau, với hy vọng thực hiện giải mã tốt hơn. Thuật toán mã Turbo lặp với lần lặp thứ n như sau: 1. Bộ giải mã SOVA1 có ngõ vào là chuỗi Lcy1(hệ thống), Lcy2 (parity), và cho ra chuỗi Le1(u’). Đối với lần lặp đầu tin, chuỗi Le2(u’)=0 bởi vì không có giá trị a priori (không có giá trị extrinsic từ SOVA2). Thông tin extrinsic từ SOVA1 được tính bằng (3.4) trong đó 2. Các chuỗi Lcy1 và Le1(u’) được chèn và là I(Lcy1) và I{Le1(u’)}. 3. Bộ giải mã SOVA2 có ngõ vào là các chuỗi Lcy1 (hệ thống), và I(Lcy3)(parity đã được chèn ở bộ giải mã) và I{Le1(u’)} (thông tin a priori) và cho ra các chuỗi I{L2(u’)} và I{u’} . 4. Thông tin extrinsic từ SOVA2 được lấy là: I{Le2(u’)} = I{L2(u’)} - I{Le1(u’)} - I(Lcy1) Các chuỗi I{Le2(u’)} vàI{u’} được giải chèn và là Le2(u’) và u’. 5. Le2(u’) được hồi tiếp về SOVA1 như là thông tin a priori cho lần lặp kế tiếp và u’ là ngõ ra của các bit được ước đoán cho lần lặp thứ n. CẢI TIẾN CHẤT LƯỢNG PCCC QUA THIẾT KẾ BỘ CHÈN Chất lượng mã PCCC phụ thuộc vào 2 đặc tính: phổ khoảng cách của nó và sự thích hợp của nó để được giải mã lặp. Cả 2 đặc tính này bị ảnh hưởng bởi việc chọn bộ chèn trong mã PCCC. Mã PCCC có đặc điểm quan trọng là việc thực hiện sửa sai lỗi của nó gần đạt đến giới hạn Shannon. Chất lượng của các mã PCCC tốt hơn các mã tích chập chỉ khi chiều dài của bộ chèn là rất lớn, có thể đạt đến vài ngàn bit. Đối với các bộ chèn có chiều dài khối lớn, thì hầu như các bộ chèn ngẫu nhiên đều thực hiện tốt. Còn đối với bộ chèn ngẫu nhiên có chiều dài khối ngắn, thì việc thực hiện của mã PCCC bị giảm sút một cách đáng kể đến mức độ mà tốc độ lỗi bit (BER) của nó lớn hơn so với mã tích chập với cùng độ phức tạp tính toán như nhau. Đối với các bộ chèn có chiều dài khối ngắn, thì việc chọn bộ chèn có ảnh hưởng đáng kể đến việc thực hiện của mã PCCC. Trong nhiều ứng dụng như thoại, sự trì hoãn là yếu tố quan trọng để chọn chiều dài khối của bộ chèn. Đối với các ứng dụng này thì cần phải thiết kế các bộ chèn kích cỡ khối ngắn để có được BER có thể chấp nhận được. Có 2 tiêu chuẩn lớn nhất trong việc thiết kế một bộ chèn: Các đặc tính phổ khoảng cách (phân bố trọng số) của mã Sự tương quan giữa ngõ ra mềm của mỗi bộ giải mã tương ứng với các bit kiểm tra chẵn lẻ của nó và chuỗi dữ liệu ngõ vào thông tin. Tiêu chuẩn thứ 2 đôi khi được xem như là đặc tính của sự thích hợp giải mã lặp (iterative decoding suitability – IDS). Đây là thước đo đánh giá ảnh hưởng của thuật toán giải mã lặp và nếu 2 chuỗi dữ liệu ít tương quan, thì ta sẽ có thể sử dụng thuật toán giải mã lặp. Việc thực hiện của mã PCCC có BER thấp bị ảnh hưởng lớn bởi khoảng cách tự do tối thiểu (dmin). Việc thực hiện của mã PCCC đạt đến đường tiệm cận dmin đã được chứng minh. Sàn nhiễu xảy ra tại các tỷ số tín hiệu/nhiễu từ vừa phải đến cao là kết quả của dmin nhỏ. Sàn nhiễu có thể được làm thấp xuống bằng cách tăng kích cỡ bộ chèn hay dmin. Đánh giá việc thực hiện của mã PCCC thường được dựa vào giả thiết rằng bộ thu là bộ giải mã khả năng xảy ra lớn nhất (ML). Tuy nhiên, các mã PCCC sử dụng thực sự là thuật toán lặp gần tối ưu. Việc thực hiện giải mã lặp được lợi dụng nếu thông tin được gởi đến mỗi bộ giải mã từ các bộ giải mã khác ít tương quan với chuỗi dữ liệu thông tin ngõ vào. Kết thúc trellis của mã PCCC được đề cập đến, đặc biệt khi bộ chèn được thiết kế để đạt cực đại dmin. Nếu vấn đề này không được đề cập trong khi thiết kế bộ chèn, thì có thể dẫn đến giá trị dmin rất nhỏ do sự tồn tại của các chuỗi dữ liệu không được kết thúc trellis và trọng số ngõ ra thấp, kết quả đưa đến là sự suy giảm chất lượng mã PCCC. Không có một công thức chung cho bộ chèn. Bộ chèn tốt nhất là bộ chèn được thiết kế cho các yêu cầu riêng biệt của hệ thống. Ví dụ như nếu kích thước khối dữ liệu ngắn và SNR thấp thì bộ chèn chẵn lẻ tốt hơn bộ chèn ngẫu nhiên và ngược lại khi SNR cao. Với kích thước khối dữ liệu lớn thì bộ chèn S sẽ tốt hơn bộ chèn ngẫu nhiên. Thiết kế bộ chèn mới Thiết kế bộ chèn mới với mục đích là tăng khoảng cách tự do hiệu quả tối thiểu dmin của mã PCCC trong khi đó giảm đi hay tối thiểu là không tăng đặc tính tương quan giữa chuỗi dữ liệu ngõ vào thông tin và thông tin a priori (ngõ ra mềm của bộ giải mã). Tuy nhiên, việc thiết kế bộ chèn mới này rất phức tạp và đòi hỏi phải biết được thông tin của toàn bộ các khối có thể xảy ra để tính khả năng tương quan của chúng với ngõ ra mềm. Thiết kế bộ chèn phải đáp ứng được 2 chỉ tiêu : phổ khoảng cách của mã và sự tương quan giữa thông tin dữ liệu ngõ vào và ngõ ra mềm của mỗi bộ mã hóa tương ứng với các bit kiểm tra chẵn lẻ của nó. Một khi các điều kiện trên được thỏa thì vẫn còn một yếu tố phải xem xét để tăng chất lượng của PCCC hơn nữa đó là độ “ngẫu nhiên” mà bộ chèn và bộ giải chèn tách các lỗi chùm từ ngõ ra bộ giải mã này đến ngõ vào của bộ giải mã tiếp theo. Theo quan điểm này thì bộ chèn lý tưởng là bộ chèn ngẫu nhiên thực sự (không phải giả ngẫu nhiên). Ta sẽ thấy một sự tăng vọt về chất lượng khi sử dụng một bộ chèn tốt. Bộ chèn p là bộ hoán vị i ® p(i) nhằm để thay đổi thứ tự của chuỗi dữ liệu N ký tự d1, d2,...,dN. Nếu chuỗi dữ liệu ngõ vào là d = [d1, d2,...,dN] thì chuỗi hoán vị là dP, trong đó P là ma trận chèn . Mỗi bộ chèn có bộ giải chèn tương ứng (p-1) tác động lên các chuỗi dữ liệu đã được chèn và khôi phục thứ tự ban đầu của chuỗi dữ liệu thông tin. Bộ chèn ngẫu nhiên đơn giản là bộ hoán vị ngẫu nhiên p. Đối với N có giá trị lớn thì hầu hết các bộ chèn ngẫu nhiên dùng trong mã PCCC đều thực hiện tốt. Chuỗi nhận Rk Chuỗi truyền Tk Nm Nm Thông tin extrinsic ngõ ra Ek Hình 3.18: Quá trình tạo thông tin extrinsic Trong hình trên, Ek là thông tin extrinsic tương ứng với bit thông tin uk tại thời điểm k tạo ra bởi thuật toán MAP sử dụng các tính toán thuận và nghịch trên toàn bộ chuỗi nhận được. Từ kết quả của rất nhiều cuộc mô phỏng cho thấy 95% giá trị của thông tin extrinsic được xác định từ trước Nm và sau Nm so với ký hiệu nhận trong chuỗi nhận, với Nm bằng 10 lần chiều dài bắt buộc K của mã. Bộ chèn kích thước càng lớn thì càng có nhiều ký hiệu không tương quan với 2Nm ký hiệu trong chuỗi dữ liệu. Quá trình này bao gồm 2 tiêu chuẩn “độc lập” để ước lượng giá trị mềm của cùng một bit và sau đó các ước lượng này được đưa đến bộ giải mã khác với lượng thông tin lớn hơn nhiều. Điều này dẫn đến chất lượng của mã PCCC tốt hơn rất nhiều. Tuy nhiên, khi kích cỡ khối của bộ chèn giảm thì chất lượng của mã PCCC bị giảm sút, đến mức mà BER của nó lớn hơn BER của mã tích chập có cùng độ phức tạp tính toán như nhau. Vì vậy, thiết kế bộ chèn kích cỡ ngắn là công việc quan trọng. Thiết kế bộ chèn mới dựa trên việc thực hiện giải mã lặp của các mã PCCC. Tại mỗi bước lặp, một số thông tin liên quan đến các bit kiểm tra chẵn lẻ của một bộ giải mã được đưa đến bộ giải mã khác cùng với chuỗi dữ liệu hệ thống và các bit kiểm tra chẵn lẻ tương ứng đến bộ mã hóa đó. Hình 3.19 trình bày sơ đồ giải mã lặp. Giải chèn Bộ giải mã 1 Bộ giải mã 2 Chèn Hình 3.19: Cấu trúc bộ giải mã lặp với các trọng số Các ngõ vào của mỗi bộ giải mã là chuỗi dữ liệu ngõ vào dk , các bit kiểm tra chẵn lẻ và , và thuật toán tỉ số khả năng xảy ra (LLR) được liên kết với các bit kiểm tra chẵn lẻ từ bộ giải mã khác (hay ) được dùng như thông tin a priori. Bộ giải mã dùng tất cả các ngõ vào này để tạo ra 3 ngõ ra tương ứng với trọng số của các ngõ vào này. Trong Hình 3.19, biểu thị trọng số của chuỗi dữ liệu ngõ vào dk. dn minh họa chuỗi dữ liệu ngõ vào được đưa vào bộ giải mã thứ hai sau khi chèn. Ngõ vào của mỗi bộ giải mã lấy từ bộ giải mã khác được dùng như thông tin a priori trong bước giải mã tiếp theo và phù hợp với trọng số của các bit kiểm tra chẵn lẻ. Thông tin này sẽ có nhiều hiệu quả trong việc thực hiện giải mã lặp nếu nó ít tương quan với chuỗi dữ liệu ngõ vào (hay chuỗi dữ liệu ngõ vào được chèn). Vì vậy, đây là tiêu chuẩn để thiết kế bộ chèn. Đối với các bộ chèn có kích cỡ khối lớn, thì hầu hết các bộ chèn ngẫu nhiên đưa đến sự tương quan thấp giữa và chuỗi dữ liệu ngõ vào dk. Hệ số tương quan được định nghĩa như là sự tương quan giữa và . Hệ số tương quan được tính gần bằng như sau: (3.5) trong đó a và c là các hằng số phụ thuộc vào các đa thức hồi tiếp và đến (feedforward) của bộ mã hóa. Hệ số tương quan của ngõ ra bộ giải mã thứ hai tính gần bằng: (3.6) được định nghĩa tương tự sử dụng . Để đo sự phù hợp giải mã lặp (IDS) được định nghĩa như sau: ( 3.7) Giá trị IDS thấp là biểu thị các đặc tính tương quan giữa W1 và d trải dọc suốt chuỗi dữ liệu chiều dài N. Thiết kế bộ chèn là dựa trên điều kiện IDS. Các phương pháp tối ưu hoá cấu trúc bộ chèn Có một phương pháp được giới thiệu để tối ưu hóa cấu trúc bộ chèn mang tên “phương pháp Hungari” (vấn đề phân tổng tuyến tính). Mục đích của phương pháp này là phá vỡ tất cả các chuỗi trọng số 2 nghĩa là có ít nhất một ngõ ra tránh được chuỗi kết thúc zero. Một phương pháp khác đề nghị kiểu bộ chèn kinh điển với độ trễ nhỏ nhất, gọi là bộ hoán vị trạng thái hữu hạn (FSP). Hai thuật toán được phát triển cho một cấu trúc lặp và mang tính hệ thống của bộ chèn với độ phức tạp tăng tuyến tính với kích thước bộ chèn. Mỗi một vectơ chuyển đổi có một hàm trả giá kèm theo, và các thuật toán nhắm tới mục tiêu là làm giảm tối đa hàm trả giá này. Độ phức tạp tính toán phụ thuộc vào chiều dài của các mẫu lỗi được xem xét. Các nghiên cứu gần đây cho thấy các tail bit có thể bỏ mà không làm ảnh hưởng lắm đến chất lượng khi kích thước bộ chèn lớn. SỰ KHÁC NHAU GIỮA MÃ CHẬP VÀ MÃ PCCC Ta có sự khác nhau như bảng 3.7 dưới: Tiêu chuẩn Mã tích chập Mã PCCC Chiều dài bắt buộc lớn hơn Tốt Xấu Khoảng cách tự do lớn hơn Tốt Không khác Tốc độ mã hoá thấp hơn Không khác Tốt Các bộ mã hoá đệ quy Không khác Tốt Các bộ giải mã ngõ ra mềm Không khác Tốt Bảng 3.7 So sánh mã chập và mã PCCC SO SÁNH CHẤT LƯỢNG CÁC HỆ THỐNG MÃ HOÁ Tỉ lệ lỗi bit (BER) và tỉ số tín hiệu/nhiễu (SNR) của quá trình truyền dẫn xác định chất lượng của kênh truyền. Tuy nhiên, sự khác nhau là bao nhiêu công suất (SNR) thì cần thiết để thực hiện BER thấp. Tỉ lệ lỗi bit là xác suất của bất cứ bit nào bị lỗi trong quá trình truyền. Tỉ số tín hiệu/nhiễu ( Eb/No) là tỉ số công suất kênh/ công suất nhiễu. BER càng thấp thì cáng tốt bởi vì có nghĩa là có một vài lỗi trong dữ liệu cuối cùng SNR càng thấp thì càng tốt bởi vì có nghĩa là ít công suất cần thiết để truyền tín hiệu. Như trên đã giới thiệu mã PCCC RSC là mã có thực tế tốt nhất bởi vì nó có thể thực hiện SNR thấp tại BER thấp và gần với giới hạn Shannon – lý thuyết tối đa của thực hiện kênh. Độ lợi mã xác định độ thực hiện mã hóa như thế nào. Độ lợi mã là sự khác nhau trong SNR giữa 1 kênh được mã hóa và 1 kênh không được mã hóa. Độ lợi mã có thể được xác định bằng cách đo khoảng cách giữa giá trị SNR của bất kỳ một trong những kênh được mã hóa nào và kênh không được mã hóa tại BER cho trước. Ví dụ độ lợi mã đối với mã PCCC RSC có tốc độ ½ tại BER 10-5 là khoảng 8,5 dB. Điều này có nghĩa là tín hiệu được mã hóa PCCC có thể hoặc là được nhận 2,65 lần xa hơn tín hiệu không được mã hóa (ở cùng một công suất phát), hoặc là nó chỉ cần 1/7 công suất phát (cho cùng một khoảng cách). Hình 3.20: So sánh hệ thống mã hoá KẾT LUẬN CHƯƠNG Qua chương này ta có được cái nhìn cụ thể hơn về mã Turbo , biết được cách mã hoá và gải mã của mã TC , các phương pháp nhằm làm tăng chất lượng của mã. Việc so sánh giữa mã Turbo với các mã khác nhằm làm nổi bật đựơc ưu điểm của mã này.Tuy nhiên mã TC được ứng dụng như thế nào? :ỨNG DỤNG CỦA MÃ TURBO GIỚI THIỆU CHƯƠNG Mã Turbo ra đời đã giải quyết được những hạn chế trong lĩnh vực viễn thông mà tiêu biểu là hai hệ thống :Truyền thông không dây(wireless communication) và truyền thông đa phương tiện(multimedia communication). CÁC ỨNG DỤNG TRUYỀN THÔNG ĐA PHƯƠNG TIỆN(MMC) Hạn chế khi ứng dụng TC vào MCC Băng thông giới hạn Băng thông là vấn đề quan tâm hàng đầu vì lượng thông tin truyền tải ngày càng lớn đòi hỏi phải luôn thay đổi nhưng băng thông là tài nguyên quốc gia khó thay đổi. Băng thông sử dụng trong các MCC thường rất lớn nên dùng các bộ mã tốc độ thấp sẽ không cho hiệu quả cao. Khối lượng dữ liệu lớn Các ứng dụng của MCC thường là các khối dữ liệu lớn , nhưng yêu cầu phải được xử lý trong khoảng thời gian rất ngắn .Vì vậy yêu cầu các bộ mã hoá và giải mã TC phải cao. Tính thời gian thực Dữ liệu multimedia có bản chất thời gian thực , sự chậm trễ của dữ liệu sẽ làm giảm chất lượng thông tin .Trong khi TC cần phải có cấu trúc giải mã lặp dể tăng chất lượng thì tính thời gian thực là một thách thức khi giải quyết mâu thuẫn giữa thời gian đáp ứng và tỉ lệ lỗi bit( BER) . Đặc tính thời gian thực buộc các mã TC ứng dụng trong MCC không thể có số vòng lặp lớn. Các đặc tính của kênh truyền Từ các đặc tính của kênh truyền ta có thể đưa ra các giải pháp thích hợp cho từng hệ thống .Chính vì vậy việc tìm hiểu đặc tính của kênh truyền là rất cần thiết , một trong số các cách tìm hiểu kênh truyền là dùng mạng Bayes. Phương pháp thực hiên như sau: Dữ liệu được truyền qua kênh truyền và sử dụng nhiều lọai mô hình mã TC với các thông số khác nhau . Ghi lại các giá trị BER. Thành lập một mạng Bayes với các độ chính xác của mã kết quả và các yếu tố ảnh hưởng là các nút mạng .Một đường nối trực tiếp sẽ đi từ các yếu tố đến các độ chính xác của mã kết quả. Sử dụng các giá trị BER ghi nhận để thử cho mạng này . Tìm ra một tập hợp các thông số để tối ưu hoá các sự điều chỉnh. Các đề xuất khi ứng dụng TC vào MCC Kích thước khung lớn Do các ứng dụng MCC là khối dữ liệu lớn nên sử dụng kích thước khung lớn cho mã TC .Kích thước khung lớn đồng nghĩa với kích thước bộ chèn lớn và làm cho chất lượng mã TC tăng lên . Cải tiến quá trình giải mã Giải mã động: có đặc điểm như sau: Đặt một ngưỡng vòng lặp là số lần lặp tối đa cho một khung. Số vòng lặp thực sự để giải mã một khung sẽ nhỏ hơn hay bằng giá trị ngưỡng và phụ thuộc vào kết quả giải mã . Điều kiện để ngưng quá trình giải mã là khung đã hết lỗi .Trong quá trình giải mã , kết quả giá trị ước lượng của vòng lặp giải mã trước sẽ được lưu lại và so sánh với kết quả của vòng lặp giải mã kế tiếp .Nếu hai kết quả giống nhau thì hết lỗi và tiếp tục giải mã cho khung tiép theo. Giải mã ưu tiên: Các ứng dụng MCC sẽ thêm các thông tin về độ ưư tiên vào trong khung tuỳ theo tầm quan trọng của khung .Sau khi nhận được chuỗi tin từ kênh truyền ,bộ giải mã sẽ giải mã tìm ra các từ mã. Sau vòng lặp đầu tiên bộ giải mã có thể nhận được thông tin về mức độ ưu tiên của khung và sẽ quyết định số vòng lặp phù hợp với khung .Theo phương pháp này thì thời gian dùng cho các khung có độ ưu tiên thấp sẽ thấp , đồng thời làm giảm BER của các khung có độ ưu tiên cao và tăng tốc độ đáp ứng của hệ thống . Giải mã Pipeline :mục đích làm giảm tối đa độ trễ của hệ thống do các vòng lặp giải mã gây ra . Sơ đồ đơn giản của một bộ giải mã lặp như sau Bộ giải mã 1 Bộ giải mã 2 y Hình 4.1: Sơ đồ giải mã lặp Bộ giải mã thông thường sẽ lặp lại quá trình giải mã n lần cho mỗi từ mã y để tìm được ước đoán gần đúng với từ mã x nhất . Cấu trúc đơn giản của bộ giải mã Pipeline là: Vòng lặp1 BGM 1 y Vòng lặp 1 BGM 2 Vòng lặp 2 BGM 1 Vòng lặp 2 BGM 2 Bộ nhớ 1 Bộ nhớ 2 BGM: là bộ giải mã Hình 4.2: Bộ giải mã Pipeline Bộ chuỗi các bộ giải mã được sử dụng cho mỗi vòng lặp.Bộ nhớ dùng để lưu trữ thông tin hệ thống cho các vòng lặp tương ứng, tốc độ tăng n lần. CÁC ỨNG DỤNG TRUYỀN THÔNG KHÔNG DÂY Các hạn chế khi ứng dụng TC trong truyền thông không dây Kênh truyền Kênh truyền trong truyền thông không dây có mức nhiễu cao hơn ở môi trường truyền dây. Vì vậy các mã kênh phải có đủ khả năng đương đầu với mức nhiễu lớn .Trong môi trường không dây có fading của các tín hiệu truyền ,fading là hậu quả bản chất vật lý của kênh truyền với độ tăng biên độ .Triệt fading bằng cách trải phổ , khi đã triệt được một phần fading và sử dụng thêm mã TC nữa thì đạt được chất lượng rất cao. Hạn chế về thời gian Truyền thông không dây yêu cầu về thời gian rất khắt khe, nhất là các thông tin thoại yêu cầu phải đáp ứng nhanh Kích thước khung nhỏ Trong truyền thông không dây kích thước khung truyền không được lớn vì: Kênh truyền không tin cậy , nếu truyền khung lớn thì tỉ lệ lỗi bit trong khung sẽ cao hơn. Do đặc tính thời gian thực nên không chấp nhận độ trễ lớn khi truyền một khung có kích thước lớn. Kích thước khung nhỏ thì không tận dụng được các đặc tính ưu việt của TC. Băng thông giới hạn Do sự cung cấp băng thông cho mỗi nhà cung cấp dịch vụ nên hạn chế băng thông . Cải tiếnviệc thực hiện giải mã PCCC bằng cách tăng hệ số Scalling và khoảng cách tự do theo chuẩn CDMA2000 Bộ mã hoá PCCC theo chuẩn CDMA2000 Sơ đồ mã hoá : + D D D + + + + D D D + + + Lặp lại và chọn lọc ký tự Bộ chèn X Yo Y1 X’ Yo’ Y1’ Ngõ vào Nturbo bit Ngõ ra Ký tự mã no n1 d no n1 d d Hình 4.3: Sơ đồ bộ mã hoá PCCC theo chuẩn CDMA2000 Hàm truyền của mỗi bộ mã hoá thành phần là: Trong đó d(D)=1+D2 + D3, n0(D) = 1+D + D3 , n1(D) = 1+ D2 +D3 . Các ký tự ngõ ra dữ liệu mã hoá được chọn lọc với các mẫu lọc tương ứng với tốc độ mã hoá ,số “0” có nghĩa là ký tự sẽ bị xoá bỏ và ký tự “1” được cho qua. Ngõ ra Tốc độ mã hoá 1/2 1/3 1/4 X 11 11 11 Y0 10 11 11 Y1 00 00 00 X’ 00 00 00 Y’0 01 11 01 Y’1 00 00 11 Bảng 4.1 : Các mẫu lọc cho các chu kỳ bit dữ liệu Bộ chèn trong CDMA2000 là bộ chèn mà trong đó toàn bộ chuỗi bit ngõ vào của bộ chèn được viết lần lượt vào một dãy theo chuỗi địa chỉ ,sau đó đọc ra theo chuỗi địa chỉ được định nghĩa.Hình 4.4 mô tả quá trình sắp xếp địa chỉ ngõ vào /ngõ ra của bộ chèn TC: n bit n bit 5 bit (i4…i0) n bit (tn-1…t0) 5 bit thấp (i4…i0) n bit cao (in+4…i5) Cộng 1 và chọn n bit thấp Bảng tra Đảo bit Nhân và chọn n bit thấp Loại ra nếu ngõ vào ³ Nturbo Bộ đếm (n+5) bit Địa chỉ ngõ ra bộ chèn (n+5) bit kế tiếp Bit cao Bit thấp Hình 4.4: Thủ tục tính địa chi ngõ ra của bộ chèn Thủ tục tính địa chỉ ngõ ra của bộ chèn trong CDMA2000: Xác định thông số của bộ chèn n , với n là số nguyên ( cho kèm theo bảng dưới). Reset bộ đếm (n+5) về 0. Trích ra n bit cao từ bộ đếm và cộng thêm 1 để tạo ra giá trị mới .Sau đó laọi bỏ tất cả ngoại trừ n bit thấp của giá trị này . Lấy 5 bit thấp từ bộ đếm làm địa chỉ đọc qua tra bảng được ngõ ra n bit. Nhân giá trị lấy được ở bước 3 và 4 và loại bỏ tất cả ngoại trừ n bit thấp. Đảo ngược 5 bit thấp của bộ đếm . Tạo một địa chỉ ngõ ra thử có các bit cao của nó bằng giá trị lấy trong bước 6 và các bit thấp ở trong bước 5. Chấp nhận địa chỉ ngõ ra thử như địa chỉ ngõ ra nếu nó nhỏ hơn Nturbo còn nếu không thì loại. Tăng bộ đếm và lặp lại từ bước 3 đến bước 6 cho đến khi tất cả các địa chỉ ngõ ra của bộ chèn Nturbo được lấy . Bảng thông số của bộ chèn: Kích cỡ bộ chèn Nturbo Thông số bộ chèn n 378 4 570 5 762 5 1145 6 1530 6 2298 7 3066 7 4602 8 6138 8 9210 9 12282 9 20730 10 Bảng 4.2 Bảng thông số của bộ chèn. Phân bố trọng số 2,3 ở mã PCCC trong CDMA2000 Hàm xác suất lỗi bit của mã PCCClà: Với: Trong đó Dd là phổ khoảng cách của mã PCCC, N:kích thước bộ chèn , dfree : là khoảng cách tự do tối thiểu của mã PCCC, R: tốc độ mã hoá , Aw,j :là hệ số của hàm đếm trọng số có điều kiện. Một khối từ mã xác định được liên kết với một ngõ vào trọng số 2 phải có một khối thông tin trọng số 2 và một khối chẵn lẽ có trọng số jzcycle + t , với zcycle là trọng số chẵn lẽ liên kết với chu kỳ trellis, j: là số nguyên và t:là trọng số chẵn lẽ kết hợp với con đường chuyển tiếp dẫn đến sự bắt đầu của chu kỳ đầu tiên và từ chu kỳ cuối cùng đến trạng thái toàn zero . Mặt khác zmin = zcycle + t , với zmin là trọng số của chuỗi chẵn lẽ có trọng số nhỏ nhất được tổng hợp bởi bộ mã hoá PCCC với một ngõ vào trọng số 2. Khoảng cách tự do dfree là thông số quan trọng của mã sửa sai và dfree,eff = 2 + 2zmin nên zmin là một thông số quan trọng có tác động đến đặc tính của bộ giải mã . Nếu sử dụng bộ chèn xấu với dfree = 9 ,ngõ vào có dạng Dj (1+D2+ D3) ở tốc độ mã 1/3. Ta có dfree,eff = 14 với ngõ vào có dạng Dj (1+D7) .Vì vậy cần sử dụng bộ chèn có dfree = 24 và dfree = dfree,eff ,ngõ vào có dạng Dj (1+D7) làm ngõ ra có dạng Dj-k (1+D14) , k nguyên . Nếu tốc độ mã hoá là 1/4 thì dfree,eff = 38 khi ngõ vào có dạng Dj (1+D7) và ngõ ra sẽ có dạng Dj-k (1+D14) .Minh hoạ cho những điều này bằng những hình vẽ sau: Hệ số Scalling Thông tin extrinsic Le được nhân với hệ số Scalling Sk .Nhân hệ số này vào để bù méo do thuật toán giải mã chịu méo lớn gây ra bởi các ngõ ra mềm.Hệ số Sk được nhân vào các giá trị symbol nhận được trong mỗi lần lặp giải mã .Ngoài ra giá trị tin cậy của kênh Lc ở một số symbol được thay thế bằng SkLc . Nếu tỉ số tin cậy LLR của một số symbol đủ lớn thì các symbol này xem như các symbol tin cậy. …. Dj(1+ D2+D3) …. Dj-k(1 +D2+D3) (a) khoảng cách tự do …. Dj(1+D7) …. Dj-k(1+ D7) (b) khoảng cách tự do hiệu dụng …. Dj(1+D7) …. Dj-k(1+ D14) (c) khoảng cách tự do hiệu dụng Hình 4.5: Khoảng cách tự do hiệu dụng KẾT LUẬN CHƯƠNG Qua chương này ta biết được những ứng dụng của mã TC vào trong truyền thông đa phương tiện và truyền thông không dây .Những khó khăn khi thực hiện để tìm ra những cách khắc phuc những nhược điểm đó nhằm mang lại những tiện ích hơn nữa của công nghệ CDMA đối với cuộc sống con nguời . CHƯƠNG TRÌNH MÔ PHỎNG VÀ KẾT QUẢ GIỚI THIỆU CHƯƠNG Chương này trình bày mô phỏng mã Turbo PCCC với tốc độ 1/2 và 1/3 tuỳ theo sự lựa chọn kỹ thuật xoá hay là không.Chạy chương trình với các thông số đầu vào khác nhau để có những kết quả cuối cùng về tỉ lệ lỗi bit(BER) và tỉ lệ lỗi khung(FER),các kết quả này được đưa ra hình vẽ để có những nhận xét về mã PCCC . CHƯƠNG TRÌNH MÔ PHỎNG Cấu trúc chương trình Chương trình mô phỏng được viết bằng Matlab:gồm các file: 1.bo_ma_hoa.m 2.chuong_trinh_chinh.m 3.logmapo.m 4.ma_hoa.m 5.nhi_phan.m 6.rsc_ma_hoa.m 7.so_do_trellis.m 8.so_nguyen.m 9.sova.m 10.tach_kenh.m 11.Turbo.txt(lưu kết quả chạy chương trình) 12.Hinh_kq.m( kết quả ra hình) Chương trình chính Để chạy chương trình ta vào file :chuong_trinh_chinh.m để nhập các thông số đầu vào,như: +Chọn thuật toán:hàm Ttgiaima = 0 là ta chọn thuật toán Log-Map. hàm Ttgiaima = 1 là ta chọn thuật toán SOVA. +Chọn kích thước khung bằng hàm L_f=? bao gồm thông tin và bit đuôi (info+tail). +Chọn ma trận sinh :ta mặc định ma trận sinh g = [1 1 1; 1 0 1 ] . +Chọn dùng kỷ thuật xoá hay là không:hàm kt_xoa = 0 là dùng kỹ thuật xoá hàmkt_xoa=1làkhông dùng kỹ thuật xoá . +Chọn số lần lặp của mỗi khung bằng hàm: lan_lap =? +Nhập số khung bị lỗi để kết thúc chương trình bằng hàm: ket_thuc=? +Nhập giá trị Eb/N0 bằng hàm:EbN0db =? Sau khi nhập các thông số xong ta cho chay chương trình như sau: Hình 5.1: Chương trình mô phỏng chính KẾT QUẢ MÔ PHỎNG Thực hiện chạy chương trình nhiều lần với các thông số đầu vào khác nhau,ta được kết quả như bảng. Lần 1 Lần 2 Lần 3 Lần 4 Lần 5 Lần 6 Lần 7 Thuật toán Log-Map Log-Map SOVA SOVA Log-Map SOVA Log-Map Kích thước khung 300 300 300 300 500 1000 1000 Kỹ thuật xoá Có Có Không Không Có Không Có Số lần lặp mỗi khung 5 10 5 10 5 5 5 Số khung bị lỗi để kết thúc 10 10 10 10 5 3 3 Eb/No (dB) 2 2 3 2 3 3 3 Bảng 5.1 Thông số các lần chạy chương trình Và kết quả cuối cùng của các lần chạy chương trình như sau: Lần1 ***************************** Eb/N0 = 2.00 db *********************************** Kich thuoc khung = 300, rate 1/2. 132 Khung da trao doi , 10 Khung bi loi. Ti le loi bit (Tu lan lap 1 cho den 5): 2.3337e-002 5.1098e-003 2.1100e-003 1.3219e-003 1.6270e-003 Ti le loi khung (Tu lan lap 1 cho den 5): 9.1667e-001 3.0303e-001 1.2879e-001 8.3333e-002 7.5758e-002 ******************************************************************************* Lần2 ***************************** Eb/N0 = 2.00 db *********************************** Kich thuoc khung = 300, rate 1/2. 665 Khung da trao doi , 10 Khung bi loi. Ti le loi bit (Tu lan lap 1 cho den 10): 2.1310e-002 3.8149e-003 1.2414e-003 7.2160e-004 5.8536e-004 4.3902e-004 4.4911e-004 3.9360e-004 4.4406e-004 3.4314e-004 Ti le loi khung (Tu lan lap 1 cho den 10): 8.7669e-001 2.6316e-001 7.6692e-002 3.4586e-002 2.8571e-002 1.9549e-002 1.6541e-002 1.5038e-002 1.3534e-002 1.5038e-002 ******************************************************************************* Lần3 ***************************** Eb/N0 = 3.00 db *********************************** Kich thuoc khung = 300, rate 1/3. 3406 Khung da trao doi , 10 Khung bi loi. Ti le loi bit (Tu lan lap 1 cho den 5): 3.5705e-003 1.8030e-004 7.8819e-005 6.9952e-005 4.4335e-005 Ti le loi khung (Tu lan lap 1 cho den 5): 2.9008e-001 1.9671e-002 5.8720e-003 4.1104e-003 2.9360e-003 ******************************************************************************* Lần4 ***************************** Eb/N0 = 2.00 db *********************************** Kich thuoc khung = 300, rate 1/3. 408 Khung da trao doi , 10 Khung bi loi. Ti le loi bit (Tu lan lap 1 cho den 10): 2.4345e-002 4.9595e-003 2.1467e-003 1.5380e-003 1.0034e-003 8.0603e-004 8.1425e-004 7.5668e-004 7.1555e-004 6.2508e-004 Ti le loi khung (Tu lan lap 1 cho den 10): 8.0147e-001 2.3775e-001 9.8039e-002 6.1275e-002 4.4118e-002 3.6765e-002 3.4314e-002 2.9412e-002 2.4510e-002 2.4510e-002 ******************************************************************************* Lần5 ***************************** Eb/N0 = 3.00 db *********************************** Kich thuoc khung = 500, rate 1/2. 1557 Khung da trao doi , 5 Khung bi loi. Ti le loi bit (Tu lan lap 1 cho den 5): 3.5505e-003 7.3512e-005 1.9345e-005 2.5794e-005 2.0635e-005 Ti le loi khung (Tu lan lap 1 cho den 5): 4.6692e-001 1.2845e-002 3.2113e-003 3.2113e-003 3.2113e-003 ******************************************************************************* Lần6 ***************************** Eb/N0 = 3.00 db *********************************** Kich thuoc khung = 1000, rate 1/3. 1420 Khung da trao doi , 3 Khung bi loi. Ti le loi bit (Tu lan lap 1 cho den 5): 3.0484e-003 4.2338e-005 1.4113e-005 1.8347e-005 6.3507e-006 Ti le loi khung (Tu lan lap 1 cho den 5): 6.1972e-001 1.9014e-002 7.0423e-003 4.2254e-003 2.1127e-003 ******************************************************************************* Lần7 ***************************** Eb/N0 = 3.00 db *********************************** Kich thuoc khung = 1000, rate 1/2. 1177 Khung da trao doi , 3 Khung bi loi. Ti le loi bit (Tu lan lap 1 cho den 5): 3.5560e-003 2.1283e-005 6.8106e-006 5.1079e-006 5.1079e-006 Ti le loi khung (Tu lan lap 1 cho den 5): 7.3322e-001 1.0195e-002 4.2481e-003 2.5489e-003 2.5489e-003 ******************************************************************************* Bảng 5.2 Kết quả cuối cùng Hình vẽ có được sau khi chạy file:Hinh_kq.m từ các kết quả cuối cùng Hình 5.2: Kết quả lần 1 Hình 5.3: Kết quả lần 2 Hình 5.4: Kết quả lần 3 Hình 5.5: Kết quả lần 4 Hình 5.6: Kết quả lần 5 Hình 5.7: Kết quả lần 6 Hình 5.8: Kết quả lần 7 Qua những hình trên và một số kết quả chạy chương trình khác,ta có nhận xét: số lần lặp càng lớn thì tỉ lệ lỗi bit cũng như tỉ lệ lỗi khung đều giảm. nếu số lương khung đưa vào càng lớn thì BER và FER càng thấp(thể hiện rõ trong Hình 5.7 và Hình 5.8). mã sẽ hoạt động tốt khi ta lựa chọn kích thước khung lớn. tỉ lệ lỗi khung(FER) thường lớn hơn tỉ lệ lỗi bit(BER) nhưng lần lặp càng lớn thì BER~FER(trong hình 5.7 và 5.8 khi lần lặp thứ 5 thì BER~ FER ~0). KẾT LUẬN CHƯƠNG Sau khi chạy chương trình với các thông số đầu vào cho như bảng 5.1 và chạy nhiều lần chương trình với các thông số khác nhau và các kết quả này đều được lưu lại trong file Turbo.txt .

Các file đính kèm theo tài liệu này:

  • docLy Thuyet.doc
  • docCAC TU VIET TAT.doc
  • docKET LUAN VA HUONG PHAT TRIEN DE TAI.doc
  • docLuu do thuat toan.doc
  • docMO DAU.doc
  • docPHU LUC.doc
  • rarTurbo.rar
Luận văn liên quan