Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 104 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
104
Dung lượng
3,67 MB
Nội dung
Đại Học Quốc Gia Tp Hồ Chí Minh TRƯỜNG ĐẠI HỌC BÁCH KHOA NGUYỄN CHÍ CƯỜNG PHÂN TÍCH VÀ THIẾT KẾ MÃ GIỐNG TURBO TRÊN FPGA Chuyên ngành : Kỹ thuật điện tử LUẬN VĂN THẠC SĨ TP HỒ CHÍ MINH, tháng 12 năm 2008 Đại Học Quốc Gia Tp Hồ Chí Minh TRƯỜNG ĐẠI HỌC BÁCH KHOA NGUYỄN CHÍ CƯỜNG PHÂN TÍCH VÀ THIẾT KẾ MÃ GIỐNG TURBO TRÊN FPGA Chuyên ngành : Kỹ thuật điện tử LUẬN VĂN THẠC SĨ TP HỒ CHÍ MINH, tháng 12 năm 2008 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 TP HỒ CHÍ MINH Cán hướng dẫn khoa học: ThS HỒ TRUNG MỸ (Ghi rõ họ tên, học hàm, học vị chữ ký) Cán chấm nhận xét : ………………………………………… (Ghi rõ họ tên, học hàm, học vị chữ ký) Cán chấm nhận xét 2: ………………………………………… (Ghi rõ họ tên, học hàm, học vị chữ ký) Luận văn thạc só bảo vệ HỘI ĐỒNG BẢO VỆ LUẬN VĂN THẠC SĨ TRƯỜNG ĐẠI HỌC BÁCH KHOA, ngày 26 tháng 12 năm 2008 ĐẠI HỌC QUỐC GIA TP HCM TRƯỜNG ĐẠI HỌC BÁCH KHOA CỘNG HOÀ XÃ HỘI CHỦ NGHIÃ VIỆT NAM Độc Lập - Tự Do - Hạnh Phúc -oOo Tp HCM, ngày 16 tháng 12 năm 2008 NHIỆM VỤ LUẬN VĂN THẠC SĨ Họ tên học viên: Nguyễn Chí Cường Giới tính : Nam Ngày, tháng, năm sinh : 11/03/1978 Nơi sinh : Ninh Thuận Chuyên ngành : Kỹ Thuật điện tử Khoá (Năm trúng tuyển) : 2005 1- TÊN ĐỀ TÀI: PHÂN TÍCH VÀ THIẾT KẾ MÃ GIỐNG TURBO TRÊN FPGA 2- NHIỆM VỤ LUẬN VĂN: • Tìm hiểu mã hóa kênh • Tìm hiểu mã Turbo • Phân tích thiết kế mã giống Turbo • Tím hiểu FPGA kit Spartan3A • Viết chương trình mơ mã hóa giải mã Matlab • Viết chương trình mơ mã hóa giải mã FPGA • Khảo sát đánh giá kết 3- NGÀY GIAO NHIỆM VỤ : 21/01/2008 4- NGÀY HOÀN THÀNH NHIỆM VỤ : 01/12/2008 5- HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: Th.S HỒ TRUNG MỸ Nội dung đề cương Luận văn thạc sĩ Hội Đồng Chuyên Ngành thông qua CÁN BỘ HƯỚNG DẪN (Họ tên chữ ký) CHỦ NHIỆM BỘ MÔN QUẢN LÝ CHUYÊN NGÀNH (Họ tên chữ ký) LỜØI CẢÛM ƠN Em xin bày tỏ lòng biết ơn sâu sắc đến thầy cô truyền đạt kiến thức quý báu cho chúng em khóa học giúp em có đủ kiến thức vận dụng kiến thức để hoàn thành đề tài luận văn Em xin chân thành cảm ơn thầy Hồ Trung Mỹ hết lòng quan tâm hướng dẫn tận tình, cung cấp tài liệu, tạo điều kiện thuận lợi tốt để em hoàn thành tốt đề tài Xin cảm ơn cha mẹ vợ động viên, khích lệ tinh thần, hậu phương vững để yên tâm công tác, hoàn thành nhiệm vụ luận văn suốt khoảng thời gian vừa qua Xin cảm ơn tất bạn bè giúp đỡ động viên, chia sẻ tài liệu trình học tập thời gian thực luận văn Thành phố Hồ Chí Minh Ngày 16 tháng 12 năm 2008 Tóm tắt Trong hệ thống viễn thông, đảm bảo độ tin cậy, tốc độ truyền hệ thống thông số quan trọng Trong mã hóa kênh nhằm đảm bảo cải thiện yếu tố Năm 1943 Shanon xác định giới hạn dung lượng kênh không nhớ Từ đó, thiết kế hệ thống viễn thông, phải tối ưu dung lượng kênh, làm cho dung lượng kênh tiến tới giới hạn Shanon Kể từ năm 1993 mã Turbo phát cải tiến vấn đề dung lượng kênh, khả sửa sai hệ thống viễn thông tiến tới giới hạn Shanon so với mã trước Khi nói tới mã Turbo, quan tâm tới giải thuật mã hóa giải mã nó, khả ứng dụng hệ thống thông tin Với phát triển công nghệ vi mạch, mật độ tích hợp tốc độ cao khả tích hợp Chip FPGA thích hợp ứng dụng hệ thống thông tin số Luận văn tập trung vào việc nghiên cứu mã Turbo, lý thuyết mã hóa kênh hệ thống kênh AWGN Từ tổng quát hóa thành lớp mã khác giống với mãø Turbo mà giới hạn dung lượng gần với giới hạn lý tưởng Shanon thông qua giải thuật mô Matlab kit FPGA cụ thể kit Spartan3A hãng Xilinx TpHCM, ngày 16 tháng 12 năm 2008 Nguyễn Chí Cường MỤC LỤC Chương I Giới thiệu mã hóa kênh 1.1 Vị trí vai trò mã hóa kênh 1.2 Một số vấn đề 1.2.1 Giới hạn Shannon 1.2.2 Các loại kiểm soát sai 1.2.3 Phân loại FEC Chương II Tổng quan mã Turbo 14 2.1 Sự đời Mã turbo 14 2.2 Bộ Mã hóa đệ qui RSC 15 2.3 Bộ Mã Turbo kết nối dạng song song 27 2.3.1 Kỹ thuật xóa 29 2.3.2 Bộ chèn 29 2.3.2.1 Bộ chèn ma traän 31 2.3.2.2 Bộ chèn Helical 31 2.3.2.3 Boä chèn ngẫu nhiên 32 2.3.2.4 Bộ chèn dịch vòng 32 2.3.3 Bộ giải mã 33 2.3.3.1 Giải mã lặp cho mã kết nối 33 2.3.3.2 Tổng quan thuật toán giải mã 33 Chương III Mã Turbo-like 51 3.1 Các kênh ngõ vào không nhớ biên liên kết 52 3.1.1 Bộ đếm trọng số 52 3.1.2 Ước lượng đếm trọng số 53 3.2 Các kênh ngõ vào có nhớ biên liên kết 55 3.3 Mã lặp tích lũy 57 3.4 Giải mã lặp mã RA 61 3.4.1 Biểu diễn mã RA đồ thị Tanner 61 3.4.2 Thực message passing đồ thị Tanner 62 3.4.3 Thực mã RA với giải mã lặp 63 3.4.4 Dung lượng kênh đạt giải mã lặp 64 Chương IV Mô mã Turbo-like Matlab 4.1 Khối mã hóa turbo-like 65 4.1.1 Khối tạo tín hiệu ngẫu nhiên 65 4.1.2 Khối tạo RSC 65 4.1.3 Khối mã hóa kênh E2PR4 66 4.1.4 Khoái chèn giải chèn 68 4.1.5 Khối xóa giải xoùa 68 4.1.6 Khối tạo nhiễu 69 4.2 Bộ giải mã MAP 69 4.2.1 Khoái tạo nhánh metric cho giải mã E2PR4 70 4.2.2 Các nhớ metric trạng thái metric nhánh 72 4.2.3 Các đơn vị ACS 74 4.2.4 Tính Lambda 76 Chương V Cài đặt mã Turbo-like FPGA 5.1 Giới thiệu chung FPGA 77 5.1.1 Khaùi niệm ứng dụng FPGA 77 5.1.2 Kiến trúc FPGA 78 5.1.2.1 Kiến trúc chung FPGA 78 5.1.2.2 So sánh kiến trúc nhỏ kiến trúc lớn 82 5.1.2.3 So sánh SDRAM Programming anti-fuse Programming 82 5.1.2.4 Cấu trúc FPGA Spartan3 83 5.1.3 Ngoân ngữ mô tả phần cứng VHDL 84 5.2 Giới thiệu kit Spartan 3AN hãng Xilinx 84 5.2.1 Spartan 3AN 84 5.2.2 Giới thiệu hãng Xilinx công cụ lập trình 86 5.3 Sơ đồ cấu trúc khối xử lý trung tâm 89 5.4 Thiết kế giao diện điều khiển hệ thoáng 90 Kết luận 91 Tài liệu tham khaûo 93 Trang CHƯƠNG I GIỚI THIỆU MÃ HÓA KÊNH (CHANNEL CODING) 1.1 VỊ TRÍ VÀ VAI TRÒ CỦA MÃ HÓA KÊNH Hình 1-1 trình bày sơ đồ khối tổng quát hệ thống thông tin soá Source Format Source encode Encrypt Channel encode Multiplex Modulate Frequency spread Format Source decode Decrypt Channel decode Demulti -plex Demodu -late Frequency despread Sink Multiple access Multiple access Hình 1-1 : Sơ đồ khối tổng quát hệ thống thông tin số Từ hình 1-1 ta thấy vị trí mã hóa kênh (channel coding) hệ thống thông tin số Mã hóa có nhiều loại: mã hóa nguồn, mã hóa bảo mật mã hóa kênh Mã hóa nguồn (source coding): mục đích để làm giảm thiểu độ dư tin, tức loại bỏ thông tin không cần thiết, để truyền tin theo cách nhanh phía thu dễ nhận Mã hóa bảo mật (encrypt): tên gọi, mục đích để chống lại ăn cắp hay làm nhiễu, làm sai lệch thông tin yếu tố bên vị trí đường truyền Phân tích thiết kế mã giống Turbo FPGA Transmitter Receiver Trang Mã hóa kênh: mục đích làm giảm thiểu xác suất sai thông tin truyền qua kênh truyền Việc giảm thiểu xác suất sai dựa vào việc phát sai sửa sai dẫn đến việc giảm tỉ số tín hiệu nhiễu (SNR) cần thiết, nhờ giảm công suất, tiết kiệm lượng Việc sửa sai hữu hiệu với tỉ số SNR nhỏ làm thuận lợi cho việc bảo mật, trải phổ tăng độ xác thông tin nhận – mục đích quan trọng truyền thông 1.2 MỘT SỐ VẤN ĐỀ CƠ BẢN 1.2.1 Giới hạn Shannon (định lý Shannon) Xét kênh nhiễu Gauss AWGN có ngõ sau: Z=X+N với X ngõ vào ngẫu nhiên rời rạc kênh N biến ngẫu nhiên Gauss có giá trị trung bình phương sai σ N2 Dung lượng kênh kênh AWGN định nghóa lượng thông tin qua lại lớn X Z, biểu diễn công thức: C = max{I ( X ; Z )} p( x ) lượng thông tin qua lại tính bằng: I(X;Z) = H(Z) – H(Z|X) với H(Z) entropy vi sai biến ngẫu nhiên Z có phương sai σ2 cho bởi: H ( Z ) ≤ log 2πeσ 2 ( ) Vì thế, để C cực đại H(Z) phải cực đại Một phân bố Gauss với phương sai σ2 cho entropy vi sai lớn Do muốn H(Z) cực đại Z phải biến ngẫu nhiên phân bố Gauss có giá trị trung bình phương sai σ Z2 Vì nhiễu biến Gauss nên phương sai Z tổng phương sai thành phần đầu vào nhiễu H ( Z )max = log 2πe σ X2 + σ N2 [ ( )] Do dung lượng kênh C viết lại là: Phân tích thiết kế mã giống Turbo FPGA Trang 82 Hình 5.5 Cấu trúc mạch clock 5.1.2.2 So sánh cấu trúc nhỏ cấu trúc lớn FPGA có cấu trúc nhỏ giống mảng cổng hệ ASIC với CLBs bao gồm phần tử nhỏ cổng NAND, cổng NOR, … Các nhà lý luận cho phần tử nhỏ nói với tạo lên chức lớn mà không tốn nhiều phần tử logic Trong FPGA có cấu trúc lớn, CLB bao gồm nhiều flip-flop, thiết kế mà không cần nhiều flipflop khiến cho nhiều flip-flop không dùng đến Tiếc rằng, cấu trúc nhỏ lại yêu cầu nhiều nguồn kết nối (routing resource), dẫn đến tăng không gian thêm vào lượng lớn trễ mà bù lại để có hiệu 5.1.2.3 So sánh SDRAM Programming Anti-fuse programming Phân tích thiết kế mã giống Turbo FPGA Trang 83 Có cách để lập trình FPGA Cách SDRAM Programming, bao gồm vài bit Static RAM cho phần tử lập trình Ghi bit với giá trị ngắt switch, ghi giá trị đóng switch Cách lại antifuse bao gồm cấu trúc nhỏ, không giống cầu chì thông thường, bình thường chúng không tạo kết nối Một dòng điện có cường độ định lập trình thiết bị dẫn đến việc hai bên anti-fuse kết nối với Thuận lợi cấu trúc FPGA dựa SRAM chúng dùng trình sản xuất chuẩn mà kế hoạch sản xuất chip gần giống luôn tối ưu cho khả hoạt động Từ mà SRAM lập trình lại FPGA lập trình lại muốn, chí chúng hệ thống, đơn giản ghi vào SRAM thông thường Chúng có nhược điểm vùng nhớ volatile nên vấn đề nguồn thay đổi nội dung RAM Các thiết bị dựa SDRAM có thời gian trễ đường truyền lớn Thuận lợi cấu trúc FPGA dựa anti-fuse chúng non-volatile trễ nối dây nhỏ nên chúng có khuynh hướng nhanh Nhược điểm chúng yêu cầu lập trình bên để lập trình lập trình xong thay đổi 5.1.2.4 Cấu trúc FPGA Spartan Cấu trúc tổng quan Spartan gồm có thành phần có chức khả trình sau: Configurable Logic Blocks (CLBs) bao gồm Look-Up Tables (LUTs) linh động có chức thực thi logic phần tử nhớ dùng flip-flop chốt (latch) CLB thực phần lớn chức logic lưu trữ liệu, Input/Output Blocks (IOBs) điều khiển dòng liệu chân vào I/O logic bên FPGA IOBs hỗ trợ luồng liệu chiều (bidirectional data flow) hoạt động logic trạng thái (3 state) Hỗ trợ phần lớn chuẩn tín hiệu, bao gồm vài chuẩn tốc độ cao, Double Data- Rate (DDR) Block RAM cho phép lưu trữ liệu dạng khối (block) dualport 18-Kbit Multiplier Blocks cho phép số nhị phân 18bit làm đầu vào dễ dàng tính toán tích chúng Digital Clock Manager (DCM) Blocks cung cấp khả tự xác định xung clock, giải pháp số hoàn chỉnh cho tín hiệu clock phân phối, trễ, nhân, chia dịch bit Từ hình vẽ ta thấy, IOBs bao quanh mảng CLBs, riêng Spartan-3E có vòng IOBs Mỗi cột block RAM bao gồm vài block RAM 18-Kbit, Phân tích thiết kế mã giống Turbo FPGA Trang 84 block RAM lại gắn liền với multiplier dành riêng Các DCM đặt vị trí: DCM phía phía thiết bị, device lớn có thêm DCM phía bên cạnh Đặc điểm chung mạng Spartan-3 kết nối liên thông phần tử này, truyền tín hiệu chúng Mỗi thành phần chức có switch matrix dành riêng phép chọn lựa kết nối cho việc FPGA 5.1.3 Ngôn ngữ mô tả phần cứng VHDL VHDL ngôn ngữ mô tả phần cứng (hardware description language), mô tả hành vi mạch điện hệ thống, từ mạch điện vật lý hoăc hệ thống thực thi VHDL viết tắt VHSIC Hardware Description Language Bản thân VHSIC viết tắt Very High Speed Integrated Circuits (mạch tích hợp tốc độ cao), lần sáng lập United State Department of Defense năm 80, sau tạo VHDL Phiên VHDL 87, lần nâng cấp sau có tên VHDL 93 VHDL ngôn ngữ mô tả phần cứng nguyên gốc chuẩn hóa Institue of Electrical and Electronics Engineers (IEEE), tới chuẩn IEEE 1076 Trong IEEE 1164, có chuẩn thêm vào giới thiệu hệ thống logic đa giá trị (multi-valued logic system) Động thúc đẩy dùng VHDL (hay dùng Verilog) VHDL ngôn ngữ độc lập chuẩn nhà công nghệ, nhà phân phối chúng có khả portable kế thừa cao (reusable) Hai ứng dụng trực tiếp VHDL mảng thiết bị logic lập trình ( Programmable Logic Devices) (bao goàm CPLDs – Complex Programmable Logic Devices FPGAs – Field Programmable Gate Arrays) Mỗi mã nguồn VHDL viết, chúng dùng để thực thi mạch điện thiết bị lập trình (từ Altera, Xilinx, Almel, ) gửi đến xưởng chế tạo chíp ASIC Hiện này, nhiều chip thương mại phức tạp (ví dụ microcontrollers ) thiết kế dựa cách tiếp cận Một điều ý VHDL trái ngược với chương trình máy tính thông thường thực câu lệnh thực song song (concurrent) Vì lí đó, nên VHDL thường coi mã nguồn chương trình Trong VHDL có câu lệnh đặt PROCESS, FUNCTION, hay PROCEDURE thực thi 5.2 Giới thiệu mạch kit Spartan 3AN hãng Xilinx 5.2.1 Spatan Starter 3AN có 700K cổng board có linh kiện hỗ trợ sau + 4Mbit PROM Phân tích thiết kế mã giống Turbo FPGA Trang 85 + 64Mbyte DDRSDRAM (8x16) + 4MB Parallel NOR flash + 2x16Mbit SPI serial flash + 01 LCD dòng 16 kí tự + 01 cổng PS/2 hỗ trợ giao tiếp với bàn phím chuột + 01 Cổng 10/100 Ethernet PHY + Cổng chân RS232 (DCE va DT ) + 01 cổng USB 2.0 giao tiếp với máy tiếp để debug hay download chương trình nạp ISP + Thạch anh dao động 50MHz + Hỗ trợ thêm 01 clock SMA kết nối với clock 01 dao động chân + Kết nối với ngoại vi I/O vi sai + Có khả giao tiếp 43 I/O người sử dụng bên + Có ngõ DAC ngõ vào ADC + Có 01 jack audio stereo + 01 nút xoay, led đơn, switches trượt, switched nhấn Phân tích thiết kế mã giống Turbo FPGA Trang 86 Hình 5.8 : KIT Spartan-3AN 5.2.2 Giới thiệu hãng Xilinx công cụ lập trình: Hãng Xilinx Xilinx nhà phát triển hàng đầu lónh vực chip khả trình Được thành lập Ross Freeman, Bernie Vonderschmitt, Jim Barnett, có trụ sở thung lũng Silicon Trụ sở San Jose , California Là thành viên nhóm 100 công ti hàng đầu giới tạp chí Fortune bình chọn Xilinx nhà phát triển FPGA, CPLD sử dụng rộng rãi ứng dụng truyền thông, tự động hóa, mật mã lónh vực khác Các sản Phân tích thiết kế mã giống Turbo FPGA Trang 87 phẩm phần cứng Xilin gồm có dòng CPLD : CoolRunner, họ FPGA Spartans, Virtex Xilinx cung cấp phần mềm hỗ trợ lập trình FPGA, CPLD ISE, EDK, LogicCore, System Generator Các công cụ hỗ trợ nhiều cho trình lập trình FPGA, giúp giảm thời gian công sức thiết kế Các phiên phần mềm nâng cấp thường xuyên (Hiện có phiên 10.1 cho ứng dụng) ISE 9.2 Là công cụ xây dựng lập trình FPGA ISE 9.2 thực môi trường tổng hợp thực thi toàn diện cho chip khả trình Xilinx Với ISE9.2, người thiết kế lập trình, gỡ rối, mô phỏng, dịch nạp chương trình cách nhanh chóng dễ dàng Người thiết kế thiết kế hệ thống theo nhiều cách khác : với mã vhd, với sơ đồ RTL, với sơ đồ trạng thái (state machine) LogicCore 9.2 LogicCore 9.2 thư viện ISE 9.2, chứa mã nguồn cho khối logic sử dụng cho việc xây dựng hệ thống khác Với Logic Core, người thiết kế giảm nhiều công sức thiết kế, bỏ qua việc xây dựng thành phần có sẵn tập trung vào việc xây dựng hệ thống, đồng thời tối ưu hóa thiết kế EDK 9.2 Là công cụ để xây dựng hệ thống có vi xử lý nhúng FPGA MicroBlaze (cho tất họ FPGA ) Power PC ( cho họ Virtex) EDK 9.2 không giúp tạo vi xử lý nhúng mà hỗ trợ thiết kế ngoại vi, giao diện cho chúng, với thư viện ngoại vi đồ sộ, cho phép vi xử lý thực thi nhiệm vụ mà vi xử lý thông thường thực : giao tiếp UART, Ethernet, nhớ RAM, ROM, I/O, Các thiết kế vi xử lý nhúng tối ưu hóa Ngoài EDK có công cụ mô mạnh System Generator 9.2 System Generator (sysgen)là công cụ phát triển hệ thống cho FPGA, cho phép thiết kế hệ thống dạng khối, hỗ trợ mô phỏng, debug, tạo code để nạp vào FPGA kết hợp vào ứng dụng lớn Sysgen xây dựng Block Set Simulink Matlab Do đó, sysgen thừa hưởng tất ưu điểm Simulink việc xây dựng hệ thống mô Sysgen sử dụng thư viện Logic Core để xây dựng block Trong thư viện Sysgen có tất khối thực chức từ cộng, trừ, nhân, khối logic, thiết kế phức tạp DSPs, lọc số, nhân chập, UART , nhớ tích hợp: Single Port, DualPort Ram, FIFOs, ghi Phân tích thiết kế mã giống Turbo FPGA Trang 88 Sysgen cho phép người thiết kế tạo khối để thực nhiệm vụ riêng khối Black Box, người thiết kế tạo entity cài mã vào Black Box để tạo thiết kế riêng KCPSM3 Module Module KCPSM3 bao gồm ALU, register file, scratchpad RAM, … Chỉ chức không nằm KCPSM3 nhớ chương trình Khai báo component gắn chân sau: Kết nối với nhớ ROM chương trình Bộ nhớ ROM chương trình PicoBlaze dùng thiết kế VHDL Từ file assembler tạo file VHDL, định nghóa block RAM khởi tạo nội dung cho RAM File VHDL dùng cho tổng hợp logic mô vi điều khiển Sau khai báo component gán thực thể nhớ chương trình FPGA: Do đó, sơ đồ cấu trúc vi điều khiển PicoBlaze sau: Hình 5.9: Sơ đồ cấu trúc PicoBlaze Microcontroller Để viết mã lệnh cho chương trình (với tên mở rộng psm) dùng trình soạn thảo để lập trình dựa theo 31 lệnh cung cấp Và dùng file thực thi KCPSM3.exe form định nghóa sẵn ROM dạng file vhd, coe, v để dịch file vhd, v cho vào chương trình FPGA Để phối hợp hoạt động tất thành phần trên, đảm bảo hệ thống hoạt Phân tích thiết kế mã giống Turbo FPGA Trang 89 động xác, ta phải có hệ thống điều khiển trung tâm Trong luận vănnày, em sử dụng vi xử lý nhúng có tên PicoBlaze để điều khiển hoạt động khối xử lý FPGA, đồng thời giao tiếp với máy tính thông qua cổng RS232 khối điều khiển giao tiếp RS232 : UART Controller 5.3 Sơ đồ cấu trúc khối xử lý trung tâm Sơ đồ cấu trúc khối xử lý dùng PicoBlaze: Hình 5.10 : Sơ đồ khối điều khiển trung tâm giao tiếp UART Ngoài vi điều khiển PicoBlaze, có sử dụng thêm component UART Receive UART Transmit Hai component cung cấp miễn phí Xilinx, bao gồm đệm tín hiệu trạng thái để giao tiếp với cổng RS232 Vi điều khiển PicoBlaze có nhiệm vụ nhận lệnh điều khiển từ chương trình PC lệnh điều khiển để capture ảnh từ camera tín hiệu lựa chọn thuật toán kích hoạt khối xử lý frame ảnh lưu SDRAM, đồng thời nhận tín hiệu done báo giao diện để biết thuật toán xử lý xong 5.4 Thiết kế giao diện điều khiển hệ thống Giao diện chương trình xây dựng GUI (Graphic User Interface) Matlab R2007a Giao diện dùng để giao tiếp với khối xử lý trung tâm từ máy tính thông qua cổng COM, thông số gởi bao gồm liệu, thông số điều Phân tích thiết kế mã giống Turbo FPGA Trang 90 khiển xuống kit FPGA nhận liệu từ kit để so sánh kết thực phần cứng FPGA mô giả lập giải mã máy tính Hình 5-11 Giao diện giao tiếp với Kit Phân tích thiết kế mã giống Turbo FPGA Trang 91 KẾT LUẬN Luận văn thực với nội dung sau Chương I trình bày vấn đề sở mã hóa thông tin, định nghóa mã, khoảng cách mã xây dựng lý thuyết trường Galois cho mã tích chập Chương II đề cập chi tiết đến mã Turbo Giới thiệu sở lý thuyết, khái niệm mã Turbo, khái niệm, kết nối mã giải thuật giải mã đầu vào mềm đầu mềm (SISO-soft in soft out) đặc biệt giải thuật MAP, phương pháp ưu việt lựa chọn số cho việc giải mã hệ thống thông tin Chương III trình bày cấu trúc mã Turbo-Like kết hợp mã Turbo dạng nối tiếp và/hoặc songchập ghép nối tiếp hay mã turbo nối tiếp Chương IV tác giả dùng ngôn ngữ Matlab mô việc mã hóa giải mã sử dụng khối logic tương thích với phần cứng hãng Xilinx Tác giả dùng phần mềm Xilin System Generator 9.2i kết hợp với Matlab 2007a để tạo khối tương thích với phần cứng Chương V Sử dụng ngôn ngữ VHDL để lập trình cho phần cứng thông quan phần mềm phần mềm hãng xilinx ISE 9.2i biên dịch file bit để đổ xuống kit phát triển Spartan 3AN Như yêu cầu mà nội dung mà luận văn hoàn thành là: Tìm hiểu khỏa sát lí thuyết tổng quan cấu trúc mã Turbo mã Turbolike Tìm hiểu cấu trúc FPGA và ngông ngữ VHDL đề lập trình chip Dùng phần mềm để mô trình mã hóa giải mã, từ thu đặc tuyến BER ứng với thông số điều kiện khác Tuy yêu cầu đặt khảo sát, kiến thức thời gian giới hạn việc cập nhật tài liệu khó khăn nên luận văn nhiều hạn chế Do vừa tìm hiểu kit, vừa tìm hiểu mã Turbo cập nhật tài liệu mã Turbo đồng thời tìm hiểu thuật toàn lập trình số thực kit nên đề tài chưa đạt kết mong muốn đặt ban đầu Luận văn đề cập việc mã hóa giải mã trường ghi đọc từ (như đầu đọc từ), đó, việc khảo sát mã hóa kênh gắn với hệ thống tin di động đặc biệt hệ thống CDMA chưa đề cập kênh thông tin sợi quan, thông tin vệ tinh Kênh truyền khảo sát loại nhiễu AWGN tham khảo Một số ý tưởng cho việc phát triển thêm: Phân tích thiết kế mã giống Turbo FPGA Trang 92 Mô mã hóa kênh hệ thống thông tin di động hoàn chỉnh, kênh thông tin quang, Nghiên cứu loại mã xóa tốt, chèn tốt gải thuật tối ưu nhằm làm cho tốc độ giải mã nhanh họ ASIC khác ngôn ngữ cấp cao Nghiên cứu hệ thống lai khác nhằm đạt tối ưu tốc độ xử lý chip Khảo sát loại kênh truyền khác nhau, đặc biệt ảnh hưởng loại fading khác Tp HCM ngày 16/12/2008 Thực Nguyễn Chí Cường Phân tích thiết kế mã giống Turbo FPGA Trang 93 TÀI LIỆU THAM KHẢO [1] Stephen Brown, Zvonko Vranesic, Fundamentals of Digital Logic with VHDL Design 2nd ed, McGraw Hill, ISBN 0-07-246085-7, 2005 [2] A Bruce Carson, Paul B.Crilly, Janet C.Rutaledge, Communicatios System: An Introduction To Signals and Noise in Electrical Communication, 4th ed, McGraw Hill, ISBN 0-07-112175-7, 2002 [3] Alain Glavieux “Channel Coding in Communication Networks From Theory to Turbocodes”, STE Ltd, 2007 [4] Hui Jin, Analysis and design of Turbo-like Codes, Ph.D thesis, California Institute of Technology, Pasasena, Califotnia, 2001 [5] The MathWorks, The Student Edition of MATLAB R2007a: The Ultimate Computing Environment for Technical Education (User’s Guide), The MathWorks, Prentice – Hall, Inc, 2007 [6] Volnei A Pedroni, Circuit Design with VHDL, MIT Press Cambrige, Massachusetts, 2004 [7] Douglas L Perry, VHDL Programming by Example, McGraw Hill, ISBN 0-07140070-2, 2002 [8] W Bruce Puckett “ Implementation and Performance of an Improved Turbo Decoder on a Cofigurable Computing machine” Blacksbur, Virginia, July 7, 2000 [9] Karen Parnel and Nick Mehta, Programmable Logic Design Quick Start Handbook, Xilinx Inc, 2003 [10] Quang Nguyen “High Speed Turbo Codes Decoder for 3G using Pipelined SISO Log-Map Decoders Architecture” Patent No: US 6,799,295 B2, Sep 28, 2004 [11] Bernard Skalar, Digital Communications: Fundamentials and Application 2nd Ed, Prentice Hall PTR, Upper Saddle River, NJ, 2001 [12] Kevin Skahill, VHDL for programmable logic, Addision-Wesley, ISBN 0-20189573-0, 1996 [13] Nguyễn Quốc Tuấn, Ngôn ngữ VHDL để thiết kế vi mạch, NXB Đại học Quốc gia Tp Hồ Chí Minh, 2002 [14] Xilinx “Spartan-3 Generation FPGA User Guide”, UG331, Feb 14, 2008 [15] Xilinx “Spartan-3 Generation Configuration User Guide”, UG332 (v1.3), November 21, 2007 Phân tích thiết kế mã giống Turbo FPGA Trang 94 [16] Xilinx “Spartan-3AN FPGA In-System Flash User Guide”, UG333 (2.0) April 22, 2008 [17] Xilinx “Spartan-3A/3AN Starter Kit Board User Guide”, UG334 (v1.0) May 28, 2007 [18] Synopsys” FPGA Compiler II /FPGA ExpressVHDL Reference Manual”, Version 1999.05, May 1999 [19] IEEE STd 1076-2000, IEEE Standard VHDL Language Reference Manual, 2000 [20] Nathan P Chan ” Design and Prototyping of a Turbo Decoder Using the Berkeley Emulation Engine (BEE)” , University of California, Berkeley, 2004 [21] Douglas J Smith “ HDL Chip Design”, Doone Publication, Madison, AL, USA, 1996 Một số địa tham khảo: http://hometown.aol.com/jxqi/qi/ http://www.ee.virginia.edu/CCSP/turbo_codes/ http://www.csee.wvu.edu/~mvalenti/documents/chandran2001b.pdf http://etd.wvu.edu/templates/showETD.cfm?recnum=2038 http://etd.wvu.edu/ETDS/E2038/ http://scholar.lib.vt.edu/theses/available/etd-07172000-11270030/unrestricted/ http://xilinx.com Phân tích thiết kế mã giống Turbo FPGA LÝ LỊCH TRÍCH NGANG Họ tên: Nguyễn Chí Cường Ngày, tháng, năm sinh: 11/03/1978 Nơi sinh: Ninh Thuận Địa liên lạc: 02 Hồng Hà, Phường 2, Tân Bình, Tp Hồ Chí Minh Q TRÌNH ĐÀO TẠO + Từ tháng 9/1996 đền tháng 3/2001 : học trường Đại học Bách Khoa Tp Hồ Chí Minh, chuyên ngành điện tử viễn thông, tốt nghiệp loại khá, đề tài : “Tách sóng đa người dùng hệ thống DS/CDMA” + Từ tháng 9/2005 đến tháng 1/ 2006 : Học quân Trường Quân QK5 + Từ tháng 9/2206 đến tháng 12/2008 : Học cao học Trường Đại học Bách khoa Tp Hồ Chí Minh, chuyên ngành kỹ thuật điện tử Q TRÌNH CƠNG TÁC + Từ tháng 5/2001 đến tháng 12/2006 : trợ lý nghiên cứu phịng Số Hóa Điều Khiển, Viện cơng nghệ thơng tin- Trung Tâm Khoa Học Kỹ Thuật & Công Nghệ Quân Sự - Bộ Quốc Phòng + Từ tháng 1/2007 đến tháng : Nghiên cứu viên, phịng Số Hóa Điều Khiển thuộc Viện Công Nghệ Thông Tin – Viện Khoa Học Cơng Nghệ Qn Sự Qua q trình cơng tác chủ trì, tham gia đề tài sau : - Chủ nhiệm đề tài cấp TP HCM : “ Nghiên cứu, thiết kế, chế tạo thiết bị thông tin hỗ trợ điều hành huy cho đơn vị phịng khơng” Viện Cơng Nghệ Thơng Tin, triển khai nghiệm thu kết quả: xuất sắc, vào tháng 7/2007 - Chủ nhiệm đề tài KHCN cấp TP HCM 2008-2010: “Nghiên cứu chế tạo thiết bị kỹ thuật đa cho Sở huy đơn vị cấp chiến thuật", Viện Công Nghệ Thông tin, thực - Tham gia đề tài cấp Bộ : “Nghiên cứu bổ sung tính năng, mở rộng cấu hình, nâng cao chất lượng hệ thống báo động chuyển trạng thái sẵn sàng chiến đấu cấp chiến lược- chiến dịch phục vụ tác chiến”, Viện Công Nghệ Thông Tin, nghiệm thu năm 2003 - Tham gia thực đề tài AT cấp Bộ: “ Hoàn thiện thiết kế hệ thống báo động chuyển trạng thái Sẵn sàng chiến đấu cấp chiến lược – chiến dịch phục vụ tác chiến” , Viện CNTT, triển khai lắp đặt thử nghiệm, nghiệm thu vào tháng 05/2007 - Tham gia đề tài cấp TP HCM năm 2004-2005: “Nghiên cứu, thiết kế, chế tạo thiết bị hỗ trợ điều hành huy cho Sở huy động” Viện CNTT, nghiệm thu năm 2005, kết quả: Xuất sắc - Tham gia đề tài cấp TP HCM “Xây dựng hệ thống báo động phịng khơng cấp cho khu vực TP HCM vùng lân cận Viện CNTT, nghiệm thu năm 2007, kết : - Tham gia đề tài KHCN cấp TP HCM năm 2007-2008 “ Nghiên cứu thiết kế chế tạo học cụ huấn luyện bắn mục tiêu bay tầm thấp cho lực lượng phịng khơng địa phương“, Viện CNTT, chuẩn bị nghiệm thu Đề tài KHCN cấp TP HCM năm 2008 “Xây dựng hệ thống thông tin tác chiến bổ trợ cho trạm phịng khơng động, thực Đề tài KHCN cấp TP Hà Nội năm 2009-2010 “ Thiết kế chế tạo tổ hợp thiết bị phục vụ điều hành huy tác chiến cho SCH BTL Thủ đô", thực Tham gia Cơng trình khoa học tuổi trẻ sáng tạo qn đội năm 2008 Các hoạt động KHCN khác - Tham gia hợp đồng KHCN khác: tham gia chế tạo thiết bị SCH cho tỉnh, Thành Đồng Nai, Cần Thơ, QK Thủ Đơ, QK7, QK9, Tp HCM, Sóc Trăng, Tiền Giang, Đồng Tháp, Học viện Lục Quân - Tham gia thiết kế bảng quang báo điện tử màu - Tham gia thiết kế tổng đài nội PAX416 ... 2005 1- TÊN ĐỀ TÀI: PHÂN TÍCH VÀ THIẾT KẾ MÃ GIỐNG TURBO TRÊN FPGA 2- NHIỆM VỤ LUẬN VĂN: • Tìm hiểu mã hóa kênh • Tìm hiểu mã Turbo • Phân tích thiết kế mã giống Turbo • Tím hiểu FPGA kit Spartan3A... qui Mã tích chập hệ thống đệ qui lấy từ mã hóa tích chập thông thường cách hồi tiếp ngõ mã hóa thành ngõ vào Phân tích thiết kế mã giống Turbo FPGA Trang 15 c(1 + D x D + c(2 Hình 2-1: Bộ mã hóa... thiểu mã hóa tích chập Sơ đồ khối mã PCCC tổng quát trình bày Hình 2-6 Phân tích thiết kế mã giống Turbo FPGA Trang 28 c0 Bộ mã hóa RSC1 x Bộ chèn Bộ mã hóa RSC2 Bộ chèn n-1 Bộ mã hóa