Đăng ký Đăng nhập
Trang chủ Thiết kế và hiện thực ip giải mã viterbi trên fpga ...

Tài liệu Thiết kế và hiện thực ip giải mã viterbi trên fpga

.PDF
86
5
69

Mô tả:

Đại Học Quốc Gia Tp. Hồ Chí Minh Đại Học QuốcĐẠI Gia HỌC Tp. Hồ Chí Minh TRƯỜNG BÁCH KHOA TRƯỜNG ĐẠI HỌC BÁCH KHOA ------------------------------------------------- NGUYỄN MINH KHÁNH NGỌC NGUYỄN TẤN KIỆT THIẾT KẾ VÀ HIỆN THỰC IP VÀ DGPS GIẢIỐNG MÃ GPS VITERBI TRÊN FPGA Chuyên ngành: KỸ THUẬT ĐIỆN TỬ Chuyên ngành: KỸ THUẬT ĐIỆN TỬ LUẬN LUẬNVĂN VĂNTHẠC THẠCSĨSĨ TP. HỒ CHÍ MINH, tháng 12 năm 2008 TP. HỒ CHÍ MINH, tháng 7 năm 2009 CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH Cán bộ hướng dẫn khoa học: 1. TS. PHAN HỒNG PHƯƠNG 2. ThS. HỒ TRUNG MỸ (Ghi rõ họ tên, học hàm, học vị và chữ ký) Cán bộ chấm nhận xét 1: (Ghi rõ họ tên, học hàm, học vị và chữ ký) Cán bộ chấm nhận xét 2: (Ghi rõ họ tên, học hàm, học vị và chữ ký) Luận văn thạc sĩ được bảo vệ tại HỘI ĐỒNG CHẤM BẢO VỆ LUẬN VĂN THẠC SĨ TRƯỜNG ĐẠI HỌC BÁCH KHOA, NGÀY THÁNG NĂM ĐẠI HỌC QUỐC GIA TP. HCM TRƯỜNG ĐẠI HỌC BÁCH KHOA ---------------- CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc Lập - Tự Do - Hạnh Phúc ---oOo--- Tp. HCM, ngày . . . . . tháng . . . . . năm 2009 NHIỆM VỤ LUẬN VĂN THẠC SĨ Họ và tên học viên: NGUYỄN MINH KHÁNH NGỌC Ngày, tháng, năm sinh: 01 – 09 – 1982 Chuyên ngành: KỸ THUẬT ĐIỆN TỬ Mã số ngành: 605270 MSHV: 01408378 Khoá (Năm trúng tuyển): 2008 Giới tính: Nữ Nơi sinh: Đà Nẵng 1- TÊN ĐỀ TÀI: Thiết kế và hiện thực IP giải mã Viterbi trên FPGA. 2- NHIỆM VỤ LUẬN VĂN: • Tìm hiểu cơ sở lý thuyết Thuật toán Viterbi và cách thức thiết kế một IP core. • Mô phỏng giải mã Viterbi trên Matlab. • Thiết kế lõi IP giải mã Vitrebi trên FPGA. Cài đặt thiết kế lên Kit DE2 của Altera • So sánh kết quả giữa mô phỏng Matlab và thi hành trên FPGA, nhận xét và đánh giá thiết kế. 3- NGÀY GIAO NHIỆM VỤ: 4- NGÀY HOÀN THÀNH NHIỆM VỤ: 06 – 07 – 2009 5- HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN 1: TS. PHAN HỒNG PHƯƠNG 2: ThS. HỒ TRUNG MỸ Nội dung và đề cương Luận văn thạc sĩ đã được Hội Đồng Chuyên Ngành thông qua. CÁN BỘ HƯỚNG DẪN (Họ tên và chữ ký) CHỦ NHIỆM BỘ MÔN QUẢN LÝ CHUYÊN NGÀNH (Họ tên và chữ ký) LỜI CẢM ƠN Đề tài “ Thiết kế và hiện thực IP giải mã Viterbi trên FPGA” đã được hoàn thành với sự hướng dẫn và giúp đỡ rất tận tình của Cô – Tiến Sĩ Phan Hồng Phương và Thầy – Thạc Sĩ Hồ Trung Mỹ. Xin ghi nhớ lòng biết ơn sâu sắc và gửi lời cảm ơn chân tình nhất đến cô thầy. Xin được gửi lời cảm ơn chân thành nhất đến các Thầy Cô Giáo giảng dạy chương trình Cao học ngành Kỹ Thuật Điện Tử trường Đại Học Bách Khoa Tp.Hồ Chí Minh đã cung cấp nhiều kiến thức quý báu và tạo mọi điều kiện thuận lợi cho em hoàn thành khóa học. Xin chân thành cảm ơn các bạn học viên cao học khóa 2007 và khóa 2008 ngành Kỹ Thuật Điện Tử trường Đại Học Bách Khoa Tp.Hồ Chí Minh đã nhiệt tình giúp đỡ trao dồi kiến thức trong quá trình học tập. Cuối cùng xin được gửi đến gia đình, bạn bè và đồng nghiệp lời cảm ơn chân thành nhất vì đã tạo mọi điều kiện thuận lợi và giúp đỡ về vật chất lẫn tinh thần trong quá trình học tập và thực hiện luận văn. Tp. Hồ Chí Minh, ngày 06 tháng 07 năm 2009 NGUYỄN MINH KHÁNH NGỌC Mục lục ------------------------------ CHƯƠNG 1: GIỚI THIỆU........................... 10 1.1. Đặt vấn đề ........................................................................ 10 1.1.1 Viterbi là ai?.......................................................................... 10 1.1.2. Thuật toán Viterbi................................................................. 12 1.1.3. Phương thức thiết kế IP ........................................................ 13 1.2. Nội dung nghiên cứu ....................................................... 14 1.3. Ý nghĩa đề tài................................................................... 15 CHƯƠNG 2: LÝ THUYẾT THUẬT TOÁN VITERBI .......................................................................................... 16 2.1. Vị trí và vai trò của mã hóa kênh................................... 16 2.2. Caáu truùc cuûa boä maõ hoùa tích chaäp ............................... 17 2.3. Giaûi maõ maõ tích chaäp Viterbi ....................................... 20 2.3.1 Giải mã quyết định mềm và quyết định cứng....................... 20 2.3.2. Thuật toán Viterbi quyết định cứng...................................... 21 2.3.3. Thuật toán Viterbi quyết định mềm...................................... 29 2.3.4. Xác suất lỗi ........................................................................... 33 CHƯƠNG 3: GIẢI MÃ VITERBI BẰNG MATLAB 35 5 3.1. Đặt vấn đề ........................................................................ 35 3.2. Sơ đồ khối......................................................................... 35 3.3. Lưu đồ mô phỏng ............................................................ 36 3.3.1. Khối nguồn tạo tín hiệu ............................................................ 38 3.3.2. Khối mã hóa ............................................................................. 38 3.3.3. Khối nhiễu kênh ....................................................................... 38 3.3.4. Khối giải mã ............................................................................. 38 3.4. Giao diện người sử dụng (GUI)...................................... 39 CHƯƠNG 4: THIẾT KẾ VÀ HIỆN THỰC................. 42 IP GIẢI MÃ VITERBI TRÊN FPGA........................... 42 4.1. Tổng Quan Về Board DE2.............................................. 42 4.1.1. Söû duïng Pushbuttons vaø Switches ........................................ 43 4.1.2. Söû duïng LCD Module .......................................................... 44 4.2. Thiết kế bộ giải mã Viterbi trên FPGA......................... 45 4.2.1. Kiến trúc thiết kế ...................................................................... 45 4.2.2. Giải thuật thiết kế ..................................................................... 48 4.2.3. Các thông số của IP core .......................................................... 50 4.2.4. Các tín hiệu ngõ vào và ngõ ra ................................................. 50 4.2.5. Sơ đồ tín hiệu kết nối................................................................ 51 4.2.6. Testbench.................................................................................. 53 6 4.2.7. Mô phỏng và chạy script .......................................................... 54 4.2.8. Hướng dẫn sử dụng Source Code file ...................................... 56 4.2.9. Nhiệm vụ các tín hiệu và thi hành trên Kit DE2 ...................... 57 CHƯƠNG 5: SO SÁNH - NHẬN XÉT - ĐÁNH GIÁ . 58 THIẾT KẾ ....................................................................... 58 5.1. So sánh kết quả ............................................................ 58 5.2. Đánh giá thiết kế .......................................................... 58 5.2.1. Quá trình thiết kế ...................................................................... 58 5.2.2. Ưu điểm .................................................................................... 59 5.2.3. Hạn chế ..................................................................................... 60 5.3. Công việc tương lai ...................................................... 60 BẢNG SỬ DỤNG TÀI NGUYÊN ................................... 61 TÀI LIỆU THAM KHẢO ................................................ 62 PHỤ LỤC......................................................................... 63 1. Testbench file ................................................................................ 63 2. Top level........................................................................................ 68 3. BMP Block .................................................................................... 73 4. TRB Block..................................................................................... 81 7 DANH MỤC HÌNH Hình 2-1: Sô ñoà khoái toång quaùt cuûa moät heä thoáng thoâng tin soá .........................16 Hình 2-2: Ví duï boä maõ tích chaäp trong ñoù x(i) laø chuøm bit thoâng tin ngoõ vaøo vaø c(i) laø chuøm bit ñöôïc maõ hoùa ngoõ ra ............................................................17 Hình 2-3: Boä maõ hoùa tích chaäp vôùi k=1, n=2, r=1/2, m=2, vaø K=3 ...................19 Hình 2-4: Bieåu dieãn baèng bieåu ñoà traïng thaùi .....................................................19 Hình 2-5: Biểu đồ trellis ........................................................................................ 20 Hình 2- 6: Giaûi maõ quyeát ñònh cöùng vaø meàm ....................................................21 Hình 2-7: Heä thoáng maõ tích chaäp .......................................................................22 Hình 2-8: Kieåu keânh heä thoáng nhò phaân, trong ñoù p laø xaùc suaát cheùo ...............24 Hình 2-9: Giaûi maõ Viterbi theo ví duï .................................................................29 Hình 3- 1: Sơ đồ khối............................................................................................. 35 Hình 3- 2: Lưu đồ mô phỏng ................................................................................. 37 Hình 3- 3: Giao diện người sử dụng (GUI)............................................................ 40 Hình 4- 1: Board Altera DE2 ................................................................................. 42 Hình 4- 2: Sơ đồ các khối chức năng trên board DE2 ........................................... 43 Hình 4- 3: Maïch Schmitt Trigger .......................................................................44 Hình 4- 4: Gán pin cho màn hình LCD.................................................................. 45 Hình 4- 5: Sơ đồ khối top level bộ giải mã Viterbi ............................................... 46 Hình 4- 6: Ví dụ cho hoạt động của giải mã Viterbi.............................................. 46 Hình 4- 7: Sơ đồ khối BMP ................................................................................... 47 Hình 4- 8: Luồng điều khiển khối traceback ......................................................... 48 Hình 4- 9: Lưu đồ thiết kế giải mã Viterbi trên FPGA.......................................... 49 Hình 4- 10: Sơ đồ tín hiệu khối Viterbi_LCD ....................................................... 52 Hình 4- 11: Sơ đồ tín hiệu khối Viterbi ................................................................. 52 Hình 4- 12: Sơ đồ tín hiệu khối BMP và TRB ...................................................... 53 Hình 4- 13: Kết quả mô phỏng 1 block v = 8 ........................................................ 55 Hình 4- 14: Kết quả mô phỏng 2 block v = 16 ...................................................... 56 8 THUẬT NGỮ TIẾNG ANH IP Sở hữu trí tuệ (Intellectual Property) FPGA Mảng cổng có thể lập trình được (Field-Programmable Gate Array) BMP Xử lý nhánh metric (Branch Metric Processing) BMC Tính toán nhánh metric (Branch Metric Calculation) ACS Cộng – So sánh – Lựa chọn (Add-Compare-Select) SUR Đường tồn tại (Survivor) TRB Truy ngược trở về (Tracing back) 9 Luận văn cao học K2007 CHƯƠNG 1: CBHD: TS. Phan Hồng Phương ThS. Hồ Trung Mỹ GIỚI THIỆU 1.1. Đặt vấn đề 1.1.1 Viterbi là ai? Andrew Viterbi, người phát minh thuật toán giải mã được sử dụng hầu hết trong các hệ thống thông tin trên các con tàu vũ trụ, tên lửa dẫn đường và các hệ thống thông tin di động (TTDĐ) tế bào, đồng sáng lập nhiều công ty viễn thông như Linkabit, Qualcomm. Nhưng ít ai biết được ông đã phải chạy trốn khỏi Bergamo, Italia cùng cha mẹ khi mới hơn 4 tuổi để sang định cư ở Mỹ với đôi bàn tay trắng năm ngày trước khi xảy ra thế chiến thứ 2. Những thành công ở các cương vị khác nhau kỹ sư thiết kế hệ thống, nhà kinh doanh, con đường khoa học với ông tất cả đều gói gọn trong bốn chữ “Đúng nơi đúng lúc”. Thời nhỏ cuộc sống của Viterbi rất khó khăn. Năm 10 tuổi, khi ngắm nhìn ngôi trường đại học công nghệ hàng đầu nước Mỹ, Viện công nghệ Massachusetts MIT từ bên này sông Charles, Viterbi luôn ao ước rằng mình sẽ phải là một sinh viên của trường khi tốt nghiệp trung học. Để thực hiện ước mơ đó, ông đã chọn cho mình một con đường duy nhất đó là làm việc và học tập chăm chỉ. Quyết tâm học tập của ông đã mang lại cho ông một cơ hội trở thành sinh viên trường MIT khi ông là một trong bốn học sinh có số điểm cao nhất khi tốt nghiệp trung học trên tổng số 225 sinh viên. Mặc dù được nhận vào học tại khoa Kỹ thuật Điện tại Đại học MIT, nhưng Andrew Viterbi vẫn không thể tập trung toàn bộ thời gian cho học tập, thay vào đó ông đã phải đăng ký học bán thời gian để có thời gian đi làm việc để kiếm sống. Sau năm năm ông đã có trong tay bằng đại học và thạc sỹ khoa học cùng một lúc vào năm 1957. Ngay sau khi tốt nghiệp, ông đã được mời tham gia vào nhóm nghiên cứu về thông tin liên lạc tại trung tâm nghiên cứu JPL (Jet Propulsion Laboratory) tại 10 Thiết kế IP giải mã Viterbi trên FPGA HVTH: Nguyễn Minh Khánh Ngọc Luận văn cao học K2007 CBHD: TS. Phan Hồng Phương ThS. Hồ Trung Mỹ California. Viterbi đã giành rất nhiều thời gian để nghiên cứu về việc bám và bắt tín hiệu cho hệ thống thông tin của vệ tinh Explore 1 được Mỹ phóng thành công vào tháng 2 năm 1958. Thời gian đó, Viterbi đã làm việc với thiết bị vòng khóa pha (phase lock loop) mà sau này đã được dùng phổ biến trong tất cả các hệ thống thông tin cả tương tự và số. Đối với Viterbi, được tham gia đóng góp vào sự thành công của Explore 1 là một vinh dự, nhưng lớn hơn nữa là những kinh nghiệm làm việc tại đây đã cho ông nhiều kinh nghiệm cũng như sự nghiệp mà sau này ông đã thành công với công nghệ trải phổ ở Qualcomm. Ngoài cùng với JPL tham gia những dự án tiên phong trong hệ thống thông tin vũ trụ và tên lửa, Viterbi còn tham gia vào chương trình nghiên cứu sinh bán thời gian tại khoa Kỹ thuật Điện của trường đại học South California, đây có lẽ là một trong số ít các trường đại học tư của Mỹ lúc bấy giờ cho các nghiên cứu sinh ngoài làm nghiên cứu còn có thể đi làm việc cho các hãng. Vào năm 1962, khi nhận được tấm bằng tiến sỹ ông đã được mời làm trợ giảng tại trường Đại học California, Los Angeles. Đối với ông, đam mê nghiên cứu bao nhiêu thì ao ước được giảng dạy cũng nhiều bấy nhiêu. Vì vậy, ông quyết định về giảng dạy chuyên ngành lý thuyết thông tin và thông tin số tại trường đại học California. Khi giảng dạy chuyên đề về tách tín hiệu ra khỏi nhiễu, ông thấy rằng nếu giảng dạy cho sinh viên bằng cách thông thường thì quá phức tạp và khó hiểu. Lúc đó, ông nảy ra ý định tìm một cách nào đó để có thể giúp sinh viên của ông tiếp cận vấn đề một cách đơn giản nhất. Theo như ông nói, công trình nghiên cứu sinh của ông thì không có gì đáng bàn nhưng nó lại mang lại cho ông một nền tảng vững chắc cho những thành công sau này. Những nền tảng kiến thức cũng như kinh nghiệm làm việc ở nhiều dự án lớn tại JPL đã giúp Viterbi tìm ra lời giải cho vấn đề của mình chỉ trong vòng 3 tháng. Lời giải đó sau này được mang tên ông "Thuật toán Viterbi". 11 Thiết kế IP giải mã Viterbi trên FPGA HVTH: Nguyễn Minh Khánh Ngọc Luận văn cao học K2007 CBHD: TS. Phan Hồng Phương ThS. Hồ Trung Mỹ 1.1.2. Thuật toán Viterbi Trong bất kỳ một hệ thống truyền dẫn vô tuyến nào từ tương tự đến hệ thống số, các tín hiệu đều phải được điều chế lên một tần số sóng mang nhất định để truyền dẫn qua không gian. Do đó, dù là các tàu vũ trụ, các tên lửa hay hệ thống thông tin tế bào thì vấn đề tách tín hiệu ra khỏi nhiễu đóng vai trò cốt lõi thể hiện tính ưu việt của mỗi hệ thống thông tin. Trong vũ trụ, tín hiệu luôn bị chìm sâu vào trong nhiễu do nhiễu vô tuyến từ các thiên hà hoặc quá trình phát xạ từ mặt trời. Hay như trên mặt đất, tín hiệu của một máy vô tuyến tế bào bị gây nhiễu bởi rất nhiều máy phát vô tuyến tế bào khác xung quanh nó. Vậy làm thế nào để có thể tách tín hiệu cần thiết ra khỏi nhiễu? Để thực hiện điều đó, người ta đã dùng giải pháp mã hóa kênh các tín hiệu để thêm vào thông tin gốc các bit dư để bảo vệ trước khi chúng được phát qua kênh truyền có nhiễu. Bằng cách mã hóa kênh như vậy, các bit thông tin (bit 0 hay 1) có thể được biểu diễn không chỉ biểu diễn bằng một góc dịch pha (Điều chế khóa pha M-PSK) mà còn có thể được biểu diễn bằng 4, 8 hoặc nhiều hơn nữa các ký hiệu. Với hệ thống dùng mã hóa kênh, ở phía thu chúng ta không tách các bit thông tin thực tế mà thay vào đó là các ký hiệu mã hóa để từ các ký hiệu đó chúng ta có thể khôi phục lại các bit thông tin gốc. Ý tưởng cơ bản của giải pháp lựa chọn mã hóa kênh là nếu như một trong số các ký hiệu phát qua kênh bị méo do nhiễu thì những ký hiệu bị ảnh hưởng bởi nhiễu ít hơn sẽ giúp giải mã các bit thông tin thực tế với độ tin cậy cao hơn. Trong môi trường nhiễu, có một thực tế là nếu ngay khi nhận được tín hiệu thu chúng ta thực hiện giải mã các bit 0 hoặc 1 thì hiệu quả sẽ không cao. Thay vào đó, chúng ta chỉ đánh giá độ tin cậy, (rất tin cậy, tin cậy, tin cậy thấp , tin cậy rất thấp), khi giải mã bit 1 hoặc bit 0 dựa trên tín hiệu thu được. Với cách giải mã như vậy người ta gọi là quyết định mềm (soft decision). Những thông tin thể hiện độ tin cậy của quyết định mềm đó được đưa đến bộ giải mã để tìm ra 12 Thiết kế IP giải mã Viterbi trên FPGA HVTH: Nguyễn Minh Khánh Ngọc Luận văn cao học K2007 CBHD: TS. Phan Hồng Phương ThS. Hồ Trung Mỹ bit thông tin gốc là 0 hay 1 thông qua việc so sánh kết quả với những bit thông tin lân cận. Giải thuật mềm như đã nêu ở trên sẽ rất phức tạp, độ phức tạp sẽ tăng theo hàm mũ khi độ dài các thanh ghi dịch trong bộ tạo mã tăng lên. Công trình nghiên cứu trong vòng ba tháng của Viterbi đã làm giảm độ phức tạp thông qua việc kết hợp các quyết định mềm để quyết định chuỗi bit thông tin nào là giống với chuỗi bit được phát đi nhất. Giải pháp này của Viterbi đã được chứng minh là cho kết quả giống với kết quả của phương pháp giải mã tối ưu với độ phức tạp cao. Với ưu điểm đó, JPL ngay lập tức sử dụng thuật toán giải mã Viterbi trong hệ thống thông tin vệ tinh cũng như vũ trụ của mình. Sau này các hệ thống thông tin quân sự cũng như các mạng thông tin số như các tuyến truyền dẫn viba hay hệ thống TTDĐ tế bào GSM, CDMA đều dùng thuật toán giải mã này giải mã mã xoắn. 1.1.3. Phương thức thiết kế IP Trong ngành thiết kế vi mạch, một lõi sở hữu trí tuệ bán dẫn (semiconductor intellectual property core), hay gọi tắt là lõi IP (IP core) là một bộ phận thiết kế cho phép tái sử dụng (reusable unit). Lõi IP có thể là một thiết kế cho một mạch logic, một tế bào, hay cho cả một chip. Đứng về quyền sử dụng thì lõi IP là sở hữu trí tuệ của một cá nhân hay của một công ty nào đó đã tạo ra nó . Người hoặc công ty làm chủ lõi IP này có thể nhượng quyền sử dụng đến một công ty hay một cá nhân khác. Khái niệm này được suy ra từ việc nhượng quyền bằng sáng chế và luật sở hữu mã nguồn trong công nghệ phần mềm. Trong thiết kế vi mạch số, lõi IP thường được cung cấp dưới dạng netlist của các cổng tổng quát (generic gate netlists). Netlist là một mô tả dạng đại số Boolean (gồm các cổng, các tế bào chuẩn) hình thành nên lõi IP, tương tự như mã hợp ngữ của một chương trình ứng dụng cấp cao. Đồng thời, một số khách hàng đề nghị cung cấp dạng khả tổng hợp (synthesizable) của lõi IP , tức là cung cấp dưới dạng ngôn ngữ mô tả phần cứng như Verilog hay VHDL, cho phép khách hàng có thể sửa đổi ở mức chức năng. Cả netlist và lõi khả tổng 13 Thiết kế IP giải mã Viterbi trên FPGA HVTH: Nguyễn Minh Khánh Ngọc Luận văn cao học K2007 CBHD: TS. Phan Hồng Phương ThS. Hồ Trung Mỹ hợp đều được gọi là ‘lõi mềm, mà muốn đưa vào thiết kế chip hoàn chỉnh, khách hàng cần phải tiếp tục thực hiện qui trình thiết kế SPR (synthesis – tổng hợp, đặt và nối dây – placement and route). Trong trường hợp thiết kế vi mạch tương tự (analog) hoặc vi mạch hỗn hợp (mixed-signal) thì khách hàng lại cần một mô tả lõi theo kiểu vật lý, mức thấp. Do đó, các lõi IP vi mạch tương tự (PLL, DAC, ADC, ...) được cung cấp dưới dạng layout của transistor (thường là file GDSII). Đôi khi một số lõi IP vi mạch số cũng có thể được cung cấp ở dạng này. Những lõi IP có dạng như vậy, kể cả vi mạch tương tự, số hay hỗn hợp, được gọi là ‘lõi cứng’, bởi vì chức năng ứng dụng của lõi lúc này không thể được sửa đổi bởi khách hàng. Đồng thời, file layout transistor phải tuân theo luật thiết kế và chế tạo của nhà máy sản xuất cụ thể nào đó, do đó gần như không thể chuyển lõi IP cứng được thiết kế cho quy trình của nhà máy này sang nhà máy khác. Tóm lại, có hai dạng lõi IP: + Lõi IP mềm : có tính linh hoạt nhất, cho phép người dùng sửa đổi chức năng khi cần thiết. Nhưng để đưa vào thiết kế toàn bộ, khách hàng phải thực hiện các bước tổng hợp, đặt và nối dây...Như vậy, không đảm bảo chắc chắn sẽ đạt được các luật thiết kế của nhà máy, tối ưu về thời gian, diện tích... + Lõi IP cứng: được thiết kế như là một “hộp đen”, khách hàng chỉ việc sử dụng. Không linh hoạt vì khách hàng không thể sửa đổi. Chỉ ứng dụng với một qui trình sản xuất của một nhà máy chế tạo cụ thể. Người cung cấp IP đảm bảo tuân thủ các luật thiết kế của nhà máy, thông báo rõ tần số làm việc, diện tích chiếm chỗ... của IP do mình tạo ra. 1.2. Nội dung nghiên cứu Đề tài bao gồm các nội dung nghiên cứu sau: 1. Tìm hiểu cơ sở lý thuyết Thuật toán Viterbi 14 Thiết kế IP giải mã Viterbi trên FPGA HVTH: Nguyễn Minh Khánh Ngọc Luận văn cao học K2007 CBHD: TS. Phan Hồng Phương ThS. Hồ Trung Mỹ 2. Tìm hiểu cách thức thiết kế một IP core 3. Mô phỏng giải mã Viterbi trên Matlab 3. Thiết kế lõi IP cứng giải mã Vitrebi trên FPGA 4. Xây dựng GUI giao diện người sử dụng 5. Xây dựng testbench kiểm tra chức năng IP Viterbi 6. Cài đặt thiết kế lên Kit DE2 của Altera 7. So sánh kết quả giữa mô phỏng Matlab và thi hành trên FPGA, nhận xét và đánh giá thiết kế. 1.3. Ý nghĩa đề tài Đề tài đi theo hướng nghiên cứu ứng dụng thuật toán Viterbi, từ đó thiết kế lõi IP giải mã Viterbi được cài đặt trên FPGA. Kết quả của đề tài có thể được ứng dụng trong hệ thống thông tin vệ tinh, Wimax, CDMA, nhận dạng tiếng nói… 15 Thiết kế IP giải mã Viterbi trên FPGA HVTH: Nguyễn Minh Khánh Ngọc Luận văn cao học K2007 CBHD: TS. Phan Hồng Phương ThS. Hồ Trung Mỹ CHƯƠNG 2: LÝ THUYẾT THUẬT TOÁN VITERBI 2.1. Vị trí và vai trò của mã hóa kênh Hình 2-1 trình baøy sô ñoà khoái toång quaùt cơ bản cuûa moät heä thoáng thoâng tin soá. Hình 2-1: Sô ñoà khoái toång quaùt cuûa moät heä thoáng thoâng tin soá Töø hình 2-1 ta coù theå thaáy ñöôïc vò trí cuûa maõ hoùa keânh (channel coding) trong heä thoáng thoâng tin soá. Maõ hoùa coù nhieàu loaïi: maõ hoùa nguoàn vaø maõ hoùa keânh.  Maõ hoùa nguoàn (source coding): muïc ñích laø ñeå laøm giaûm thieåu ñoä dö tin, töùc loaïi boû nhöõng thoâng tin khoâng caàn thieát, ñeå truyeàn tin theo moät caùch nhanh nhaát vaø phía thu deã nhaän nhaát.  Maõ hoùa keânh: muïc ñích laø laøm giaûm thieåu xaùc suaát sai thoâng tin khi truyeàn qua keânh truyeàn. 16 Thiết kế IP giải mã Viterbi trên FPGA HVTH: Nguyễn Minh Khánh Ngọc Luận văn cao học K2007 CBHD: TS. Phan Hồng Phương ThS. Hồ Trung Mỹ Vieäc giaûm thieåu xaùc suaát sai döïa vaøo vieäc phaùt hieän sai vaø söûa sai coù theå daãn ñeán vieäc giaûm tæ soá tín hieäu treân nhieãu (SNR) caàn thieát, nhôø ñoù giaûm ñöôïc coâng suaát, tieát kieäm naêng löôïng. Vieäc söûa sai höõu hieäu vôùi tæ soá SNR nhoû seõ laøm thuaän lôïi cho vieäc baûo maät, traûi phoå vaø taêng ñoä chính xaùc cuûa thoâng tin nhaän – muïc ñích quan troïng nhaát cuûa truyeàn thoâng. Qua đó ta thấy được vò trí vaø vai troø cuûa maõ hoùa keânh trong heä thoáng thoâng tin số. Luaän vaên nghieân cöùu veà maõ Vitrebi laø moät maõõ tích chaäp. Vì theá tác giả sẽ trình baøy ngaén goïn caùc vaán ñeà caên baûn cuûa maõ tích chaäp, laø moät khôûi ñaàu caàn thieát cho việc tìm hiểu giãi mã Viterbi. 2.2. Caáu truùc cuûa boä maõ hoùa tích chaäp Moät maõ tích chaäp ñöa caùc bit kieåm tra vaøo chuøm bit döõ lieäu thoâng qua vieäc söû duïng caùc boä thanh ghi dòch tuyeán tính D nhö trong Hình 2-2. x(1) x(2) D D D D D + c(1) + c(2) + c(3) Hình 2-2: Ví duï boä maõ tích chaäp trong ñoù x(i) laø chuøm bit thoâng tin ngoõ vaøo vaø c(i) laø chuøm bit ñöôïc maõ hoùa ngoõ ra 17 Thiết kế IP giải mã Viterbi trên FPGA HVTH: Nguyễn Minh Khánh Ngọc Luận văn cao học K2007 CBHD: TS. Phan Hồng Phương ThS. Hồ Trung Mỹ Caùc bit thoâng tin ñöôïc ñöa vaøo caùc thanh ghi dòch vaø caùc bit ñöôïc maõ hoùa ngoõ ra ñöôïc laáy baèng boä coäng modulo-2 cuûa caùc bit thoâng tin ngoõ vaøo vôùi noäi dung cuûa caùc thanh ghi dòch. Toác ñoä maõ hoùa r cuûa maõ tích chaäp ñöôïc ñònh nghóa nhö sau: r= k n (C- II.1) trong ñoù k laø soá caùc bit thoâng tin ngoõ vaøo song song vaø n laø soá caùc bit ñöôïc maõ hoùa ngoõ ra song song taïi moät thôøi ñieåm. Chieàu daøi baét buoäc K (constraint length) ñoái vôùi maõ tích chaäp ñöôïc ñònh nghóa (C- II.2) K = m+1 Trong ñoù m laø soá oâ nhôù lôùn nhaát trong baát cöù boä thanh ghi dòch naøo. Caùc thanh ghi dòch löu tröõ thoâng tin traïng thaùi cuûa boä maõ hoùa tích chaäp vaø chieàu daøi baét buoäc lieân keát soá löôïng caùc bit ngoõ ra phuï thuoäc. Ñoái vôùi boä maõ hoùa tích chaäp trong Hình 2-2, toác ñoä maõ hoùa r=2/3, kích côõ boä nhôù lôùn nhaát m=3, vaø chieàu daøi baét buoäc K=4 Moät maõ tích chaäp coù theå trôû neân raéc roái khi noù coù caùc toác ñoä maõ hoùa vaø caùc chieàu daøi baét buoäc bieán ñoåi. Moät maõ tích chaäp ñôn giaûn nhö ôû Hình 2-3 seõ ñöôïc duøng ñeå laøm ví duï moâ taû caùc ñaëc tính maõ hoùa. 18 Thiết kế IP giải mã Viterbi trên FPGA HVTH: Nguyễn Minh Khánh Ngọc Luận văn cao học K2007 CBHD: TS. Phan Hồng Phương ThS. Hồ Trung Mỹ c(1) + x(1) D D + c(2) Hình 2-3: Boä maõ hoùa tích chaäp vôùi k=1, n=2, r=1/2, m=2, vaø K=3 Hình 2-4: Bieåu dieãn baèng bieåu ñoà traïng thaùi 19 Thiết kế IP giải mã Viterbi trên FPGA HVTH: Nguyễn Minh Khánh Ngọc Luận văn cao học K2007 CBHD: TS. Phan Hồng Phương ThS. Hồ Trung Mỹ Bieåu dieãn baèng bieåu ñoà trellis Bieåu ñoà trellis cô baûn laø veõ laïi sô ñoà traïng thaùi. Noù bieåu dieãn taát caû söï chuyeån tieáp traïng thaùi coù theå taïi moãi böôùc thôøi gian. Thoâng thöôøng, coù chuù thích keøm theo bieåu ñoà trellis ñeå bieåu dieãn caùc söï chuyeån tieáp traïng thaùi vaø ngoõ ra töông öùng vaø caùc aùnh xaï bit ngoõ ra (x/c). Hình 2-5: Biểu đồ trellis 2.3. Giaûi maõ maõ tích chaäp Viterbi 2.3.1 Giải mã quyết định mềm và quyết định cứng Giaûi maõ quyeát ñònh meàm vaø quyeát ñònh cöùng döïa vaøo loaïi löôïng töû hoùa söû duïng ôû caùc bit nhaän ñöôïc. Giaûi maõ quyeát ñònh cöùng söû duïng löôïng töû hoùa 1bit treân caùc giaù trò keânh nhaän ñöôïc. Giaûi maõ quyeát ñònh meàm söû duïng löôïng töû hoùa nhieàu-bit treân caùc giaù trò keânh nhaän ñöôïc. Ñoái vôùi giaûi maõ quyeát ñònh meàm lyù töôûng (löôïng töû hoùa khoâng xaùc ñònh), caùc giaù trò keânh nhaän ñöôïc 20 Thiết kế IP giải mã Viterbi trên FPGA HVTH: Nguyễn Minh Khánh Ngọc
- Xem thêm -

Tài liệu liên quan