thỰc hiỆn hỆ thỐng mimo stbc trÊn board fpga...
TRANSCRIPT
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
KHOA ĐIỆN TỬ VIỄN THÔNG
NGÔ VĂN HƠN
THỰC HIỆN HỆ THỐNG MIMO STBC TRÊN
BOARD FPGA ARRIA V
KHÓA LUẬN TỐT NGHIỆP CỬ NHÂN NGÀNH ĐIỆN TỬ VIỄN THÔNG
CHUYÊN NGÀNH: VIỄN THÔNG - MẠNG
THÀNH PHỐ HỒ CHÍ MINH – NĂM 2014
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
KHOA ĐIỆN TỬ VIỄN THÔNG
NGÔ VĂN HƠN
THỰC HIỆN HỆ THỐNG MIMO STBC TRÊN
BOARD FPGA ARRIA V
KHÓA LUẬN TỐT NGHIỆP CỬ NHÂN NGÀNH ĐIỆN TỬ VIỄN THÔNG
CHUYÊN NGÀNH: VIỄN THÔNG - MẠNG
NGƯỜI HƯỚNG DẪN KHOA HỌC:
Th.S ĐẶNG LÊ KHOA
THÀNH PHỐ HỒ CHÍ MINH – NĂM 2014
LỜI CẢM ƠN
Được nhận nghiên cứu đề tài này và được trình bày trước hội đồng là niềm vinh
hạnh rất lớn đối với em. Tuy gặp rất nhiều khó khăn trong quá trình nghiên cứu, song
kinh nghiệm và bài học mà em có được sau đó là vô cùng quý giá.
Lời đầu tiên, em xin gửi lời cảm ơn sâu sắc đến thầy Đặng Lê Khoa, người đã
trực tiếp hướng dẫn và chỉ dạy tận tình để em có thể hoàn thành được khóa luận này.
Cũng xin gửi lời cảm ơn đến những người bạn đã đồng hành cùng tôi trong suốt
quá trình nghiên cứu, giúp tôi có niềm vui, giảm căng thẳng trong lúc làm việc.
Đồng thời, xin gửi lời cảm ơn đến tất cả các thầy cô giáo đã giảng dạy kiến thức,
tạo nền tảng để em thực hiện đề tài.
Gửi lời cảm ơn tới bố, mẹ và những người thân yêu luôn động viên con trong
những lúc khó khăn.
Chúc sức khỏe và thành công đến tất cả mọi người!
T.p Hồ Chí Minh, ngày 12/07/2014
Sinh viên thực hiện
Ngô Văn Hơn
Trang 1
MỤC LỤC
MỤC LỤC .................................................................................................................. 1
DANH MỤC KÝ HIỆU, CHỮ VIẾT TẮT ................................................................. 4
DANH MỤC CÁC HÌNH VẼ .................................................................................... 5
DANH MỤC CÁC BẢNG BIỂU ............................................................................... 8
LỜI MỞ ĐẦU ............................................................................................................ 9
1 CHƯƠNG 1: TỔNG QUAN ............................................................................. 11
1.1 Giới thiệu về MIMO. ................................................................................... 11
1.1.1 Lịch sử về MIMO. ................................................................................ 11
1.1.2 Các dạng cấu hình anten thu-phát. ......................................................... 13
1.1.3 Một số ứng dụng tiêu biểu. .................................................................... 15
1.1.3.1 Chuẩn 802.11n ............................................................................... 15
1.1.3.2 Wimax............................................................................................ 16
1.1.3.3 Công nghệ 4G. ............................................................................... 17
1.2 Giới thiệu về thiết bị FPGA. ........................................................................ 17
1.2.1 Định nghĩa FPGA. ................................................................................ 17
1.2.2 Ứng dụng của FPGA ............................................................................. 18
2 CHƯƠNG 2: LÝ THUYẾT VÀ CÔNG CỤ THIẾT KẾ ................................... 19
2.1 Lý thuyết về MIMO..................................................................................... 19
2.1.1 Khái niệm MIMO. ................................................................................ 19
2.1.2 Các kỹ thuật phân tập. ........................................................................... 20
2.1.2.1 Phân tập thời gian. .......................................................................... 20
2.1.2.2 Phân tập tần số. .............................................................................. 22
Trang 2
2.1.2.3 Phân tập không gian. ...................................................................... 22
2.1.3 Độ lợi trong hệ thống MIMO. ............................................................... 23
2.1.3.1 Độ lợi Beamforming. ...................................................................... 23
2.1.3.2 Độ lợi ghép kênh không gian. ......................................................... 23
2.1.3.3 Độ lợi phân tập. .............................................................................. 24
2.1.4 MIMO Alamounti STBC. ..................................................................... 24
2.1.5 MIMO – STBC 2x2. ............................................................................. 28
2.2 Công cụ thiết kế. .......................................................................................... 31
2.2.1 Phần mềm DSP Builder. ....................................................................... 31
2.2.2 Thư viện DSP Builder. .......................................................................... 33
2.3 Phần cứng thực hiện. ................................................................................... 36
2.3.1 Giới thiệu board Arria V GT ................................................................. 36
2.3.2 Các thành phần trên board Arria V GT. ................................................. 37
2.3.2.1 Thiết bị Anten 5AGTFD7K3F40I3N .............................................. 37
2.3.2.2 MAX II CPLD EPM2210GF324 .................................................... 39
2.3.3 Ứng dụng Board Test System. .............................................................. 40
2.3.3.1 Giới thiệu về Board Test System. ................................................... 40
2.3.3.2 Sử dụng Board Test System. ........................................................... 41
3 CHƯƠNG 3: THIẾT KẾ. ................................................................................. 47
3.1 Mô hình thiết kế. ......................................................................................... 47
3.1.1 Sơ đồ khối. ............................................................................................ 47
3.1.2 Bộ tạo dữ liệu và các tín hiệu điều khiển. .............................................. 47
3.1.3 Bộ mã hóa. ............................................................................................ 48
3.1.4 Bộ giải mã bằng thuật toán Viterbi. ....................................................... 49
3.1.5 Ánh xạ chòm sao................................................................................... 52
Trang 3
3.1.5.1 Bộ ánh xạ chòm sao. ....................................................................... 52
3.1.5.2 Bộ giải ánh xạ chòm sao. ................................................................ 54
3.1.6 Bộ điều chế MIMO-STBC. ................................................................... 55
3.1.7 Bộ giải điều chế .................................................................................... 55
3.1.8 Kênh truyền .......................................................................................... 57
3.1.9 Bộ đếm lỗi bit ....................................................................................... 57
3.2 Quy trình thiết kế trên FPGA ....................................................................... 58
3.2.1 Mô tả ban đầu về thiết kế ...................................................................... 58
3.2.2 Thực thi ................................................................................................ 59
3.2.3 Quá trình nạp và lập trình. ..................................................................... 62
4 CHƯƠNG 4: KẾT QUẢ. .................................................................................. 64
4.1 Kết quả kiểm tra board bằng phần mềm Board Test System ........................ 64
4.2 Kết quả đo đạt mô hình thiết kế. .................................................................. 69
4.2.1 Bộ mã hóa kênh và giải mã Viterbi ....................................................... 69
4.2.2 Bộ điều chế giản đồ chòm sao bằng QPSK ........................................... 70
4.2.3 Bộ mã hóa và giải mã STBC ................................................................. 71
4.2.3.1 Tín hiệu sau khi qua mã hóa STBC ................................................ 71
4.2.3.2 Tín hiệu sau khi qua kênh truyền .................................................... 72
4.2.3.3 Tín hiệu sau khi giải mã STBC ....................................................... 73
5 CHƯƠNG 5: KẾT LUẬN. ............................................................................... 75
5.1 Kết luận ....................................................................................................... 75
5.2 Hướng phát triển ......................................................................................... 76
TÀI LIỆU THAM KHẢO ........................................................................................ 77
Trang 4
DANH MỤC KÝ HIỆU, CHỮ VIẾT TẮT
FIFO :First In First Out
FPGA : Field Programmable Gate Array
I : Inphase
IP core : Intellectual Property Core
MIMO : Multi Input Multi Output
MISO : Multi Input Single Output
OFDM Orthogonal Frequency-Division Multiplexing
PLL : Phase Locked Loop
Q : Quadrature
QAM : Quadrature Amplitude Modulation
QPSK : Quadrature Phase-Shift Keying
VHDL : Very High Speed Integrated Circuits Hardware
Description Language
STBC :Space-Time Block Code
Trang 5
DANH MỤC CÁC HÌNH VẼ
Hình 1.1. Các chuẩn không dây ................................................................................ 12
Hình 1.2. Hệ thống SISO .......................................................................................... 13
Hình 1.3. Hệ thống MISO ......................................................................................... 14
Hình 1.4. Hệ thống SIMO ......................................................................................... 14
Hình 1.5. Hệ thống MIMO ....................................................................................... 15
Hình 2.1. Phân tập theo thời gian. ............................................................................. 21
Hình 2.2. Kỹ thuật Beamforming. ............................................................................. 23
Hình 2.3. Ghép kênh không gian giúp tăng tốc độ truyền. ......................................... 23
Hình 2.4. Phân tập không gian cải thiện SNR. .......................................................... 24
Hình 2.5. Symbol được truyền qua 2 anten phát. ....................................................... 25
Hình 2.6. Hệ thống Alamouti STBC 2x1 .................................................................. 26
Hình 2.7. Alamouti STBC với nhiều anten thu.......................................................... 27
Hình 2.8. Mô hình STBC 2x2 ................................................................................... 29
Hình 2.9. Mô hình STBC 2x2 ................................................................................... 29
Hình 2.10. Quy trình thiết kế của DSP Builder ......................................................... 32
Hình 2.11. Thư viện của DSP Builder ....................................................................... 33
Hình 2.12. Hoạt động của khối Signal Compiler. ...................................................... 34
Hình 2.13. Board Anten. ........................................................................................... 36
Hình 2.14. Sơ đồ kết nối Anten. ................................................................................ 39
Hình 2.15. Sơ đồ khối MAX II CPLD EPM2210 ...................................................... 40
Hình 2.16. Giao diện Board Test System .................................................................. 41
Hình 2.17. Menu cấu hình ........................................................................................ 42
Hình 2.18. Tab Flash ................................................................................................ 44
Hình 2.19. Tab HSMA.............................................................................................. 44
Hình 2.20. Tab SFP/SMA/C2C ................................................................................. 45
Hình 2.21. Tab HSMB/FMC .................................................................................... 45
Hình 2.22. Tab SDI/Bull's Eye .................................................................................. 46
Hình 2.23. Tab SMA ................................................................................................ 46
Hình 3.1. Mô hình thiết kế hệ thống MIMO-STBC ................................................... 47
Trang 6
Hình 3.2. Mạch tạo dữ liệu và tín hiệu điều khiển. .................................................... 48
Hình 3.3. Bộ mã hóa Convolutional code ................................................................. 49
Hình 3.4. Mô hình thuật toán Viterbi ........................................................................ 49
Hình 3.5. Ví dụ giải mã dùng thuật toán Viterbi ....................................................... 50
Hình 3.6. Bộ giải mã dùng thuật toán Viterbi. ........................................................... 51
Hình 3.7. Dạng sóng của các tín hiệu điều khiển của khối giải mã Viterbi. ............... 51
Hình 3.8. Giản đồ chòm sao phép điều chế QPSK và 16 QAM ................................. 53
Hình 3.9. Mạch thực hiện phép điều chế QPSK. ....................................................... 54
Hình 3.10. Bộ mapper và bộ nhớ FIFO ..................................................................... 54
Hình 3.11. Mạch thực hiện điều chế MIMO-STBC. .................................................. 55
Hình 3.12. Mạch thực hiện giải điều chế MIMO-STBC ............................................ 56
Hình 3.13. Mạch thiết kế bộ chia. ............................................................................. 57
Hình 3.14. Mạch đếm lỗi bit ..................................................................................... 57
Hình 3.15. Tổ hợp logic ............................................................................................ 59
Hình 3.16. Sơ đồ gán chân ........................................................................................ 60
Hình 3.17. Sơ đồ không gian gán bên trong FPGA ................................................... 61
Hình 3.18. Sơ đồ định tuyến ..................................................................................... 61
Hình 4.1. Cấu hình menu Flash/GPIO trên FPGA 1. ................................................. 64
Hình 4.2. Kết quả cấu hình LED, LCD hiện thị, các Switch và nút nhấn. .................. 65
Hình 4.3. Kết quả kiểm tra đọc, ghi bộ nhớ RAM gắn với Chip FPGA 1. ................. 65
Hình 4.4. Kết quả kiểm tra đọc, ghi bộ nhớ RAM gắn với Chip FPGA 2. ................. 66
Hình 4.5. Kết quả thu phát loopback trên cổng kết nối HSMA. ................................. 66
Hình 4.6. Kết quả thu phát loopback trên cổng kết nối HSMB. ................................. 67
Hình 4.7. Kết quả kiểm tra phát trên cổng kết nối FMC. ........................................... 67
Hình 4.8. Kết quả kiểm tra phát tại Bull’s Eye. ......................................................... 68
Hình 4.9. Kết quả kiểm tra thu phát qua SMA. ......................................................... 68
Hình 4.10. Tín hiệu qua mã hóa kênh ....................................................................... 69
Hình 4.11. Tín hiệu qua bộ mã hóa kênh và giải mã ................................................. 70
Hình 4.12. Tín hiệu phần thực QPSK ........................................................................ 70
Hình 4.13. Tín hiệu phần ảo QPSK ........................................................................... 71
Hình 4.14. Tín hiệu trước khi mapper và sau khi demapper ...................................... 71
Trang 7
Hình 4.15. Tín hiệu anten 1 ...................................................................................... 72
Hình 4.16. Tín hiệu anten 2 ...................................................................................... 72
Hình 4.17. Tín hiệu anten 1 sau khi qua kênh truyền ................................................ 73
Hình 4.18. Tín hiệu anten 2 sau khi qua kênh truyền ................................................ 73
Hình 4.19. So sánh tín hiệu sau giải điều chế STBC và tín hiệu gốc ......................... 74
Trang 8
DANH MỤC CÁC BẢNG BIỂU
Bảng 2-1. Các đặc tính của Arria V GT. ................................................................... 39
Bảng 3-1. Ý nghĩa các đường tín hiệu của bộ giải mã Viterbi ................................... 52
Bảng 3-2. Dữ liệu bảng tra của QPSK ...................................................................... 53
Trang 9
LỜI MỞ ĐẦU
Trong khi mạng không dây trở nên phổ biến, nhu cầu người sử dụng càng cao thì
vấn đề băng thông hữu hạn luôn là vấn đề được luôn được quan tâm hàng đầu. Các nhà
nghiên cứu tập trung tìm cách để truyền được nhiều bit hơn trên 1 Hz, sử dụng hiệu quả
phổ tần hơn, tiếp cận đến tốc độ theo lý thuyết Shanon.
Những tiến bộ trong mã hóa như mã kiểm tra chẵn lẻ, mã Turbo… đã có thể tiếp
cận đến giới hạn Shannon với hệ thống 1 anten phát, 1 anten thu. Và ngày nay, kỹ thuật
MIMO ra đời mang lại nhiều hiệu quả hơn nữa, đặc biệt là hiệu quả phổ tần. Đó là kỹ
thuật nhiều anten phát và nhiều anten thu ở nơi truyền và nơi nhận.
Hỗ trợ cho quá trình nghiên cứu, nhiều hãng trên thế giới thiết kế rất nhiều phần
cứng là các board mạch. Điển hình là hãng Altera với các sản phẩm FPGA thuộc họ
Stratix, Cyclone, Arria. Các board này là công cụ đắc lực để thiết kế các hệ thống về
viễn thông như: bộ mã hóa chập – giải mã Viterbi, bộ điều chế QPAK, QAM…, hệ
thống MIMO-OFDM,…Thiết bị được sử dụng trong đề tài là board FPGA Arria V GT
của hãng Altera. Đây là một linh kiện có tốc độ rất cao nhưng hiện tại vẫn chưa có nhiều
nghiên cứu kể cả trong nước và quốc tế.
Mục tiêu chính của đề tài là tìm hiểu về cấu trúc và cách nạp một thiết kế lên
board, thiết kế thử nghiệm hệ thống MIMO trên nền DSP Builder và kiểm tra đánh giá
hệ thống.
Để tài bao gồm 5 chương như sau:
Chương 1: Tổng quan - Chương này sẽ giới thiệu chung về hệ thống MIMO, các
ứng dụng thực tế, đồng thời cũng giới thiệu về phần cứng FPGA.
Chương 2: Bao gồm lý thuyết cơ bản về hệ thống MIMO nói chung và MIMO-
STBC nói riêng, đồng thời giới thiệu công cụ thiết kế DSP Builder và Board FPGA
Arria V của hãng Altera.
Trang 10
Chương 3: Trình bày phương pháp thiết kế mạch của từng khối và ghép các khối
lại với nhau để tạo thành hệ thống thu phát MIMO hoàn chỉnh. Ngoài ra còn trình bày
quy trình chung để thiết kế hệ thống trên nền FPGA.
Chương 4: Trình bày kết quả mô trên board Arria V thông qua công cụ Board
Test System, tiếp đến là trình bày các kết quả đo đạt mô hình và kiểm tra hệ thống.
Chương 5: Tổng kết các nội dung chính đã hoàn thành và hướng phát triển của
đề tài.
Trang 11
1 CHƯƠNG 1: TỔNG QUAN
Chương này trình bày một vài điểm về lịch sử cũng như đặc điểm, khái niệm
cơ bản của hệ thống MIMO, các chuẩn truyền thông tiêu biểu trong MIMO. Đồng
thời cũng trình bày sơ lược về quá trình thiết kế hệ thống trên nền phần cứng FPGA.
1.1 Giới thiệu về MIMO.
1.1.1 Lịch sử về MIMO.
Các hệ thống thông tin không dây luôn được nghiên cứu nhằm cải thiện chất
lượng cũng như chống lại hiện tượng đa đường. Đối với các hệ thống thông tin, chất
lượng tín hiệu có thể cải thiện bằng cách tăng công suốt, tăng dung lượng truyền khi
tăng băng thông. Tuy nhiên công suất cũng chỉ có thể tăng đến một mức giới hạn nào
đó vì khi công suất tăng thì có thể gây nhiễu cho các hệ thống thông tin xung quanh
và việc phân bố . Vì thế để có thể tăng năng suất và chất lượng người ta trong cậy vào
các kỹ thuật truyền phát và xử lý tín hiệu. Trong đó có MIMO-OFDM. Ở đề tài này
chỉ nghiên cứu một phần về MIMO.
Hệ thống MIMO có thể tăng dung lượng kênh truyền, sử dụng băng thông
hiệu quả nhờ ghép kênh không gian, cải thiện chất lượng hệ thống đáng kể nhờ vào
phân tập tại phía phát và phía thu mà không cần tăng công suất phát cũng như băng
thông của hệ thống.
Hình 1.1 mô tả các chuẩn thông tin không dây của IEEE tương ứng với tốc độ
bit và vùng phủ sóng, trong đố các chuẩn màu đậm được ứng dụng trong hệ thống
MIMO-OFDM, điều này cho thấy tầm ứng dụng rất lớn của MIMO-OFDM.
Trang 12
Năm 1984, Jack Winters thuộc phòng thí nghiệm Bell đã xin cấp bằng sáng
chế về việc sử dụng đa anten trong hệ thống vô tuyến. Năm 1985 đồng nghiệp của
Jack Winters là Jack Salz đã xuất bản công trình về MIMO dựa trên những nghiên
cứu của Jack Winters. Từ năm 1986 đến 1995 đã có nhiều bài báo về MIMO được
đưa ra. Năm 1996, trong khi đang làm việc tại trường đại học Stanford, Greg Raleigh
và VK jones đã khám phá ra hiện tượng phản xạ đa đường do hệ thống vô tuyến va
chạm với các vật tạo ra nhiều kênh truyền ảo riêng lẻ trong hệ thống MIMO. Từ đó
Greg Raleigh đã viết bài báo chỉ ra rằng hiện tượng đa đường là yếu tố giúp tăng dung
lượng kênh truyền. Cũng trong năm 1996 G.J.Foschini thuộc phòng thí nghiệm Bell
đã đưa ra kiến trúc D-BLAST (Diagonal-Bell Laboratories Layered Space-Time) cho
truyền dẫn vô tuyến sử dụng công nghệ MIMO. Năm 1998, P.W.Wolniansky và các
đồng nghiệp thuộc phòng thí nghiệm Bell đã đưa ra kỹ thuật V-BLAST (Vertical-
Bell Laboratories Layered Space-Time) với hiệu suất sử dụng phổ lần đầu tiên khoảng
20-40 bps/Hz. Siavash M.Alamouti cũng đưa ra sơ đồ phân tập phát đơn giản sử dụng
2 anten phát và 1 anten thu, sơ đồ này cũng đưa ra phương pháp áp dụng cho M anten
thu để có độ lợi 2M. Năm 2003, Airgo đã tung ra chip MIMO đầu tiên. Năm 2004,
IEEE đã lập nhóm TGn nghiên cứu chuẩn 802.11n dựa trên hệ thống MIMO kết hợp
Hình 1.1. Các chuẩn không dây
Trang 13
kỹ thuật OFDM. Năm 2006, TGn đã đưa ra bản nháp đầu tiên của 802.11n để thảo
luận và sửa chữa.
1.1.2 Các dạng cấu hình anten thu-phát.
Các mô hình hệ thống thông tin không dây có thể được phân loại thành 4
hệ thống cơ bản gồm:
SISO (Single Input Single Output)
SIMO (Single Input Multiple Output)
MISO (Multiple Input Single Output)
MIMO (Multiple Input Multiple Output)
Hệ thống SISO
Hình 1.2. Hệ thống SISO
Hệ thống SISO là hệ thống thông tin không dây truyền thống chỉ sử dụng một
anten phát và một anten thu. Máy phát và máy thu chỉ có một bộ cao tần và một bộ
điều chế, giải điều chế. Hệ thống SISO thường dùng trong phát thanh và phát hình,
và các kỹ thuật truyền dẫn vô tuyến cá nhân như Wi-Fi hay Bluetooth. Dung
lượng hệ thống phụ thuộc vào tỉ số tín hiệu trên nhiễu được xác định theo công thức
Shanon:
2log (1 SNR)bit/ s/ HzC
Trang 14
Hệ thống MISO
Hình 1.3. Hệ thống MISO
Hệ thống sử dụng nhiều anten phát và một anten thu được gọi là hệ
thống MISO. Hệ thống này có thể cung cấp phân tập phát thông qua kỹ thuật
Alamouti từ đó cải thiện lượng tín hiệu hoặc sử dụng Beamforming để tăng hiệu suất
phát và vùng bao phủ. Khi máy phát biết được thông ti kênh truyền, dung lượng hệ
thống tăng theo hàm logarit của số anten phát và có thể được xác định gần đúng theo
công thức:
2log (1 . )bit/ s/ HzC N SNR
Hệ thống SIMO
Hình 1.4. Hệ thống SIMO
Hệ thống sử dụng một anten phát và nhiều anten thu được gọi là hệ
thống SIMO. Trong hệ thống này máy thu có thể lựa chọn hoặc kết hợp tín hiệu từ
các anten thu nhằm tối đa tỷ số tín hiệu trên nhiễu thông qua các giải thuật
beamforming hoặc MMRC (Maximal- Ratio Receive Combining). Khi máy thu biết
thông tin kênh truyền, dung lượng hệ thống tăng theo hàm logarit của số anten thu,
được tính theo công thức:
Trang 15
2log (1 . ) bit/ s/ HzC M SNR
Hệ thống MIMO
Hình 1.5. Hệ thống MIMO
Hệ thống MIMO là hệ thống sử dụng đa anten cả nơi phát và nơi thu. Hệ thống
có thể cung cấp phân tập phát nhờ đa anten phát, cung cấp phân tập thu nhờ vào đa
anten thu nhằm tăng chất lượng hệ thống hoặc thực hiện Beamforming tại nơi phát
và nơi thu để tăng hiệu suất sử dụng công suất, triệt can nhiễu. Ngoài ra dung lượng
hệ thống có thể cải thiện đáng kể nhờ vào độ lợi ghép kênh cung cấp bởi kỹ thuật mã
hoá không gian - thời gian V-BLAST. Khi thông tin kênh truyền được biết tại cả nơi
phát và thu, hệ thống có thể cung cấp độ lợi phân tập cực cao và độ lợi ghép kênh cực
đại, dung lượng hệ thống trong trường hợp phân tập cực đại có thể xác định theo công
thức:
2log (1 M.N.SNR) bit/ s/ HzC
1.1.3 Một số ứng dụng tiêu biểu.
1.1.3.1 Chuẩn 802.11n
Mạng máy tính cục bộ không dây (WLAN: wireless LAN ), còn gọi tắt là
WiFi (Wireless Fidelity) đầu tiên được IEEE chuẩn hoá vào năm 1997 và được
gọi là 802.11. Chuẩn này hoạt động trong dải tần vô tuyến 2.4Ghz với tốc độ chỉ
đạt được là 2Mbps. Tốc độ này quá thấp cho các ứng dụng. Vì vậy, IEEE đã phát
triển các chuẩn mới. Năm 1999, các chuẩn 802.11a/b được chấp thuận và sản phẩm
thương mại đầu tiên ra đời năm 2001. Các mạng WLAN đã phát triển vượt bậc nhờ
Trang 16
giá thành ngày càng giảm, được tích hợp sẵn trong các thiết bị xách tay và nhất là
sự tiện nghi cho người sử dụng khi truy cập mạng mà không cần dây nối.
Đến nay, mạng WLAN đã được phát triển thêm rất nhiều chuẩn, trong đó
nổi bật là 802.11a, 802.11b, 802.11g, 802.11n và gần đây là 802.11ac. Trong đó,
chuẩn 802.11n sử dụng kỹ thuật MIMO-OFDM nên tốc độ đạt trên 100Mbps (tối
đa là 600 Mbps).
Wireless LAN không những hỗ trợ thiết lập mạng cục bộ mà còn cho phép
thiết lập mạng ngang hàng peer-to-peer (adhoc network) giữa các thiết bị. Vì vậy,
mạng này không chỉ hiện diện trên các máy tính xách tay, các thiết bị hỗ trợ cá
nhân (PDA), mà còn xuất hiện ở nhiều thiết bị giải trí đa phương tiện, các thiết bị
văn phòng. Thành công của mạng wireless LAN đã thúc đẩy việc phát triển nhanh
mạng máy tính với quy mô lớn hơn và có nhiều tính năng hơn. Mạng máy tính không
dây diện rộng (Wireless MAN) được nghiên cứu và thử nghiệm, chuẩn 802.16 ra
đời. Sự phát triển cực nhanh đó cho thấy mối quan tâm của thế giới dành cho mạng
máy tính không dây cục bộ và các thế hệ sau của nó là rất lớn.
1.1.3.2 Wimax
IEEE 802.16 còn được gọi với tên WiMAX (Worldwide Interoperability
for Microwave Access) được phát triển trong những năm gần đây. Chuẩn 802.16 đầu
tiên được công bố vào tháng 12 năm 2001, dành cho hệ thống không dây dải rộng
cố định điểm – đa điểm (fixed point to multipoint broadband wireless system) hoạt
động trong vùng phổ tần đăng ký (licensed spectrum) từ 10 đến 66 GHz. Trên
thực tế, WiMax hoạt động tương tự WiFi nhưng ở tốc độ cao và khoảng cách lớn
hơn rất nhiều cùng với một số lượng lớn người dùng. Một hệ thống WiMAX gồm
2 phần cơ bản là trạm phát và trạm thu. Trạm phát giống như các trạm BTS
trong mạng thông tin di động với công suất lớn có thể phủ sóng một vùng rộng
tới 8000 km2. Trạm thu có thể là các anten nhỏ như các card mạng kết nối vào hoặc
được thiết lập sẵn trên bo mạch chủ bên trong các máy tính. Các trạm phát BTS
được kết nối tới mạng Internet thông qua các đường truyền tốc độ cao dành riêng
hoặc có thể được nối tới một BTS khác như một trạm trung chuyển bằng đường
Trang 17
truyền thẳng (line of sight) và chính vì vậy WiMAX có thể phủ sóng đến những
vùng rất xa.
1.1.3.3 Công nghệ 4G.
Truyền thông vô tuyến thế hệ thứ 4 là các hệ thống di động băng rộng.
Với hệ thống này, các thiết bị di động có khả năng truyền tải các dữ liệu, âm thanh
và hình ảnh với chất lượng cao. Đồng thời, các nhà thiết kế kỳ vọng sẽ có thể cho
phép các thiết bị di động chuyển vùng (roaming) tự động qua các công nghệ không
dây khác nhau. Kỹ thuật MIMO-OFDM cho phép truyền tín hiệu với tốc độ cao,
tránh được cảICI và ISI. Vì vậy, kỹ thuật MIMO-OFDM là công nghệ then chốt
của truyền thông vô tuyến thế hệ thứ tư (4G).
1.2 Giới thiệu về thiết bị FPGA.
1.2.1 Định nghĩa FPGA.
Field-programmable gate array (FPGA) là vi mạch dùng cấu trúc mảng phần
tử logic mà người dùng có thể lập trình được. (Chữ field ở đây muốn chỉ đến khả
năng tái lập trình “bên ngoài” của người sử dụng, không phụ thuộc vào dây chuyền
sản xuất phức tạp của nhà máy bán dẫn). Vi mạch FPGA được cấu thành từ các bộ
phận:
Các khối logic cơ bản lập trình được (logic block)
Hệ thống mạch liên kết lập trình được
Khối vào/ra (IO Pads)
Phần tử thiết kế sẵn khác như DSP slice, RAM, ROM, nhân vi xử lý...
FPGA cũng được xem như một loại vi mạch bán dẫn chuyên dụng ASIC,
nhưng nếu so sánh FPGA với những ASIC đặc chế hoàn toàn hay ASIC thiết kế trên
thư viện logic thì FPGA không đạt đựợc mức độ tối ưu như những loại này, và hạn
chế trong khả năng thực hiện những tác vụ đặc biệt phức tạp, tuy vậy FPGA ưu việt
hơn ở chỗ có thể tái cấu trúc lại khi đang sử dụng, công đoạn thiết kế đơn giản do vậy
chi phí giảm, rút ngắn thời gian đưa sản phẩm vào sử dụng.
Trang 18
Còn nếu so sánh với các dạng vi mạch bán dẫn lập trình được dùng cấu trúc
mảng phần tử logic như PLA, PAL, CPLD thì FPGA ưu việt hơn các điểm: tác vụ tái
lập trình của FPGA thực hiện đơn giản hơn; khả năng lập trình linh động hơn; và khác
biệt quan trọng nhất là kiến trúc của FPGA cho phép nó có khả năng chứa khối lượng
lớn cổng logic (logic gate), so với các vi mạch bán dẫn lập trình được có trước nó.
Thiết kế hay lập trình cho FPGA được thực hiện chủ yếu bằng các ngôn ngữ
mô tả phần cứng HDL như VHDL, Verilog, AHDL, các hãng sản xuất FPGA lớn như
Xilinx, Altera thường cung cấp các gói phần mềm và thiết bị phụ trợ cho quá trình
thiết kế, cũng có một số các hãng thứ ba cung cấp các gói phần mềm kiểu này như
Synopsys, Synplify...
Các gói phần mềm này có khả năng thực hiện tất cả các bước của toàn bộ quy
trình thiết kế IC chuẩn với đầu vào là mã thiết kế trên HDL (còn gọi là mã RTL).
1.2.2 Ứng dụng của FPGA
Ứng dụng của FPGA bao gồm: xử lý tín hiệu số DSP, các hệ thống hàng không,
vũ trụ, quốc phòng, tiền thiết kế mẫu ASIC (ASIC prototyping), các hệ thống điều
khiển trực quan, phân tích nhận dạng ảnh, nhận dạng tiếng nói, mật mã học, mô hình
phần cứng máy tính...
Do tính linh động cao trong quá trình thiết kế cho phép FPGA giải quyết lớp
những bài toán phức tạp mà trước kia chỉ thực hiện nhờ phần mềm máy tính, ngoài
ra nhờ mật độ cổng logic lớn FPGA được ứng dụng cho những bài toán đòi hỏi khối
lượng tính toán lớn và dùng trong các hệ thống làm việc theo thời gian thực.
Trang 19
2 CHƯƠNG 2: LÝ THUYẾT VÀ CÔNG CỤ THIẾT KẾ
Bên cạnh những điều kiện về kênh truyền, cấu trúc của hệ thống MIMO cũng
sẽ ảnh hưởng lớn đến chất lượng và năng suất của hệ thống. Thêm vào đó, phương
pháp xử lý tín hiệu sẽ ảnh hưởng đến cấu trúc của bộ phát và bộ thu. Nhìn chung, cấu
trúc của hệ thống MIMO có thể được phân thành hai nhóm: Mã hóa không gian- thời
gian (STC) và đa hợp phân chia theo không gian (SDM). STC nâng cao chất lượng
và năng suất của hệ thống bằng cách mã hóa ở các nhánh bộ truyền khác nhau trong
khi đó SDM nâng cao tốc độ truyền thông tin bằng cách truyền cách chia nguồn thông
tin thành những luồng nhỏ hơn và truyền trên cùng một dải tần. Bằng cách sử dụng
các kỹ thuật đầu thu thích hợp, có thể đạt được chất lượng và hiệu quả hệ thống nhờ
hai kỹ thuật trên.
Nội dung trong chương này sẽ tập trung giới thiệu về hệ thống MIMO nhóm
STC, đồng thời, sẽ giới thiệu các công cụ thiết kế hệ thống trên FPGA là DSP Builder
và board Arria V GT.
2.1 Lý thuyết về MIMO.
2.1.1 Khái niệm MIMO.
Nhu cầu về dung lượng hệ thống di động, không dây, internet tăng lên nhanh
chóng trên thế giới. Tuy nhiên phổ tần lại giới hạn, do đó việc tăng hiệu quả sử dụng
phổ tần là điều cần thiết. Việc tăng hiệu quả sử dụng phổ tần có thể cao hơn nữa khi
sử dụng nhiều anten ở đầu phát và đầu thu.
MIMO (Multiple Input Multiple Output) là hệ thống truyền thông điểm-điểm
với đa anten ở đầu phát và đầu thu (Hình 2.1). Những nghiên cứu cho thấy hệ thống
MIMO có thể tăng tốc độ dữ liệu, giảm BER, tăng vùng bao phủ hệ thống vô tuyến
mà không cần tăng công suất hay băng thông. Chí phí trả cho tăng tốc độ đường
truyền chính là chi phí triển khai hệ thống anten, không gian hệ thống tăng và độ
phức tạp xử lý tín hiệu số cũng tăng.
Trang 20
2.1.2 Các kỹ thuật phân tập.
Trong các hệ thống thông tin vô tuyến di động, các kỹ thuật phân tập được sử
dụng rộng rãi để giảm ảnh hưởng của Fading đa đường và cải thiện độ tin cậy của
truyền dẫn mà không phải tăng công suất phát hoặc mở rộng băng thông. Kỹ thuật
phân tập dựa trên các mô hình mà ở đó tại bộ thu sẽ nhận được các bản sao chép của
tín hiệu phát, tất cả các sóng mang sẽ có cùng một thông tin nhưng sự tương quan về
Fading thống kê là rất nhỏ. Ý tưởng cơ bản của phân tập là ở chỗ, nếu hai hoặc nhiều
mẫu độc lập của tín hiệu được đưa tới và các mẫu đó bị ảnh hưởng của Fading là độc
lập với nhau, có nghĩa là trong số chúng, có những tín hiệu bị ảnh hưởng nhiều, trong
khi các mẫu khác bị ảnh hưởng ít hơn. Điều đó có nghĩa là khả năng của các mẫu
đồng thời chịu ảnh hưởng của Fading dưới một mức cho trước là thấp hơn nhiều so
với khả năng một vài mẫu độc lập bị nằm dưới mức đó. Do vậy, bằng cách kết hợp
một cách thích hợp các mẫu khác nhau sẽ dẫn tới giảm ảnh hưởng của Fading và do
đó tăng độ tin cậy của việc phát tín hiệu. Một số phương pháp phân tập được sử dụng
để có được chất lượng như mong muốn tương ứng với phạm vi phân tập được giới
thiệu, các kỹ thuật phân tập được phân lớp thành phân tập thời gian, tần số và phân
tập không gian.
2.1.2.1 Phân tập thời gian.
Phân tập theo thời gian có thể thu được qua mã hóa và xen kênh. Sau đây ta
sẽ so sánh hai trường hợp: truyền ký tự liên tiếp và dùng xen kênh khi độ lợi kênh
truyền rất nhỏ.
Trang 21
th
t
Hình 2.1. Phân tập theo thời gian.
Từ hình vẽ ta thấy rằng: từ mã x2 bị triệt tiêu bởi Fading nếu không dùng bộ
xen kênh, nếu dùng bộ xen kênh thì mỗi từ mã chỉ mất một ký tự và ta có thể phục
hồi lại từ 3 ký tự ít bị ảnh hưởng bởi Fading.
Phân tập thời gian có thể đạt được bằng cách truyền dữ liệu giống nhau qua
những khe thời gian khác nhau, tại nơi thu các tín hiệu Fading không tương quan với
nhau. Khoảng cách thời gian yêu cầu ít nhất bằng thời gian nhất quán của kênh truyền
hoặc nghịch đảo của tốc độ Fading.
1
.d c
c
f v f ( 2.1)
Mã điều khiển lỗi thường được sử dụng trong hệ thống truyền thông để cung
cấp độ lợi mã (coding gain) so với hệ thống không mã hóa. Trong truyền thông di
động, mã điều khiển lỗi kết hợp với xen kênh để đạt được sự phân tập thời gian. Trong
trường hợp này, các phiên bản của tín hiệu phát đến nơi thu dưới dạng dư thừa trong
miền thời gian. Khoảng thời gian lặp lại các phiên bản của tín hiệu phát được quy
định bởi thời gian xen kênh để thu được Fading độc lập ở ngõ vào bộ giải mã. Vì tốn
thời gian cho bộ xen kênh dẫn đến trì hoãn việc giải mã, kỹ thuật này thường hiệu
quả trong môi trường Fading nhanh, ở đó thời gian nhất quán của kênh truyền nhỏ.
Trang 22
Đối với kênh truyền Fading chậm nếu xen kênh quá nhiều thì có thể dẫn đến trì hoãn
đáng kể.
2.1.2.2 Phân tập tần số.
Trong phân tập tần số, sử dụng các thành phần tần số khác nhau để phát cùng
một thông tin. Các tần số cần được phân chia để đảm bảo bị ảnh hưởng của fading
một cách độc lập. Khoảng cách giữa các tần số phải lớn hơn vài lần băng thông nhất
quán để đảm bảo rằng fading trên các tần số khác nhau là không tương quan với nhau.
Trong truyền thông di động, các phiên bản của tín hiệu phát thường được cung cấp
cho nơi thu ở dạng dư thừa trong miền tần số còn được gọi là trải phổ, ví dụ như trải
phổ trực tiếp, điều chế đa sóng mang và nhảy tần. Kỹ thuật trải phổ rất hiệu quả khi
băng thông nhất quán của kênh truyền nhỏ. Tuy nhiên, khi băng thông nhất quán của
kênh truyền lớn hơn băng thông trải phổ, trải trễ đa đường sẽ nhỏ hơn chu kỳ của tín
hiệu. Trong trường hợp này, trải phổ là không hiệu quả để cung cấp phân tập tần số.
Phân tập tần số gây ra sự tổn hao hiệu suất băng thông tùy thuộc vào sự dư thừa thông
tin trong cùng băng tần số.
2.1.2.3 Phân tập không gian.
Phân tập không gian còn gọi là phân tập anten. Phân tập không gian được sử
dụng phổ biến trong truyền thông không dây dùng sóng viba. Phân tập không gian sử
dụng nhiều anten hoặc chuỗi array được sắp xếp trong không gian tại phía phát hoặc
phía thu. Các anten được phân chia ở những khoảng cách đủ lớn, sao cho tín hiệu
không tương quan với nhau.
Yêu cầu về khoảng cách giữa các anten tùy thuộc vào độ cao của anten, môi
trường lan truyền và tần số làm việc. Khoảng cách điển hình khoảng vài bước sóng
là đủ để các tín hiệu không tương quan với nhau. Trong phân tập không gian, các
phiên bản của tín hiệu phát được truyền đến nơi thu tạo nên sự dư thừa trong miền
không gian. Không giống như phân tập thởi gian và tần số, phân tập không gian không
làm giảm hiệu suất băng thông. Đặc tính này rất quan trọng trong truyền thông không
dây tốc độ cao trong tương lai.
Trang 23
Tùy thuộc vào việc sử dụng nhiều anten hoặc ở nơi phát hoặc nơi thu mà
người ta chia phân tập không gian thành ba loại:
Phân tập anten phát (hệ thống MISO)
Phân tập anten thu (hệ thống SIMO)
Phân tập anten phát và thu (hệ thống MIMO).
2.1.3 Độ lợi trong hệ thống MIMO.
2.1.3.1 Độ lợi Beamforming.
Beamforming giúp hệ thống tập trung năng lượng bức xạ theo hướng mong
muốn giúp tăng hiệu quả công suất, giảm can nhiễu và tránh được can nhiễu tới từ
các hướng không mong muốn, từ đó giúp cải thiện chất lượng kênh truyền và tăng độ
bao phủ của hệ thống. Để có thể thực hiện Beamforming, khoảng cách giữa các anten
trong hệ thống MIMO thường nhỏ hơn bước sóng (thông thường là ),
Beamforming thường được thực hiện trong môi trường ít tán xạ .Khi môi trường tán
xạ mạnh hệ thống MIMO có thể cung cấp độ lợi ghép kênh không gian và độ lợi phân
tập.
Hình 2.2. Kỹ thuật Beamforming.
2.1.3.2 Độ lợi ghép kênh không gian.
Hình 2.3. Ghép kênh không gian giúp tăng tốc độ truyền.
2/
Trang 24
Tận dụng các kênh truyền song song có được từ đa anten tại phía phát và phía
thu trong hệ thống MIMO, các tín hiệu sẽ được phát độc lập và đồng thời ra các anten
(hình 2.3), nhằm tăng dung lượng kênh truyền mà không cần tăng công suất phát hay
tăng băng thông hệ thống. Dung lượng hệ thống sẽ tăng tuyến tính theo số các kênh
truyền song song trong hệ thống. Để cực đại độ lợi ghép kênh qua đó cực đại dung
lượng kênh truyền thuật toán V-BLAST (Vertical- Bell Laboratories Layered Space-
Time) được áp dụng.
2.1.3.3 Độ lợi phân tập.
Hình 2.4. Phân tập không gian cải thiện SNR.
Trong truyền dẫn vô tuyến, mức tín hiệu luôn thay đổi, bị Fading liên tục
theo không gian, thời gian và tần số, khiến cho tín hiệu tại nơi thu không ổn định,
việc phân tập cung cấp cho các bộ thu các bản sao tín hiệu giống nhau qua các kênh
truyền Fading khác nhau (hinh 2.4), bộ thu có thể lựa chọn hay kết hợp hay kết hợp
các bản sao tín hiệu này để giảm thiểu tốc độ sai bit BER, chống Fading qua đó tăng
độ tin cậy của hệ thống. Để cực đại độ lợi phân tập, giảm BER và chống lại Fading,
thuật toán STBC (Space-Time Block Code) và STTC (Space-Time Trellis Code)
được áp dụng.
Thực tế, để hệ thống có dung lượng cao, BER thấp, chống được Fading, ta
phải có sự tương quan giữa độ lợi phân tập và độ lợi ghép kênh trong việc thiết kế hệ
thống.
2.1.4 MIMO Alamounti STBC.
Trong các hệ thống SISO, với một chuỗi thông tin {x1,x2,x3,…,xn} cần truyền,
thông tin sẽ được truyền nối tiếp nhau, x1 rồi đến x2 ,… xn. Tuy nhiên, trong MIMO
STBC không làm như thế, chuỗi thông tin cần truyền sẽ được sao ra vài bản tùy thuộc
Trang 25
vào số anten truyền, một bản sao tín hiệu tương ứng với 1 anten, được truyền vào
không gian tại các thời điểm khác nhau dựa trên các anten khác nhau. Vì thế phương
pháp này được gọi là kỹ thuật mã hóa khối không gian- thời gian (space-time block
coding).
Mô hình của alamouti là mô hình STBC đầu tiên được nhà khoa học Siavash
M Alamouti giới thiệu vào năm 1998. Một số đặc điểm của Alamouti STBC:
Mô hình sử dụng 2 anten phát và không giới hạn số anten thu - Nr. Điều
đó có nghĩa là có thể sử dụng 1 anten thu.
Bậc phân tập anten là tích của số anten phát và anten thu tương ứng là 2Nr.
Alamouti STBC sẽ không cải thiện tốc độ truyền dữ liệu thay vào đó là
chất lượng tín hiệu sẽ được cải thiện đáng kể.
Mô hình hệ thống:
Tín hiệu được truyền dựa trên 2 anten phát và được đóng gói thành một nhóm
2 symbols. Ở khe thời gian thứ nhất, symbols x1, x2 được truyền tương ứng từ anten
thứ nhất và thứ hai. Ở khe thời gian thứ hai, symbols –x2* và x1* sẽ được truyền
tương ứng từ anten thứ nhất và thứ hai. Tương tự như thế, symbols x3, x4 ở khe thời
gian thứ ba, rồi –x4*, x3* cho khe thời gian thứ bốn. Vì vẫn cần 2 khe thời gian để
truyền 2 symbols nên tốc độ sẽ không được cải thiện.
Hình 2.5. Symbol được truyền qua 2 anten phát.
Với Nr=1, ở đầu thu
Trang 26
Hình 2.6. Hệ thống Alamouti STBC 2x1
Tại khe thời gian thứ nhất tín hiệu nhận được có dạng:
1
1 1 1 2 2 1 1 122
xy h x h x n h h n
x
( 2.2)
Tại khe thời gian thứ hai tín hiệu nhận được có dạng:
** * 2
2 1 2 2 1 2 1 22 *1
xy h x h x n h h n
x
( 2.3)
Với:
y1,y2 lần lượt là symbols nhận được ở khe thời gian thứ nhất và thứ hai
h1,h2 lần lượt là hàm truyền từ anten thứ nhất và thứ hai đến anten thu
x1,x2 là symbols truyền đi
n1,n2 là nhiễu tại khe thời gian thứ nhất và thứ hai
Có thể viết gọn lại bằng cách kết hợp (2.2)
1
1 1 1 2 2 1 1 122
xy h x h x n h h n
x
( 2.2)và liên hợp phức
của (2.3):
���
��∗� = �
ℎ� ℎ�
ℎ�∗ −ℎ�
∗� ���
��� + �
��
��∗� = � �
��
��� + �
��
��∗� ( 2.4)
Trang 27
Với � = �ℎ� ℎ�
ℎ�∗ −ℎ�
∗�, cần tìm nghịch đảo của H để có thể giải hệ phương trình
tìm được ���
���. Với định nghĩa hàm đảo Pseudo của ma trận:
�� = (���)���� ( 2.5)
Nhân ��vào phương trình (2.4):
���
���
�= (���)���� �
��
��∗� = (���)���� �� �
��
��� + �
��
��∗ ��
= ���
��� + (���)���� �
��
��∗�
( 2.6)
Kết quả ở (2.6) cho thấy tín hiệu nhận được bao gồm tín hiệu phát và bộ phận
của nhiễu. ���
���
� sau đó có thể được đưa qua bộ Maximum likelihood Decoder để chọn
ra tín hiệu phát phù hợp.
Tổng quát với Nr=i:
Hình 2.7. Alamouti STBC với nhiều anten thu
Tại đầu phát, thông tin được truyền tại thời điểm m và tiếp đó một khe thời
gian:
� = ���(�) ��(� + 1)��(�) ��(� + 1)
� = ��(�) −�∗(� + 1)
�(� + 1) �∗(�)� ( 2.7)
Trang 28
Tại đầu thu, anten thu thứ i ,
���(�)
��∗(� + 1)
� = �ℎ�� ℎ��
ℎ��∗ −ℎ��
∗ � ��(�)
�(� + 1)� + �
��(�)
��∗(� + 1)
�
= � ��(�)
�(� + 1)� + �
��(�)
��∗(� + 1)
� ( 2.8)
SNR tại anten thứ i,
���� = (|ℎ��|� + |ℎ��|�)��
�� ( 2.9)
SNR cho Nr anten:
��� = ∑ (|ℎ��|� + |ℎ��|�)��
��
����� ( 2.10)
Nhìn chung, mô hình alamouti STBC có chất lượng tốt hơn so với các hệ thống
SISO. Điều đó thể hiện ở tỉ lệ lỗi bit BER. BER thường được tính theo hàm xác suất:
��� =�
�(1 − ���)���/�� ( 2.11)
Trong đó erf là hàm xác suất lỗi, khác nhau đối với các kỹ thuật điều chế khác
nhau nhưng nhìn chung chúng tỉ lệ với SNR. SNR càng lớn thì BER càng tốt. SNR
của một hệ thống SISO có thể tính bằng |ℎ|��
��. So sánh với (2.11), ta có thể nhận thấy
STBC cho BER tốt hơn SISO ngay cả khi dung cùng một công suất phát.
2.1.5 MIMO – STBC 2x2.
Xét hệ thống MIMO STBC 2 x 2:
Trang 29
Hình 2.8. Mô hình STBC 2x2
Xét tín hiệu truyền đi sau. Cần lưu ý là tốc độ so với hệ thống SISO vẫn không
thay đổi do vẫn tốn 2 khe thời gian để truyền 2 symbols:
Hình 2.9. Mô hình STBC 2x2
Tại khe thời gian thứ nhất, tín hiệu thu được có dạng:
����
���� = �
ℎ�� ℎ��
ℎ�� ℎ��� �
��
��� + �
��
��� ( 2.12)
Và tín hiệu nhận được ở khe thời gian thứ hai:
����
���� = �
ℎ�� ℎ��
ℎ�� ℎ��� �
−��∗
��∗ � + �
��
��� ( 2.13)
Trang 30
Trong đó: ����
���� lần lượt là tín hiệu thu được tại anten thứ nhất và thứ 2 tại thời
điểm thứ nhất, ����
���� là tín hiệu thu được tại anten thứ nhất và thứ 2 tại thời điểm thứ
2. Và hij là hàm truyền từ anten phát thứ j đến anten thứ i. ���
��� là nhiểu xảy ra tại thời
điểm thứ nhất, và tương ứng với thời điểm thứ 2 là ���
���.
Kết hợp cả hai thời điểm, hai khe thời gian ta được:
�
���
���
���∗
���∗
� = �
ℎ�� ℎ��
ℎ�� ℎ��
ℎ��∗ −ℎ��
∗
ℎ��∗ −ℎ��
∗
� ���
��� + �
����
��∗
��∗
� ( 2.14)
Tương tự như trên, để giải tìm được tín hiệu truyền ta cần phải dựa vào khái
niệm ma trận đảo Psuedo của H, �� = (���)���� . Với
��� = �ℎ��
∗ ℎ��∗
ℎ��∗ ℎ��
∗ℎ�� ℎ��
−ℎ�� −ℎ��� �
ℎ�� ℎ��
ℎ�� ℎ��
ℎ��∗ −ℎ��
∗
ℎ��∗ −ℎ��
∗
� ( 2.15)
��� = �|ℎ��|� + |ℎ��|� + |ℎ��|� + |ℎ��|� 0
0 |ℎ��|� + |ℎ��|� + |ℎ��|� + |ℎ��|��
( 2.16)
(���)�� =
⎣⎢⎢⎡
1
|ℎ��|� + |ℎ��|� + |ℎ��|� + |ℎ��|�0
01
|ℎ��|� + |ℎ��|� + |ℎ��|� + |ℎ��|�⎦⎥⎥⎤
( 2.17)
Khi đó
Trang 31
���
��� = (���)���� �
���
���
���∗
���∗
� ( 2.18)
Sau khi được xử lý, tín hiệu sẽ được đưa vào MLD (maximum likelihood
decoder) để quyết định tính hiệu gốc. Nhờ đó, ta sẽ thu được tín hiệu ban đầu.
2.2 Công cụ thiết kế.
2.2.1 Phần mềm DSP Builder.
Đề tài được thiết kế bằng phần mềm DSP Builder, đây là một tiện ích do hãng
Altera thiết kế nhằm hỗ trợ người sử dụng có thể thiết kế nhanh chóng các ứng dụng
về xử lý tín hiệu số. DSP Builder chạy trên nền Simulink của Matlab và thừa hưởng
khả năng mô phỏng của Simulink. Do đó, để sử dụng được DSP Builder thì người
dùng cần biết về Matlab và Simulink trước.
DSP Buider tạo ra môi trường làm việc thân thiện để thiết kế các hệ DSP. Nhờ
các khối chức năng có sẵn, việc thiết kế trở nên dễ dàng hơn. Người sử dụng có thể
tạo ra những ứng dụng mong muốn và mô phỏng trên Simulink để kiểm tra kết quả.
DSP Builder cung cấp công cụ chuyển đổi thiết kế thành dạng VHDL cho phép
biên dịch và tổng hợp thành các cấu hình phần cứng, giúp rút ngắn thời gian biến ý
tưởng thành hiện thực.
Đặc điểm của DSP Builder là nó có các khối chứa bít và chu kỳ chính xác nên
thực hiện được các chức năng về số học, lưu trữ. Chúng có thể tích hợp những chức
năng phức tạp bằng cách sử dụng các MegaCore Functions trong DSP Builder model.
Các Functions này tăng cường sức mạng cho DSP Builder và mở ra khả năng phát
triển rộng lớn. Error! Reference source not found. trình bày các cách biên dịch để
chuyển từ sơ đồ thiết kế xuống phần cứng.
Trang 32
Hình 2.10. Quy trình thiết kế của DSP Builder
Matlab Simulink tạo ra một model, sử dụng kết hợp các các khối DSP Builder
và các khối của Simulink.
Biểu diễn mô phỏng RTL (Register Transfer Level): DSP Builder hỗ trợ mô
phỏng cho phần mềm ModelSim bằng các Tcl scripts. Có thể sử dụng VHDL đã được
tạo ra để mô phỏng bằng các công cụ khác.
Sử dụng các file do khối DSP Builder SignalCompiler tạo ra để tổng hợp RTL.
DSP Builder hỗ trợ các Tcl scripts dùng để tổng hợp tự động bằng các chương trình
phần mềm khác như: Quartus II, Synplify, Leonardo Spectrum.
Trang 33
Trong khóa luận này, việc biên dịch thiết kế được thực hiện bằng phần mềm
Quartus II phiên bản 13.1 và phải trên nền Windows 64 bit.
2.2.2 Thư viện DSP Builder.
Hình 2.11. Thư viện của DSP Builder
Hình 2.11 trình bày các nhóm thư viện của DSP Builder. Tùy các phiên bản
khác nhau thì DSP Builder sẽ có các thư viện thay đổi. Nhưng nhìn chung thì thư viện
bao gồm các khối chức năng cơ bản như sau:
Thư viện AltLab: Đây là thư viện chứa các khối hỗ trợ thiết kết như: khối chọn
loại linh kiện lập trình, khối đưa một thiết kế VHDL hoặc Verilog HDL vào trong
một subsystem, khối trả về các thông tin: chu kỳ lấy mẫu, số bit tối đa cần trong quá
trình mô phỏng và giá trị tối đa hoặc tối thiểu nhận khi mô phỏng. Trong thư viện có
hai khối quan trọng là khối Khối SignalCompiler và Khối SignalTap II Analysis:
Trang 34
Hình 2.12. Hoạt động của khối Signal Compiler.
Khối Signal Compiler là khối quan trọng nhất trong DSP Builder. Hình 2.12
trình bày giao diện khi chạy Signal Compiler. Khối này có chức năng sau:
Chuyển đổi thiết kế Simulink sang ngôn ngữ RTL VHDL
Tạo ra file kiểm tra bằng ngôn ngữ VHDL hoặc Verilog
Tạo ra Tcl scripts cho Quartus II biên dịch, hoặc cho các phần mềm khác
như: Synplify, Precision RTL, LeonardoSpectrumTM và ModelSim.
Trang 35
Cho phép tạo ra file SignalTap II (.stp)
Tạo ra file dùng các khối định dạng trong Quartus II (.bsf)
Khối SignalTap II Analysis dùng để kiểm tra các tín hiệu bên trong linh kiện
khi hệ thống đang chạy. SignalTap II Analysis có thể dùng để triggers, cấu hình bộ
nhớ, và hiển thị dạng sóng. Đề tài sử dụng công cụ này để kiểm tra từng khối chức
năng và quá trình xử lý dữ liệu của cả hệ thống.
Thư viện Arithmetic: Thư viện gồm các khối dùng cho phép tính số học như
so sánh, vi phân, tích phân, nhân, cộng, khai căn …
Thư viện Board: Board được sử dụng trong đề tài là Board Anten. Khi muốn
kết nối với phần cứng nào của board, ta chỉ cần thêm các khối trong thư viện vào mô
hình thiết kế.
Thư viện Complex Type: Thư viện cung cấp các hàm liên quan đến số phức
như: cộng trừ số phức, tính biên độ, pha…
Thư viện Gate and Control: Đây là thư viện cung cấp các khối về điều khiển
đường đi của dữ liệu và các cổng logic như đa hợp, giải đa hợp, flip flop, cổng AND,
OR, đảo…
Thư viện IO and Bus: Thư viện này cung cấp các khối vào/ra và bus như:
chuyển đổi bus (ví dụ chuyển từ bus 20 bit sang bus 16 bit, bỏ đi 4 bit), tách bit,
nguồn, mass, hằng số…
Thư viện Rate Change: Thư viện này cung cấp các khối để thay đổi tốc độ
trong model, chủ yếu dùng khi ta muốn thiết kế chương trình có nhiều hơn 1 clock.
Khối quan trọng nhất trong thư viện này là khối PLL, và khối này chỉ có thể
sử dụng được khi đặt nó ở mức cao nhất của model. Đồng thời, các khối sử dụng kết
quả của PLL phải là subsystem chứ không đồng mức với PLL.
Thư viện Storage: Thư viện Lưu trữ cung cấp các khối nhớ như ROM, FIFO,
LUT (look-up table: lưu trữ dữ liệu trong bảng tìm kiếm)…
Trang 36
Thư viện MegaCore Functions: Các MegeCore Functions là những khối có
một chức năng hoàn chỉnh riêng biệt, nhưng DSP Builder không cung cấp sẵn các
MegaCore Functions này. Các MegaCore Functions này có thể cài đặt thêm và
thường được điều khiển rất phức tạp.
2.3 Phần cứng thực hiện.
2.3.1 Giới thiệu board Arria V GT
Hình 2.13. Board Anten.
Hình 2.13 là kit Development Arria V GT của hãng Altera. Kit này cung cấp
một môi trường thiết kế hoàn chỉnh, bao gồm tất cả các phần cứng và phần mềm mà
người sử dụng cần để phát triển tất cả những thiết kế FPGA và tiến hành kiểm tra
chúng trong môi trường hệ thống. Kit có tiêu chuẩn RoHS và bao gồm các đặc điểm
như sau:
Hai FPGA cho thiết kế ở mức hệ thống là Arria V GT: 504000 phần tử
logic (LEs), đóng gói F1517, cho tốc độ truyền tải lên tới 10.3125 Gb/s.
Ba khe nhập/xuất gồm: 2 khe HSMC tốc độ cao và 1 khe FMC
Trang 37
SDRAM DDR3 với bộ nhớ 2Gb, QDR II+ với bộ nhớ 4.5Mb và bộ nhớ
flash 1Gb.
Hai kết nối SFP+
Kết nối SMAs và Samtec Bull’s Eye tốc độ cao.
Có thể đo công suất riêng biệt trên mỗi chip.
2.3.2 Các thành phần trên board Arria V GT.
2.3.2.1 Thiết bị Anten 5AGTFD7K3F40I3N
Trên board có 2 thiết bị quan trọng là FPGA1 và FPGA 2 họ Arria V GT với
1517 chân FineLine BGA
504000 phần tử logic (LEs)
190240 mô đun đáp ứng logic (ALMs)
Bộ nhớ M10K là 24140 Kb
Bộ nhớ MLAB là 2906 Kb
36 bộ thu phát
16 vòng lặp khóa pha (PLLs)
2312 kênh 18x18.
Điện thế nội 1.15 V
FPGA 1 kết nối với các thành phần sau:
Các port giao tiếp:
Một kết nối PCI Express 8 cạnh.
Một kết nối USB 2.0
Cầu nối C2C với 29 ngõ vào LVDS, 29 ngõ ra LVDS và 8 kênh truyền
nhận.
Hai kênh SFP+
Trang 38
Một kênh truyền nhận SMA 10 Gb/s
Ba kênh truyền nhận Bull’s Eye 10 Gb/s
Bộ nhớ:
DDR3 SDRAM 1152 Mb với bus dữ liệu 72 bit.
QDRII + SRAM 72Mb.
Flash đồng bộ với bus dữ liệu 16 bít.
Nhập/xuất:
LED và LCD:
Tám LED 2 màu xanh và đỏ.
LCD hai dòng chữ.
Ba LED báo hiệu chọn cấu hình
Một LED báo hiệu cấu hình xong.
Hai LED báo hiệu HSMC truyền/nhận.
Ba LED báo hiệu cho PCI Express
Năm LED báo hiệu Ethernet.
Nút nhấn:
Một nút nhấn reset CPU.
Một nút nhấn điều khiển cấu hình cho MAX II
Một nút nhấn để tải hình ảnh vào FPGA từ bộ nhớ flash.
Một nút nhấn chọn hình ảnh để tải từ bộ nhớ flash.
Ba nút nhấn sử dụng chung.
Tám switch điều khiển.
Sơ đồ kết nối của Arria V GT với các thành phần trên board như sau:
Trang 39
Hình 2.14. Sơ đồ kết nối Anten.
Các đặc tính của Anten được mô tả trong bảng sau:
Bảng 2-1. Các đặc tính của Arria V GT.
Modul đáp ứng logic (ALMs) 190,240
Số phần tử logic (LEs) 504,000
Số RAM M10K 24,140
Tổng bộ nhớ RAM 27,046 Kb
Đa kênh 18x18 bit 2,312
PLLs 16
Số bộ truyền/nhận 36
Loại đóng gói FBGA 1517 chân
2.3.2.2 MAX II CPLD EPM2210GF324
Board này sử dụng bộ điều khiển hệ thống MAX II CPLD EPM2210 với mục
đích:
Cấu hình FPFA từ bộ nhớ Flash.
Giám sát công suất tiêu thụ.
Ảo hóa giao diện JTAG cho giao diện đồ họa máy tính cơ bản (PC-
based GUI).
Trang 40
Điều khiển thanh ghi cho xung clock.
Điều khiển thanh ghi cho quá trình điều khiển cập nhật hệ thống.
Hình 2.15. Sơ đồ khối MAX II CPLD EPM2210
2.3.3 Ứng dụng Board Test System.
2.3.3.1 Giới thiệu về Board Test System.
Bộ kit bao gồm một ví dụ thiết kế và một ứng dụng được gọi là Board Test
System (BTS) để kiểm tra các chức năng của board Arria V. Ứng dụng này có giao
diện làm rất dễ sử dụng để thay đổi các tính năng và quan sát kết quả. Ngoài ra, có
thể sử dụng BTS để kiểm tra các thành phần của board, thay đổi các thông số, quan
sát hiệu suất và đo công suất sử dụng của board.
Giao diện đồ họa của BTS trên máy tính giao tiếp với board thông qua bus
JTAG để kiểm tra những thiết kế đang chạy trên board. Hình 2.16 là giao diện của
BTS.
Trang 41
Hình 2.16. Giao diện Board Test System
Một số thiết kế được cung cấp để kiểm tra những đặc tính chính của board.
Mỗi thiết kế sẽ có dữ liệu cho một hoặc nhiều tab trong phần ứng dụng. Nếu chọn
một menu cấu hình thì một thiết kế thích hợp sẽ được tải xuống FPGA. Sau khi cấu
hình FPGA thành công, một số tab sẽ xuất hiện cho phép ta thực hành một số đặc tính
liên quan đến board.
2.3.3.2 Sử dụng Board Test System.
Menu cấu hình:
Sử dụng menu cấu hình để chọn những thiết kế mà ta muốn sử dụng. Mỗi
thiết kế sẽ có chức năng khác nhau khi đó sẽ có một hoặc nhiều tab tương ứng sẽ xuất
hiện.
Trang 42
Hình 2.17. Menu cấu hình
Tab thông tin hệ thống:
Như hình 2.16, tab thông tin hệ thống sẽ hiển thị các thông tin sau:
Thông tin trạng thái cấu hình của board.
Nội dung của thành ghi MAX II
Thông tin của các JTAG
Địa chỉ MAC của board
Một số lưu trữ chi tiết khác
Tab GPIO trên FPGA 1:
Tab GPIO cho phép tương tác với tất cả các thành phần nhập/xuất trên
board như viết lên LCD, đọc Switch DIP, đóng tắt LED và nhận diện khi
nhấn các nút nhấn.
Tab Flash:
Tab flash cho phép đọc và viết tất cả bộ nhớ flash lên trên board. Hình
2.18 thể hiện rõ hơn về chức năng này.
Tab HSMA:
Trang 43
Tab HSMA cho phép kiểm tra hồi tiếp trên bộ thu phát (XCVR) và cổng
CMOS. Lưu ý là phải hồi tiếp HSMA trên cổng kết nối HSMC A thì chức
năng này mới làm việc được. Hình 2.19 là giao diện làm việc của HSMA.
Tab SFP/SMA/C2C:
Tab SFP/SMA/C2C cho phép chạy các thiết kế kiểm tra, sử dụng giao diện
kênh thu phát riêng biệt trên FPGA 1. Hình 2.20 là giao diện của tab này.
Tab HSMB/FMC:
Tab HSMB/SMC cho phép thực hiện hồi tiếp trên XCVR và cổng CMOS
FPGA 2. Hình 2.21 la giao diện của tab. Chú ý là cần hồi tiếp HSMB trên
cổng kết nối HSMC B thì mới kiểm tra được chức năng này.
Tab SDI/Bull’s Eye:
Tab này cho phép thực hiện hồi tiếp trên cổng Bull’s Eye và SDI của
FPGA 2. Tab này được thể hiện trong hình 2.22.
Tab SMA:
Tab SMA cho phép thực hiện hồi tiếp qua cổng SMA trên FPGA 2. Tab
này có giao diện như hình 2.23.
Trang 44
Hình 2.18. Tab Flash
Hình 2.19. Tab HSMA
Trang 45
Hình 2.20. Tab SFP/SMA/C2C
Hình 2.21. Tab HSMB/FMC
Trang 46
Hình 2.22. Tab SDI/Bull's Eye
Hình 2.23. Tab SMA
Trang 47
3 CHƯƠNG 3: THIẾT KẾ.
Trong chương 4 này sẽ trình bày việc thiết kế từng khối và ghép các khối thành
hệ thống truyền thông MIMO hoàn chỉnh. Để tiện theo dõi, việc thiết kế sẽ được phân
tích theo từng khối chức năng ở cả bên phát và bên thu. Ngoài ra, đề tài còn trình bày
quy trình chung để thiết kế hệ thống trên phần cứng FPGA.
3.1 Mô hình thiết kế.
3.1.1 Sơ đồ khối.
Mô hình hệ thống MIMO được thiết kế như hình 3.1.
Hình 3.1. Mô hình thiết kế hệ thống MIMO-STBC
3.1.2 Bộ tạo dữ liệu và các tín hiệu điều khiển.
Việc tạo dữ liệu để kiểm tra khả năng hoạt động của mạch được thực hiện bằng
cách đặt dữ liệu trong một bảng tra, như vậy, dữ liệu ta có thể kiểm soát được. Bảng
dữ liệu tạo sẵn 320 giá trị nhằm tiện cho việc mở rộng hệ thống MIMO-OFDM sau
này. Hệ thống OFDM có 320 kênh con, trong đó có 64 Cyclic Prefix, 55 giá trị ‘0’ ở
hai đầu của symbol, một giá trị ‘0’ ở chính giữa, và 8 kênh con dùng cho pilot. Vì
Trang 48
vậy, chỉ có 192 kênh còn lại được dùng cho dữ liệu. Đề tài sử dụng bộ mã hoá
convolution code ½. Trong trường hợp phép đều chế QPSK, ta có mỗi symbol sẽ
mang 2 bit thông tin. Vì vậy, một symbol của hệ thống sẽ mang được 192 bit thông
tin. Do đó, ta sẽ đặt 192 giá trị nhị phân vào bảng tra và 192 giá trị ‘0’ tức là không
có thông tin để đảm bảo thời gian chèn bit và symbol OFDM. Bộ đếm có nhiệm vụ
truy xuất giá trị trong bảng tra và thực hiện chức năng làm chỉ số symbol (index_out)
cho cả hệ thống. Tín hiệu data_out là dữ liệu được tạo. Tín hiệu cho phép (ena) dùng
để báo hiệu cho các mạch ngẫu nhiên hoá, mã hoá kênh hoạt động. Hình 3.2 thể hiện
mạch tạo dữ liệu và các tín hiệu điều khiển.
Hình 3.2. Mạch tạo dữ liệu và tín hiệu điều khiển.
3.1.3 Bộ mã hóa.
Bộ mã hoá kênh được sử dụng là bộ mã convolutional code, tốc độ mặc định
là 1/2, chiều dài bộ mã hoá là 7 và dùng đa thức sinh là: G1 = 171OCT và G2 = 133OCT.
Bộ mã hoá được thiết kế bằng cách kết hợp 6 bộ trễ (delay) và 2 cổng XOR 5 ngõ
vào. Hình 3.3 trình bày bộ mã hóa Convolutional Code. Cổng in_cc là ngõ vào của
bộ mã hóa, cổng out_cc là ngõ ra của bộ mã hóa. Tín hiệu sau khi qua 2 bộ XOR
tương ứng với G1 và G2 của mã hóa. Ena là tín hiệu cho phép mã hóa.
Trang 49
Hình 3.3. Bộ mã hóa Convolutional code
3.1.4 Bộ giải mã bằng thuật toán Viterbi.
Đề tài sử dụng bộ giải mã bằng thuật toán Viterbi. Kiến trúc căn bản của thuật
toán Viterbi được trình bày trong hình 3.4. Thuật toán gồm bốn khối chính: khối tính
khoảng cách nhánh (branch metric), khối cộng-so sánh-chọn (add compare and
select), khối chọn đường tối ưu (survivor path metric), và khối quy hồi và giả mã
(traceback and output decode block).
Khối tính khoảng cách nhánh (branch metric) dùng đểtính khoảng cách
Hamming của các bit (là 2 bit nếu sử dụng tốc độ mã là R=1/2) với các nhánh. Khối
cộng-so sánh-chọn có nhiệm vụ tính tổng khoảng cách Hamming của nhánh với trạng
thái hiện tại và giữ lại nhánh có khoảng cách ngắn nhất. Khối chọn đường tối ưu để
tìm ra chuỗi trạng thái phù hợp nhất. Khối quy hồi và giả mã có nhiệm vụ chọn, dò
lại chuỗi trạng thái tối ưu và quyết định chuỗi bit ở ngõ ra. Đây là chuỗi bit giải mã
của thuật toán.
Hình 3.4. Mô hình thuật toán Viterbi
Trang 50
Hình 3.5 là ví dụ về giải mã dùng thuật toán Viterbi cho chuỗi dữ liệu thu là
(11, 00, 01, 11, 10, 10, 11). Chuỗi trạng thái phù hợp nhất được xác định bằng cách
tính khoảng cách Hamming với tất cả các đường. Khi hai đường cùng gặp nhau tại
một điểm, ta chỉ giữ lại đường có khoảng cách Hamming ngắn hơn. Đường cuối cùng
được chọn để quyết định trạng thái ngõ ra là đường có khoảng cách Hamming ngắn
nhất. Vì vậy, chuỗi dữ liệu tối ưu nhất là (11, 01, 01, 11, 11, 10,11). Khi xác định
được chuỗi dữ liệu tối ưu, ta có thể xác định chuỗi dữ liệu ở ngõ ra bộ giải mã. Trong
ví dụ trên, chuỗi dữ liệu sau khi giải mã là (1100100).
Hình 3.5. Ví dụ giải mã dùng thuật toán Viterbi
Đề tài sử dụng MegaCore để thực hiện bộ giải mã dùng thuật toán Viterbi.
Khối chức năng được thể hiện trong hình 3.6.
Trang 51
Hình 3.6. Bộ giải mã dùng thuật toán Viterbi.
Các đường tín hiệu cơ bản để điều khiển bộ giải mã được trình bày ở hình 3.7.
Thuật toán Viterbi dựa vào chuỗi trạng thái phù hợp nhất. Vì vậy, việc xác định độ dài của chuỗi sẽ ảnh hưởng đến hiệu quả của bộ giải mã. Nếu chiều dài được chọn quá dài sẽ làm cho tăng các phép tính toán, sử dụng nhiều bộ nhớ, và tăng thời gian
trễ. Ngược lại, nếu chọn chiều dài quá ngắn sẽ hạn chế khả năng sửa lỗi của thuật toán. Chiều dài qui hồi thường được chọn gấp 6 lần chiều dài bộ mã trong trường hợp
không bỏ bớt. Trong trường hợp có bỏ bớt, chiều dài được chọn tối đa dài gấp 15 lần chiều dài bộ mã. Trong thiết kế này, chiều dài bộ mã là 7 và không sử dụng kỹ thuật bỏ bớt nên chiều dài qui hồi được chọn là 42. Chi tiết các đường tín hiệu được diễn tả ở
Bảng 3-1. Các dữ liệu đến bộ giả mã là không liên tục nên dữ liệu ngõ ra của
bộ giả mã là không liên tục. Các dữ liệu này sẽ được ghi vào bộ nhớ FIFO. Sau đó,
tín hiệu rd_data_out sẽ đọc liên tục 192 bit dữ liệu trong bộ nhớ.
Hình 3.7. Dạng sóng của các tín hiệu điều khiển của khối giải mã Viterbi.
Trang 52
Bảng 3-1. Ý nghĩa các đường tín hiệu của bộ giải mã Viterbi
Tên đường tín hiệu Hướng Mô tả
sink_val Input Tín hiệu cho phép truyền dữ liệu
rr Input Ngõ vào của dữ liệu cần giải mã.
eras_sym Input Ngõ này sử dụng cho kỹ thuật bỏ bớt
source_rdy Input Tín hiệu cho phép truyền dữ liệu ngõ ra
ber_clear Input Xóa bộ đếm BER
source_val Output Báo tín hiệu ngõ ra
decbit Output Ngõ ra của tín hiệu sau giải mã
sink_rdy Output Cho phép truyền dữ liệu ngõ vào
normalizations Output Chứa các giá trị chuẩn hóa, đây là thông tin
được dùng để tránh hiện tượng tràn bộ đếm.
numerr Output Số bít lỗi
reset Input Khởi động lại bộ giải mã.
state_node_sync Input
Sử dụng trong các trường hợp đặc biệt,
dùng để thiết lập điểm bắt đầu của dữ liệu
vào.
3.1.5 Ánh xạ chòm sao.
3.1.5.1 Bộ ánh xạ chòm sao.
Ánh xạ chòm sao là phương pháp chuyển chuỗi dữ liệu có m bit thành một
điểm a+jb dạng số phức. Trong đó, số bit m phụ thuộc vào phép ánh xạ. Đề tài sử
dụng kiểu điều chế QPSK với m = 2. Có các phương pháp để thiết kế bộ mapper như
sử dụng cấu trúc case hoặc dùng một bảng tra (LUT) hoặc dùng bộ nhớ ROM. Ở đây,
khối mapper được thiết kế bằng bảng tra.
Hình 3.8 trình bày nguyên tắc của phép QPSK. Có hai bảng tra riêng được
sử dụng để lưu giá trị trục đồng pha (I) và trục vuông pha (Q). Dữ liệu cần thực hiện
ánh xạ sẽ đặt vào đường địa chỉ của bảng tra. Nội dung trong bảng tra lưu trữ giá trị
Trang 53
tương ứng với chòm sao. Dữ liệu được ánh xạ sẽ có giá trị từ -1 đến 1. Ngõ ra của bộ
DAC là 14 bit. Vì vậy, đề tài chuẩn hoá tín hiệu về dạng số có dấu chấm cố định.
Hình 3.8. Giản đồ chòm sao phép điều chế QPSK và 16 QAM
Bảng 3-2 là các dữ liệu đặt trong bảng tra cho bộ mã hoá QPSK. Sơ đồ mạch
thực hiện phép điều chế QPSK được trình bày ở hình 3.9.
Bảng 3-2. Dữ liệu bảng tra của QPSK
Dữ liệu vào (địa chỉ) Ngõ ra
Hệ thập
phân
Hệ nhị
phân
Trục I Trục Q
Giá trị
(hệ 10)
Số dấu chấm
cố định (hệ 10)
Giá trị
(hệ 10)
Số dấu chấm
cố định (hệ 10)
0 00 0.707 5792 0.707 5792
1 01 0.707 5792 -0.707 10592
2 10 -0.707 10592 0.707 5792
3 11 -0.707 10592 -0.707 10592
Trang 54
Hình 3.9. Mạch thực hiện phép điều chế QPSK.
3.1.5.2 Bộ giải ánh xạ chòm sao.
Ở đầu thu, các điểm chòm sao ở bộ truyền sẽ bị thay đổi do tác động của kênh
truyền. Vì vậy, bộ giải ánh xạ chòm sao phải chọn ngưỡng để xác định điểm chòm
sao ở phía thu. Khối giải ánh xạ chòm sao (demapper) được thiết kế bằng ngôn ngữ
Verilog. Nguyên tắc của của bộ demapper là so sánh giá trị nhận được trên đường I
và Q với các điểm lân cận trong chòm sao. Điểm được chọn ở ngõ ra là điểm có gần
nhất với tín hiệu nhận được. Khi sử dụng phép QPSK, bộ demapper được thực hiện
đơn giản bằng cách cho giá trị ngõ ra là bit có ý nghĩa lớn nhất (MSB) của chuỗi bit
nhận được. Đây là bit dấu của chuỗi dữ liệu. Dữ liệu ở ngõ ra sẽ được đặt vào bộ nhớ
FIFO để chuẩn bị đi vào bộ giải mã kênh. Ở đây dữ liệu truyền có 192 giá trị do đó
bộ nhớ FIFO cần 192 từ nhớ. Mỗi từ có 2 bit nhớ tương ứng với phép điều chế QPSK.
Hình 3.10 là mạch thực hiện demapper.
Hình 3.10. Bộ mapper và bộ nhớ FIFO
Trang 55
3.1.6 Bộ điều chế MIMO-STBC.
Dữ liệu ngõ vào bộ điều chế MIMO-STBC là tín hiệu đồng thời I và Q tương
ứng với giá trị thực và ảo. Hai tín hiệu này được gộp với nhau thành tín hiệu phức và
lần lượt cho qua nhánh anten 1 hoặc anten 2 nhờ bộ Demux với tín hiệu điều khiển là
bộ counter. Ở khối tạo số phức, do tín hiệu vào lần lượt là giá trị I, Q với 14 bít, do
đó cần thiết lập cho khối này tối thiểu là 14 bit. Tín hiệu ở nhánh anten 1 được trì
hoãn một chu kì xung để thời điểm tiếp theo, nhánh anten 1 sẽ phát tín hiệu S0, nhánh
anten 2 sẽ phát tín hiệu S1. Tại thời điểm thứ nhất, ngõ ra của anten 1 là S0 và anten
2 là S1. Tại thời điểm tiếp theo, anten 1 là −��∗và anten 2 sẽ là ��
∗. Các luồng tín hiệu
lúc này đều ở dạng phức. Hình 3.11 là mạch thực hiện khối điều chế STBC.
Hình 3.11. Mạch thực hiện điều chế MIMO-STBC.
3.1.7 Bộ giải điều chế
Mạch thực hiện bộ giải điều chế STBC được thực hiện như hình 3.12. Các tín
hiệu vào là các giá trị phức, được tách thành các tín hiệu thực và ảo riêng biệt sau đó
truyền trên 4 nhánh khác nhau tại 2 thời điểm khác nhau bằng khối Demux. Hai tín
hiệu tại thời điểm đầu tiên được trì hoãn một chu kỳ xung, tới thời điểm tiếp theo, tín
hiệu tại 4 nhánh lần lượt là r1, r2, r3, r4. 4 tín hiệu này được xử lý nhân với các giá
trị kênh truyền H đã ước lượng được. Trong đề tài này, các giá trị kênh truyền H được
gán cố định, nên không có bộ ước lượng. Sử dụng 2 bộ cộng để cộng các tín hiệu theo
bộ quyết định maximunlikelihood. Lúc này chỉ còn lại 2 đường tín hiệu, đem chia
Trang 56
cho hệ số * * * *
1 1 2 2 3 3 4 4. . . .H H H H H H H H sẽ được tín hiệu gốc. Mạch thiết kế
bộ chia được thực hiện như hình 3.13.
Hình 3.12. Mạch thực hiện giải điều chế MIMO-STBC
Trang 57
Hình 3.13. Mạch thiết kế bộ chia.
3.1.8 Kênh truyền
3.1.9 Bộ đếm lỗi bit
Bộ đếm tốc độ bit có nhiệm vụ kiểm tra hai luồng dữ liệu ở phía thu và phía
phát. Nếu phát hiện thấy một sai biệt, bộ đếm lỗi sẽ tăng biến đếm lên 1 bằng cách
cho phép bộ counter. Phần dò lỗi được thực hiện bằng cổng XOR. Ngõ ra của cổng
XOR sẽ cho phép bộ đến tăng trị số đếm. Mạch thực hiện đếm BER được trình bày ở
Hình 3.14.
Hình 3.14. Mạch đếm lỗi bit
Trang 58
3.2 Quy trình thiết kế trên FPGA
3.2.1 Mô tả ban đầu về thiết kế
Khi xây dựng một chip khả trình FPGA với ý nghĩa dành cho một ứng dụng
riêng biệt, vì xuất phát từ mỗi ứng dụng trong thực tiễn cuộc sống, phải đặt ra yêu
cầu phải thiết kế IC thực hiện tối ưu nhất những úng dụng đó. Bước đầu tiên của quy
trình thiết kế này có nhiệm vụ tiếp nhận các yêu cầu của thiết kế và xây dựng nên
kiến trúc tổng quát của thiết kế.
Mô tả thiết kế: Trong bước này, từ những yêu cầu của thiết kế và dựa trên
khả năng của công nghệ hiện có, người thiết kế kiến trúc sẽ xây dựng nên toàn bộ
kiến trúc tổng quan cho thiết kế. Nghĩa là trong bước này, người thiết kế kiến trúc
phải mô tả được những vấn đề sau:
Số lượng các khối cần thiết kế.
Chức năng của mỗi khối.
Hoạt động cụ thể của thiết kế và mỗi khối.
Phân tích các kỹ thuật được sử dụng trong thiết kế và các công cụ, phần
mềm hỗ trợ thiết kế.
Một thiết kế có thể được mô tả sử dụng ngôn ngữ mô tả phần cứng như VHDL
hay Verilog HDL hoặc có thể mô tả qua bản vẽ mạch. Một thiết kế có thể vừa bao
gồm bản vẽ mạch mô tả sơ đồ khối chung, vừa có thể dùng ngôn ngữ HDL để mô tả
chi tiết cho các khối trong sơ đồ.
Mô phỏng chức năng: Sau khi mô tả thiết kế, người thiết kế cần mô phỏng
tổng thể thiết kế về mặt chức năng để kiểm tra thiết kế có hoạt động đúng với các
chức năng yêu cầu.
Tổ hợp logic: là quá trình tổng hợp các mô tả thiết kế thành sơ đồ bố trí mạch
(netlist) được thể hiện trong hình 3.15. Quá trình này chia thành 2 bước: chuyển đổi
các mã RTL, mã HDL thành mô tả dưới dạng các biểu thức đại số Boolean và dựa
Trang 59
trên các biểu thức này kết hợp với thư viện tế bào chuẩn sẵn có để tổng hợp nên một
thiết kế tối ưu.
Hình 3.15. Tổ hợp logic
Hiệu chỉnh các kết nối (Datapath Schematic): Nhập netlist và các ràng buộc
về thời gian vào một công cụ phân tích thời gian. Công cụ phân tích này sẽ tách rời
tất cả các kết nối của thiết kế, tính thời gian trễ của các kết nối dựa trên các ràng buộc.
Dựa trên kết quả phân tích của công cụ phân tích, xác định các kết nối không thỏa
mãn về thời gian. Tùy theo nguyên nhân dẫn đến không thỏa mãn mà ta có thể viết
lại mã và tiến hành lại tổng hợp logic hoặc hiệu chỉnh lại các ràng buộc.
3.2.2 Thực thi
Ta có sơ đồ bố trí netlist mô tả tổng thể thiết kế tại mức cổng (chỉ gồm các
cổng logic cổng cơ bản và các mạch logic khác như MUX). Quá trình này sẽ đặt sơ
đồ netlist này lên chip, gọi là quá trình thực thi.
Quá trình gồm các bước:
Ánh xạ: (mapping hay còn gọi là fitting): Chuẩn bị dữ liệu đầu vào, xác định
kích thước các khối. Các khối này sẽ phải phù hợp với cấu trúc của một tế bào cơ bản
của FPGA (gồm nhiều cổng logic) và đặt chúng vào các vị trí tối ưu cho việc chạy
dây. Hình 3.16 cho ta hình dung rõ hơn về quá trình ánh xạ.
Trang 60
Hình 3.16. Sơ đồ gán chân
Đặt khối và định tuyến:
Đặt khối: đặt các khối ánh xạ vào các tế bào (cell) ở vị trí tối ưu cho việc chạy
dây. Quá trình này thể hiện rõ trong hình 3.17.
Trang 61
Hình 3.17. Sơ đồ không gian gán bên trong FPGA
Định tuyến: bước này thực hiện việc nối dây các tế bào, được thể hiện ở hình
3.18.
Hình 3.18. Sơ đồ định tuyến
Trang 62
Để thực hiện việc này, chúng ta cần có các thông tin sau:
Các thông tin vật lý về thư viện tế bào, ví dụ kích thước tế bào, các điểm
để kết nối, định thời, các trở ngại trong khi đi dây.
Một Netlist được tổng hợp sẽ chỉ ra các chi tiết các instance và mối quan hệ
các hết nối bao gồm cả các đường dẫn bị hạn chế trong thiết kế.
Tất cả các yêu cầu của tiến trình cho các lớp kết nối, bao gồm các luật thiết
kế cho các lớp chạy dây, trở kháng và điện dung, tiêu thụ năng lượng, các luật về sự
dẫn điện trong mỗi lớp.
3.2.3 Quá trình nạp và lập trình.
Sau quá trình thực hiện, thiết kế cần được nạp vào FPGA dưới dạng dòng bit
(bit stream).
Quá trình nạp thiết kế vào FPGA thường nạp vào bộ nhớ tạm ví dụ như
SRAM. Thông tin cấu hình được nạp vào bộ nhớ. Dòng bit được truyền lúc này sẽ
mang thông tin định nghĩa các khối logic cũng như kết nối của thiết kế. Tuy nhiên
lưu ý rằng, SRAM sẽ mất dữ liệu khi mất nguồn nên thiết kế sẽ không được lưu lại
đến phiên làm việc kế tiếp.
Lập trình là thuật ngữ để mô tả quá trình nạp chương trình cho các bộ nhớ
không bay hơi, ví dụ như PROM. Như vậy thông tin cấu hình vẫn được lưu trữ lại khi
mất nguồn.
Với các kit do Altera phát triển, hãng còn hỗ trợ thêm công cụ DSP Builder.
Đây là một công cụ đắc lực cho các nhà nghiên cứu, nó hỗ trợ việc thiết kế phần cứng
nhờ các khối sẵn có, hay các chức năng hoàn chỉnh trong IP core, ngoài ra, nó còn hỗ
trợ cả việc biên dịch và nạp trực tiếp lên board nhờ khối SignalCompiler và các
Interface của các dòng board FPGA của Altera. Trong đề tài này, do xử dụng board
Anten của Altera, là dòng ra đời cách đây không lâu, hiện vẫn chưa có hỗ trợ các
Interface trong DSP Builder, do đó, việc nạp các thiết kế lên FPGA sẽ được tiến hành
như sau:
Thiết kế hệ thống trên DSP Builder.
Trang 63
Biên dịch và xuất ra file VHDL
Sử dụng Quartus II 64 bít phiên bản từ 11.0 trở lên, tiến hành:
Bước 1: Tạo Project mới
Bước 2: Thêm thư viện là các file VHDL đã tạo ra ở trên.
Bước 3: Chọn dòng thiết bị là Arria V GT 5AGTFD7K3F40I3N.
Bước 4: Biên dịch tạo ra file *.sof
Bước 5: Nạp file *.sof vào FPGA thông qua Programmer của
Quartus II.
Trang 64
4 CHƯƠNG 4: KẾT QUẢ.
Chương này trình bày các kết quả kiểm tra một số chức năng chính của board
FPGA Arria V GT bằng phần mềm Board Test System đồng thời kiểm tra kết quả
của hệ thống MIMO trên mô phỏng bằng khối. Các dữ liệu ở ngõ ra thường có thời
gian trễ so với dữ liệu vào. Tuy từng khối cụ thể mà thời gian trễ sẽ khác nhau.
4.1 Kết quả kiểm tra board bằng phần mềm Board Test System
Hình 4.1Error! Reference source not found. đến Hình 4.9 cho ta thấy việc
thực hiện được cấu hình và kiểm tra board Arria V GT bằng phần mềm Board Test
System.
Hình 4.1. Cấu hình menu Flash/GPIO trên FPGA 1.
Trang 65
Hình 4.2. Kết quả cấu hình LED, LCD hiện thị, các Switch và nút nhấn.
Hình 4.3. Kết quả kiểm tra đọc, ghi bộ nhớ RAM gắn với Chip FPGA 1.
Trang 66
Hình 4.4. Kết quả kiểm tra đọc, ghi bộ nhớ RAM gắn với Chip FPGA 2.
Hình 4.5. Kết quả thu phát loopback trên cổng kết nối HSMA.
Trang 67
Hình 4.6. Kết quả thu phát loopback trên cổng kết nối HSMB.
Hình 4.7. Kết quả kiểm tra phát trên cổng kết nối FMC.
Trang 68
Hình 4.8. Kết quả kiểm tra phát tại Bull’s Eye.
Hình 4.9. Kết quả kiểm tra thu phát qua SMA.
Trang 69
4.2 Kết quả đo đạt mô hình thiết kế.
4.2.1 Bộ mã hóa kênh và giải mã Viterbi
Tín hiệu qua bộ mã hóa kênh được thể hiện như hình 4.10
Hình 4.10. Tín hiệu qua mã hóa kênh
Kết quả so sánh trước và sau khi điều chế được thể hiện trong hình 4.11. Tín
hiệu ở phần trên là tín hiệu qua bộ mã hóa kênh, tín hiệu ở phần ở là giải điều chế và
bị chậm hơn một symbol. Kết quả phân tích cho thấy tín hiệu được giải mã trùng
khớp với tín hiệu trước khi mã hóa.
Trang 70
Hình 4.11. Tín hiệu qua bộ mã hóa kênh và giải mã
4.2.2 Bộ điều chế giản đồ chòm sao bằng QPSK
Các tín hiệu điều chế QPSK là I và Q được thê hiện trong hình 4.12 và Hình
4.13
Hình 4.12. Tín hiệu phần thực QPSK
Trang 71
Hình 4.13. Tín hiệu phần ảo QPSK
Kết quả so sánh tín hiệu trước khi ánh xạ giản đồ chòm sao và sau khi giải ánh
xạ được thể hiện như hình 4.14.
Hình 4.14. Tín hiệu trước khi mapper và sau khi demapper
4.2.3 Bộ mã hóa và giải mã STBC
4.2.3.1 Tín hiệu sau khi qua mã hóa STBC
Tín hiệu phát trên anten 1 thể hiện trong hình 4.15 và anten 2 thể hiện trong
hình 4.16 với phần trên là phần thực, phần dưới là phần ảo.
Trang 72
Hình 4.15. Tín hiệu anten 1
Hình 4.16. Tín hiệu anten 2
4.2.3.2 Tín hiệu sau khi qua kênh truyền
Tín hiệu sau khi qua kênh truyền của anten1 và anten2 lần lượt được thể hiện
trong hình 4.17 và hình 4.18 với phần thực ở trên và phần ảo ở dưới.
Trang 73
Hình 4.17. Tín hiệu anten 1 sau khi qua kênh truyền
Hình 4.18. Tín hiệu anten 2 sau khi qua kênh truyền
4.2.3.3 Tín hiệu sau khi giải mã STBC
Tín hiệu sau khi giải điều chế STBC đúng với tín hiệu ban đầu và bị châm
hơn. Kết quả được thể hiện trong hình 4.19.
Trang 74
(1)
(2)
Hình 4.19. So sánh tín hiệu sau giải điều chế STBC và tín hiệu gốc
(1): Phần thực
(2): Phần ảo
Trang 75
5 CHƯƠNG 5: KẾT LUẬN.
Đây là chương tổng kết các kết quả của đề tài và đánh giá kết quả đo đạt được,
đồng thời chương này trình bày các hướng nghiên cứu để phát triển đề tài.
5.1 Kết luận
Đề tài đã hoàn thành mục tiêu ban đầu đặt ra là nghiên cứu, thiết kế hệ thống
MIMO băng DSP Builder trên nền Simulink của Matlab và hơn hết là nạp thành công
một thiết kế lên Board Arria V GT. Việc thiết kế bằng DSP Builder cho phép đề tài
tận dụng các khối chức năng của DSP Builder. Ngoài ra, DSP Builder không những
cho phép xây dựng các khối từ ngôn ngữ lập trình Verilog hoặc VHDL mà còn cho
phép sử dụng các MegaCore của Altera. Điều này giúp tiết kiệm thời gian thực hiện
lại các khối cơ bản.
Hệ thống MIMO của đề tài bao gồm các khối chức năng: khối mã hóa chập –
giải mã bằng thuật toán Viterbi, khối ánh xạ chòm sao bằng phương pháp QPSK, khối
điều chế và giải điều chế MIMO-STBC, khối tạo kênh truyền H.
Hệ thống MIMO-STBC hoàn chỉnh được thực hiện đúng với lý thuyết. Đề tài
có nhiều đóng góp trong việc chuyển các cơ sở lý thuyết thành các thiết kế trên phần
cứng cho một hệ thống OFDM hoàn chỉnh trên phần cứng. Khi thiết kết trên phần
cứng, ngoài yêu cầu về thuật toán mà còn yêu cầu về kiểm soát và quản lý dữ liệu
giữa các tầng có độ phức tạp cao. Việc thiết kế trên phần cứng nhằm mở ra khả năng
nghiên cứu các hệ thống truyền dẫn số tiên tiến trên phần cứng. Các nghiên cứu về
lĩnh vực thiết kế các hệ thống truyền dẫn số trên phần cứng sẽ góp phần vào sự phát
triển lĩnh vực thiết kế SoC hoặc SoPC còn mới mẻ tại Việt Nam. Đây cũng là cơ sở
để hướng đến thiết kế vi mạch tích hợp cho viễn thông. Tuy nhiên, do phần cứng này
khá mới, chưa có nhiều nghiên cứu và chưa có sự hỗ trợ của hãng Altera nên quá
trình nghiên cứu còn nhiều khó khăn, như cấu trúc board khá phức tạp, phần mềm
DSP Builder chua hỗ trợ Interface cho thiết bị, quá trình nạp board phải đi trung gian,
nhiều giai đoạn.
Trang 76
5.2 Hướng phát triển
Đề tài là cơ sở thực hiện nghiên cứu và cải tiến hệ thống MIMO-OFDM hoàn
chỉnh theo các chuẩn như 801.11g, 802.11n, 802.16. Ngoài ra, đề tài còn mở ra khả
năng nghiên cứu và phát triển các hệ thống truyền thông tiên tiến ở dải gốc.
Về phần cứng, hiện tại hãng Altera hợp tác cùng TI phát triển một bộ kit hoàn
chỉnh để thu phát sóng vô tuyến (RF). Điều này mở ra một hướng nghiên cứu các kỹ
thuật vô tuyến thực tế.
Về thuật toán: Các thuật toán phức tạp sẽ gặp nhiều khó khăn khi thiết kế trên
phần cứng. Tuy nhiên, các lĩnh vực cần tiếp tục nghiên cứu để hoàn chỉnh hệ thống
như: phương pháp giảm tỉ số đỉnh trên trung bình (PAR), thử nghiệm các phương
pháp mã hoá sửa sai khác như: Reed Solomon, mã hoá Turbo, kết hợp với bộ đan xen
(Interleaving) các kỹ thuật ước lượng kênh truyền hai chiều, và các phương pháp điều
chế mã hoá thích nghi.
Trang 77
TÀI LIỆU THAM KHẢO
Tiếng Việt:
[1] Đặng Lê Khoa, Nguyễn Trường An, Bùi Hữu Phú, Nguyễn Hữu Phương (2008),
Thực hiện hệ thống OFDM trên phần cứng, Hội Nghị Khoa Học Trường Đại Học
Khoa Học Tự Nhiên lần 6.
Tiếng Anh:
[1] Siavash M. Alamouti (1998), A Simple Transmit Diversity Technique for
Wireless Communication, IEEE Journal on Select Areas in Communication, Volume
16 Issue 8.
[2] Nazia Parveen, D.S.Venkateswarlu (2012), Implementation of Space-Time Block
Coding Using 2 Transmit and 2 Receive Antennas, International Journal of Emerging
Technology and Advanced Engineering, Volume 2 Issue 10.
[3] Altera Corporation (2013), DSP Builder Handbook, URL:
http://www.altera.com/products/software/products/dsp/dsp-builder.html
[4] Altera Corporation (2012), Arria V GT FPGA Development Board, URL:
http://www.altera.com/products/devkits/altera/kit-arria-v-gt.html
[5] Altera Corporation (2013), Arria V GT FPGA Development Board, URL:
http://www.altera.com/products/devkits/altera/kit-arria-v-gt.html
[6] Altera Corporation (2007), Viterbi Compiler User Guide, URL:
http://www.altera.com/technology/dsp/dsp-index.jsp