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à −S∗và anten 2 sẽ là S∗. Các luồng tín hiệu
1 O
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.
Có thể bạn quan tâm!
- Quy Trình Thiết Kế Của Dsp Builder
- Sơ Đồ Kết Nối Anten. Các Đặc Tính Của Anten Được Mô Tả Trong Bảng Sau:
- Dạng Sóng Của Các Tín Hiệu Điều Khiển Của Khối Giải Mã Viterbi.
- Thực hiện hệ thống MIMO STBC trên Board FPGA Arria V - 9
- Thực hiện hệ thống MIMO STBC trên Board FPGA Arria V - 10
Xem toàn bộ 87 trang tài liệu này.
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
cho hệ số H .H * H .H * H .H * H .H * sẽ được tín hiệu gốc. Mạch thiết kế
1 1 2 2 3 3 4 4
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
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
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
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ạ.
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.
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
Để 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.