KÊNH TRUYỀN VÀ ĐÁNH GIÁ CHẤT LƯỢNG KÊNH TRUYỀN

Một phần của tài liệu Thực hiện hệ thống ofdm trên phần cứng (Trang 61 - 104)

4.6.1. Kênh truyền

Phần kênh truyền AWGN được tạo trên máy tính. Sau đó, ta đặt các dữ liệu này trong bộ nhớ. Tín hiệu ngõ ra từ cyclic prefix sẽ được cộng với các dữ liệu nhiễu được lưu trong bộ nhớ. Tín hiệu sau khi cộng có nhiễu sẽ đến phần thu như hình 4.23.

Hình 4.23: Bộ cộng nhiễu ngẫu nhiên

4.6.2. Bộ cân bằng

Bộước lượng kênh truyền dựa vào các pilot nhận được và các pilot từ mạch tạo pilot tại bên thu để tính đáp ứng của các pilot. Từ đáp ứng của pilot, ta nội suy ra đáp ứng của cả symbol. Phương pháp nội suy đơn giản được sử dụng trong đề tài là phương pháp nội suy tuyến tính.

Dữ liệu đến khối cân bằng sẽ được lưu vào bộ nhớ FIFO để chờ mạch thực hiện việc ước lượng kênh truyền. Khi một symbol OFDM được đặt hết trong bộ nhớ, lúc này bộ ước lượng kênh truyền đã tính xong các đáp ứng của pilot. Sau đó, dữ liệu được đọc ra khỏi bộ nhớ và nhân với đáp ứng được tính từ pilot. Vì linh kiện FPGA chỉ có khả năng thực hiện các phép toán trên số nguyên nên để tính được chính xác đáp ứng của một pilot ta thực hiện các bước sau:

Bước 1: Nhân giá trị của pilot thu Spilotvới 8192 Bước 2: Lấy phần nguyên của Spilot /Rpilot

Bước 3: Nội suy đáp ứng của các symbol data Bước 4: Nhân từng symbol data với từng đáp ứng

Bước 5: Chia kết nhân ở bước 4 cho 8192 và đây là giá trị sau cân bằng. Đề tài sử dụng phép điều chế QPSK để kiểm tra toàn bộ hệ thống trên phần cứng nên hiệu quả của bộ cân bằng đến tỉ lệ lỗi bit là không đáng kể. Do đó, phần tính toán các đáp ứng được thực hiện trên Matlab và nạp các thông số này vào bảng tra. Với việc thiết kế này, khối cân bằng chỉ thử nghiệm trên Matlab. Khi nạp hệ thống hoàn chỉnh xuống phần cứng, phần cân bằng sẽđược bỏ qua. Tuy nhiên, điều này không ảnh hưởng đến tỉ lệ lỗi bit như đã phân tích ở trên. Hình 4.24 là mạch thực hiện bộ cân bằng.

Hình 4.24: Mạch thực hiện ước lượng kênh truyền và cân bằng

4.6.3. Bộ đếm tốc độ 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 4.25.

Hình 4.25: Mạch thực hiện đếm BER

4.7. HỆ THỐNG OFDM

4.7.1. 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. Hệ thống OFDM sử dụng 256 kênh con, trong đó, gồm 55 giá trị ‘0’ ở hai đầu của symbol, một giá trị ‘0’ ở giữa và có 8 kênh con dùng cho pilot. Vì vậy, 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, 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. 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 đọc bộ nhớ (rd_data) cho phép đọc các dữ liệu đã được ánh xạ chòm sao đi vào bộ ghép symbol ở các vị trí tương ứng dành cho dữ liệu. 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. Đồng thời, đây là tín hiệu ghi dữ liệu sau khi được ánh xạ chòm sao và bộ nhớ FIFO. Hình 4.26 Mạch tạo dữ liệu và các tín hiệu điều khiển

Hình 4.26: Mạch tạo dữ liệu và các tín hiệu điều khiển

4.7.2. Hệ thống OFDM

Hệ thống OFDM hoàn chỉnh ở dải gốc của đề tài được trình bày ở hình 4.27. Các khối cùng màu tạo thành một cặp xử lý ở phần phát và phần thu. Các tín hiệu ở ngõ ra trục thực và trục ảo sẽđược nối với Signal Tap đểđọc dữ liệu kiểm tra. Đồng thời, các dữ liệu này sẽ cho ra bộ DAC và quan sát bằng máy phân tích phổ. Vì bộ DAC chỉ cho phép tín hiệu không dấu. Vì vậy, ta cần các bộ cộng thêm phần DC cho tín hiệu. Sau khi thực hiện phép cộng, giá trị sẽ tăng thêm 1 bit, do đó bộ Bus Conversion sẽ chuyển tín hiệu về dạng 14 bit không dấu. Bảng 4.5 trình bày tóm tắt lại chức năng và các đường tín hiệu của từng khối chức năng trong hệ thống.

Bảng 4.5: Mô tả các đường tín hiệu của hệ thống OFDM Các đường tín hiệu Khối Chức năng Tên Nhiệm vụ index_out Chỉ số tạo symbol rd_data Đọc dữ liệu đã đã được ánh xạở bộ nhớ FIFO ena Báo hiệu có dữ liệu ngõ ra Sink Tạo dữ liệu truyền và các tín hiệu điều khiển data_out Dữ liệu truyền ena Cho phép mạch hoạt động in_ran Dữ liệu vào cần giả ngẫu nhiên Randomizer Giả ngẫu nhiên

hoá dữ liệu

rst Reset mạch giả ngẫu nhiên ena Cho phép mạch hoạt động in_cc Dữ liệu vào cần mã hoá rst Reset mạch giả ngẫu nhiên out_cc1 Ngõ ra g1= 171oct

Channel

Encoder Mã hoá kênh

out_cc2 Ngõ ra g2= 133oct

rd_data Đọc dữ liệu từ bộ nhớ FIFO wr_data Ghi dữ liệu từ bộ nhớ FIFO in_map Dữ liệu vào cần ánh xạ sclr Xoá bộ nhớ FIFO

out_mapI Ngõ ra đồng pha bộ ánh xạ Mapper Thực hiện ánh

xạ chòm sao

out_mapQ Ngõ ra vuông pha bộ ánh xạ index Chỉ số symbol

in_dataI Ngõ vào đồng pha in_dataQ Ngõ vào vuông pha out_I Ngõ ra đồng pha Assambly Symbol OFDM Tạo symbol OFDM bằng cách ghép data, pilot và các giá

trị ‘0’ out_Q Ngõ ra vuông pha index_in Chỉ số symbol in_real Ngõ vào trục thực in_imag Ngõ vào trục ảo out_real Ngõ ra trục thực out_imag Ngõ ra trục ảo out_sop Bắt đầu fame dữ liệu ngõ ra Signal OFDM TOFDM bạo tín hiằng ệu cách thực hiện IFFT

out_rst Ngõ ra reset để bắt đầu symbol mới in_real Ngõ vào trục thực

in_imag Ngõ vào trục ảo

sclr Xoá bộđếm chỉ số dữ liệu ngõ ra out_real Ngõ ra trục thực

Cyclic

Prefix Thêm phCyclic Prefix ần

out_imag Ngõ ra trục ảo in_real Ngõ vào trục thực in_imag Ngõ vào trục ảo Remove Cyclic Prefix Bỏ phần Cyclic Prefix out_real Ngõ ra trục thực

out_imag Ngõ ra trục ảo

sop_rx Bắt đầu khung của dữ liệu thu sau khi bỏ phần CP

eop_rx Kết thúc khung của dữ liệu thu in_realrx Ngõ vào trục thực

in_imagrx Ngõ vào trục ảo

in_sop Bắt đầu khung của dữ liệu thu In_eop Kết thúc khung của dữ liệu thu out_realrx Ngõ ra trục thực out_imagrx Ngõ ra trục ảo Signal OFDM Tách tín hiệu OFDM bằng cách thực hiện FFT sop_rx Bắt đầu fame dữ liệu ngõ ra in_realrx Ngõ vào đồng pha

in_imagrx Ngõ vào vuông pha sop_rx Bắt đầu fame dữ liệu ngõ ra data_I Ngõ ra dữ liệu đồng pha data_Q Ngõ ra dữ liệu vuông pha pilot_I Ngõ ra pilot đồng pha pilot_Q Ngõ ra pilot vuông pha

wr_data Ghi dữ liệu vào bộ nhớ FIFO vì dữ liệu phải đặt vào liên tục khi đi vào bộ giải mã kênh Disassambly Symbol OFDM Tách symbol OFDM bằng cách lấy ra data, pilot index Chỉ số của các dữ liệu thu data_I Ngõ vào dữ liệu đồng pha data_Q Ngõ vào dữ liệu vuông pha pilot_I Ngõ vào pilot đồng pha pilot_Q Ngõ vào pilot vuông pha rx_I Ngõ ra dữ liệu đồng pha Equalizer Bộ ước lượng

kênh truyền và cân bằng

rx_Q Ngõ ra dữ liệu vuông pha rx_I Ngõ vào dữ liệu đồng pha rx_Q Ngõ vào dữ liệu vuông pha wr_data Ghi dữ liệu vào bộ nhớ FIFO rd_data Đọc dữ liệu từ bộ nhớ FIFO Demapper Thực hiện giải

ánh xạ chòm sao

data_out Dữ liệu sao khi được giải ánh xạ in_dec Ngõ vào dữ liệu cần giải mã sink_val Báo bắt đầu có dữ liệu cần giải mã out_dec Ngõ ra bộ giải mã

Channel

Decoder Gibằng thuải mã kênh ật toán Viterbi

out_ena Báo bắt đầu có dữ liệu ra khỏi bộ giải mã

in_ran Dữ liệu vào cần giải giả ngẫu nhiên ena Cho phép bộ giải giả ngẫu nhiên De-

randomizer Ginhiên hoá dải giả ngẫữu

3CHƯƠNG 3: MÔ HÌNH THỬ NGHIỆM VÀ CÔNG CỤ THIẾT KẾ

Chương 3 trình bày hệ thống truyền thông số sử dụng kỹ thuật OFDM của đề tài, các công cụ phần mềm, và phần cứng được sử dụng trong thiết kế. Nội dung chương này sẽ phân tích chức năng của từng khối trong hệ thống, giới thiệu công cụ DSP Builder và kit DSP Development.

3.1. MÔ HÌNH THỬ NGHIỆM

3.1.1. Mô hình hệ thống sử dụng kỹ thuật OFDM

Mô hình nghiên cứu của đề tài ở hình 3.1. Hệ thống gồm bộ randomizer - derandomizer, channel encoder-channel decoder, IQ mapper - IQ demaper, symbol OFDM, signal OFDM, channel estimation, equalizer. Bảng 3.1 trình bày chức năng của từng khối trong hệ thống. Chi tiết về các khối được trình bày ở mục 3.1.2. Dữ liệu dùng để kiểm tra hệ thống được tạo bằng phương pháp ngẫu nhiên và đặt trong bộ nhớ. Việc kiểm tra hoạt động từng khối và của cả hệ thống được thực hiện bằng công cụ Signal Tap của Altera và kết nối với máy tính thông qua chuẩn JTAG (Joint Test Action Group). Tín hiệu OFDM được biến đổi từ số sang tương tự (DAC) và hiển thị kết quả trên máy phân tích phổ (spectrum analyzer). Hệ thống xử lý trên tín hiệu dải gốc. Vì vậy, phần khảo sát phổ của hệ thống được thực hiện trên từng giá trị thực và ảo. Phần trong ô màu xanh là một hệ thống OFDM hoàn chỉnh.

Bảng 3.1: Mô tả các khối của hệ thống OFDM

Khối STT

Phần phát Phần thu Chức năng

1 Randomizer Derandomizer Giả ngẫu nhiên hoá dữ liệu và ngược lại 2 Channel

encoder

Channel decoder

Bộ hoá sửa sai do tín hiệu khi tín hiệu bị tác động của kênh truyền

3 IQ Mapper IQ Demaper Bộ ánh xạ chòm sao 4 Symbol

OFDM

Symbol OFDM

Ghép các data tạo thành symbol OFDM và ngược lại

5 Signal OFDM Signal OFDM Khối tạo tín hiệu OFDM bằng phép biến đổi IFFT và ngược lại

6 Channel Kênh truyền

7 Channel

Estimation

Ước lượng kênh truyền

8 Equalizer Cân bằng tín hiệu dựa vào thông tin từ bộ ước lượng kênh truyền

9 BER Đo tốc độ lỗi bit

3.1.2. Mô tả chức năng các khối trong hệ thống

Nhiệm vụ của các hệ thống truyền thông là truyền chuỗi bit từ bên phát đến bên thu phải đảm bảo tiêu chí về tốc độ truyền và tỉ lệ lỗi bit (BER). Do đó, hệ thống OFDM hoàn chỉnh gồm các khối được mô tả chi tiết như sau:

Khối randomizer (ngẫu nhiên hoá): Dữ liệu ngõ vào đầu tiên được qua khối randomizer. Khối này có tác dụng biến đổi chuỗi bit vào thành các bit ‘0’ và ‘1’ có phân bố ngẫu nhiên bằng cách XOR dữ liệu vào với ngõ ra bộ tạo ngẫu nhiên. Bộ tạo ngẫu nhiên được thực hiện bằng một thanh ghi dịch với dữ liệu khởi tạo thoả điều kiện ngẫu nhiên và được gọi là thanh ghi tạo chuỗi nhị phân giả ngẫu nhiên (PRBS: pseudo-random binary sequence). Tác dụng của khối randomizer là chống lại trường hợp các chuỗi bit giống nhau kéo dài sẽ gây khó khăn trong việc đồng bộ thời gian lấy mẫu. Quá trình khôi phục lại tín hiệu ban đầu được thực hiện bằng khối derandomizer. Nguyên lý hoạt động của khối này giống như khối randomizer ở phía phát.

Khối mã hoá kênh (channel encoder): Đây là khối đóng vai trò chủ yếu trong việc khôi phục lại chuỗi bit bị lỗi khi truyền mà không cần yêu cầu truyền lại. Khối mã kênh hoạt động dựa trên nguyên tắc gửi kèm các bit dùng để sửa lỗi (redundancy bit) cùng với bit thông tin. Ở đây, đề tài sử dụng mã hoá chập (convolutional encoder) và sử dụng thuật toán giải mã Viterbi ở đầu thu. Khả năng sửa lỗi ngày càng được nâng cao với sự ra đời của nhiều thuật toán mã hoá /giải mã tiên tiến. Bộ mã hoá tiên tiến nhất là mã hoá Turbo.

Khối ánh xạ chòm sao (IQ mapper): Khối này thực hiện chức năng của bộ điều chế số. Trong các hệ thống OFDM, khối này được gọi là khối mapper vì ngõ ra của khối này là dữ liệu số. Đây là khối có thể tăng tốc độ truyền bằng cách ghép chuỗi bit thành nhiều symbol có kích thước giống nhau. Tuỳ vào cách ánh xạ mà số bit trong mỗi symbol thay đổi. Ở đây, đề tài thử nghiệm các phương pháp QPSK (Quadrature Phase Shift Keying), và 16QAM (Quadrature Amplitude Modulation). Tuy nhiên, các phương pháp khác như: BPSK (Binary Phase Shift Keying), 64_QAM cũng có thể được thiết kế tương tự. Ngược lại ở đầu thu ta phải có khối demapper để khôi phục lại chuỗi bit từ các symbol.

Khối tạo OFDM symbol: Sau khi chuyển chuỗi bit thành các symbol, chuỗi tuần tự (serial) các symbol sẽ được chuyển thành những khối song song (parallel) và ghép thêm một số symbol qui định trước như symbol pilot, symbol DC (=0) và symbol bảo vệ. Các symbol này tạo thành symbol OFDM. Ởđây, mỗi symbol sẽ trở thành một thành phần trong phổ tần dùng để điều biến trên một sóng mang con và còn được gọi là subcarrier.

Khối tạo tín hiệu OFDM: Symbol OFDM sau khi hình thành sẽ được lấy biến đổi IFFT để tạo thành tín hiệu OFDM. Tín hiệu OFDM chính là sóng tổng hợp của các thành phần tần số có trong symbol OFDM. Sau khi biến đổi IFFT, dữ liệu này sẽ được ghép thêm đoạn cyclic prefix ở đầu và tạo thành tín hiệu OFDM để truyền đi. Tín hiệu này sẽ được chuyển thành tín hiệu tương tự thông qua bộ DAC và tiếp tục được xử lý ở phần vô tuyến để có thểđược truyền đi trong các hệ truyền

thông vô tuyến. Ở đây, đề tài chỉ thực hiện trên tín hiệu dải gốc nên phần vô tuyến không được khảo sát.

Phần kênh truyền sẽ được tạo trên máy tính và đặt trong bộ nhớ. Dữ liệu trước khi đến đầu thu sẽ bị cộng với nhiễu được lưu trữ sẵn trong bộ nhớ. Nhiễu được tạo theo phân bố của kênh truyền AWGN.

Nhiệm vụ chính ở đầu thu là thực hiện xử lý ngược lại ở đầu phát. Do tín hiệu truyền trong không gian là môi trường thường xuyên thay đổi và có tính chất ngẫu nhiên nên không thể tiên liệu như trong các môi trường xác định khác. Vì vậy, đầu thu còn có thêm khối cân bằng. Khối cân bằng có nhiệm vụ tác động lên tín hiệu nhằm khửảnh hưởng kênh truyền lên tín hiệu. Nguyên tắc hoạt động của khối này dựa vào khối ước lượng kênh truyền từ pilot để tìm đáp ứng của kênh truyền và gửi thông tin cho khối cân bằng để phục hồi tín hiệu như trước khi nó bị tác động bởi kênh truyền. Trong hệ thống OFDM có thể thực hiện cân bằng theo miền tần số, thời gian, hoặc kết hợp cả hai phương pháp. Ở đây đề tài thực hiện cân bằng theo miền tần số. Phương pháp cân bằng trong miền tần số rất thuận tiện khi ứng dụng trong các hệ thống OFDM nhờ có tích hợp sẵn bộ biến đổi IFFT và FFT.

3.2. CÔNG CỤ THIẾT KẾ 3.2.1. Phần mềm DSP Builder 3.2.1. Phần mềm DSP Builder

Đề tài được thiết kế trên phần mềm DSP Builder. Đây là một tiện ích do 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 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. Vì vậy để sử dụng được DSP Builder người sử dụng cần biết về Matlab và Simulink trước.

DSP Builder tạo ra một môi trường thân thiện để thiết kế các hệ DSP. Nhờ những khối chức năng sẵn có, việc thiết kế trở nên dễ dàng. Người sử dụng có thể tạo ra ứng dụng mong muốn và mô phỏng bằng Simulink để kiểm tra kết quả. Quan trọng nhất là DSP Builder cung cấp công cụ chuyển đổi thiết kế thành dạng VHDL

Một phần của tài liệu Thực hiện hệ thống ofdm trên phần cứng (Trang 61 - 104)