Bộ giải mã SDM (khối SDM decoder)

Một phần của tài liệu THIẾT KẾ HỆ THỐNG MIMOOFDM SDM TRÊN NỀN FPGA (Trang 82 - 86)

Hình 4.33: Cấu trúc khối giải mã SDM

Sau khi có các hệ số kênh truyền nhờ khối ước lượng kênh, bộ giải mã SDM (Hình 4.33) sẽ tính toán các hệ số WT theo công thức (2.25), và nhân với dữ liệu nhận được để giải mã (tách phân tập) thành dữ liệu ban đầu, sau đó dữ liệu tiếp tục được cho qua khối MUX nhằm chuyển 2 luồng dữ liệu trên 2 an-ten thành 1 luồng dữ liệu như bên phía phát.

Về việc tạo ra các hệ số WT, các hệ số kênh truyền H đã ước lượng được sẽ cho vào khối WT có cấu trúc như Hình 4.34.

Khối này gồm các subsystem được thiết kế để thực hiện các phép toán ma trận (Lấy Hermitian, cộng ma trận, trừ ma trận, lấy đảo ma trận,…) để thực hiện công thức (2.22).

Trong thiết kế tại khối này, có 1 thách thức đó là tính toán bị tràn do bị giới hạn số bit (18 bit) trên 1 đơn vị dữ liệu, và trường hợp này xảy ra bắt đầu từ khối Inverse Matrix, do công thức tính DET, phải chia cho 1 số quá nhỏ nên kết quả sẽ ra 1 giá trị rất lớn, vượt qua giới hạn 18 bit. Để khắc phục vấn đề này, đề tài phải tạo ra các khối cộng, trừ, nhân và chia với khả năng xác định tràn, theo ý tưởng sau:

Đầu tiên ta phải định dạng số (gọi là số A) theo định dạng khác mang 3 thông tin: trị tuyệt đối của A, bit xác định âm/dương, số bit dịch phải (Hình 4.35). Số bit dịch phải có nghĩa là, giả sử trong trường hợp tính toán bị tràn, ta sẽ chia số đó cho 1 số khác sau đó mới thực hiện phép tính. Số bị chia được chọn là bội số của 2, nhằm tạo thành các phép dịch phải để tiết kiệm tài nguyên của hệ thống.

Hình 4.35: Chuyển định dạng 1 sốthành định dạng mang 3 thông tin: Số trị tuyệt đối, bit xác định âm/dương, số bit dịch trái.

Như vậy, các mạch tính toán sẽ được thiết kế như sau:

Đối với mạch cộng:

TH1: Nếu 2 số có kích thước phần “bit dịch phải” khác nhau, thì số nhỏ hơn (có bit dịch phải ít hơn) phải dịch phải đúng bằng số bit chênh lệch giữa hai số trước khi tính toán. Trong trường hợp này sẽ không bị tràn.

TH2: Nếu 2 số có kích thước phần “bit dịch phải” bằng nhau, nếu có khả năng tràn (chỉ có thể tràn 1 bit) thì sẽ chia 1 trong 2 số cho 2 (thực chất là dịch phải 1 bit) và lưu lại trong phần “số bit dịch phải” sau đó mới thực hiện phép cộng.

Hình 4.36: Cấu trúc mạch cộng chống tràn

Đối với mạch trừ: thực hiện tượng tự mạch cộng.

Hình 4.37: Cấu trúc mạch trừ chống tràn

Đối với mạch nhân: có khả năng tràn 4 bit, do đó nếu xác định sẽ tràn thì chia

mỗi số cho 1 giá trị (2 hoặc 4 – dịch phải 1 bit hoặc 2 bit), sao cho các giá trị dịch phải của mỗi số sau khi cộng sẽ bằng số bit có thể tràn. Sau khi đã chia, mạch sẽ thực hiện phép nhân bình thường.

Hình 4.38: Cấu trúc mạch nhân chống tràn

Đối với mạch chia: thiết kế tương tự mạch nhân

5 CHƯƠNG 5: KẾT QUẢ

Chương này trình bày các kết quả thử nghiệm của hệ thống MIMO-OFDM. Do giới hạn về thiết bị phần cứng, không có Board đủ mạnh và các thành phần RF để thử nghiệm nên toàn bộ các kết quả có được đều sử dụng Scope của Matlab để quan sát, tuy nhiên, kết quả này cũng đáp ứng hầu hết các yêu cầu giống như trên thiết bị thật. Để tiện việc khảo sát khả năng hoạt động của từng khối, đề tài sẽ khảo sát kết quả trên từng bộ ngẫu nhiên hoá, bộ mã hoá kênh, quá trình xử lý dữ liệu bên phát, quá trình xử lý dữ liệu bên thu… 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. Để tiện việc kiểm tra, dữ liệu ngõ vào được gắn thêm các bộ trễ cho đồng bộ với dữ liệu ngõ ra. Đồng thời, đề tài còn trình bày các thông số tài nguyên của hệ thống sau khi đã biên dịch.

Một phần của tài liệu THIẾT KẾ HỆ THỐNG MIMOOFDM SDM TRÊN NỀN FPGA (Trang 82 - 86)