Bộ xáo trộn bit dùng để xáo trộn chuỗi bit đầu vào theo một giải thuật riêng ở bên phát làm cho phía thu không thể hiểu được dữ liệu được truyền đi nếu không có một bộ giải xáo trộn phù hợp. Bộ xáo trộn bit sẽ thay thế chuỗi đầu vào bằng một chuỗi đầu ra khác mà không làm mất đi dữ liệu cần truyền và không làm thay đổi chiều dài chuỗi bit.
Khối mã hoá sau khi Rate Matching
40
Sử dụng xáo trộn bit để loại bỏ sự phụ thuộc vào phổ công suất của tín hiệu trên dữ liệu phát thực tế, làm phân tán mật độ công suất phổ tối đa, bởi vì nếu công suất tập trung vào một băng tần hẹp có thể gây nhiễu đối với các kênh lân cận (nhiễu ICI).
Các tính chất của bộ xáo trộn bit:
§ Tính bảo mật: phải đủ khó trong việc truy nhập không hợp lệ (không có bộ giải xáo trộn phù hợp với bộ xáo trộn bên phát).
§ Tính che giấu: nội dung của tín hiệu sau xáo trộn đã thay đổi phức tạp, không còn như dữ liệu ban đầu.
§ Phục hồi dữ liệu: chất lượng dữ liệu không được thay đổi trong quá trình khôi phục dữ liệu.
Bảng 2.2: Các tham số cấu hình trên bộ trộn bit
Ký hiệu Ý nghĩa
q Số codeword, cấp bởi lớp MAC
nRNTI Định danh nhận dạng UE, cấp bởi lớp MAC
𝑁CD4>** Physical cell ID, tham số cấu hình cell
𝑀-'E(F) Độ dài khối dữ liệu vào
𝑛= Slot number, cấp bởi lớp MAC
Nc Hằng số (Nc =1600)
nID Là tham số lớp trên cấu hình
dataScramblingIdentityPDSCH
(Nguồn : 3GPP.TS.38214 Physical layer procedure for data) Chuỗi bit đầu vào: 𝑏(F)(0), . . . , 𝑏(F)(𝑀bit(F)− 1)
Chuỗi bit đầu ra sau bộ trộn bit :𝑏k(F)(0), . . . , 𝑏k(F)(𝑀bit(F)− 1) Các bước thực hiện:
Bước 1: Tính toán giá trị khởi tạo ở đầu các khung con
𝑐init = 𝑛RNTI⋅ 2#G+ 𝑞 ⋅ 2#H+ 𝑛ID (2.4)
Với 𝑛ID ∈ {0,1, . . . ,1023} là tham số lớp trên nếu được cấu hình
41
trên với RNTI loại C-RNTI, MCS-C-RNTI, hoặc CS-RNTI, và phía phát không được lập lịch DCI format 1_0 trong một không gian tìm kiếm chung, 𝑛ID = 𝑁IDcell trong các trường hợp khác
Bước 2: Khởi tạo giá trị đầu cho các chuỗi
Chuỗi thứ nhất: 𝑥#(0) = 1, 𝑥#(𝑛) = 0, 𝑛 = 1,2, . . . ,30 Chuỗi thứ hai được suy ra từ cinit:
𝑐init = n 𝑥$(𝑖) ⋅ 2' 1%
'(%
(2.5)
Bước 3: Tạo chuỗi xáo trộn pseudo:
(2.6)
Bước 4: Thực hiện xáo trộn chuỗi bit đầu vào:
𝑏k(F)(𝑖) = 9𝑏(F)(𝑖) + 𝑐(F)(𝑖): 𝑚𝑜𝑑 2 (2.7) 2.2.7 Bộ điều chế
Khối bit đầu vào: 𝑏k(F)(0), . . . , 𝑏k(F)(𝑀bit(F)− 1)
Khối symbol sau điều chế: 𝑑(F)(0), . . . , 𝑑(F)(𝑀symb(F) − 1)
Bộ điều chế sẽ ánh xạ các bit đầu vào sang các symbol điều chế phức:
Bảng 2.3: Tham số cho Modulation Mapper
Ký hiệu Ý nghĩa
q Số codeword, cấp bởi lớp MAC
Modulation_type Kiểu điều chế được cho bởi lớp MAC
Dựa vào thông tin cấu hình Modulation_type ta sẽ thực hiện điều chế theo các loại điều chế dưới đây.
π/2-BPSK: Một symbol được ánh xạ từ một bit. Bit 𝑏(𝑖) được được ánh xạ đến các symbol giá trị phức 𝑑(𝑖) theo công thức sau:
𝑑(𝑖) =𝑒 ;I$(' &JK $) √2 [(1 − 2𝑏(𝑖)) + 𝑗(1 − 2𝑏(𝑖))] (2.8) ( ) ( ) ( ( 3) ( 2) ( 1) ( ))mod2 ) 31 ( 2 mod ) ( ) 3 ( ) 31 ( 2 mod ) ( ) ( ) ( 2 2 2 2 2 1 1 1 2 1 n x n x n x n x n x n x n x n x N n x N n x n c C C + + + + + + = + + + = + + + + =
42
BPSK: Một symbol được ánh xạ từ một bit. Bit 𝑏(𝑖) được ánh xạ đến các symbol giá trị phức 𝑑(𝑖) theo công thức sau:
𝑑(𝑖) = 1
√2[(1 − 2𝑏(𝑖)) + 𝑗(1 − 2𝑏(𝑖))] (2.9)
QPSK: Một symbol được ánh xạ từ 2 bit. Cặp bit 𝑏(2𝑖), 𝑏(2𝑖 + 1) được ánh xạ đến các symbol giá trị phức 𝑑(𝑖) theo công thức sau hoặc theo bảng chi tiết dưới đây:
𝑑(𝑖) = 1
√2[(1 − 2𝑏(2𝑖)) + 𝑗(1 − 2𝑏(2𝑖 + 1))] (2.10) 16QAM: Một symbol được ánh xạ từ 4 bit. Cặp bit 𝑏(4𝑖), 𝑏(4𝑖 + 1), 𝑏(4𝑖 + 2), 𝑏(4𝑖 + 3) được ánh xạ đến các symbol giá trị phức 𝑑(𝑖) theo công thức sau:
𝑑(𝑖) = 1
√10{(1 − 2𝑏(4𝑖))[2 − (1 − 2𝑏(4𝑖 + 2))] + 𝑗(1 − 2𝑏(4𝑖 + 1))[2 − (1 − 2𝑏(4𝑖 + 3))]}
(2.11)
64QAM : Một symbol được ánh xạ từ 6 bit. Cặp bit 𝑏(6𝑖), 𝑏(6𝑖 + 1), 𝑏(6𝑖 + 2), 𝑏(6𝑖 + 3), 𝑏(6𝑖 + 4), 𝑏(6𝑖 + 5) được ánh xạ đến các symbol giá trị phức 𝑑(𝑖) theo công thức sau hoặc theo bảng chi tiết dưới đây:
𝑑(𝑖) = 1
√42p(1 − 2𝑏(6𝑖))T4 − (1 − 2𝑏(6𝑖 + 2))[2 − (1 − 2𝑏(6𝑖 + 4))]U
+ 𝑗(1 − 2𝑏(6𝑖 + 1))T4 − (1 − 2𝑏(6𝑖 + 3))[2 − (1 − 2𝑏(6𝑖 + 5))]Uq 256QAM :Một symbol được ánh xạ từ 8 bit. Cặp bit được ký hiệu như dưới đây:
𝑏(8𝑖), 𝑏(8𝑖 + 1), 𝑏(8𝑖 + 2), 𝑏(8𝑖 + 3), 𝑏(8𝑖 + 4), 𝑏(8𝑖 + 5), 𝑏(8𝑖 + 6), 𝑏(8𝑖 + 7) được ánh xạ đến các symbol giá trị phức 𝑑(𝑖) theo công thức chi tiết dưới đây:
(2.12)
2.2.8 Tham chiếu tài nguyên vào các khối tài nguyên ảo VRB
( ) ( ) ( ) ( ) { ( ) ( ) ( ) ( ) } 1 ( ) 1 2 (8 ) 8 1 2 (8 2) 4 1 2 (8 4) 2 1 2 (8 6) 170 1 2 (8 1) 8 1 2 (8 3) 4 1 2 (8 5) 2 1 2 (8 7) d i b i b i b i b i j b i b i b i b i é é ùù = - ë - - + ë - - + éë - - + ùûûû é é ùù + - + ë - - + ë - - + éë - - + ûùûû
43
Với mỗi antenna, một lưới tài nguyên ảo được tạo. Trong mỗi lưới tài nguyên là các resource element (RE), PDSCH được tham chiếu từ RE trong mỗi ký tự OFDM tham chiếu từ miền tần số thấp nhất tới miền tần số cao nhất, về miền thời gian tham chiếu từ ký tự OFDM có chỉ số thấp nhất tới chỉ số cao nhất. Việc tham chiếu cho PDSCH phải tránh các vị trí RE của các tín hiệu dưới đây
§ REs được dùng cho DMRS với PDSCH được truyền
§ REs được dùng cho DMRS dự định cho lập lịch khác
§ REs cho non-zero-power CSI-RS, trừ khi non-zero-power CSI
§ RSs là CSI-RS được cấu hình bởi tham số lớp trên CSI-RS-Resource- Mobility trong MeasObjectNR IE.
§ REs cho PTRS
§ REs khai báo 'not available for PDSCH’
Hình 2.9: Mô tả tham chiếu VRB cho PDSCH 2.2.8.1 Tài nguyên cấp phát PDSCH trong miền tần số
Trong 5G có 2 loại cấp phát tài nguyên miền tần số cho kênh PDSCH
• Type 0: Sử dụng bitmap, với mỗi bit được set bằng 1 thì sẽ tương ứng với số RE liên tiếp trong bảng dưới đây
44
Bảng 2.4 : Tham chiếu cấu hình và kích thước phần băng thông Bandwidth Part Size Configuration 1 Configuration 2
1 – 36 2 4
37 – 72 4 8
73 – 144 8 16
145 – 275 16 16
(Nguồn : 3GPP.TS.38214 Physical layer procedure for data)
• Type1: Sử dụng kiểu cấp phát RB start và RB size trong mỗi BWP. Với mỗi giá trị chỉ báo tài nguyên (RIV) ta sẽ tìm được RBstart và RB size (Lrbs).
2.2.8.2 Tài nguyên cấp phát PDSCH trong miền thời gian
Sử dụng SLIV(Start and Length Indicator Value) giá trị chỉ báo bắt đầu và độ dài để chỉ ra vị trí bắt đầu ký tự OFDM dành cho kênh PDSCH và kích thước chiều dài số ký tự OFDM dành cho kênh PDSCH.
Trong trường hợp cấu hình tham chiếu loại không xen kẽ, dữ liệu lưới tài nguyên VRB và PRB là giống nhau
Hình 2.10: Mô tả tham chiếu không xen kẽ trong PDSCH
Trong trường hợp cấu hình tham chiếu loại xen kẽ, việc ánh xạ từ lưới VRB thành PRB được thông qua hàm f(j) như hình dưới đây. Việc interleaved này nhằm xáo trộn các vị trị RB nhằm tránh nhiễu cụm.
45
Hình 2.11: Mô tả tham chiếu xen kẽ trong PDSCH
2.3 Ưu điểm và nhược điểm của các phương pháp xử lý tín hiệu hiện nay 2.3.1 Ưu điểm 2.3.1 Ưu điểm
Với việc được áp dụng hàng loạt các thuật toán xử lý mới trên kênh PDSCH như thuật toán về xử lý CRC, thuật toán xử lý các khối truyền tải và khối mã hóa… đã mang lại những ưu điểm nhất định như:
• Việc xử lý các khối dữ liệu truyền tải đã dễ dàng hơn, các khối dữ liệu không còn được truyền một cách đồng thời nữa mà đã được tách riêng kèm theo đó là các mã sửa sai với thuật toán mới cũng đáp ứng được nhu cầu về kiểm soát lỗi cũng như lỗi khối. Với các phương pháp nói trên thì rõ ràng tỷ lệ lỗi khối đã được cải thiện đáng kể so với hệ thống cũ như 4G và LTE-advanced
• Với việc sử dụng mã kiểm tra chẵn lẻ mật độ thấp (LDPC) đã góp phần không nhỏ cho việc kiểm tra sự đúng sai của dữ liệu truyền đi và dữ liệu nhận về. Thuật toán sử dụng LDPC hoàn toàn vượt trội về khả năng kiểm tra bit cũng như kiểm soát lỗi so với hệ thống turbo code trên hệ thống 4G. Nhờ vậy không những đảm bảo được tính toàn vẹn của dữ liệu mà còn cải thiện về mặt tốc độ xử lý.
46
• Ở phía phát với việc sử dụng Polar code tỷ số tín hiệu trên nhiễu sẽ thấp hơn so với các công nghệ mã hóa khác, ngoài ra còn cải thiện được hiệu quả truyền tải từ 10% - 30%.
• Việc sử dụng các mức điều chế cao hơn cũng giúp cải thiện lưu lượng truyền tải trên kênh
2.3.2 Nhược điểm
Song song với các ưu điểm kể trên thì cũng vẫn còn đó các nhược điểm tồn tại và cần cải thiện hơn :
• Khi chạy 5G SISO hệ thống làm việc rất hiệu quả nhưng khi lên 5G MIMO các dòng lưu lượng chảy vào kênh sẽ là vô cùng lớn dẫn đến tình trạng bắt đầu có sự sai lệch dữ liệu giữa các lớp với nhau, do các thuật toán chưa được tối ưu tốt
• Khi số lớp trên các hệ thống 5G MIMO ngày càng lớn có thể là 4,6,8… cùng với đó là sử dụng điều chế ở mức cao như 256QAM 1024QAM dẫn đến sự quá tải đặc biệt là ở các lớp mã hóa kênh sử dụng thuật toán Polar code và LDPC. Làm cho hệ thống có thể chạy sai lệch.
• Với việc 5G có rất nhiều khoảng cách sóng mang con khác như 15Khz, 30Khz … đi kèm với đó là việc xuất hiện của phần băng thông (Banwidth Part) thì các thuật toán trên kênh PDSCH vẫn còn chưa đáp ứng được việc có nhiều khoảng cách sóng mang con trên các phần băng thông khác nhau.
2.4 Kết luận chương
Học viên nhận thấy việc ứng dụng các thuật toán mới, các phương pháp xử lý bit mới trên kênh PDSCH sẽ làm cải thiện rất nhiều thông lượng của hệ thống 5G. Khi sử dụng các mã sửa sai CRC với thuật toán mới của LDPC kèm với đó là khả năng phân mảnh và ghép lại các khối truyền tải cũng đang giúp cho việc xử lý tín hiệu trên kênh trở nên dễ dàng hơn. Nhưng đi cùng với đó là những tồn tại đang được chờ để giải quyết như việc 5G đang tiến tới MIMO và Massive MIMO đòi hỏi việc xử lý bit trên kênh PDSCH ngày càng phải nhanh hơn và chính xác hơn.
47
Hiện tại hệ thống mạng 5G ở Việt Nam đang sử dụng chạy trên nền tảng Intel Xeon x86, đáp ứng rất tốt xử lý và xử lý dữ liệu tốt ở lớp vật lý. Tuy vậy tương lai để đáp ứng dung lượng mạng lớn, tốc độ xử lý cao thì phần mềm của nó không đáp ứng được yêu cầu. Vì vậy bài toán đặt ra là phải xây dựng các giải pháp khác để đáp ứng nhu cầu của tương lai. Việc tiến tới 5G MIMO cũng sẽ là trở ngại rất lớn cho việc xử lý dữ liệu trên các kênh vật lý như PDSCH. Do vậy trong chương 3 học viên sẽ nghiên cứu và đưa ra giải pháp để giải quyết bài toán đó.
48
CHƯƠNG 3: ĐÁNH GIÁ QUÁ TRÌNH XỬ LÝ TÍN HIỆU TRÊN KÊNH PDSCH TRONG 5G MIMO
3.1 Đặt vấn đề 3.1.1 Vấn đề tồn tại 3.1.1 Vấn đề tồn tại
Hiện nay, phần xử lý lớp vật lý đã được phát triển và triển khai trên nền tảng x86 32 bit của rất nhiều công ty nghiên cứu và phát triển các sản phẩm trạm phát song 5G. Thực tế cho thấy, chúng hoàn thành tốt nhiệm vụ ở hệ thống SISO. Các chương trình xử lý bit của các tên tuổi lớn như Intel, Huawei, Erricson chạy trên nền tảng Intel Xeon, hoàn thành toàn bộ chuỗi xử lý bit ở lớp vật lý chỉ mất dưới 400us (không tính IFFT/FFT).
Tuy nhiên, với hệ thống MIMO khả năng tính toán của các con chip cũng như phần mềm đã không đảm bảo chỉ tiêu kỹ thuật đề ra. Khi tăng số lượng lớp (layer) thì thời gian xử lý cũng tăng theo tỷ lệ thuận, dưới đây là một bảng benchmark được thực hiện khi tiến hành xử lý bit trên kênh PDSCH trong các hệ thống 5G MIMO khác nhau như 5G 2X2, 5G 4X4,5G 8X8 .
Với thời gian hạn chế dưới 500 us cho xử lý bit ở lớp vật lý (bao gồm cả truyền dẫn và xử lý), việc chuyển dời và đánh giá lại các tham số trên kênh để tăng tốc xử lý là một điều bắt buộc.
Theo như kết quả benchmark thực tế đã học viên được thực hiện trên code FlexRan của nhà phát triển Intel, phần mã hóa LDPC chiếm tới hơn 50% thời gian xử lý toàn kênh.
Bảng 3.1 Thời gian xử lý dữ liệu trên lớp vật lý với các cấu hình khác nhau #RB MCS idx Qm #layer Latency (us)
273 27 64QAM 1 198
273 27 64QAM 2 407
272 19 64QAM 4 774
49
Hình 3.1 : Benchmark phần xử lý lớp vật lý với cấu hình MIMO4x4, MCS27, 64QAM, 13 Symbols
Với những con số thực tế ở trên, học viên đưa ra giải pháp là thực hiện giảm tải phần mã hóa LDPC trên kênh PDSCH tại lớp vật lý.
Hình 3.2: Giải pháp giảm tải trên khối LDPC
Các giải pháp của việc thực hiện giảm tải phần xử lý bit là:
Thứ nhất, nếu chỉ thực hiện giảm tải mã hóa LDPC – lượng dữ liệu tại đầu ra sẽ rất lớn (lên tới x3 lượng dữ liệu đầu vào) gây áp lực lên giao tiếp giữa FPGA và CPU. Vì vậy, giải pháp đưa ra là giảm tải luôn bước RateMatching để giảm tốc độ dữ liệu đầu ra ( xấp xỉ bẳng tốc độ dữ liệu đầu vào).
Thứ hai, kết quả benchmark cho thấy, để đảm bảo chỉ tiêu kỹ thuật của hệ thống MIMO phải dùng song song nhiều luồng xử lý LDPC cùng lúc. Do đó, để đơn giản hóa việc điều khiển luồng và phân bổ dữ liệu tới các luồng LDPC thì bước phân mảnh cũng nên được giảm tải. Từ đó lớp vật lý và lớp FPGA sẽ chịu toàn bộ trách nhiệm lập lịch, phân bổ luồng dữ liệu. Tương ứng với bước ghép nối dữ liệu cũng nên triển khai như vậy để đơn giản hóa việc giao tiếp và để thống nhất điều khiển. Khi triển khai phân mảnh trên khối xử lý FPGA tức là đã bao gồm phần tính toán CRC cho codeblock. Việc tính toán CRC cho khối truyền tải cũng có kiến trúc tương
CRC Attachment segmentationCode block Code block CRC attachment LDPC Encoder Rate matching
Scrambling Modulation Layer mapping Precoding
PDSCH Resource
mapping IFFT FAPI parser Generate PDSCH DMRS & PT-RS
FEC FPGA CPU Low L1 FPGA Mã hoá LDPC Xáo trộn Điều chế Tham chiếu lớp Tiến mã
50
tự - khối lượng công việc tăng lên không nhiều. Do đó, tác vụ tính toán CRC cho khối truyền tải cũng được quyết định triển khai luôn trên FPGA.
Với việc triển khai giảm tải các bước của phần xử lý lớp vật lý ngoài việc tăng tốc xử lý, còn giúp giảm tốc độ dữ liệu truyền dẫn giữa CPU và phần mềm xử lý.
3.1.2 Thiết kế khối xử lý LDPC dựa trên nền tảng FPGA
Học viên sử dụng các IP Core ( Intelecture Property Core – Lõi sở hữu trí tuệ bán dẫn ) của nhà cung cấp Xilinx để đưa ra thiết kế các khối xử lý cho LDPC
3.1.2.1 Khối LDPC Front-end
Hình 3.3 : Khối LDPC Front-end
Trong đó core params bao gồm:
• NBG : base graph ( base graph 1 hoặc base graph 2)
• Kd : Chiều dài bit của một codeblock đã bao gồm CRC chưa bao gồm filler bit
• K : Chiều dài bit của một codeblock đã chèn thêm filler bit
• Zj , Zset được lấy từ bảng 2.1
Forward params bao gồm các thông số cần thiết cho hoạt động của các IP Core phía sau:
• N : chiều dài bit đầu ra LDPC
• Ncb : kích thước của circular buffer
51
• Kd : vị trí filler bit
• K0 : vị trí bắt đầu của chuỗi bit đầu ra Rate Matching
• Qm : Giá trị điều chế (2, 4, 6, 8) Chức năng và nhiệm vụ
• Đồng bộ tham số cho từng data set
• Tạo bus control để truyền tham số điều khiển cho core LDPC
• Chèn Filler-bit cho chuỗi bit đầu vào LDPC
Hình 3.4: Kiến trúc tổng quan khối LDPC Front-end
Tương ứng với 3 chức năng của khối LDPC FE, phần kiến trúc tổng quan bao gồm 4 khối như trên hình 3.4. Khối “Params calculation” thực hiện tính toán các tham