1. Trang chủ
  2. » Luận Văn - Báo Cáo

Mã turbo và ứng dụng trong các hệ thống thông tin thế hệ tiếp theo

94 11 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 94
Dung lượng 1,21 MB

Nội dung

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI DƯƠNG VĂN LỢI Mã turbo ứng dụng hệ thống thông tin hệ Chuyên ngành : Điện tử viễn thông LUẬN VĂN THẠC SĨ KHOA HỌC … Chuyên ngành Điện tử viễn thông NGƯỜI HƯỚNG DẪN KHOA HỌC : Ts Nguyễn Hữu Trung Ts.Nguyễn Thúy Anh Hà Nội – Năm 2010 MỞ ĐẦU Cùng với phát triển Khoa Học Công Nghệ, công nghệ viễn thơng năm qua có bước phát triển mạnh mẽ ngày đáp nhu cầu người Nhu cầu trao đổi thông tin ngày tăng số lượng, chất lượng loại hình dịch vụ kèm theo điều địi hỏi phải tìm cơng nghệ áp dụng cho hệ thống thông tin, để đáp ứng nhu cầu cơng nghệ mã hóa sử dụng mã turbo đời khuyến cáo dùng nhiều hệ thống thông tin Để hiểu rõ nguyên lý hoạt động ưu, nhược điểm, ứng dụng công nghệ em chọn đề tài : ”Ứng dụng mã Turbo hệ thống thông tin hệ tiếp theo” Nội dung đồ án gồm chương : • Chương 1: Tổng quan: Giới thiệu chung hệ thống thông tin số, kết nối mã tích chập hệ thống đệ quy để tạo nên mã Turbo đưa thành phần kỹ thuật chung mã hoá Turbo kết nối song song • Chương 2: Tìm hiểu giải mã, thuật toán giải mã MAP, Mãlog-MAP, Log-MAP SOVA, htuaatj toán giả mã turbo lặp sử dụng MAP SOVA • Chương 3: Trình bày ứng dụng mã Turbo:Ứng dụng truyền thông không dây truyền thông đa phương tiện vào số cấu trúc mã ứng dụng hệ thống thông tin hệ tiếp • Chương 4: Chương trình mơ mã Turbo Trong trình làm đồ án tốt nghiệp, cố gắng nhiều khơng tránh sai sót, em mong phê bình, bảo giúp đỡ thầy bạn bè Em xin chân thành cảm ơn giúp đỡ tận tình thầy giáo TS Nguyễn Hữu Trung TS Nguyễn Thúy Anh thầy cô giáo khoa Điện Tử-Viễn Thông giúp em hoàn thành đồ án Hà Nội tháng 10 năm 2010 Chương 1: Mục Lục Danh mục hình vẽ Chương 1: Tổng quan 1.1 Giới thiệu chung 1.1.1 Cấu trúc hệ thống thông tin số _ 1.1.2 Các giới hạn _ 1.2 Sự kết nối mã đời mã turbo (TURBO CODE) _ 1.3 Bộ mã hóa tích chập hệ thống đệ quy RSC 1.3.1 1.3.2 1.3.3 1.3.4 Mã tích chập hệ thống không hệ thống Mã tích chập đệ quy không đệ quy 10 Bộ mã tích chập hệ thống đệ quy 10 Kết thúc TRELLIS _ 11 1.4 Quyết định cứng định mềm 12 1.5 Mã hóa mã turbo PCCC (parallel concatenated convolutional code 13 1.5.1 Bộ mã hóa _ 1.5.2 Kỷ thuật xóa (punture) 1.5.3 Bộ chèn (interleaver) 1.5.3.1 Ảnh hưởng kich thước chèn đến chất lượng mã _ 1.5.3.2 Ảnh hưởng cấu trúc chèn đến chất lượng mã _ 1.5.3.3 Bộ chèn kiểu khối 1.5.3.3.1 Bộ chèn khối 1.5.3.3.2 Bộ chèn khối chẵn lẻ _ 1.5.3.3.3 Bộ chèn khối Helical Simile 1.5.3.4 Bộ chèn kiểu xoắn (Convolutional) _ 1.5.3.4.1 Bộ chèn xoắn _ 1.5.3.4.2 Bộ chèn dịch vòng _ Bộ chèn dịch vòng _ 1.5.3.5 Bộ chèn kiểu ngẫu nhiên _ 1.5.3.5.1 Bộ chèn ngẫu nhiên 1.5.3.5.2 Bộ chèn không đồng ( non-uniform 1.5.3.5.3 Bộ chèn ngẫu nhiên S ( S-randoom _ 1.5.3.6 kết luận : 13 15 16 17 19 20 20 21 23 24 24 25 25 26 26 27 28 29 Chương Giải mã mã turbo _ 30 2.1 Giới thiệu chương 30 2.2 Mơ hình hệ thống _ 30 2.3 Tiêu chuẩn tối ưu hóa _ 32 2.4 Giải thuật Viterbi _ 33 2.5 Thuật toán Viterbi hai chiều đầu mềm (SOVA) _ 37 2.6 Thuật toán MAP 40 2.6.1 Định nghĩa α β γ 2.6.2 Nguồn gốc α 2.6.3 Nguồn gốc β _ 2.6.4 Nguồn gốc γ 2.7 43 44 44 45 Thuật toán Max-log-MAP 48 Trang Chương 1: 2.8 Tuật toán Log-Map 48 2.9 So sánh độ phức tạp thuật toán giải mã _ 49 2.10 Giải mã lặp dựa thuật toán MAP 50 2.11 Giải mã lặp dựa thuật toán SOVA _ 51 Chương 3: ứng dụng mã turbo hệ thông tin hệ sau 53 3.1 Giới thiệu chương 53 3.2 Các ứng dụng truyền thông đa phương tiện 53 3.2.1 Các hạn chế ứng dụng TC vào hệ thống truyền thông đa phương tiện: 3.2.1.1 Tính thời gian thực 3.2.1.2 Khối lượng liệu lớn _ 3.2.1.3 Băng thông giới hạn _ 3.2.1.4 Tìm hiểu đặc tính kênh truyền 3.2.2 Các đề xuất ứng dụng TC vào truyền thông đa phương tiện _ 3.2.2.1.Kích thước khung lớn 3.2.2.2.Cải tiến trình giải mã _ 3.2.2.2.1 Giải mã động _ 3.2.2.2.2 Giải mã ưu tiên: _ 3.2.2.2.3 Cấu trúc giải mã Pipeline _ 53 53 54 54 54 55 55 55 55 56 57 3.3 Các ứng dụng truyền thông không dây: 58 3.3.1 Các hạn chế ứng dụng TC truyền thông không dây: 3.3.1.1.Kênh truyền: _ 3.3.1.2 Hạn chế thời gian: 3.3.1.3 Kích thước khung nhỏ: 3.3.1.4 Băng thông giới hạn: 3.4. Mã turbo ứng dụng thông tin vũ trụ 3.5 58 58 59 59 60 60 Ứng dụng mã turbo CDMA 2000 62 3.6 Ứng dụng mã turbo UMTS 63 3.7 Ứng dụng thông tin thông tin vệ tinh _ 65 Chương Chương trình mơ _ 66 4.1 Cấu trúc chương trình _ 66 4.2 Chương trình _ 66 4.3 kết mô _ 68 4.4 Kết luận chương 76 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI _ 77 TÀI LIỆU THAM KHẢO _ 78 CÁC TỪ VIẾT TẮT _ 79 PHẦN PHỤ LỤC _ 80 Trang Chương 1: Danh mục hình vẽ Hình 1.1 Mơ hình hệ thống truyền thông số Hình 1.2b: Mã kết nối song song hình 1.3 Bộ mã hóa tích chập hệ thống Hình 1.4 Bộ mã tích chập không hệ thống 10 Hình 1.5 mã tích chập đệ quy 10 Hình 1.6 Bộ mã hố RSC với R = 1/2 K=2 11 Hình 1.7 Cách thức kết thúc trellis mã RSC 12 Hình 1.8 Bộ mã hố PCCC tổng quát 14 Hình 1.9 Mã PCCC tốc độ 1/3 gồm mã hoá chập hệ thống đệ quy 15 Hình 1.10 minh họa chèn 16 Hình 1.11 mơ tả ánh xạ chèn 17 Hình 1.12 minh họa khoảng cách phổ ứng với giá trị N khác 18 Hình 1.13 Đường giới hạn sác xuất lỗi bít với kích thước khác chèn 19 Hình 1.14 chèn khối 20 Hình 1.15 Các mẫu vng trọng số 21 Hình 1.16 Bộ chèn xốn giải chèn xoắn 24 Hình 1.17 Bộ chèn giả ngẫu nhiên 27 Hình 2.1 Mơ hình hệ thống 30 Hình 2.2 Bộ mã xoắn minh họa 36 Hình 2.3 Branch metric mã ví dụ 36 Hình 2.4 Đường survivor path metric chúng 37 Hình 2.5 mã RSC tốc độ 1/2 với kích thước nhớ 41 Hình 2.6 Sơ đồ chuyển trạng thái má RSC (2,1,2) 42 Hình 2.8 forward recurcision thuật toán MAP 46 Hình 2.9 backward recurcision thuật tốn MAP 47 Hình 2.10: Bộ giải mã lặp MAP 50 Hình 2.11 Bộ giải mã lặp SOVA 51 Hình 3.1 Sơ đồ giải mã lặp 57 Hình 3.2 Sơ đồ giải mã pipeline 57 Hình 3.3 Sơ đồ mã hóa dùng thơng tin vũ trụ 61 Hình 3.4 Mã turbo cho đường xuống CDMA2000 62 Hình 3.5 Mã turbo cho 3GPP 64 Hình 3.6 chuỗi mã xoắn cho 3GPP 64 Hình 4.3: Chương trình mơ 67 Hình 4.4: Kết lần 72 Hình 4.5: Kết lần 73 Hình 4.6: Kết lần 73 Hình 4.7: Kết lần 74 Hình 4.8: Kết lần 74 Hình 4.9: Kết lần 75 Hình 4.10: Kết lần 75 Trang Chương 1: Chương 1: Tổng quan 1.1 Giới thiệu chung 1.1.1 Cấu trúc hệ thống thông tin số Để hiểu vai trò mã sửa sai, xem xét mơ hình tổng qt hệ thống thơng tin số hình 1.1 Nguồn tin Mã hóa nguồn Mã hóa kênh Điều chế Kênh truyền Lưu liệu Giải mã nguồn Giải mã kênh Giải điều chế Hình 1.1 Mơ hình hệ thống truyền thơng số Bộ truyền dẫn có vai trị chuyển thơng tin sinh từ nguồn tin thành dạng có khả chống chịu với ảnh hưởng nhiễu mức trung bình Nguồn tin sinh tin mang thơng tin cần truyền Bản tin từ, ký tự,… Đầu nguồn tin chuyển thành chuỗi ký tự từ chữa có sẵn, hầu hết ký tự truyền dạng nhị phân Đầu nguồn tin khơng phù hợp cho việc truyền tin, có q nhiều thơng tin dư thừa Vì lý hiệu quả, mã hóa nguồn thiết kế để làm giảm chuyển đổi nguồn tin thành dạng bit nhị phân với tối thiểu dư thừa Nếu mã hóa nguồn tạo rb bit giây rb gọi tốc độ liệu Kênh truyền làm suy yếu tạo lỗi tín hiệu nhận được, mã hóa kênh đưa vào hệ thống nhằm thêm vào chuỗi thông tin số bit thông tin dư thừa, dư thừa sử dụng để tối thiểu lỗi truyền Bộ mã hóa kênh thiết kế để k bit đầu vào sinh từ mã với chiều dài n bit, mã tốt mã Trang Chương 1: sinh từ mã khác nhiều Điều giúp hệ thống thơng tin bị tổn hao, ảnh hưởng lỗi kênh Mỗi mã đặc trưng R=k/n < gọi tỉ lệ mã (tốc độ mã), tốc độ mã đầu mã hóa kênh rc =rb/R bps Mục đích mã sửa sai tối đa hóa độ tin cậy q trình truyền tin với mức cơng suất tín hiệu, băng thơng hệ thống độ phức tạp mạch hệ thống định Điều đạt nhờ đưa vào cấu trúc dư thừa, thêm vào tín hiệu truyền Việc làm cho tốc độ truyền liệu giảm xuống tăng băng thông hệ thống Tín hiệu mã hóa kênh thường không phù hợp cho việc truyền dẫn, điều chế cho phép tín hiệu truyền kênh truyền,mục đích điều chế phối hợp tín hiệu với kênh truyền, cho phép truyền đồng thời số tín hiệu kênh truyền vật lysvaf tăng tốc độ truyền tin Bộ điều chế ánh xạ chuỗi số mã hóa vào chuỗi ngắn sóng tương tự phù hợp với suy hao kênh truyền, ánh xạ l bits từ chuỗi sau mã hóa kênh thành M dạng sóng có, M = 2l với chu kỳ dạng sóng tín hiệu T rs = 1/T gọi tốc độ ký tự (symbol rate) Băng thơng tối thiểu tín hiệu với rs Hz rs biểu diễn rs = rb / (Rl) Q trình điều chế thực cách thay đổi biên độ, pha tần số sóng mang có dạng hình sin Kênh truyền phương tiện truyền dẫn dùng để mang lưu thơng tin, kênh truyền ví dụ dây cáp, sóng radio, kênh truyền cáp quang, …thường thuật ngữ kênh truyền liên quan tới dải tần số ấn định cho dịch vụ cụ thể kênh TV, kênh thoại Hai giới hạn kênh truyền thực nhiễu nhiệt băng thơng xác định Thêm vào kênh vơ tuyến cho mobile bị ảnh hưởng suy hao đa đường, kênh cáp quang bị ảnh hưởng tín hiệu bị tán sắc… Ở đầu thu, giải điều chế tạo bit nhị phân tín hiệu tương tự đầu theo ước lượng tốt có từ mã truyền chuỗi diều chế tương ứng Bộ giải mã kênh đưa ước lượng tin truyền Trang Chương 1: thực Bộ giải mã hoạt động dựa quy tắc mã hóa đặc tính kênh truyền Mục đích giải mã nhằm tối thiểu ảnh hưởng nhiễu kênh truyền Trên sở quy luật mã hóa mã hóa nguồn, giải mã nguồn chuyển chuỗi đầu vào theo ước lượng nguồn đưa tới người dùng Bằng cách thiết kế hệ thống truyền nhận hợp lý, ta loại bỏ làm giảm ảnh hưởng suy hao, biến dạng, tối thiểu ảnh hưởng nhiễu Tác động nhiễu bị loại bỏ hồn tồn khơng biết đầy đủ thông tin nhiễu Nếu giải điều chế đưa định cứng, đầu bit nhị phân, theo giải mã kênh hoạt động theo định giải mã cứng Nếu đầu giải điều chế cho ký tự vòng lặp phụ thuộc vào tín hiệu truyền vong lặp mà khơng phụ thuộc vào q trình truyền trước ta nói kênh truyền khơng nhớ, đại diện kênh nhị phân đối xứng (binary symmetric channel) Quyết định cứng giải điều chế sinh thông tin Một thay đổi lượng tử hóa đầu giải điều chế nhiều hai mức đưa lấy mẫu tín hiệu nhận băng sở đưa tới bộ giải mã kênh, q trình giải mã kênh gọi giải mã định mềm Hai loại mã sử dụng mã khối mã xoắn (mã tích chập) Sự khác chúng nhớ mã hóa Với mã khối, mã hóa hoạt động phụ thuộc vào tin đầu vào thời điểm khơng phụ thuộc vào trước đó, mã hóa khơng nhớ Ngược lại với mã xoắn, đầu không phụ thuộc vào tin đầu vào mà phụ thuộc vào số tin trước 1.1.2 Các giới hạn Băng thơng tín hiệu thước đo tốc độ tín hiệu Tín hiệu thay đổi nhanh theo thời gian có băng thơng rộng Mặt khác hệ thơng thơng tin có giới hạn băng thông định Băng thông B hệ thống giới hạn tốc độ thay đổi tín hiệu mơ tả qua hiệu xuất phổ η = rb / B bit/sec/Hz hay Trang Chương 1: η = Rlrs / B Trong rs tốc độ ký tự Bưng thơng địi hỏi tối thiểu cho tín hiệu điều chế rs Hz nên hiệu xuất phổ lớn là: ηmax = lR Thông số khác dùng để tính tốn độ tin cậy thông tin truyền hệ thống thông tin số sác xuất lỗi bit (BER) Hiệu công xuất đánh giởi tỉ lệ lượng bit cơng xuất nhiễu phía, Eb /N0 Tỉ lệ tín hiệu tạp âm (SNR) mô tả S/N liên hệ với Eb /N0 : S/N =lR.Eb /N0 Với kênh truyền cho trước, có giới hạn tốc độ truyền liệu liên quan tới SNR băng thông hệ thống Shannon đưa khái niệm dung lượng kênh truyền C tốc độ tối đa mà thơng tin truyền kênh có nhiễu.với kênh nhiễu trắng Gaussian (AWGN) : C = B log2 ( 1+ S/N) bit/sec Lý thuyết mã hóa kênh Shannon chứng minh tồn mã có sác xuất lỗi nhỏ tùy ý liệu truyền với tốc độ rb < C ngược lại, khơng thể thiết kế mã có sác xuất lỗi nhỏ tùy ý rb > C , điều cho thấy nhiễu tạo nên giới hạn tốc độ liệu không giới hạn sác xuất lỗi, lý thuyết Shannon không cách thiết kế mã để đạt tốc độ tối đa liệu sác xuất lỗi nhỏ tùy ý, thúc đẩy việc nghiên cứu phát triển số công nghệ mã sửa sai Lý thuyết Băng thơng hệ thống mở rộng đến vơ hạn, ta truyền tin với tốc đọ tối đa dung lượng kênh C với Eb /N0 nhỏ -1.59 dB hiệu suất phổ tiến đến Mã tubo với thuật toán giải mã lặp tiếp cận với giới hạn này, đạt tỉ lệ lỗi bit 10-5 Eb /N0 = 0.7 dB với hiệu suất phổ 0.5 bits/sec/Hz 1.2 Sự kết nối mã đời mã turbo (TURBO CODE) Mã Turbo kết nối gồm hai hay nhiều mã riêng biệt để tạo mã tốt lớn Mơ hình ghép nối mã Forney nghiên cứu để tạo loại mã có xác suất lỗi giảm theo hàm mũ tốc độ nhỏ dung lượng kênh độ phức tạp giải mã tăng theo hàm đại số Mô hình bao gồm kết nối nối tiếp mã mã Trang Chương 1: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI Do thời gian có hạn nên đồ án chưa trình bày hết vấn đề mã Turbo ,trong đồ án tập trung trình bày mã Turbo PCCC( kết nối song song ).Nhìn nhận cách tổng quát thuật toán giải mã , kỹ thuật mã hoá ,bộ chèn kỹ thuật xoá mã Turbo PCCC rate 1/2 ,1/3 chương trình mơ dựa mã Một phần quan trọng mã Turbo thiết kế chèn biện pháp cải tiến mã chưa trình bày chi tiết kỹ đồ án Một số hướng phát triển đồ án như: Tìm hiểu mã Turbo kết nối nối tiếp( SCCC) Tìm hiểu mã Turbo kết nối hổn hợp(HCCC) Nghiên cứu thuật toán gần tối ưu khác Ứng dụng mã Turbo vào hệ thống truyền thông hệ thứ thứ Mã Turbo cải tiến từ mã khối(Turbo Block Codes) Mã TCM(Turbo Codes Modulation): Kết hợp mã Turbo điều chế Các loại mã kết hợp mã hoá nguồn mã hoá kênh Trang 77 Chương 1: TÀI LIỆU THAM KHẢO Nguyễn Thuý Vân ,“Lý thuyết mã”, NXB Khoa Học Kỹ Thuật Hà Nội,1999 Vũ Đức Thọ ,“Thông tin di động số Cellular”, NXB Khoa Học Kỹ Thuật Hà Nội, 1997 “Giáo trình thơng tin di động” ,Hoc viện Bưu viễn thơng sở Tp Hồ Chí Minh Đặng Văn Chuyết , Nguyễn Tuấn Anh ,“Cơ sở lý thuyết truyền tin”, NXB Giáo Dục, 1999 n Mr Harte ,”Introduction to Code Division Multiple Access”, Althos Inc,2004 Ali H.Mugaibel and Maan A.Kousa,”Understanding Turbo Codes”, King Fahd University of Petroleum and Minerals PO Box ,1271,Dhahran 31261,Saudi Arabia S Adrian Barbulescu, Steven.S Pietrobon,”Turbo Codes:A tutorial on a new class of powerful error correcting coding schemes”,”Part1: Code Structures and Interleaver Design”,26 October 1998 Nguyễn Hoàng Hải-Nguyễn Khắc Kiểm- Nguyễn Trung Dũng-Hà Trần Đức,”Lập trình Matlab”, NXB Khoa Học Kỹ Thuật ,Hà Nội 2003 Một số website viễn thông 10 Đồ án khoá trước Trang 78 Chương 1: CÁC TỪ VIẾT TẮT AWGN: Additive White Gaussian Noise :Nhiễu Gauss trắng APP : A Posterior Probability: Xác suất Posterior BER : Bit Error Rate: Tỉ lệ lỗi bit FER : Frame Error Rate :Tỉ lệ lỗi khung HCCC : Hybrid Concatenated Convolutional Code: Kết nối hỗn hợp mã tích chập I : Interleaver : Bộ cài xen chèn LLR : Log likelihodd Ratio :Tỉ số tin cậy MAP:Maximum A Posteriori:là xác suất lớn bit truyền dựa tín hiệu nhận MMC : Multimedia Communication : Truyền thông đa phương tiện ML : Maximum Likelihood : Khả xảy lớn PCCC : Parallel Concatenated Convolutional Code: Mã tích chập kết nối song song PN : Pseudo Noise: Tạp âm giả ngẫu nhiên RSC : Recursive Systemtic Convolutional Code: Mã tích chập hệ thống đệ quy SOVA : Soft VA : thuật toán Viterbi định mềm SNR:Signal to Noise Ratio : Tỉ số tín hiệu / nhiễu SCCC : Serial Concatenated Convolutional Code : Mã tích chập kết nối nối tiếp VA :Viterbi Algorithm: Thuật toán Viterbi Trang 79 Chương 1: PHẦN PHỤ LỤC Chương trình clear all / Luu chuong trinh lai/ diary Turbo.txt /Chon thuat toan giai ma / Ttgiaima = input(' Hay chon thuat toan giai ma (0:Log-MAP, 1:SOVA) default '); if isempty(Ttgiaima) Ttgiaima = 0; end /Kich thuoc khung/ L_f = input(' Hay chon kich thuoc khung (= info + tail, default: 1000) '); if isempty(L_f) L_f = 1000; end / Ma tran sinh/ g = input(' Hay chon ma tran sinh: ( default: g = [1 1; 1 ] ) if isempty(g) g = [ 1 1; 1 ]; end [n,K] = size(g); m = K - 1; ns = 2^m; /puncture = 0, Dung ky thuat xoa voi toc ma hoa 1/2 / /puncture = 1, Khong dung ky thuat xoá./ Trang 80 '); Chương 1: kt_xoa = input(' Hay chon ky thuat xoa / khong dung ky thuat xoa (0/1): default '); if isempty(kt_xoa) kt_xoa = 0; end / Toc ma hoa(Code rate)/ rate = 1/(2+kt_xoa); / a=1 kenh nhieu AWGN / a = 1; / So lan lap/ lan_lap = input(' Hay chon so lan lap cua moi khung: default '); if isempty(lan_lap) lan_lap = 5; end ket_thuc = input(' Hay chon so khung bi loi de ket thuc chuong trinh:default3 '); if isempty(ket_thuc) ket_thuc = 3; end EbN0db = input(' Hay chon ti le nang luong tren moi bit Eb/N0 don vi dB:default [3.0] '); if isempty(EbN0db) EbN0db = [3.0]; end fprintf('\n\n -\n'); if Ttgiaima == Trang 81 Chương 1: fprintf(' ================================ GIAI MA Log-MAP ============================= \n'); else fprintf(' ================================ GIAI MA SOVA ================================ \n'); end fprintf(' Kich thuoc khung = %6d\n',L_f); fprintf(' Ma tran sinh: \n'); for i = 1:n for j = 1:K fprintf( '%6d', g(i,j)); end fprintf('\n'); end if kt_xoa==0 fprintf(' Dung ky thuat xoa, code rate = 1/2 \n'); else fprintf(' Khong dung ky thuat xoa, code rate = 1/3 \n'); end fprintf(' So lan lap = %6d\n', lan_lap); fprintf(' Khung loi ket thuc = %6d\n', ket_thuc); fprintf(' Eb / N0 (dB) = '); for i = 1:length(EbN0db) fprintf('%10.2f',EbN0db(i)); end fprintf('\n \n\n'); fprintf('+ + + + + + + + + CHUONG TRINH DANG CHAY VA CHO RA KET QUA!.+ + + + + + + + +\n'); Trang 82 Chương 1: for nEN = 1:length(EbN0db) en = 10^(EbN0db(nEN)/10); / chuyen doi tu don vi dB sang so thuong/ L_c = 4*a*en*rate; sigma = 1/sqrt(2*rate*en); errs(nEN,1:lan_lap) = zeros(1,lan_lap); nferr(nEN,1:lan_lap) = zeros(1,lan_lap); nframe = 0; while nferr(nEN, lan_lap)0 nferr(nEN,iter) = nferr(nEN,iter)+1; end end errs(nEN,1:lan_lap) = errs(nEN,1:lan_lap) + err(1:lan_lap); if rem(nframe,3)==0 | nferr(nEN, lan_lap)==ket_thuc ber(nEN,1:lan_lap) = errs(nEN,1:lan_lap)/nframe/(L_f-m); fer(nEN,1:lan_lap) = nferr(nEN,1:lan_lap)/nframe; fprintf('***************************** Eb/N0 = %5.2f db ********************************\n', EbN0db(nEN)); fprintf('Kich thuoc khung = %d, rate 1/%d \n', L_f, 2+kt_xoa); fprintf('%d Khung da trao doi , %d Khung bi loi.\n', nframe, nferr(nEN, lan_lap)); fprintf('Toc loi bit (Tu lan lap cho den %d):\n', lan_lap); for i=1:lan_lap fprintf('%8.4e ', ber(nEN,i)); end fprintf('\n'); fprintf('Toc loi khung (Tu lan lap cho den %d):\n', lan_lap); for i=1:lan_lap fprintf('%8.4e ', fer(nEN,i)); Trang 84 Chương 1: end fprintf('\n'); fprintf('************************************************************* ******************\n\n'); save Chuong_trinh_chinh EbN0db ber fer end end end diary off 2.Thuật toán SOVA function L_all = sova(rec_s, g, L_a, ind_dec) L_f = length(L_a); [n,K] = size(g); m = K - 1; ns = 2^m; Infty = 1e10; delta = 30; [next_out, next_state, last_out, last_state] = so_do_trellis(g); for t=1:L_f+1 for state=1:ns path_metric(state,t) = -Infty; end end path_metric(1,1) = 0; for t=1:L_f y = rec_s(2*t-1:2*t); Trang 85 Chương 1: for state=1:ns sym0 = last_out(state,1:2); sym1 = last_out(state,3:4); state0 = last_state(state,1); state1 = last_state(state,2); Mk0 = y*sym0' - L_a(t)/2 + path_metric(state0,t); Mk1 = y*sym1' + L_a(t)/2 + path_metric(state1,t); if Mk0>Mk1 path_metric(state,t+1)=Mk0; Mdiff(state,t+1) = Mk0 - Mk1; prev_bit(state, t+1) = 0; else path_metric(state,t+1)=Mk1; Mdiff(state,t+1) = Mk1 - Mk0; prev_bit(state,t+1) = 1; end end end if ind_dec == mlstate(L_f+1) = 1; else mlstate(L_f+1) = find( path_metric(:,L_f+1)==max(path_metric(:,L_f+1)) ); end for t=L_f:-1:1 est(t) = prev_bit(mlstate(t+1),t+1); mlstate(t) = last_state(mlstate(t+1), est(t)+1); end for t=1:L_f Trang 86 Chương 1: llr = Infty; for i=0:delta if t+i

Ngày đăng: 28/02/2021, 07:36

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN