Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 124 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
124
Dung lượng
3,42 MB
Nội dung
<< BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC SƢ PHẠM KỸ THUẬT TP.HCM KHOA ĐIỆN – ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ - VIỄN THÔNG ĐỒÁN TỐT NGHIỆP NGÀNH: CÔNG NGHỆ ĐIỆN TỬ VIỄN THÔNG Đề tài: THỰCHIỆNBỘGIẢIMÃVITERBITRÊNFPGA GVHD: ThS. Lê Minh Thành KS. Đặng Phƣớc Hải Trang SVTH: Huỳnh Minh Khả MSSV: 06117029 SVTH: Lê Duy MSSV: 06117010 Thành phố Hồ Chí Minh, tháng 1 năm 2011 ThựchiệnbộgiảimãViterbitrênFPGA Trang i Phần A: Giới thiệu LỜI CẢM ƠN Cuốn đồán tốt nghiệp đã hoàn thành đúng thời gian quy định và đạt được kết quả như mong đợi. Để đạt được kết quả đó, trước hết nhóm thựchiện muốn gửi lời biết ơn đến các bậc cha mẹ đã khổ công sinh thành dưỡng dục để tạo nên những thành viên của nhóm ngày hôm nay. Bên cạnh đó, không thể không kể đến sự tận tình giúp đỡ của các thầy cô trong bộ môn Điện tử -Viễn thông cũng như các thầy cô trong khoa Điện- Điện tử, các thầy cô đã hết mực giúp đỡ nhóm trong suốt quá trình học tập tại trường, không chỉ giáo dục nhóm về kiến thứcmà còn chỉ bảo những kỹ năng sống cần thiết để nhóm có thể đứng vững trong cuộc sống tự lập sau khi ra trường. Đặc biệt, nhóm thựchiện đề tài xin chân thành cảm ơn thầy Lê Minh Thành và thầy Đặng Phước Hải Trang là những giảng viên đã trực tiếp hướng dẫn nhóm trong quá trình thựchiện đề tài. Các thầy đã tận tình giúp đỡ nhóm trong quá trình học tập tại trường và thể hiện sự quan tâm với việc đảm nhận hướng dẫn nhóm thựchiện đề tài tốt nghiệp. Một lần nữa nhóm thựchiện xin chân thành biết ơn các bậc cha mẹ và chân thành cảm ơn quý thầy cô đã tận tình giúp đỡ nhóm trong quá trình học tập tại trường. TP HCM. Ngày 1 tháng 1 năm 2011 Nhóm thựchiện đề tài ThựchiệnbộgiảimãViterbitrênFPGA Trang ii Phần A: Giới thiệu QUYẾT ĐỊNH GIAO ĐỀ TÀI Họ và tên sinh viên: Huỳnh Minh Khả MSSV: 06117029 Lê Duy MSSV: 06117010 Ngành: Công Nghệ Điện tử - Viễn thông Tên đề tài: ThựchiệnbộgiảimãViterbitrênFPGA 1) Cơ sở ban đầu: Từ thực tiễn của việc thông tin di động và viễn thông ngày càng bùng nổ, cùng với sự đam mê trong lĩnh vực điện tử và viễn thông, nhóm thựchiện đề tài đã quyết định chọn nội dung đồán tốt nghiệp là mô tả một thuật giảimã kênh truyền phổ biến là thuật giảiViterbi cho mã xoắn. Đây có thể xem là một sự kết hợp tốt giữa kiến thức viễn thông và chuyên ngành điện tử. 2) Nội dung các phần thuyết minh và tính toán: o Tổng quan về hệ thống thông tin số. o Mã hóa chập và thuật toán giảimã Viterbi. o Mô phỏng thuật toán giảimãViterbitrên Matlab. o Xây dựng thuật toán giảimãViterbitrên KIT DE2. 3) Các bản vẽ: 4) Giáo viên hướng dẫn: ThS. Lê Minh Thành KS. Đặng Phước Hải Trang 5) Ngày giao nhiệm vụ: / /2010 6) Ngày hoàn thành nhiệm vụ: / /2011 Giáo viên hướng dẫn Ngày tháng năm 20…. Chủ nhiệm bộ môn BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do - Hạnh phúc ThựchiệnbộgiảimãViterbitrênFPGA Trang iii Phần A: Giới thiệu NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN ………………………………………………………… ……………………………………………………………… ……………………………………………………………… ……………………………………………………………… ……………………………………………………………… ……………………………………………………………… ……………………………………………………………… ……………………………………………………………… ……………………………………………………………… ……………………………………………………………… ……………………………………………………………… ……………………………………………………………… ……………………………………………………………… …………………………………………… TP Hồ Chí Minh, ngày tháng năm 2011 Giáo viên hướng dẫn ThựchiệnbộgiảimãViterbitrênFPGA Trang iv Phần A: Giới thiệu NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN ………………………………………………………… ……………………………………………………………… ……………………………………………………………… ……………………………………………………………… ……………………………………………………………… ……………………………………………………………… ……………………………………………………………… ……………………………………………………………… ……………………………………………………………… ……………………………………………………………… ……………………………………………………………… ……………………………………………………………… ……………………………………………………………… …………………………………………… TP Hồ Chí Minh, ngày tháng năm 2011 Giáo viên phản biện ThựchiệnbộgiảimãViterbitrênFPGA Trang v Phần A: Giới thiệu LỜI NÓI ĐẦ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 cho con người. 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 ngày càng ưu việt và mang lại hiệu quả cao hơn. Các công nghệ di động và viễn thông ngày một phát triển nhanh chóng để hướng tới mục đích tăng tốc độ cũng như chất lượng của các dịch vụ nhằm đáp ứng nhu cầu ngày càng cao của con người về các thiết bị không dây bỏ túi. Một trong những khâu quan trọng nhất của việc thông tin không dây đó là việc truyền và nhận tín hiệu. Điều này cần thiết phải có một loại mã hóa dành riêng cho kênh truyền có khả năng sửa chữa sai sót của tín hiệu truyền đi do các tác động của môi trường. Các hình thức được sử dụng để mã hóa kênh truyền trước đó đều có những khuyết điểm nhất định trong việc khôi phục dữ liệu bị sai sót trên đường truyền, thường chỉ có khả năng phát hiện lỗi và báo về bên phát để thựchiện truyền lại tin tức bị sai đó. Điều này làm chậm quá trình truyền tin tức. Bộmã hóa dùng mã chập và thuật giảimãViterbi là một chuẩn đang được ứng dụng rất rộng rãi trên toàn thế giới với nhiều ưu điểm vượt trội so với các hình thức trước đó, ngoài khả năng phát hiện lỗi tốt nhờ sự kiểm soát chặt chẽ tin tức truyền đi, nó còn có khả năng tự khôi phục các tin tức bị sai trong quá trình truyền trên kênh truyền. Điều này giúp giảm thiểu tối đa thời gian truyền nhận tin tức, dođó tốc độ dữ liệu ngày một được nâng cao. Tuy vẫn còn một số hạn chế nhất định trong việc khôi phục các đoạn tin tức sai hàng loạt, nhưng thuật toán Viterbi vẫn là sự lựa chọn ưu tiên và là nền tảng cho việc phát triển các hình thứcmã hóa và giảimã tốt hơn nữa hiện tại và sau này. Vì những ưu điểm nổi bật và tính ứng dụng cao của thuật toán này trong hiện tại và tương lai của ngành viễn thông, nhóm thựchiện quyết định chọn đề tài là “Thực hiệnbộgiảimãViterbitrên FPGA”. Trong phạm vi của cuốn đồán này, nhóm thựchiện đề tài sẽ giới thiệu khái quát về hai hình thứcmã hóa và giảimã này và tiến hành mô phỏng thuật toán mã hóa và giảimãđótrên Matlab cũng như mô tả phần cứng trên kit DE2 của Altera. Nội dung của đồán sẽ bao gồm các vấn đề sau: Chương 1: Tổng quan về hệ thống thông tin số ThựchiệnbộgiảimãViterbitrênFPGA Trang vi Phần A: Giới thiệu Giới thiệu về vị trí vai trò của mã hóa kênh truyền trong hệ thống thông tin số, so sánh hai hình thứcmã hóa là mã khối và mã trellis. Chương 2: Thuật toán Viterbi Khái niệm và phân tích mã chập, cách thứcmã hóa sử dụng mã chập, cũng như cấu trúc của bộmã hóa chập. Giới thiêu thuật toán giảimã Viterbi, nguyên lý thựchiệngiảimã và phân loại một số phương pháp giải mã. Chương 3: Xây dựng thuật giảiViterbi dùng Matlab Tiến hành đi mô phỏng thuật toán mã hóa mã chập và thuật toán giảimã Viterbi. Phân tích thuật toán Chương 4: Xây dựng thuật giảiViterbitrên kit DE2 Mô phỏng thuật toán thực tế hơn trên kit DE2 với các led hiển thị dữ liệu từ đó thấy được hiệu quả của thuật toán Viterbi, ứng dụng ngôn ngữ thiết kế phần cứng VHDL Chương 5: Kết luận Đánh giá kết quả thựchiện của đồán và đưa ra phương hướng phát triển của đề tài trong tương lai. TP HCM. Ngày … tháng … năm 2011 Nhóm thựchiện đề tài ThựchiệnbộgiảimãViterbitrênFPGA Trang vii Phần A: Giới thiệu MỤC LỤC Trang TRANG BÌA LỜI CẢM ƠN i QUYẾT ĐỊNH GIAO ĐỀ TÀI ii NHẬN XÉT CỦA GIÁO VIÊN HƢỚNG DẪN iii NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN iv LỜI NÓI ĐẦU v MỤC LỤC vii LIỆT KÊ HÌNH x LIỆT KÊ BẢNG xii PHẦN B: NỘI DUNG 13 CHƢƠNG 1: TỔNG QUAN HỆ THỐNG THÔNG TIN SỐ 14 1.1 Vị trí của mã hóa kênh trong hệ thống thông tin số 14 1.2 Khái niệm mã hóa kênh và phân loại 14 1.2.1 Khái niệm 14 1.2.2 Phân loại mã hóa kênh 15 1.3 Khái quát về mã khối và mã trellis 16 1.3.1 Mã khối 16 1.3.2 Mã trellis 17 CHƢƠNG 2: THUẬT TOÁN GIẢIMÃVITERBI 19 2.1 Khái niệm mã chập 19 2.2 Phân tích mã hóa dùng mã chập 19 2.3 Cấu trúc mã chập 23 2.4 Biểu diễn mã chập 27 2.5 Ưu nhược điểm của mã chập 30 2.5.1 Ưu điểm 30 2.5.2 Nhược điểm 30 2.6 Định nghĩa thuật toán Viterbi 30 2.7 Phân tích thuật giảiViterbi 31 2.8 Giảimã quyết định cứng và giảimã quyết định mềm 43 ThựchiệnbộgiảimãViterbitrênFPGA Trang viii Phần A: Giới thiệu 2.8.1 Thuật toán Viterbi quyết định cứng 43 2.8.2 Thuật toán Viterbi quyết định mềm 48 2.8.2.1 Thuật toán Viterbi quyết định mềm (phương pháp 1) 48 2.8.2.2 Thuật toán Viterbi quyết định mềm (phương pháp 2) 49 2.8.3 Ưu điểm của giảimã quyết định mềm so với giảimã quyết định cứng 51 2.9 Xác suất lỗi 54 2.10 Ưu nhược điểm của thuật toán giảimãViterbi 54 2.10.1 Ưu điểm 54 2.10.2 Nhược điểm 55 CHƢƠNG 3: MÔ PHỎNG THUẬT TOÁN VITERBITRÊN MATLAB 56 3.1 Giới thiệu 56 3.2 Sơ đồ khối hệ thống 56 3.3 Lưu đồ mô phỏng 57 3.3.1 Khối tạo bit ngõ vào 57 3.3.2 Khối mã hóa 58 3.3.3 Khối cộng nhiễu Gausse trắng 58 3.3.4 Khối giảimã 58 3.3.5 Tính toán và vẽ BER 59 3.4 Hình ảnh về chương trình mô phỏng 59 CHƢƠNG 4: XÂY DỰNG THUẬT TOÁN VITERBITRÊN KIT DE2 65 4.1 Giới thiệu sơ lược KIT DE2 và phần mềm Quartus 65 4.1.1 KIT DE2 của Altera 65 4.1.1.1 Tổng quan kit DE2 65 4.1.1.2 Sử dụng nút nhấn và Switch 67 4.1.1.3 Sử dụng LCD 68 4.1.2 Phần mềm lập trình Quatus II 68 4.2 Giải quyết vấn đề 69 4.2.1 Giảimãviterbi quyết định cứng 69 4.2.2 Giảimãviterbi quyết định mềm 73 4.3 Lưu dồ thuật toán lập trình 75 4.4 Kết quả 82 ThựchiệnbộgiảimãViterbitrênFPGA Trang ix Phần A: Giới thiệu CHƢƠNG 5: KẾT LUẬN 88 5.1 Tổng kết nhận xét 88 5.2 Tồn tại và hướng phát triển của đề tài 88 PHẦN C: PHỤ LỤC VÀ TÀI LIỆU THAM KHẢO 90 I. Phụ lục 91 1. Hướng dẫn sử dụng kit DE2 để mô phỏng 91 2. Tài nguyên sử dụng trên Kit DE2 91 3. Mã nguồn Matlab 93 4. Mã nguồn VHDL 105 II. Tài liệu tham khảo 123 [...]... dựa trên thuật toán Viterbi cũng như những ưu khuyết điểm của chúng Đồng thời ta tiến hành mô phỏng thuật toán trên Matlab và trên Kit FPGA để kiểm chứng thực tế hơn Còn đối với các mã trellis còn lại thì ta sẽ không phân tích trong phạm vi cuốn đồán này Chương 1: Tổng quan về hệ thống thông tin số ThựchiệnbộgiảimãViterbitrênFPGA Trang 19 CHƢƠNG 2 THUẬT GIẢIMÃVITERBI 2.1 Khái niệm mã chập Mã. .. phổ biến để giảimã chuỗi bit được mã hóa bởi bộmã hóa tích chập Chi tiết của một bộgiảimã riêng phụ thuộc vào một bộmã hóa tích chập tương ứng Thuật toán Viterbi không phải là một thuật toán đơn lẻ có thể dùng để giảimã những chuỗi bit mà được mã hóa bởi bất cứ một bộmã hóa chập nào Thuật toán Viterbi được khởi xướng bởi Andrew Viterbi năm 1967 như là một thuật toán giảimã cho mã chập qua các... lớn, nhưng nó lại có thời gian giảimã biến đổi Chương 2: Thuật giảimãViterbiThựchiệnbộgiảimãViterbitrênFPGA Trang 31 Còn ưu điểm của thuật toán giảimãViterbi là nó có thời gian giảimã ổn định Điều đó rất tốt cho việc thực thi bộ giảimã bằng phần cứng Nhưng mà yêu cầu về sự tính toán của nó tăng theo hàm mũ như là một hàm của chiều dài ràng buộc, vì vậy, trong thực tế, người ta thường giới... gốc Việc thựchiệnmã hóa dùng mã chập tương đối đơn giản hơn các loại mã sửa sai khác mà chất lượng mã hóa lại tốt Việc thựchiệnmã hóa dùng mã chập có thể được thựchiện bằng phần cứng và phần mềm Dựa trên hình thứcmã hóa mã chập cùng thuật giảiViterbi cho nó, các bộmã hóa sau này đều kế thừa những đặc tính ưu việt của nó 2.5.2 Nhược điểm Việc mã hóa và giảimã liên quan đến mã chập chỉ giải quyết.. .Thực hiện bộ giảimã Viterbi trênFPGA LIỆT KÊ HÌNH Hình 1.1: Vị trí của mã hóa kênh truyền trong hệ thống thông tin số Hình 1.2: Sự phân chia mã hóa kênh thành hai nhánh riêng biệt Hình 2.1: Bộmã hóa cho mã chập tốc độ R 1/ 2 Hình 2.2: Bộmã hóa hệ thống với R 1/ 2 Hình 2.3: Bộmã hóa hệ thống Hình 2.4: Sơ đồbộmã hóa hệ thống R 2 / 3 có phần cứng đơn giản Hình 2.5: Sơ đồ tổng quát bộ mã. .. bằng các phép hoán vị hàng và/hoặc cột của G(x) có thể thu được một ma trận đơn vị) Ví dụ 2.2.2: Cho mã hệ thống tốc độ R 2 có ma trận truyền sau: 3 Sơ đồ thể hiện của mã này cho trên hình 2.3: Chương 2: Thuật giảimãViterbiThựchiện bộ giảimã Viterbi trênFPGA Trang 23 Hình 2.3: Bộmã hóa hệ thống Một sơ đồmã hóa khác có hiệu quả hơn được mô tả ở hình 2.4: Hình 2.4: Sơ đồbộmã hóa hệ thống... 4.2: Sơ đồ khối KIT DE2 Hình 4.3: Chống dội phím nhấn Hình 4.4: Tính toán metric nhánh và metric đường cho bộgiảimãViterbi Hình 4.5: Lưu đồgiải thuật chính của chương trình Hình 4.6: Lưu đồgiải thuật bộ giảimã Hình 4.7: Lưu đồ chi tiết giải thuật giảimãviterbitren Kit DE2 Hình 4.8: Lưu đồ tính khoảng cách Hamming Hình 4.9: Lưu đồgiải thuật tính khoảng cách Euclidean Hình 4.10: Lưu đồ khối... diễn như sau: Chương 2: Thuật giảimãViterbiThựchiện bộ giảimã Viterbi trênFPGA Trang 27 Hình 2.7: Sơ đồbộmã chập với N=3, k=1, n=3 2.4 Biểu diễn mã chập Có ba phương pháp để biểu diễn mã chập đó là: sơ đồ lưới, sơ đồ trạng thái, và sơ đồ hình cây Để làm rõ phương pháp này ta tập trung phân tích dựa trên ví dụ hình 2.1 với bộmã (2,1,3), đa thức sinh (7,5) * Sơ đồ hình cây: Từ ví dụ hình 2.1,... hình 2.8).Với hướng lên là hướng của bit 0 đi vào bộ mã, nhánh đi xuống biểu hiện cho bit 1 được dịch vào Từ sơ đồ hình cây ta có thể thựchiệnmã hoá bằng cách dựa vào các bit đầu vào và thựchiện lần theo các nhánh của cây, ta sẽ nhận được tuyến mã, từ đó ta nhận được dãy các chuỗi đầu ra Chương 2: Thuật giảimãViterbiThựchiệnbộgiảimãViterbitrênFPGA Trang 28 00 00 00 00 11 00 10 00 10 11 0 01... Các bộ điều hành vi xử lý hiện đại có khả năng thựchiện những thuật toán tìm giảm ước nói trên với tỷ lệ trên 4000 từ mã trong một giây Đề tài chủ yếu nghiên cứu về thuật toán giảimãViterbi để thấy được ưu điểm của thuật toán trong việc giảm tối thiểu sai số khi mã hóa và giảimã tín hiệu Do đó, trong các phần tiếp theo của đồ án, chúng ta chỉ tìm hiểu việc mã hóa tin tức dùng mã chập và giảimã . vi cuốn đồ án này. Thực hiện bộ giải mã Viterbi trên FPGA Trang 19 Chương 2: Thuật giải mã Viterbi CHƢƠNG 2 THUẬT GIẢI MÃ VITERBI 2.1 Khái niệm mã chập Mã chập là một kỹ thuật mã hóa. toán này trong hiện tại và tương lai của ngành viễn thông, nhóm thực hiện quyết định chọn đề tài là Thực hiện bộ giải mã Viterbi trên FPGA . Trong phạm vi của cuốn đồ án này, nhóm thực hiện. tính toán: o Tổng quan về hệ thống thông tin số. o Mã hóa chập và thuật toán giải mã Viterbi. o Mô phỏng thuật toán giải mã Viterbi trên Matlab. o Xây dựng thuật toán giải mã Viterbi trên KIT