TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI KHOA ĐIỆN TỬ - VIỄN THÔNG ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Đề tài: THỰC HIỆN HỆ THỐNG TRẢI CHUỖI TRỰC TIẾP VỚI ĐỘ RỘNG BIT HỖN LOẠN TRÊN FPGA Sinh viên thự
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
KHOA ĐIỆN TỬ - VIỄN THÔNG
ĐỒ ÁN
TỐT NGHIỆP ĐẠI HỌC
Đề tài:
THỰC HIỆN HỆ THỐNG TRẢI CHUỖI TRỰC
TIẾP VỚI ĐỘ RỘNG BIT HỖN LOẠN
TRÊN FPGA
Sinh viên thực hiện: ĐINH HỮU QUỲNH
Lớp ĐT10 – K54 ĐÀO TRỌNG HIẾU
Lớp ĐT10 – K54 Giảng viên hướng dẫn: TS NGUYỄN XUÂN QUYỀN Cán bộ phản biện: PGS.TS VŨ VĂN YÊM
Hà Nội, 6-2014
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO CỘNG HÕA XÃ HÔI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
-
Độc lập - Tự do - Hạnh phúc -
NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ và tên sinh viên: .…ĐINH HỮU QUỲNH………….… Số hiệu sinh viên: …20092181…… …
Khoá:……54………Viện: Điện tử - Viễn thông Ngành: Thông tin - Truyền thông 1 Đầu đề đồ án: ……Thực hiện hệ thống trải chuỗi trực tiếp với độ rộng bit hỗn loạn trên FPGA…………
……… ….………
2 Các số liệu và dữ liệu ban đầu: ……… ……… …… ……….……….………
……… ………….………….………
3 Nội dung các phần thuyết minh và tính toán: …Thực hiện trải phổ trực tiếp và giải trải phổ sử dụng chaos trên FPGA, cụ thể là kit DE2……… ….……….………
… ….………
4 Các bản vẽ, đồ thị ( ghi rõ các loại và kích thước bản vẽ ): ……… ….………
……… ………
5 Họ tên giảng viên hướng dẫn: ……TS NGUYỄN XUÂN QUYỀN……… ……….
6 Ngày giao nhiệm vụ đồ án: ……….
7 Ngày hoàn thành đồ án: ……… ………
Ngày tháng năm
Sinh viên đã hoàn thành và nộp đồ án tốt nghiệp ngày tháng năm
Cán bộ phản biện
Trang 3BỘ GIÁO DỤC VÀ ĐÀO TẠO CỘNG HÕA XÃ HÔI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
-
Độc lập - Tự do - Hạnh phúc
-NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ và tên sinh viên: ĐÀO TRỌNG HIẾU…… …… …Số hiệu sinh viên: 20091023.………….……
Khoá:……54… ….Khoa: Điện tử - Viễn thông Ngành: Thông tin – Truyền thông 1 Đầu đề đồ án: ……Thực hiện hệ thống trải chuỗi trực tiếp với độ rộng bit hỗn loạn trên FPGA…………
……….………
2 Các số liệu và dữ liệu ban đầu: ……… ……… …… ……….……… ………… ………
……….……… ………… ………
3 Nội dung các phần thuyết minh và tính toán: … Trải phổ trực tiếp, điều chế và giải điều chế BPSK, cộng nhiễu trắng vào tín hiệu trên Matlab….……… …… ……
……… ….……… ………
4 Các bản vẽ, đồ thị ( ghi rõ các loại và kích thước bản vẽ ): ……… ……… ….………
……… ……… …… …….…
5 Họ tên giảng viên hướng dẫn: ………… TS NGUYỄN XUÂN QUYỀN ……….………
6 Ngày giao nhiệm vụ đồ án: ……….………
7 Ngày hoàn thành đồ án: ……… …… ……… ……….
Ngày tháng năm
Sinh viên đã hoàn thành và nộp đồ án tốt nghiệp ngày tháng năm
Cán bộ phản biện
Trang 4BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
-
BẢN NHẬN XÉT ĐỒ ÁN TỐT NGHIỆP Họ và tên sinh viên: ĐINH HỮU QUỲNH. Số hiệu sinh viên: 20092181………
Ngành: Thông tin – Truyền thông Khoá: 54
Giảng viên hướng dẫn: TS NGUYỄN XUÂN QUYỀN.
Cán bộ phản biện:
1 Nội dung thiết kế tốt nghiệp:
2 Nhận xét của cán bộ phản biện:
Ngày tháng năm
Cán bộ phản biện
( Ký, ghi rõ họ và tên )
Trang 5BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
-
BẢN NHẬN XÉT ĐỒ ÁN TỐT NGHIỆP Họ và tên sinh viên: ĐÀO TRỌNG HIẾU. Số hiệu sinh viên: 20091023
Ngành: Thông tin – Truyền thông Khoá: 54
Giảng viên hướng dẫn: TS NGUYỄN XUÂN QUYỀN
Cán bộ phản biện:
1 Nội dung thiết kế tốt nghiệp:
2 Nhận xét của cán bộ phản biện:
Ngày tháng năm
Cán bộ phản biện
( Ký, ghi rõ họ và tên )
Trang 6LỜI NÓI ĐẦU
Ngày nay, các hệ thống thông tin đã trở nên rất phổ biến và đóp góp to lớn vào
sự phát triển về mọi mặt của thế giới Dù rằng các hệ thống thông tin ngày nay đã gần như đáp ứng được các nhu cầu thông tin cơ bản của con người, tuy nhiên các nhà khoa học, các nhà nghiên cứu viễn thông vẫn luôn tìm tòi để nâng cao chất lượng và đặc biệt
là khả năng an toàn, bảo mật của các hệ thống thông tin
Các công nghệ đa truy nhập là nền tảng của các hệ thống thông tin vô tuyến nói chung, các công nghệ này cho phép các hệ thống thông tin phân bố tài nguyên vô tuyến một cách hiệu quả cho người sử dụng mà vẫn đạt được chất lượng ổn định Trong số các công nghệ đa truy nhập hiện nay, công nghệ CDMA đang ngày càng phát triển vì
có được những ưu điểm nổi bật CDMA được xây dựng dựa trên cơ sở là kỹ thuật trải phổ
Về mặt bảo mật thông tin, trong những năm gần đây khái niệm “hỗn loạn” đang được nhắc tới rất nhiều, đặc biệt là trong lĩnh vực toán học, vật lý và viễn thông Lý thuyết “hỗn loạn” để chỉ một hệ thống với một vài thông số biến đổi có vẻ như không theo một quy luật hay trật tự nào nhưng thật ra lại tuân theo một quy luật cụ thể nào đó Ứng dụng của thuyết “hỗn loạn“ với vai trò bảo mật thông tin trong các hệ thống viễn thông đang được nghiên cứu ngày càng rộng rãi
Chính vì những lý do trên, chúng em đã quyết định lưa chọn đề tài “Thực hiện
hệ thống trải phổ trực tiếp sử dụng chaos trên FPGA” Mục đích của chúng em khi thực hiện đề tài là để học hỏi, nghiên cứu, kết hợp được ưu điểm của những công nghệ nói trên và ứng dụng trên một hệ thống cụ thể
Chúng em xin chân thành cảm ơn TS Nguyễn Xuân Quyền đã trực tiếp hướng dẫn chúng em thực hiện đề tài này, đồng thời chúng em xin gửi lời cảm ơn tới PGS TS
Vũ Văn Yêm và ThS Nguyễn Anh Quang đã giúp đỡ chúng em trong quá trình nghiên cứu và học tập tại Lab
Trang 7ABSTRACT
In this thesis, we explore and study some advantages of 2 techniques: direct spectrum (DSSS) and information security based on chaotic behavior (chaotic) to propose a system that combines DSSS and Chaotic characteristics
In this proposed system, pseudo code (PN) sequences are created as in a conventional DSSS system but bit duration of data is varied according to the behavior
of chaotic map but always equal to a multiple of the chip duration (clock pulse duration), the system was named as: Chaotic Bit Duration – Direct-Sequence/Spread Spectrum Communication System (CBD-DSSS system) The system was the combined advantages of 2 techniques as said before and it is implemented on FPGA – DE2 kit,
we also give calculations about BER (bit error rate) by adding white noise to signal to evaluate the performance of this systems, the calculation of BER and adding noise are
implemented on Matlab software
Trang 8MỤC LỤC
LỜI NÓI ĐẦU 1
TÓM TẮT ĐỒ ÁN 2
DANH SÁCH HÌNH VẼ 5
DANH SÁCH CÁC BẢNG BIỂU 8
DANH SÁCH CÁC TỪ VIẾT TẮT 9
PHẦN MỞ ĐẦU 10
CHƯƠNG 1 CƠ SỞ LÝ THUYẾT 12
1.1 Các công nghệ trải phổ và đa truy nhập 12
1.1.1 Giới thiệu 12
1.1.2 Mã giả ngẫu nhiên 19
1.2 Hỗn loạn 22
1.2.1 Định nghĩa và phân loại 22
1.2.2 Tính chất 23
1.2.3 Ứng dụng hỗn loạn trong trải phổ chuỗi trực tiếp 24
1.3 Kết luận 25
CHƯƠNG 2 THỰC HIỆN VÀ TRIỂN KHAI HỆ THỐNG TRÊN FPGA 26
2.1 Giới thiệu kit DE2 và các công cụ hỗ trợ sử dụng 26
2.1.1 Kit DE2 26
2.1.2 DE2 control panel 28
2.1.3 Ngôn ngữ lập trình mô phỏng phần cứng Verilog 29
2.1.4 Giới thiệu phần mềm Modelsim 34
2.1.5 Giới thiệu phần mềm Quatus 35
2.2 Thực hiện hệ thống trải phổ trực tiếp không sử dụng chaos 37
2.2.1 Khối trải phổ 37
2.2.2 Phía giải trải phổ 41
2.2.3 Thực hiện trên FPGA 42
2.3 Thực hiện hệ thống trải phổ trực tiếp sử dụng chaos 44
2.3.1 Tổng quan thực hiện hệ thống 44
2.3.2 Khối trải phổ 44
2.3.3 Khối giải trải phổ 57
2.4 Cộng nhiễu 60
2.4.1 Tạo dữ liệu đầu vào 60
Trang 92.4.2 Cộng nhiễu 61
2.5 Kết quả thu đƣợc 63
2.6 Kết luận 65
KẾT LUẬN 66
TÀI LIỆU THAM KHẢO 67
Trang 10DANH SÁCH HÌNH VẼ
Hình 1 1 Hệ thống đa truy nhập trạm mặt đất-vệ tinh 12
Hình 1 2 Hệ thống đa truy nhập di động 12
Hình 1 3 FDMA 13
Hình 1 4 TDMA 14
Hình 1 5 CDMA 15
Hình 1 6 Trải phổ trực tiếp 16
Hình 1 7 Trải phổ nhảy tần 17
Hình 1 8 Trải phổ nhảy thời gian 17
Hình 1 9 Hệ thống trải phổ đơn giản 18
Hình 1 10 Phổ tín hiệu trước và sau trải phổ 18
Hình 1 11 Mạch thanh ghi dịch tạo chuỗi PN 20
Hình 1 12 Ví dụ với mặt nạ AND là 00101 20
Hình 1 13 Mạch ghi dịch tốc độ cao 20
Hình 1 14 Vùng hút của hệ hỗn loạn Lorenz trong các không gian pha khác nhau: 24
Hình 2 1 Hình ảnh kit phát triển DE2 của Altera 26
Hình 2 2 Thực hiện thêm tập tin sof trên quatus 29
Hình 2 3 Giao diện control panel 29
Hình 2 4 Giao diện đồ họa của ModelSim 35
Hình 2 5 Phần mềm quatus 36
Hình 2 6 Sơ đồ khối phát tín hiệu 37
Hình 2 7 Kết quả mô phỏng khối Clock Divider 38
Hình 2 8 Mô hình thanh ghi dịch 38
Hình 2 9 Kết quả mô phỏng khối tạo chuỗi PN 39
Hình 2 10 Kết quả mô phỏng khối data loader 40
Hình 2 11 Kết quả mô phỏng khối sender 41
Hình 2 12 Kết quả mô phỏng khối Receiver 42
Hình 2 13 Mô hình hệ thống 43
Trang 11Hình 2 14 Bảng gán chân 43
Hình 2 15 Quy trình thực hiện 44
Hình 2 16 Khối trải phổ 45
Hình 2 17 Mô phỏng khối trải phổ trên FPGA 45
Hình 2 18 Sơ đồ khối VPP-PNS Generator 46
Hình 2 19 Khối VPP-PNS Generator 46
Hình 2 20 Mô phỏng khối VPP-PNS Generator ModelSim 47
Hình 2 21 Các loại Chaotic map và giá trị khởi tạo, các hàm tương ứng 47
Hình 2 22 Khối tạo Logistic Map 48
Hình 2 23 Khối tạo Logistic Map 48
Hình 2 24 Khối tạo bộ đếm 49
Hình 2 25 Mô phỏng VPP-PNS Counter trên Model Sim 49
Hình 2 26 Khối tạo bộ so sánh 50
Hình 2 27 Mô phỏng VPP-PNS Comparator trên ModelSim 50
Hình 2 28 Mô phỏng VPP-PNS Flip Flop trên ModelSim 50
Hình 2 29 Thanh ghi dịch trong bộ tạo chuỗi PN 51
Hình 2 30 Mô phỏng VPP-PNS PN trên ModelSim 51
Hình 2 31 Khối chia xung clock 52
Hình 2 32 Mô phỏng khối TX_ClockDivider trên ModelSim 52
Hình 2 33 Khối tạo clock flash bên trải phổ 52
Hình 2 34 Mô phỏng clock flash trên ModelSim 53
Hình 2 35 Khối tạo xung clock sram bên trải phổ 53
Hình 2 36 Mô phỏng khối clock sram trên ModelSim 53
Hình 2 37 Khối chuyển đổi dữ liệu nối tiếp song song bên trải phổ 54
Hình 2 38 Mô phỏng khối Dataloader trên ModelSim 54
Hình 2 39 Khối lấy mẫu bên trải phổ 54
Hình 2 40 Mô phỏng khối lấy mẫu trên ModelSim 55
Hình 2 41 Mô hình logic flash trên kit DE2 55
Hình 2 42 Khối đọc flash 56
Trang 12Hình 2 43 Khối ghi sram 57
Hình 2 44 Khối giải trải phổ sử dụng chaos 58
Hình 2 45 Khối clock flash bên giải trải phổ 58
Hình 2 46 Khối DataLoader bên giải trải phổ 59
Hình 2 47 Khối tích phân 59
Hình 2 48 Khối lấy mẫu bên giải trải phổ 60
Hình 2 49 Khối clock sram bên giải trải phổ 60
Hình 2 50 Đồ thị BER 65
Trang 13DANH SÁCH CÁC BẢNG BIỂU
Bảng 2 1 Toán tử trong verilog 32 Bảng 2 2 Bảng chân lý của sram DE2 57 Bảng 2 3 Kết quả tỉ lệ lỗi bit (tổng số bit dữ liệu là 80000 bit) 64
Trang 14DANH SÁCH CÁC TỪ VIẾT TẮT
AWGN Additive White Gaussian Noise Cộng nhiễu Gausian trắng
BPSK Binary Phase Shift Keying Khóa dịch pha nhị phân
CDMA Code Division Multiple Access Đa truy nhập phân chia theo mã FDMA Frequency Division Multiple
Access
Đa truy nhập phân chia theo tần
số FPGA Field Programmable Gate
Array
Mạch cổng logic khả trình trường
DSSS Direct Sequence Spread
Spectrum
Trải phổ chuỗi trực tiếp
SDMA Space Division Multiple Access Đa truy nhập phân chia theo
không gian
SNR Signal Noise Rate Tỷ số tín hiệu trên tạp âm
TDMA Time Division Multiple Access Đa truy nhập phân chia theo thời
gian VHDL VHSIC Hard Ware Describe
Laguage
Ngôn ngữ mô tả phần cứng
VPP Variable-Position Pulse Xung vị trí biến đổi
VPP-PNS Variable-Position Pulse and
Pseudo- random Noise Sequence
Xung vị trí biến đổi và chuỗi giả ngẫu nhiên
Trang 15PHẦN MỞ ĐẦU
Vấn đề chính của đồ án chính là tìm ra được phương pháp kết hợp được những đặc tính, ưu điểm của cả hai phương pháp: trải phổ trực tiếp và mã hóa chaotic, đồng thời đưa ra được sơ đồ khối hoàn thiện của hệ thổng bao gồm 2 phần chính: bên trải phổ và bên giải trải phổ để từ đó hình thành các khối cụ thể, viết code và nạp lên FPGA Ngôn ngữ phần cứng chúng em chọn để lập trình là ngôn ngữ Verilog vì ngôn ngữ này khá dễ sử dụng do nó có cấu trúc giống với các ngôn ngữ lập trình bậc cao và
có các từ khóa đơn giản, dễ hiểu
Do việc kết hợp ưu điểm của 2 công nghệ này đang dần được quan tâm trên thế giới, do đó đã có nhiều công trình nghiên cứu cũng như bài báo khoa học mô phỏng về
hệ thống này với nhiều giải pháp khác nhau được đưa ra, chúng em đã quyết định kết hợp cả hai phương pháp bằng cách vẫn tạo ra một hệ thống trải phổ trực tiếp với các chuỗi PN được tạo ra theo phương pháp thông thường, điểm khác biệt chính là ở thời gian một bit dữ liệu sẽ được biến thiên dựa theo loại bản đồ hỗn loạn được chọn Như vậy, những ưu điểm của phương pháp trải phổ trực tiếp vẫn được giữ nguyên đồng thời lại nâng cao khả năng bảo mật khi áp dụng đặc tính trải phổ
Hệ thống của chúng em sẽ áp dụng với một người dùng, tức là sẽ chỉ có một nguồn dữ liệu bởi đồ án của chúng em sẽ tập trung vào việc xây dựng một hệ thống với
sơ đồ khối cơ bản hoạt động đúng với mục tiêu đề ra là kết hợp cả hai phương pháp nói trên Ngoài ra, để khảo sát hiệu năng của hệ thống, chúng em sẽ mô phỏng việc truyền tải thông tin đi xa bằng cách điều chế và giải điều chế BPSK tín hiệu sau trải phổ đồng thời cộng nhiễu trắng vào tín hiễu đã điều chế Để khách quan và vẽ đường BER một cách tương đối chính xác, chúng em sẽ cộng vào tín hiệu sau trải phổ các mức nhiễu với snr khác nhau, cụ thể là snr = [-13 -12 -11 -10 -9 -8 -7 -6 -5 -4 -3], tương ứng sẽ là các giá trị BER đo được
Đồ án gồm 2 chương:
CHƯƠNG 1 CƠ SỞ LÝ THUYẾT
CHƯƠNG 2 THỰC HIỆN VÀ TRIỂN KHAI HỆ THỐNG TRÊN
FPGA
Trang 16Chương 1 sẽ cung cấp một cái nhìn tổng quan nhất về các công nghệ đa truy
nhập, các phương pháp trải phổ, các vấn đề về mã giả ngẫu nhiên PN và cách sử dụng
nó trong công nghệ trải phổ Lý thuyết cơ bản về hỗn loạn và ứng dụng của nó
Chương 2 sẽ đưa ra cái nhìn tổng quát về FPGA cụ thể là kit DE2 và các công
cụ hỗ trợ thực hiện chúng em đã sử dụng như DE2 Control, Quatus, Model Sim và ngôn ngữ mô tả phần cứng Verilog Và phần quan trọng nhất đó là nghiên cứu thực hiện trải phổ và giải trải phổ trên FPGA, thực hiện cộng nhiễu và tính toán tí số lỗi bit
trên phần mềm Matlab
Trang 17CHƯƠNG 1 CƠ SỞ LÝ THUYẾT 1.1 Các công nghệ trải phổ và đa truy nhập
1.1.1 Giới thiệu
Thông thường một hệ thống thông tin đa truy nhập có nhiều trạm đầu cuối và một số các trạm có nhiệm vụ kết nối các trạm đầu cuối này với các mạng chuyển tiếp tín hiệu từ trạm đầu cuối này tới trạm đầu cuối khác Các trạm đầu cuối ở trong các hệ thống thông tin di động mặt đất là các máy điện thoại di động còn trong các hệ thống thông tin vệ tinh là các trạm thông tin mặt đất Trong các hệ thống trên luôn luôn có hai đường truyền: một đường lên là đường từ các trạm đầu cuối tới các trạm gốc hoặc trạm phát đáp, và một đường theo hướng ngược lại
Hình 1 1 Hệ thống đa truy nhập trạm mặt đất-vệ tinh
Hình 1 2 Hệ thống đa truy nhập di động
Trang 18Trong các hệ thống đa truy nhập trên, có bốn phương pháp đa truy nhập chính được sử dụng:
Đa truy nhập phân chia theo tần số FDMA (Frequency Division Multiple Access)
Đa truy nhập phân chia theo thời gian TDMA (Time Division Multiple Access)
Đa truy nhập phân chia theo không gian SDMA (Space Division Multiple Access
Đa truy nhập phân chia theo mã CDMA (Code Division Multiple Access) Các phương pháp trên đều được xây dựng dựa trên cơ sở phân chia nguồn tài nguyên vô tuyến cho các kênh truyền khác nhau, nếu như không có một quy định nào thì các sóng mang tới (các kênh) sẽ gây nhiễu cho nhau và để tránh hiện tượng nhiễu này máy thu phải có khả năng để phân biệt được các sóng mang thu được
1.1.1.1 FDMA
Để phân chia các kênh, các sóng mang được phân biệt như theo một hàm số của
vị trí năng lượng sóng mang theo tần số, có nghĩa là một băng tần tổng đã được cấp phát sẽ chia thành rất nhiều băng tần nhỏ, mỗi băng tần nhỏ tương đương với một kênh thông tin và bao gồm khoảng băng tần tối thiểu để truyền dữ liệu và 2 khoảng băng tần bảo vệ Máy thu có thể phân biệt được các kênh sóng mang bằng việc lọc
Hình 1 3 FDMA
Trang 191.1.1.2 TDMA
Theo nguyên lý TDMA, các trạm đầu cuối không phát tín hiệu liên tục trong khoảng thời gian 1 khung dữ liệu (Tb) mà sẽ phát theo từng cụm, tương ứng với khe thời gian mà nó đã được cấp phát Sự cấp phát và chia khe thời gian của từng cụm được dựa trên một cấu trúc thời gian dài hơn gọi là một khung, rồi các khung lại được ghép thành các siêu khung Mỗi sóng mang phát đi một cụm thì đều chiếm toàn bộ độ rộng băng tần tổng Máy thu sẽ thu được các sóng mang lần lượt theo thời gian và có cùng tần số, việc phân tách có thể được thực hiện bằng cách mở cổng lần lượt theo thời gian
Hình 1 4 TDMA
1.1.1.3 SDMA
Năng lượng sóng mang của các kênh hay các nguồn phát được phân bổ hợp lý trong không gian để không gây nhiễu cho nhau Vì các kênh hay các nguồn phát chỉ được sử dụng trong một không gian quy định trước nên máy thu có thể thu các sóng mang từ nguồn phát nào mà nó cần thu mà không sợ bị nhiễu bởi các sóng mang có cùng tần số khác Có nhiều phương pháp để thực hiện SDMA như:
- Sử dụng phương pháp lặp tần số cho các nguồn phát tại các khoảng cách đủ lớn sao cho chúng không gây nhiễu lên nhau, khoảng cách này được gọi là khoảng cách tái sử dụng tần số
- Sử dụng các anten thông minh (smart anten) Các anten này tập trung năng lượng sóng mang của nguồn phát vào hướng có lợi nhất cho máy thu nào mà nó muốn hướng tới để tránh gây nhiễu cho các máy thu lân cận
Trang 201.1.1.4 CDMA
Đối với các hệ thống sử dụng phương pháp CDMA, mỗi nguồn phát được gán cho một chuỗi mã xác định, và tất cả các nguồn phát có thể sử dụng chung khoảng băng tần trong cùng một khoảng thời gian Chuỗi mã để phân biệt các nguồn phát được gọi là các mã giả tạp âm PN (Pseudo Noise), việc sử dụng các mã này còn cho phép
mở rộng đáng kể phổ tần của sóng mang, đây cũng là điểm đáng chú ý của phương pháp này Khi máy thu nhận được tín hiệu từ nhiều trạm phát khác nhau, nó sẽ lấy tín hiệu mong muốn bằng cách giải mã tín hiệu đó bằng chuỗi mã PN riêng biệt của chính tín hiệu đó Kết quả này dựa trên sự tương quan chéo và tự tương quan của các chuỗi
mã PN
Hình 1 5 CDMA Phương pháp đa truy nhập này dựa trên nguyên lý trải phổ, hiện nay tồn tại 3 phương pháp trải phổ sau:
- Trải phổ chuỗi trực tiếp (DS: Direct Sequency)
- Trải phổ nhảy tần (FH: Frequency Hopping)
- Trải phổ nhảy thời gian (TH: Time Hopping)
Trong các hệ thống thông tin thì vấn đề về băng tần được quan tâm nhất và thông thường sẽ được thiết kế để sử dụng càng ít độ rộng băng tần càng tốt Tuy nhiên,
Trang 21trong các hệ thống trải phổ (SS :Spread Spectrum) độ rộng băng tần của tín hiệu lại được mở rộng rất nhiều trước khi phát và một hệ thống được coi là SS nếu có 2 đặc điểm sau :
- Tín hiệu được phát đi có độ rộng băng tần lớn hơn rất nhiều so với độ rộng băng tần tối thiểu cần để phát đi
- Trải phổ được thực hiện bởi một loại mã độc lập với số liệu
Đối với hệ thống trải phổ trực tiếp (DSSS), việc trải phổ được thực hiện bằng cách nhân tín hiệu với một mã giả ngẫu nhiên (PN) có tốc độ chíp cao hơn rất nhiều so với tốc độ bit của tín hiệu
Hình 1 6 Trải phổ trực tiếp Đối với hệ thống trải phổ nhảy tần, tần số sóng mang được đổi liên tiếp trên một tập hợp các tần số cho trước Các mẫu nhảy tần có dạng giả ngẫu nhiên và tần số trong khoảng thời gian một chíp sẽ là không đổi Tốc độ nhảy tần có thể nhanh hoặc chậm, với hệ thống nhảy tần nhanh thì việc nhảy tần sẽ được thực hiện ở tốc độ cao hơn tốc
độ bit của tín hiệu còn với hệ thống nhảy tần chậm thì ngược lại
Trang 22Hình 1 7 Trải phổ nhảy tần Đối với hệ thống trải phổ nhảy thời gian (THSS), một số lượng các bit dữ liệu được nén và phát ngắt quãng trong một hay nhiều khe thời gian chứa trong một khung thời gian với một số lượng rất lớn các khe thời gian Mẫu nhảy khe thời gian sẽ xác định xem dữ liệu hiện đang được truyền ở khe thời gian nào trong khung, việc nhảy khe thời gian này cũng tuân theo một mã giả ngẫu nhiên
Hình 1 8 Trải phổ nhảy thời gian Ban đầu, kỹ thuật trải phổ được sử dụng trong quân đội, ý tưởng là làm cho tín hiệu phát đi gần giống với tạp âm đối với các máy thu không mong muốn Để ghép bản tin vào tín hiệu giả tạp âm, người ta sử dụng một mã giả ngẫu nhiên để mã hóa bản tin, tuy nhiên thì máy thu cần thu phải biết được chính xác mã này và đồng bộ với bản tin bên phát để giải mã được chính xác bản tin Mã giả ngẫu nhiên được tạo ra sao cho nó
có độ rộng băng tần lớn hơn rất nhiều so với độ rộng băng tần của bản tin Mô hình đơn giản của một hệ thống trải phổ trực tiếp (DSSS) như sau:
Trang 23Hình 1 9 Hệ thống trải phổ đơn giản Luồng tín hiệu số đơn cực đầu vào
Vẽ trên đồ thị 2 phổ của 2 tín hiệu trước và sau trải phổ ta có :
Hình 1 10 Phổ tín hiệu trước và sau trải phổ
Trang 24Có thể thấy rõ rằng phổ của tín hiệu sau trải phổ đã được trải rộng ra, trước khi trải phổ thì năng lượng chủ yếu tập trung ở tần số nhất định nhưng sau khỉ trải phổ thì năng lượng cũng đã được trải đều ra trên khắp miền phổ (giống như nhiễu trắng) CDMA có nhiều ưu điểm hơn so với các phương pháp khác :
- Dung lượng cao hơn
- Chống nhiễu và pha-dinh tốt hơn
- Bảo mật thông tin tốt hơn
- Vì sử dụng chung một tần số cho rất nhiều người sử dụng nên việc qui hoạch mạng cũng đơn giản hơn
Tuy nhiên, nó cũng không tránh khỏi một vài nhược điểm:
- Đồng bộ phức tạp, vì ngoài đồng bộ định thời còn phải đồng bộ cả mã
- Cần nhiều mạch xử lý số hơn
- Chỉ có hiệu suất cao khi có nhiều người sử dụng
1.1.2 Mã giả ngẫu nhiên
1.1.2.1 Cách tạo mã
Các chuỗi mã giả ngẫu nhiên được tạo ra bằng một chuỗi các thanh ghi dịch nối tiếp nhau theo một đa thức tạo mã tuyến tính (đa thức sinh) cho trước Loại quan trọng nhất của các chuỗi mã giả ngẫu nhiên là loại được tạo ra với các thanh ghi dịch cơ số hai với độ dài cực đại hay còn gọi là các chuỗi m, đa thức sinh g x( ) có bậc m>0:
Trang 25Hình 1 11 Mạch thanh ghi dịch tạo chuỗi PN Mỗi chuỗi thanh ghi dịch chu kì N có thể có N dịch hay pha Ta kí hiệu j
T c +
c
Hình 1 12 Ví dụ với mặt nạ AND là 00101 Tốc độ của mạch trên là thấp do nó bị hạn chể bởi tổng thời gian trễ trong một phần từ ghi dịch cũng như thời gian trễ trong tất cả các loại cổng logic mà mạch đang dùng Để thực hiện tốc độ cao, người ta sử dụng mạch ghi dịch tốc độ cao, lưu ý là đa thức sinh của mạch ghi dịch tốc độ cao cũng tương tự như mạch ghi dịch tốc độ thấp, ngoại trừ vị trí của các phần tử logic XOR đã thay đổi, cụ thể như sau:
Hình 1 13 Mạch ghi dịch tốc độ cao
1.1.2.2 Cách áp dụng mã trong CDMA
Trang 26Mã PN dài (Long PN Code) là loại mã có chu kì lặp 42
2 1 được tạo ra trên cơ
mã là „1‟ đi sau 41 số không liên tiếp
Mã PN ngắn (Short PN Code) còn được gọi là các mã PN hoa tiêu kênh I và kênh Q được tạo ra bởi đa thức sinh sau:
downlink (với các chuỗi mã dịch thời khác nhau nhờ mặt nạ AND) được sử dụng để nhận dạng BTS còn đường lên chỉ sử dụng tăng cường cho trải phổ Trạng thái ban đầu của bộ mã là trạng thái mà ở đó chuỗi đầu ra của bộ mã là „1‟ đi sau 15 số „0‟ liên tiếp
Mã Gold là là các chuỗi mã PN có thuộc tính trực giao tốt, được tạo ra bằng các cặp chuỗi m có độ dài bằng cách cộng modul-2 chuỗi m thứ nhất với phiên bản dịch vòng của chuỗi m thứ 2, kết hợp 2 chuỗi m ta có được 1 họ N+2 mã Gold Các mã gold được dùng trong W-CDMA để nhận dạng nguồn phát, đối với uplink (từ MS tới BTS)
mã gold được tạo thành bởi 2 chuỗi m có đa thức sinh: 25 3
1
x x và 25 3
1
x x x ,đối với downlink được tạo bởi 2 chuỗi m có đa thức sinh: 18 7
Trang 27Trong CDMAone chỉ sử dụng H64 Các mã này được đánh số từ W0 đến W63, được sử dụng cho trải phổ và nhận kênh cho đường xuống và điều chế trực giao cho đường lên
1.2 Hỗn loạn
Thuyết hỗn loạn hay thuyết hỗn mang (chaos theory) là một lĩnh vực nghiên cứu trong toán học và được ứng dụng vào các ngành khoa học khác như vật lí, cơ khí, kinh
tế, sinh học, triết học
Thuyết hỗn loạn nghiên cứu hành vi của các hệ thống động lực (dynamical
system) nhạy cảm với điều kiện ban đầu, chúng là những hệ thống phi tuyến tính linear) hoặc có số chiều không gian không giới hạn Những hệ thống này được đặc
(non-trưng bởi tính chất "hỗn loạn" và sự nhạy cảm của các hệ thống đó thường được nhắc đến như là hiệu ứng cánh bướm (butterfly effect) - một hiện tượng được tìm ra bởi Edward Lorenz Với đặc tính này, những biến đổi quan sát được của các hệ thống vật lý có biểu hiện hỗn loạn trông có vẻ ngẫu nhiên, dù mô hình mô tả của hệ thống là 'xác định' theo nghĩa là được định nghĩa chính xác và không chứa những tham số ngẫu nhiên Những biến đổi này có thể được dự đoán trước bằng những phương trình tất định đơn giản (simple deterministic equation)
Về mặt ngữ nghĩa, từ "hỗn loạn" (chaos) trong ngữ cảnh khoa học mang nghĩa
khác với thông thường được sử dụng là trạng thái lộn xộn, thiếu trật tự Từ hỗn loạn trong thuyết hỗn loạn ám chỉ một hệ thống có vẻ như không có trật tự nào hết
nhưng lại tuân theo một quy luật hoặc nguyên tắc nào đó
Một vài ví dụ của những hệ thống nhạy cảm với điều kiện ban đầu là khí quyển trái đất, hệ mặt trời, kiến tạo học, đối lưu chất lỏng, kinh tế, tăng trưởng dân số
1.2.1 Định nghĩa và phân loại
Một hệ thống động lực là hỗn loạn nếu nó mang các tính chất sau đây:
Các hệ thống động hỗn loạn được phân loại theo theo hai dạng sau:
Trang 28 Dạng liên tục của thời gian
dx/dt = x(t), x(t0) = x0 Trong đó x(t) là biến trạng thái có thể một hoặc nhiều chiều, t0 và x0 là thời điểm và giá trị khởi động của hệ thống
Dạng rời rạc của thời gian
Sự nhạy cảm với các điều kiện ban đầu nghĩa là hai điểm trong một hệ như vậy
nhỏ Hệ này hành xử hoàn toàn giống nhau nếu như cấu hình ban đầu của chúng là
giống nhau một cách chính xác Một ví dụ về độ nhạy cảm như vậy là hiện tượng gọi là
“hiệu ứng cánh bướm”, khi mà vẫy cánh của một con bướm được tưởng tượng là tạo ra những thay đổi nhỏ trong khí quyển mà sau một quãng thời gian đủ lớn sẽ tạo nên những thay đổi lớn như là một cơn bão có thể xảy ra Cái vẫy cánh của con bướm biểu diễn một thay đổi nhỏ trong trạng thái ban đầu của hệ tạo ra một chuỗi các sự kiện để dẫn đến những hiện tượng ở phạm vi rộng lớn hơn như là một cơn bão Nếu như một con bướm đã không vẫy cánh, quỹ đạo của hệ có thể rất khác xa Các ví dụ phổ biến khác của các chuyển động hỗn loạn là sự pha trộn của thuốc nhuộm và các dòng khí chuyển động hỗn loạn
Sự nhạy cảm đối với điều kiện ban đầu liên quan đến hàm mũ Lyapunov
Trang 29z) và các mặt phẳng pha (x, y), (y, z), (z, x) Có thể thấy rằng đường di chuyển không
bao giờ trùng lặp và không khép kín cho dù thời gian vận động tiến đến vô cùng, điều
này thể hiện tính phi chu kỳ và hỗn loạn của hệ thống Một đặc điểm nữa của vùng hút
đó là nó luôn nằm trong một miền giới hạn xác định của không gian pha và không bao giờ di chuyển ra khỏi miền này
Hình 1 14 Vùng hút của hệ hỗn loạn Lorenz trong các không gian pha khác nhau:
(a) (x, y, z); (b) (x, y); (c) (y, z); và (d) (z, x) Chúng ta có thể thấy rằng, đường di chuyển trong quỹ đạo không khép kín, không bao giờ chồng lấn lên nhau, và luôn nằm trong miền giới hạn
1.2.3 Ứng dụng hỗn loạn trong trải phổ chuỗi trực tiếp
Ứng dụng tín hiệu hỗn loạn vào kỹ thuật trải phổ chuỗi trực tiếp đầu tiên được
đề xuất trong các công trình từ năm 1992, gọi là phương pháp trải phổ trực tiếp chuỗi hỗn loạn (CS-DS/SS) Trong đó, các chuỗi hỗn loạn rời rạc sẽ được sử dụng để thay thế cho các chuỗi PN trong hệ thống DS/SS truyền thống Phương pháp CS-DS/SS
Trang 30cũng thể hiện hầu hết những ưu điểm của phương pháp truyền thống Bên cạnh đó, với
sự biến đổi biên độ hỗn loạn của tín hiệu trải phổ trên kênh truyền, tính bảo mật được cải thiện đáng kể Chuỗi hỗn loạn lượng tử hóa cũng được khảo sát cho ứng dụng trong
hệ thống CS-DS/SS Trong suốt quá trình thông tin, các tín hiệu lượng tử hóa sẽ được chuyển đổi thành các tín hiệu có chu kỳ Các kết quả đạt được chỉ ra rằng, hệ thống đề xuất đạt được tỷ lệ lỗi bit thấp hơn so với hệ thống DS/SS truyền thống sử dụng chuỗi
m hoặc chuỗi Gold
1.3 Kết luận
Trong chương này chúng ta đã nghiên cứu khái niệm, kiến trúc tổng quan về hệ thống thông tin trải phổ Đặc biệt chúng ta đã nghiên cứu về mã giả ngẫu nhiên PN và cách sử dụng nó trong CDMA Đồng thời chương này cũng đã đưa ra tổng quan về hỗn loạn, tính chất và ứng dụng của nó trong trải phổ chuỗi trực tiếp
Từ các nội dung đã khảo sát chúng ta biết được rằng các hệ thống thông tin trải phổ và đa truy nhập rất hữu ích và vô cùng quan trọng Việc đảm bảo tỉ số lỗi bit và bảo mật khi sử dụng các hệ thống này là vấn đề được quan tâm Qua các nghiên cứu cho thấy việc kết hợp hệ thống này với hỗn loạn đạt được kết quả rất khả quan so với phương pháp truyền thống Các kết quả đã đạt được rất quan trọng, giúp làm cơ sở cho
việc thực hiện hệ thống trên FPGA được trình bày ở chương 2
Trang 31CHƯƠNG 2 THỰC HIỆN VÀ TRIỂN KHAI HỆ THỐNG TRÊN FPGA 2.1 Giới thiệu kit DE2 và các công cụ hỗ trợ sử dụng
2.1.1 Kit DE2
Bộ công cụ DE2 được thiết kế để nhằm áp dụng nhu cầu giảng dạy và học môn thiết kế logic với các công cụ triển khai và các thiết bị logic lập trình được Bo mạch DE2 là bo mạch thử nghiệm hoạt động riêng Khi được dùng với phần mềm Quartus II,
nó sẽ cung cấp nền tảng cao hơn cho việc học thiết kế logic số sử dụng các công cụ theo tiêu chuẩn công nghệ và linh kiện logic lập trình được (programmable logic device, PLD)
Các thành phần cơ bản trong DE2 Bộ DE2 gồm các thành phần cần thiết để sử dụng và kết nối với máy tính:
Hình 2 1 Hình ảnh kit phát triển DE2 của Altera
- Board DE2
- Cáp usb dùng cho việc lập trình và điều khiển Đồ án tốt nghiệp + Đĩa CD chứa
dữ liệu của DE2 và những tài liệu phụ (hưởng dẫn sử dụng, thanh điều khiển, thiết kế tham khảo, datasheet của thiết bị, hướng dẫn, các bài tập thí nghiệm)
Trang 32- DE2 đƣợc bảo vệ bởi tấm mica trong suốt và đặt trên 6 chân cách điện
Bộ nguồn 9 VDC
+ Vi xử lý Cylone II EP2C35F672C6
Thiết bị truyền định dạng nối tiếp- EPCS16
USB Blaster dùng cho mục đích lập trình và điều khiển API (hỗ trợ 2 kiểu lập trình JTAG và AS)
Giải mã TV (NTSC/PAL) và bộnối TV-in
1 đầu nối 10/100 Ethernet
1 chip điều khiển USB
1 RS232 có 9 chân phục vụ cho kết nối nối tiếp
Kết nối chuột và bàn phím thông qua cổng PS/2
1 cổng truyền hồng ngoại
2 hệ thống mở rộng (mỗi hệ thống 40 chân), có 8 chân dùng cho Vcc và GND
Dao động 50-MHz và 27-MHz cho cấp xung
1 chip mã hóa CD 24bit,có ngõ vào và ra, đầu nối microphone
1 ngõ ra VGA, sử dụng loại ADV7123, với bộ DAC 10 bit tốc độ cao, độ phân giải 1600x1200
Trang 332.1.2 DE2 control panel
Để thực hiện các thao tác cơ bản trên kit DE2 thì chúng ta có cần sự giúp đỡ của phần mềm DE2 control panel Nó giống như một chương trình đồ họa giúp ta có thể thao tác trên kit DE2
Đầu tiên thì ta cần có file DE2_USB_API.sof có thể download từ trên mạng về
Để hoạt động sử dụng phần mềm control panel cần có những chú ý sau
1 Kết nối cáp USB qua cổng USB Blaster, kết nối nguồn 9V, và bật nguồn lên
2 Bật Quartus II software lên
3 Chọn Tool -> Progammer theo hình ảnh bên dưới Chọn Add File và trỏ nó đến
file DE2_USB_API.sof Tiếp theo click vào Start để bắt đầu chạy DE2 control
panel Mục Progress báo trạng thái sau khi thực hiện Star, nếu báo successful thì
bạn đã thực hiện nạp thành công sau dó Nếu báo fail thì bạn kiểm tra lại bước 1
và bước
4 Mở phần mềm control panel kích open > open USB port 0 Chú ý khi control pannel chưa được close port thì sẽ không thể nạp code nào khác từ Quartus xuống kit DE2
Trang 34Hình 2 2 Thực hiện thêm tập tin sof trên quatus
Hình 2 3 Giao diện control panel
2.1.3 Ngôn ngữ lập trình mô phỏng phần cứng Verilog
Verilog là một trong hai ngôn ngữ mô tả phần cứng chính (gồm VHDL và Verilog HDL) được người thiết kế phần cứng sử dụng để mô tả, thiết kế các hệ thống
số, ví dụ như máy tính hay linh kiện điện tử
2.1.3.1 Lịch sử
Verilog HDL có nguồn gốc là Automated Integrated Design Systems (sau này đổi tên là Gateway Design Automation) vào năm 1985 Công ty được tư nhân tại thời điểm đó của Tiến sĩ Prabhu Goel, người phát minh ra thuật toán thế hệ thử nghiệm Podem Verilog HDL được thiết kế bởi Phil Moorby , người sau này đã trở thành nhà thiết kế trưởng cho Verilog -XL và là thành viên đầu tiên tại Cadence Design Systems Gateway Design Automation tự động hóa phát triển nhanh chóng với sự thành công của Verilog-XL và cuối cùng đã được mua lại bởi Cadence Design Systems, San Jose,
CA vào năm 1989
Trang 35Verilog được phát minh như ngôn ngữ mô phỏng Sử dụng Verilog để thiết kế tổng hợp là một xem xét hoàn hảo Tin đồn rằng đã có rất nhiều cuộc thảo luận sáp nhập giữa Gateway và Synopsys trong những ngày đầu, thời điểm mà không có cơ hội nào để thành công
Trong cuối những năm 1980 dường như các nhà thiết kế hiển nhiên sẽ phải chuyển từ những ngôn ngữ độc quyền như n dấu chấm, HiLo và Verilog về phía văn phòng Quốc phòng Mỹ chuẩn HDL, được gọi là VHSIC ngôn ngữ mô tả phần cứng VHSIC là viết tắt của "Very High Speen Intergrated Circuit" BTW
Có lẽ do áp lực thị trường như vậy, Cadence Design Systems đã quyết định phổ biến ngôn ngữ Verilog vào năm 1990, và do đó OVI (Open Verilog quốc tế) đã ra đời Tới thời điểm đó, Verilog HDL là một ngôn ngữ độc quyền , là tài sản của Cadence Design Systems Khi OVI được thành lập vào năm 1991, một số công ty nhỏ bắt đầu làm việc mô phỏng trên Verilog, bao gồm cả mô phỏng theo thứ tự thời gian, thiết kế
tự động hóa…
Kết quả là, thị trường Verilog đã phát triển đáng kể Thị trường cho các công cụ liên quan tới Verilog vào năm 1994 đạt trên 75 triệu USD, đưa nó trở thành ngôn ngữ
mô tả phần cứng quan trọng nhất trên thị trường
Một nhóm IEEE đã được thành lập vào năm 1993 trong tiểu ban Design Automation để tạo ra chuẩn Verilog IEEE 1364 Verilog trở thành chuẩn IEEE 1364 vào năm 1995
Như là một chuẩn quốc tế, thị trường Verilog tiếp tục phát triển Năm 1998, riêng thị trường cho mô phỏng Verilog đã đạt trên 150 triệu USD, tiếp tục thống trị
Nhóm làm việc IEEE phát hành một chuẩn sửa đổi vào tháng 3 năm 2002, gọi là IEEE 1364-2001 Phiên bản này đã sửa được lỗi đáng kể, và một bản sửa lỗi được đưa
ra năm 2003, gọi là IEEE 1364-2001 vá lỗi C
Sau đó, một nhóm công tác mới được thành lập , IEEE P1800, xây dựng trên ngôn ngữ IEEE 1364 cùng với sự đóng góp của Accellera Vào giữa năm 2004 tổ chức IEEE 1364 đã bị giải tán, và duy trì trên tiêu chuẩn này được đảm nhiệm bởi nhóm làm việc IEEE 1800
Trang 36Verilog dễ học và dễ sử dụng hơn VHDL Verilog được chuẩn hoá theo chuẩn IEEE vào năm 1995 và 2001 Verilog rất giống ngôn ngữ C và được giới chuyên môn nghiên cứu, sử dụng nhiều
Verilog HDL có thể được sử dụng để thiết kế hệ thống số ở nhiều mức khác nhau, ví dụ ở mức cao như các mô hình đặc trưng đến các mức thấp như mô hình bố trí dây, điện trở, transistor trên một mạch tích hợp; mô tả các cổng logic, flip_flop trong
hệ thống số; mô tả thanh ghi và sự di chuyển dữ liệu giữa các thanh ghi (RTL - Register Transfer Level)
2.1.3.2 Kiểu dữ liệu
Vì mục đích của Verilog HDL là thiết kế phần cứng số, nên loại dữ liệu cơ bản
để thiết kế là thanh ghi (reg) và dây (wire) Biến reg lưu trữ giá trị trước đó, giá trị được gán theo qui trình, trong khi đó biến wire mô tả sự kết nối vật lý giữa các thực thể vật lý như cấu trúc các cổng Wire không lưu trữ giá trị Thực tế một biến wire chỉ là một nhãn trên dây Dữ liệu wire chỉ là một trong những loại dữ liệu net trong Verilog HDL
Các đối tượng dữ liệu wire và dữ liệu reg có thể có những giá trị sau :
0 logic 0 hoặc sai
1 logic 1 hoặc đúng
X giá trị logic không xác định
Z trạng thái tổng trở cao của cổng ba trạng thái
Biến reg được gán giá trị ban đầu là X ở đầu chương trình Biến wire không được nối với bất kỳ cái gì cũng có giá trị là X
Có thể xác định cỡ của thanh ghi hoặc dây trong khai báo