Thực hiện bộ giải mã VITERBI trên FPGA

131 1.1K 1
Thực hiện bộ giải mã VITERBI trên FPGA

Đ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ực hiện bộ giải mã VITERBI trên FPGA

<< 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ỰC HIỆN BỘ GIẢI VITERBI TRÊN FPGA 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ực hiện bộ giải Viterbi trên FPGA Trang i LỜI CẢM ƠN Phần A: Giới thiệu C u ố n đ ồ á n t ố t n g h i ệ p đ ã h o à n t h à n h đ ú n g t h ờ i g i a n q u y đ ị n h v à đ ạ t đ ư ợ c k ế t q u ả n h ư m o n g đ ợ i . Đ ể đ ạ t đ ư ợ c k ế t q u ả đ ó , t r ư ớ c h ế t n h ó m t h ự c h i ệ n m u ố n g ử i l ờ i b i ế t ơ n đ ế n c á c b ậ c c h a m ẹ đ ã k h ổ c ô n g s i n h t h à n h d ư ỡ n g d ụ c đ ể t ạ o n ê n n h ữ n g t h à n h v i ê n c ủ a n h ó m n g à y h ô m n a y . B ê n c ạ n h đ ó , k h ô n g t h ể k h ô n g k ể đ ế n s ự t ậ n t ì n h g i ú p đ ỡ c ủ a c á c t h ầ y c ô t r o n g b ộ m ô n Đ i ệ n t ử - V i ễ n t h ô n g c ũ n g n h ư c á c t h ầ y c ô t r o n g k h o a Đ i ệ n - Đ i ệ n t ử , c á c t h ầ y c ô đ ã h ế t m ự c g i ú p đ ỡ n h ó m t r o n g s u ố t q u á t r ì n h h ọ c t ậ p t ạ i t r ư ờ n g , k h ô n g c h ỉ g i á o d ụ c n h ó m v ề k i ế n t h ứ c m à c ò n c h ỉ b ả o n h ữ n g k ỹ n ă n g s ố n g c ầ n t h i ế t đ ể n h ó m c ó t h ể đ ứ n g v ữ n g t r o n g c u ộ c s ố n g t ự l ậ p s a u k h i r a t r ư ờ n g . Đ ặ c b i ệ t , n h ó m t h ự c h i ệ n đ ề t à i x i n c h â n t h à n h c ả m ơ n t h ầ y L ê M i n h T h à n h v à t h ầ y Đ ặ n g P h ư ớ c H ả i T r a n g l à n h ữ n g g i ả n g v i ê n đ ã t r ự c t i ế p h ư ớ n g d ẫ n n h ó m t r o n g q u á t r ì n h t h ự c h i ệ n đ ề t à i . C á c t h ầ y đ ã t ậ n t ì n h g i ú p đ ỡ n h ó m t r o n g q u á t r ì n h h ọ c t ậ p t ạ i t r ư ờ n g v à t h ể h i ệ n s ự q u a n t â m v ớ i v i ệ c đ ả m n h ậ n h ư ớ n g d ẫ n n h ó m t h ự c h i ệ n đ ề t à i t ố t n g h i ệ p . M ộ t l ầ n n ữ a n h ó m t h ự c h i ệ n x i n c h â n t h à n h b i ế t ơ n c á c b ậ c c h a m ẹ v à c h â n t h à n h c ả m ơ n q u ý t h ầ y c ô đ ã t ậ n t ì n h g i ú p đ ỡ n h ó m t r o n g q u á t r ì n h h ọ c t ậ p t ạ i t r ư ờ n g . T P H C M . N g à y 1 t h á n g 1 n ă m 2 0 1 1 N h ó m t h ự c h i ệ n đ ề t à i Thực hiện bộ giải Viterbi trên FPGA Trang ii    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ực hiện bộ giải Viterbi trên FPGA 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ực hiện đề tài đã quyết định chọn nội dung đồ án tốt nghiệp là mô tả một thuật giải kênh truyền phổ biến là thuật giải Viterbi cho 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 hóa chập và thuật toán giải Viterbi. o Mô phỏng thuật toán giải Viterbi trên Matlab. o Xây dựng thuật toán giải Viterbi trê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 Phần A: Giới thiệu 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ực hiện bộ giải Viterbi trên FPGA Trang iii 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 Phần A: Giới thiệu Thực hiện bộ giải Viterbi trên FPGA Trang iv 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 Phần A: Giới thiệu Thực hiện bộ giải Viterbi trên FPGA Trang v 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 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 để 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ực hiệ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ộ hóa dùng chập và thuật giải 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ức hóa và giải 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ực hiện quyết định chọn đề tài là “Thực hiện bộ giải Viterbi trên FPGA”. Trong phạm vi của cuốn đồ án này, nhóm thực hiện đề tài sẽ giới thiệu khái quát về hai hình thức hóa và giải này và tiến hành mô phỏng thuật toán hóa và giải đó 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ố Phần A: Giới thiệu Thực hiện bộ giải Viterbi trên FPGA Trang vi Giới thiệu về vị trí vai trò của hóa kênh truyền trong hệ thống thông tin số, so sánh hai hình thức hóa là khối và trellis. • Chương 2: Thuật toán Viterbi Khái niệm và phân tích chập, cách thức hóa sử dụng chập, cũng như cấu trúc của bộ hóa chập. Giới thiêu thuật toán giải Viterbi, nguyên lý thực hiện giải 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ải Viterbi dùng Matlab Tiến hành đi mô phỏng thuật toán hóa chập và thuật toán giải Viterbi. Phân tích thuật toán • Chương 4: Xây dựng thuật giải Viterbi trê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ực hiệ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ực hiện đề tài Phần A: Giới thiệu Thực hiện bộ giải Viterbi trên FPGA Trang vii MỤC LỤC Trang TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM 1 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 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 13 CHƯƠNG 1 14 1.1 Vị trí của hóa kênh trong hệ thống thông tin số 14 1.2 Khái niệm hóa kênh và phân loại 15 1.2.1 Khái niệm 15 1.2.2 Phân loại hóa kênh 16 1.3 Khái quát về khối và trellis 16 1.3.1 khối 16 1.3.2 trellis 17 CHƯƠNG 2 19 2.1 Khái niệm chập 19 2.2 Phân tích hóa dùng chập 19 2.3 Cấu trúc chập 23 2.4 Biểu diễn chập 27 2.5 Ưu nhược điểm của 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ải Viterbi 31 2.8 Giải quyết định cứng và giải quyết định mềm 43 Phần A: Giới thiệu Thực hiện bộ giải Viterbi trên FPGA Trang viii 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 49 2.8.2.1 Thuật toán Viterbi quyết định mềm (phương pháp 1) 49 2.8.2.2 Thuật toán Viterbi quyết định mềm (phương pháp 2) 50 2.8.3 Ưu điểm của giải quyết định mềm so với giải quyết định cứng 52 2.9 Xác suất lỗi 55 2.10 Ưu nhược điểm của thuật toán giải Viterbi 56 2.10.1 Ưu điểm 56 2.10.2 Nhược điểm 56 CHƯƠNG 3 57 3.1 Giới thiệu 57 3.2 Sơ đồ khối hệ thống 57 3.3 Lưu đồ mô phỏng 58 3.3.1 Khối tạo bit ngõ vào 58 3.3.2 Khối hóa 59 3.3.3 Khối cộng nhiễu Gausse trắng 59 3.3.4 Khối giải 59 3.3.5 Tính toán và vẽ BER 60 3.4 Hình ảnh về chương trình mô phỏng 60 CHƯƠNG 4 66 4.1 Giới thiệu sơ lược KIT DE2 và phần mềm Quartus 66 4.1.1 KIT DE2 của Altera 66 4.1.1.1 Tổng quan kit DE2 66 4.1.1.2 Sử dụng nút nhấn và Switch 68 4.1.1.3 Sử dụng LCD 69 4.1.2 Phần mềm lập trình Quatus II 69 4.2 Giải quyết vấn đề 70 4.2.1 Giải viterbi quyết định cứng 70 4.2.2 Giải viterbi quyết định mềm 74 4.3 Lưu dồ thuật toán lập trình 76 4.4 Kết quả 83 Phần A: Giới thiệu Thực hiện bộ giải Viterbi trên FPGA Trang ix CHƯƠNG 5: KẾT LUẬN 89 5.1 Tổng kết nhận xét 89 5.2 Tồn tại và hướng phát triển của đề tài 89 PHẦN C 91 I. Phụ lục 92 1. Hướng dẫn sử dụng kit DE2 để mô phỏng 92 2. Tài nguyên sử dụng trên Kit DE2 92 3. nguồn Matlab 95 4. nguồn VHDL 106 II. Tài liệu tham khảo 130 Phần A: Giới thiệu [...]... toán giải Viterbi là một trong hai loại thuật toán giải được sử dụng với bộ hóa chập- một loại khác đó là giải tuần tự Ưu điểm của giải tuần tự so với Viterbi là nó có thể hoạt động tốt với các chập có chiều dài ràng buộc lớn, nhưng nó lại có thời gian giải biến đổi Chương 2: Thuật giải Viterbi Thực hiện bộ giải Viterbi trên FPGA Trang 31 Còn ưu điểm của thuật toán giải mã. .. gốc Việc thực hiện hóa dùng chập tương đối đơn giản hơn các loại sửa sai khác chất lượng hóa lại tốt Việc thực hiện hóa dùng chập có thể được thực hiện bằng phần cứng và phần mềm Dựa trên hình thức hóa chập cùng thuật giải Viterbi cho nó, các bộ 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 hóa và giải liên quan đến chập chỉ giải quyết.. .Thực hiện bộ giải Viterbi trên FPGA LIỆT KÊ HÌNH Hình 1.1: Vị trí của hóa kênh truyền trong hệ thống thông tin số Hình 1.2: Sự phân chia hóa kênh thành hai nhánh riêng biệt Hình 2.1: Bộ hóa cho chập tốc độ R = 1 / 2 Hình 2.2: Bộ hóa hệ thống với R = 1 / 2 Hình 2.3: Bộ hóa hệ thống Hình 2.4: Sơ đồ bộ 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ã. .. dụ minh hoạ sau đây: Ví dụ 2.3.1: Xét (3,2,2) Bộ hoá được chỉ trong hình 2.6 Bây giờ được định nghĩa thông qua 2 ma trận: Bộ hoá là hệ thống, ma trận sinh được tạo ra: Chương 2: Thuật giải Viterbi Thực hiện bộ giải Viterbi trên FPGA Trang 26 Chuỗi thông tin u = ( 11011011…) được hóa thành chuỗi x = (111010100110…) Hình 2.6: Bộ chập (3,2,2) Một cách tương tự ta cũng có thể... 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ực hiện hoá bằng cách dựa vào các bit đầu vào và thực hiệ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ải Viterbi Thực hiện bộ giải Viterbi trên FPGA Trang 28 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 1... 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 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ực hiện bộ giải Viterbi trên FPGA Trang 19 CHƯƠNG 2 THUẬT GIẢI VITERBI 2.1 Khái niệm chập Mã. .. G(x) có thể thu được một ma trận đơn vị) Ví dụ 2.2.2: Cho hệ thống tốc độ R = 2 có ma trận truyền sau: 3 Sơ đồ thể hiện của này cho trên hình 2.3: Chương 2: Thuật giải Viterbi Thực hiện bộ giải Viterbi trên FPGA Trang 23 Hình 2.3: Bộ hóa hệ thống Một sơ đồ hóa khác có hiệu quả hơn được mô tả ở hình 2.4: Hình 2.4: Sơ đồ bộ hóa hệ thống R = 2 có phần cứng đơn giản 3 Giả sử: m(x)... được xây dựng các thuật toán giải quyết định mềm hiệu quả khối từ các khối k dấu (hay ký hiệu) tạo ra các khối n dấu Với các chập (thường được xem là các dòng), bộ hóa hoạt động trên dòng liên tục Chương 2: Thuật giải Viterbi Thực hiện bộ giải Viterbi trên FPGA Trang 20 các bit vào không được phân thành các khối tin rời rạc Tuy nhiên tốc độ n k được hiểu là cứ có k ngõ vào... Thực hiện bộ giải Viterbi trên FPGA Trang 16 khi máy nhận chỉ dời chỗ vài phân Anh Một lần nữa, người ta hiện đã có một loại hóa trên kênh truyền được thiết kế để đối đầu với tình trạng suy sóng 1.2.2 Phân loại hóa kênh Lý thuyết hóa đại số được chia ra làm 2 loại chính 1 khối 2 trellis Chúng phân tích ba đặc tính sau của (nói chung) là: • Chiều dài của • Tổng số các từ mã. .. chập được biểu diễn như sau: Chương 2: Thuật giải Viterbi Thực hiện bộ giải Viterbi trên FPGA Trang 27 Hình 2.7: Sơ đồ bộ chập với N=3, k=1, n=3 2.4 Biểu diễn chập Có ba phương pháp để biểu diễn 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ộ (2,1,3), đa thức sinh (7,5) * Sơ đồ hình cây: . thông tin số Thực hiện bộ giải mã Viterbi trên FPGA Trang 19 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 sửa sai. Mã chập thuộc họ mã lưới (mã hóa theo. 4.20: Mô phỏng trên Matlab Hình 4.21: Hình thực tế bộ kit 1 Hình 4.22: Hình thực tế bộ kit 2 Hình 4.23: Hình thực tế bộ kit 3 Phần A: Giới thiệu Thực hiện bộ giải mã Viterbi trên FPGA Trang xii LIỆT. nghĩa thuật toán Viterbi 30 2.7 Phân tích thuật giải Viterbi 31 2.8 Giải mã quyết định cứng và giải mã quyết định mềm 43 Phần A: Giới thiệu Thực hiện bộ giải mã Viterbi trên FPGA Trang viii 2.8.1

Ngày đăng: 30/03/2014, 19:39

Từ khóa liên quan

Mục lục

  • TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM

  • LỜI CẢM ƠN

  • QUYẾT ĐỊNH GIAO ĐỀ TÀI

  • NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

  • LỜI NÓI ĐẦU

  • MỤC LỤC

  • LIỆT KÊ HÌNH

  • LIỆT KÊ BẢNG

  • PHẦN B

    • CHƯƠNG 1

      • 1.1 Vị trí của mã hóa kênh trong hệ thống thông tin số

      • 1.2 Khái niệm mã hóa kênh và phân loại

        • 1.2.1 Khái niệm

        • 1.2.2 Phân loại mã hóa kênh

        • 1.3 Khái quát về mã khối và mã trellis

          • 1.3.1 Mã khối

          • 1.3.2 Mã trellis

          • CHƯƠNG 2

            • 2.1 Khái niệm mã chập

            • 2.2 Phân tích mã hóa dùng mã chập

            • 2.3 Cấu trúc mã chập

            • 2.4 Biểu diễn mã chập

            • 2.5 Ưu nhược điểm của mã chập

              • 2.5.1 Ưu điểm

              • 2.5.2 Nhược điểm

              • 2.6 Định nghĩa thuật toán Viterbi

Tài liệu cùng người dùng

Tài liệu liên quan