Professional Documents
Culture Documents
i
ii Mục lục
4 Điều chế số 45
4.1 Điều chế pha sóng mang . . . . . . . . . . . . . . . . . . . . . 45
6.6.3 Bộ tách tín hiệu có trợ giúp của phương pháp rút
gọn cơ sở dàn . . . . . . . . . . . . . . . . . . . . . 90
6.6.4 Bộ tách tín hiệu MLD . . . . . . . . . . . . . . . . 96
6.6.5 Bộ tách tín hiệu hình cầu (sphere detector) . . . . . 97
6.7 Tóm tắt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Tài liệu tham khảo . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
3.1 Một ví dụ về tạp âm Gauss với giá trị trung bình 0 và phương
sai σ 2 = 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.2 Hàm mật độ xác suất Gauss với σ 2 = 1. . . . . . . . . . . . . 32
3.3 Mật độ phổ công suất và hàm tự tương quan của tạp âm trắng. 33
3.4 Sơ đồ mô phỏng truyền dẫn BPSK trên kênh AWGN. . . . . . 34
3.5 Phẩm chất BPSK trên kênh AWGN. . . . . . . . . . . . . . . 36
3.6 Mô hình truyền sóng đa đường. . . . . . . . . . . . . . . . . . 37
3.7 Đáp ứng xung của một bộ lọc FIR. . . . . . . . . . . . . . . . 39
3.8 Hàm phân bố Rayleigh với σ 2 = 1. . . . . . . . . . . . . . . . 41
v
vi Danh sách hình vẽ
1
2 Chương 1. Giới thiệu chung
trên màn hình desktop của windows. Sau khi khởi động xong màn hình sẽ hiện
ra cửa sổ Môi trường Làm việc của MATLAB gồm 3 phần chính là: Thư mục
Hiện thời (Current Directory), cửa sổ Lịch sử Câu lệnh (Command History)
và Cửa sổ Câu lệnh (Command Windows) như ở Hình 1.1.
1.3. Làm việc với MATLAB Desktop 3
Để kết thúc MATLAB có thể thực hiện bằng cách nhắp phím chuột trái
vào ô đóng cửa sổ hình dấu sao ( ) phía trên và bên tay trái cửa sổ MAT-
LAB. Ngoài ra cũng có thể kết thúc MATLAB bằng cách nhập vào câu lệnh
» quit
ở cửa sổ Command Windows rồi bấm Enter.
» ls
. .. temp
liệt kê thư mục con temp bên trong thư mục làm việc hiện thời của
MATLAB.
» pwd Hiển thị đường dẫn của thư mục hiện tại. Ví dụ:
» pwd
ans =
C:\MATLAB701\work
chỉ ra đường dẫn của thư mục làm việc hiện tại là C:\MATLAB701\work
a =
» b=2
b =
» who
a b
liệt kê hai biến a và b đang được lưu trữ ở bộ nhớ chương trình.
1.5. Các ký hiệu đặc biệt 5
» clear [tên biến] xóa biến có tên được khai báo khỏi bộ nhớ. Ví dụ:
» clear a
» who
b
Để xóa hết tất cả các biến đang được lưu tại bộ nhớ, sử dụng lệnh
»clear all
»clc lệnh xóa toàn bộ thông tin trên Command Windows và đưa con trỏ trở
về vị trí ban đầu.
Ví dụ:
Ví dụ:
» A=[2 6 3]
A =
2 6 3
» A=[2 6 3; 1 2 3]
6 Chương 1. Giới thiệu chung
A =
2 6 3
1 2 3
» 2 + 1
ans=
3
» 3 − 1
ans=
2
» 2 ∗ 3
ans=
6
» 6/3
ans=
2
Với các phép tính phức tạp hơn có dấu ngoặc thì dấu ngoặc đơn (gồm cả
mở và đóng) được sử dụng để phân cách thứ tự ưu tiên. Ví dụ, phép tính
[(2 + 3) − (15 − 3)][7 + 5 − 4]
(2.1)
2
được biểu diễn trong Matlab như sau
7
8 Chương 2. Tính toán và Lập trình sử dụng Matlab
» ((2+3)-(15-3))*(7+5-4)/2
trong đó dấu ngoặc đơn được sử dụng thay cho dấu ngoặc vuông đã được mặc
định dùng cho vector và ma trận trong Matlab.
Trong Matlab phép tính lấy mũ được biểu diễn bởi ký hiệu bởi dấu mũ ˆ
như:
» 5ˆ 2
ans=
25
0
» 3 > 1
ans =
1
» 4 <= 10
ans =
1
» 3 ∼= 7
ans =
1
2.2. Các toán tử so sánh 9
Trong trường hợp so sánh 2 vector hay 2 ma trận với nhau thì toán sử
so sánh thực hiện và cho ta kết quả so sánh của từng phần tử tương ứng ở 2
vector hay ma trận với nhau. Ví dụ
» A=[1 3 4; 2 8 7; 6 9 5]
A =
1 3 4
2 8 7
6 9 5
» B=[3 1 4; 7 8 2; 6 5 9]
B =
3 1 4
7 8 2
6 5 9
» A==B
ans =
0 0 1
0 1 0
1 0 0
» A∼=B
ans =
1 1 0
1 0 1
0 1 1
» A >= B
ans =
0 1 1
0 1 1
10 Chương 2. Tính toán và Lập trình sử dụng Matlab
1 1 0
» A < B
ans =
1 0 0
1 0 0
0 0 1
» a=[3 5 0 4 0]
a =
3 5 0 4 0
» b=[3 1 0 0 2]
b =
3 1 0 0 2
» a & b
ans =
1 1 0 0 0
Các số 1 chỉ ra các phần tử tương ứng khác không của cả a và b .
Phép toán OR ( | ) cho kết quả TRUE nếu một toán hạng hoặc cả hai toán
hạng là TRUE về mặt logic. Nói theo thuật ngữ số thì phép toán OR chỉ cho kết
2.4. Vector và Ma trận 11
» a | b
ans =
1 1 0 1 1
Phép toán NOT (∼) thực hiện phép đảo toán hạng, cho kết quả FALSE nếu
toán hạng là TRUE và cho kết quả TRUE nếu toán hạng là FALSE. Theo thuật
ngữ số thì các toán hạng bằng không sẽ bằng một và tất cả các toán hạng
khác không sẽ bằng không.
Ví dụ:
» ∼a
ans =
0 0 1 0 1
» A=[1; 2; 3]
và thu được
» A=
1
2
3
A = [1 2 3] (2.3)
12 Chương 2. Tính toán và Lập trình sử dụng Matlab
chúng ta có thể sử dụng dấu cách hoặc dấu phẩy để phân chia cột như sau:
» A=[1, 2, 3]
hoặc
» A=[1 2 3]
đều cho chúng ta kết quả
» A=
1 2 3
Tương tự như vector để tạo một ma trận, chúng ta nhập trực tiếp các
phần tử rồi sử dụng dấu chấm phảy (;) và dấu cách (hoặc dấu phảy) để phân
chia các cột và hàng. Ví dụ, để tạo ma trận
" #
1 4 7
A= 2 5 8 (2.4)
3 6 9
chúng ta nhập vào các phần tử như sau
» A=[1 4 7; 2 5 8; 3 6 9]
và thu được
» A=
1 4 7
3 5 8
4 6 9
» A′
là thu được ma trận chuyển vị của A
2.4. Vector và Ma trận 13
» ans=
1 2 3
4 5 6
7 8 9
Trong trường hợp A là một ma trận gồm các phần tử phức thì phép toán
′
này còn thực hiện cả việc lấy liên hợp phức của các phần tử trong ma trận.
Trong trường hợp chỉ muốn chuyển vị mà không cần lấy liên hợp phức thì
nhập thêm dấu chấm vào trước dấu sắc (.′ ). Ví dụ, ma trận phức
" #
−0.43 + j1.06 −1.14 + j0.29 0.32 − j0.69
A = −1.66 + j0.05 1.19 − j1.33 0.17 + j0.85 (2.6)
0.12 − j0.09 1.18 + j0.71 −0.18 + j1.25
nếu lấy chuyển vị liên hợp phức cho chúng ta
» A′
» ans=
-0.43 - 1.06i -1.66 - 0.05i 0.12 + 0.09i
-1.14 - 0.29i 1.19 + 1.33i 1.18 - 0.71i
0.32 + 0.69i 0.17 - 0.85i -0.18 - 1.25i
còn nếu chỉ lấy chuyển vị mà không lấy liên hợp phức sẽ có
» A.′
» ans=
-0.43 + 1.06i -1.66 + 0.05i 0.12 - 0.09i
-1.14 + 0.29i 1.19 - 1.33i 1.18 + 0.71i
0.32 - 0.69i 0.17 + 0.85i -0.18 + 1.25i
Cộng và trừ vector/ma trận: các phép toán cộng hay trừ vector/ma
trận được thực hiện theo từng phần tử. Phép toán cộng và trừ đòi hỏi các ma
trận/vector được cộng hay trừ phải có kích thước (có cùng số hàng và cột)
như nhau. Ví dụ, thao tác cộng hai vector a và b được thực hiện như sau
» a=[1; 4; 6]
a =
1
4
14 Chương 2. Tính toán và Lập trình sử dụng Matlab
6
» b=[2; 9; 3]
b =
2
9
3
» a + b
ans =
3
13
9
Thao tác trừ hai ma trận A và B được biểu diễn như sau:
» A=[1 3 7; 4 1 6; 6 4 2]
A =
1 3 7
4 1 6
6 4 2
» B=[5 1 9; 3 8 7; 5 2 3]
B =
5 1 9
3 8 7
5 2 3
» A - B
ans =
-4 2 -2
1 -7 -1
1 2 -1
2.4. Vector và Ma trận 15
Tích số vector: Hai vector a và b có cùng độ dài có thể nhân với nhau
theo cả hai trình tự ab và ba. Kết quả là một số vô hướng (scalar) với trường
hợp tích trong (inner product) hoặc là một ma trận với trường hợp tích ngoài
(outer product). Ví dụ:
» a = [-1 2 4]
a =
-1 2 4
» b = [3; 8; 10]
b =
3
8
10
» a*b
ans =
53
» b*a
ans =
-3 6 12
-8 16 32
-10 20 40
Nhân ma trận: tích hai ma trận C = AB được xác định khi chiều
của cột A bằng chiều của hàng B, hoặc khi một trong số chúng là một số vô
hướng. Nếu kích thước của A là m × p và của B là p × n, thì ma trận tích
C của chúng có kích thước là m × n. Ví dụ, nhân ma trận A có kích thước
2 ×3 với ma trận B có kích thước là 3 ×2 cho ta ma trận C có kích thước 2 ×2
» A=[2 5 6; 1 4 3]
A =
2 5 6
1 4 3
16 Chương 2. Tính toán và Lập trình sử dụng Matlab
» B=[4 9; 7 2; 6 1]
B =
4 9
7 2
6 1
» C=A*B
C =
79 34
50 20
Trong trường hợp nhân một số vô hướng với một ma trận thì kết quả là
một ma trận mới với các phần tử là tích của từng phần tử với số vô hướng đó.
Ví dụ
» A=[2 5 6; 1 4 3]
A =
2 5 6
1 4 3
» b=5
b =
5
» A*b
ans =
10 25 30
5 20 15
Đối với trường hợp hai ma trận có cùng kích thước, Matlab cho phép
thực hiện nhân từng phần tử với nhau thông qua phép toán nhân từng phần
tử (.∗). Ví dụ:
» A=[2 4 6; 9 3 5; 1 4 2]
2.4. Vector và Ma trận 17
A =
2 4 6
9 3 5
1 4 2
» B=[6 2 5; 7 3 8; 1 0 4]
B =
6 2 5
7 3 8
1 0 4
» C=A.*B
C =
12 8 30
63 9 40
1 0 8
Đảo ma trận: phép toán đảo ma trận được thực hiện nhờ hàm số có
sẵn (built-in function) inv. Ma trận đảo inv(A) của ma trận A chỉ tồn tại khi
A là một ma trận vuông và không gần đơn điệu (nearly singular). Ví dụ:
» A=rand(4,4)
A =
0.9077 0.6220 0.2050 0.2539
B =
-0.4924 -1.2604 1.5160 0.8057
2.3661 1.4403 -2.5141 -0.6797
18 Chương 2. Tính toán và Lập trình sử dụng Matlab
» inv(A)
Warning: Matrix is singular to working precision.
(Type "warning off MATLAB:singularMatrix" to suppress this warning.)
ans =
A =
1.1650 -0.6965 0.2641 1.2460
0.6268 1.6961 0.8717 -0.6390
0.0751 0.0591 -1.4462 0.5774
0.0914
1 Sau khi đã quen với Matlab có thể dùng hàm có sẵn find thay cho vòng for này.
2.5. Lập trình với Matlab 21
clear all
rand(’seed’,0)
noOne=0;
k=1;
while noOne<=9
n(k)=rand>0.5;
s(k)=1-2*n(k);
if s(k)==1
noOne=noOne+1
end
k=k+1;
end
s
Kết quả thu được là một chuỗi 24 bit 1, −1 trong đó có chứa 10 bit 1
s =
Columns 1 through 15
1 1 -1 -1 -1 1 -1 -1 1 1 -1 -1 1 1 1
Columns 16 through 24
1 -1 -1 -1 -1 -1 1 -1 1
rand(’seed’,0)
noOne=0;
for k=1:100
n(k)=rand>0.5;
s(k)=1-2*n(k);
if s(k)==1
noOne=noOne+1;
end
if noOne==10
break
end
end
s
Kết quả chúng ta cũng thu được một chuỗi 24 bit giống như ở ví dụ về câu
lệnh while
22 Chương 2. Tính toán và Lập trình sử dụng Matlab
s =
Columns 1 through 15
1 1 -1 -1 -1 1 -1 -1 1 1 -1 -1 1 1 1
Columns 16 through 24
1 -1 -1 -1 -1 -1 1 -1 1
Để soạn thảo các script hay các function của MATLAB chúng ta có thể
sử dụng bất kỳ một chương trình soạn thảo văn bản nào rồi lưu lại với tên
mở rộng .m. Chúng ta cũng có thể sử dụng ngay chương trình soạn thảo của
MATLAB (MATLAB Editor). Để xem hay soạn thảo lại một m-file có sẵn
chỉ cần sử dụng câu lệnh
» edit fileName
Để tạo một tệp mới chỉ cần sử dụng câu lệnh
2.5. Lập trình với Matlab 23
» edit
không cần tên tệp.
function delta=discriminant(a,b,c)
delta=b^2 - 4*a*c;
Giả sử phương trình bậc hai cần tìm nghiệm số là x2 + 4x + 3 = 0. Các
hệ số phương trình là a = 1, b = 4 và c = 3. Sử dụng hàm discriminant.m
vừa tạo chúng ta có thể tính được ngay biệt thức của phương trình này
»delta=discriminant(a,b,c)
delta =
báo theo dạng plot(x1,y1,x2,y2,...,xN,yN) với {xn,yn} là cặp giá trị của
từng đồ thị. Để đánh dấu từng đồ thị chúng ta có thể gán cho chúng các dấu
(marker), các màu, kiểu đường đồ thị riêng, hay cũng có thể kết hợp với nhau.
Các định dạng đường đồ thị định nghĩa trong MATLAB được liệt kê ở bảng
sau
Bảng 2.1: Các tham số định dạng đường đồ thị trong MATLAB
Ký hiệu màu Màu Ký hiệu dấu Dấu Ký hiệu đường Kiểu đường
b blue . point - solid
g green o circle : dotted
r red x x-mark -. dashdot
c cyan + plus – dashed
m magenta * star
y yellow s square
k black d diamond
v triangle (down)
∧ triangle (up)
< triangle (left)
> triangle (right)
p pentagram
h hexagram
x = 0:pi/10:2*pi;
y = sin(x);
z= cos(x);
plot(x,y,’r+:’, x,z, ’b-.o’)
xlabel(’x’)
ylabel(’sin(x)/cos(x)’)
title(’Do thi ham sin(x) va cos(x)’)
legend(’sin(x)’,’cos(x)’)
grid
Trong đó đường đồ thị sin(x) được biểu diễn bởi đường đứt nét màu đỏ với
các dấu cộng (+), còn đường đồ thị cos(x) được biểu diễn bởi đường “gạch
và chấm” (.−) màu xanh nước biển với các dấu tròn. Câu lệnh xlabel(’x’)
và xlabel(’sin(x)/cos(x)’) dùng để đánh dấu trục hoành và trục tung của
đồ thị. Câu lệnh title(’Do thi ham sin(x) va cos(x)’) dùng để đặt tên
cho đồ thị. Câu lệnh legend(’sin(x)’,’cos(x)’) dùng để ghi chú giải cho
từng đồ thị và cuối cùng, câu lệnh grid dùng để hiển thị các đường lưới giá
trị đồ thị. Kết quả cụ thể được biểu diễn trên Hình vẽ 2.2
Sử dụng câu lệnh help plot chúng ta có thể biết thêm chi tiết về cách
dùng hàm plot.
Một câu lệnh vẽ đồ thị khác thường được sủ dụng nhiều trong thông tin
số để vẽ tỉ số lỗi bit (BER: Bit Error Rate) là câu lệnh semilogy(x,y). Câu
lệnh tương tự như câu lệnh plot nhưng cho phép biểu diễn trục tung của đồ
thị ở thang logarith.
26 Chương 2. Tính toán và Lập trình sử dụng Matlab
0.6
0.4
0.2
sin(x)/cos(x)
−0.2
−0.4
−0.6
−0.8
−1
0 1 2 3 4 5 6 7
x
Ví dụ, tỉ số BER của hệ thống truyền dẫn BPSK qua kênh pha-đinh
Rayleigh phân tích bằng lý thuyết là [1]
1 1
BERBPSK−Fading = 1 − q (2.7)
2 1+ 1 Eb /N0
trong đó Eb /N0 là tỉ số năng lượng bit tín hiệu trên phổ tần số tạp âm (một
số trường hợp được hiểu và gọi là tỉ số tín hiệu trên tạp âm S/N). Sử dụng
chương trình BERBPSKFading.m sau với câu lệnh semilogy(BER,EbNodB) cho
phép vẽ đồ thị BER theo tỉ số Eb /N0 trên thang logarith.
[BERBPSKFading.m]
% Chuong trinh ve do thi BER cua h/t BPSK tren kenh fading Rayleigh
EbNodB=0:30
EbNo=10.^(EbNodB./10)
BER=1/2*(1-1./sqrt(1+1./EbNo))
semilogy(EbNodB,BER)
xlabel(’Eb/No’)
ylabel(’BER’)
title(’Ti so BER cua he thong BPSK qua kenh pha-dinh Rayleigh ’)
2.6. Sử dụng đồ hoạ trong MATLAB 27
grid
−1
10
BER
−2
10
−3
10
−4
10
0 5 10 15 20 25 30
Eb/No
Hình 2.2: Mô tả BER của hệ thống BPSK trên kênh pha-đinh Rayleigh.
Một số câu lệnh vẽ đồ thị thường dùng khác gồm bar hay hist. Để biết
thêm chi tiết về các câu lệnh này sử dụng lệnh help trong MATLAB.
Bài tập
1. Sử dụng hàm randn tạo một chuỗi ngẫu nhiên gồm N = 1000 giá trị
x = {x1 , x2 , ..., xk , ..., xN }. Viết chương trình tính giá trị trung bình (kỳ
vọng) Ex , phương sai σx2 và độ lệch chuẩn σx sử dụng các công thức sau
đây
28 Chương 2. Tính toán và Lập trình sử dụng Matlab
N
1 X
Ex = xk (2.8)
N k=1
2
N
X N
X
x2k xk
k=1 k=1
σx2 = E(x2 ) − Ex2 = − (2.9)
N N
p
σx = σx2 (2.10)
2. Viết chương trình tạo một chuỗi −1 và +1 ngẫu nhiên x có độ dài 104
bit. Tạo một chuỗi bit thứ 2 y giống như x tuy nhiên các phần tử thứ
10, 50, 100, 150, 250, 300, 350 bị đảo dấu so với các phần tử tương ứng
ở y. Tức là, y10 = −x10 , ..., y350 = −x350 . So sánh y và x và tính toán tỉ
số sai số giữa hai chuỗi.
3. Dựa vào ví dụ vẽ đồ thị BER của hệ thống BPSK trên kênh pha-đinh
Rayleigh ở mục 2.6.1 và hàm sai số bù erfc có sẵn trong MATLAB,
i. Viết chương trình vẽ đồ thị BER của hệ thống BPSK trên kênh tạp
âm Gauss theo công thức sau[1]
1 p
BERBPSK−AWGN = erfc Eb /N0 (2.11)
2
ii. Vẽ đồ thị BER của hệ thống BPSK trên kênh tạp âm Gauss kết hợp
với đồ thị BER của hệ thống BPSK trên kênh pha-đinh Rayleigh
vào một hình vẽ, đánh dấu và đặt chú giải cho từng đồ thị.
3. Viết một hàm MATLAB y=QPSKMap(x) nhận đối số là một chuỗi ngẫu
nhiên 1 và 0 có độ dài N bit. Hàm QPSKMap thực hiện kiểm tra từng cặp
2 bit liên tiếp xn và xn+1 rồi thực hiện phép biến đổi sau
xn xn+1 ym
00 → √1
2
+ j √12
01 → − √12 + j √12
11 → − √12 − j √12
11 → √1
2
− j √12
31
32 Chương 3. Kênh thông tin vô tuyến
1
n(t)
−1
−2
−3
−4
0 100 200 300 400 500 600 700 800 900 1000
t
Hình 3.1: Một ví dụ về tạp âm Gauss với giá trị trung bình 0 và phương sai σ 2 = 1.
E{n2 (t)}.
0.4
0.35
0.3
σ=1
0.25 0.242
0.2
0.15
0.1
0.05
0
−5 −4 −3 −2 −1 0 1 2 3 4 5
Tạp âm trắng : một đặc tính quan trọng của tạp âm nhiệt là mật độ
phổ tần số của nó như nhau tại mọi tần số. Tức là, nó là nguồn tạp âm phát
3.1. Kênh tạp âm AWGN 33
ra một lượng công suất như nhau trên một đơn vị băng tần tại tất cả các tần
số bằng
N0
Gn (f ) = [W/Hz] (3.2)
2
như mô tả ở Hình vẽ 3.3(a). Hệ số 2 trong công thức trên chỉ thị rằng Gn (f )
là một hàm mật độ phổ công suất 2 phía (two-sided power spectral density
function) còn N0 thì được gọi là mật độ phổ công suất tạp âm. Tạp âm với
công suất có mật độ phổ đều như vậy được gọi là tạp âm trắng (white noise).
G n( f ) R n( t )
N 0/2
N 0/2
f t
(a) MËt ®é phæ c«ng suÊt t¹p ©m tr¾ng (b) Hµm tù t− ¬ng quan
Hình 3.3: Mật độ phổ công suất và hàm tự tương quan của tạp âm trắng.
Hàm tự tương quan của tạp âm trắng là phép biến đổi Fourier ngược của
mật độ phổ công suất tạp âm cho bởi
Z ∞
−1
Rn (τ ) = F {Gn (f )} = Gn (f )ej2πf τ df (3.3)
−∞
N0
= δ(τ ) (3.4)
2
như biểu diễn ở Hình vẽ 3.3(b). Tức là, hàm tự tương quan của tạp âm trắng
là một hàm xung delta tại τ = 0 được nhân trọng số với N0 /2. Để ý rằng
Rn (τ ) = 0 với mọi τ 6= 0 nên bất kỳ hai mẫu khác nhau nào của tạp âm trắng
đều không tương quan với nhau bất kể chúng gần nhau đến mức nào. Do tạp
âm nhiệt được cộng với tín hiệu nên nó còn được gọi là tạp âm cộng (additive
noise). Tổng hợp các đặc tính của tạp âm nhiệt ở trên chúng ta có thể tóm
tắt lại rằng tạp âm nhiệt trong các hệ thống thông tin là tạp âm Gauss trắng
cộng (AWGN: Additive White Gaussian Noise).
âm mô phỏng là một biến số phức gồm hai thành phần thực và ảo, nên công
suất tạp âm là tổng công suất của từng thành phần. Để tạo được tạp âm phức
với công suất N0 chúng ta cần chuẩn hóa công suất của mỗi thành phần (thực
và ảo) bằng 1/2. Ví dụ, để tạo được 1000 dấu tạp âm phức có công suất N0
chúng ta làm như sau:
n = sqrt(N0 /2) ∗ (randn(1, 1000) + j ∗ randn(1, 1000))
Tx Data y k= s k+ n k Detector
sk
{+1,-1}
+ ^
s k =sign( y k )
AWGN
s^k
nk
Error Detection
&
BER Calculation
Một ví dụ mẫu chương trình mô phỏng truyền BPSK qua kênh AWGN
được trình bày ở chương trình MATLAB BPSKAWGN.m ở Matlab Program 3.1.
Chương trình thực hiện tạo ra 105 bit BPSK {+1, −1} có năng lượng bit (sông
suất) Eb = 1. Để tìm được BER theo tỉ số Eb /N0 có hai cách thực hiện:
• Đặt mật độ phổ công suất tạp âm N0 cố định rồi thay đổi năng lượng
bit tín hiệu Eb tương ứng với tỉ số Eb /N0 cho trước.
3.1. Kênh tạp âm AWGN 35
• Đặt năng lượng bit tín hiệu Eb cố định và thay đổi mật độ phổ công suất
tạp âm N0 tương ứng với tỉ số Eb /N0 cho trước.
Trong thực tế, cách thứ hai được dùng phổ biến hơn và được áp dụng ở
chương trình BPSKAWGN.m. Do năng lượng bit tín hiệu biết trước (Eb = 1 trong
trường hợp này), nên mật độ phổ công suất tập âm cần thiết để tạo nên tỉ số
(Eb /N0 )req cho trước là
Eb 1
N0 = = (3.8)
(Eb /N0 ) req (Eb /N0 ) req
Để thực tách tín hiệu, chương trình sử dụng hai hàm có sẵn là real để
tách ra phần thực tín hiệu và sign để thực hiện phép so sánh và quyết định.
Kết quả BER thu được tù chương trình mô phỏng BPSKAWGN.m được so
sánh với giá trị lý thuyết [2]
1 p
BERBPSK−AWGN = erfc Eb /N0 (3.9)
2
để xác định tính chính xác của kết quả mô phỏng (xem Hình vẽ 3.5).
Matlab Program 3.1 BPSKAWGN.m
% Chuong trinh mo phong truyen dan BPSK qua kenh AWGN
% Dinh nghia tham so
EbNodB=0:10;
EbNo=10.^(EbNodB./10);
sigLen=5*10^5;
% Ve do thi
semilogy(EbNodB,BER,’*’,EbNodB,BERtheory)
36 Chương 3. Kênh thông tin vô tuyến
xlabel(’Eb/No’)
ylabel(’BER’)
legend(’By simulation’,’By theory’)
title(’BER cua BPSK qua kenh AWGN’)
grid
−2
10
−3
10
BER
−4
10
−5
10
−6
10
0 1 2 3 4 5 6 7 8 9 10
Eb/No [dB]
được gọi là tín hiệu băng tần gốc tương đương của r(t), còn τl = xl
c
là thời
gian trễ của đường truyền thứ l.
Do λ = c/fc nên chúng ta có fc /c = 1/λ, với λ là bước sóng sóng mang. Đặt
fc
fD = v (3.23)
c
là tần số Doppler lớn nhất, chúng ta có
X
r̃(t) = αl ej2πfD cos(φl )t s̃ (t − τl ) . (3.24)
l
Từ công thức này chúng ta có thể thấy rằng vật tán xạ thứ l đã dịch tín hiệu
phát đi τl về thời gian và fD cos(φl ) về tần số.
với độ lợi kênh phức (complex channel gain) g(t) thay đổi theo thời gian do
góc pha 2πfD cos(φl )t thay đổi theo thời gian. Từ đây chúng ta có thể thấy
rằng chuyển động của MS làm chon độ lợi đường truyền biến đổi. Do g(t) thay
đổi nhanh hơn s̃(t) nên tín hiệu thu bị trải (spread) trên thang tần số. Chính
vì vậy, hiện tượng này còn được gọi là Doppler spread.
Delay spread . Xét trường hợp tần số Doppler rất nhỏ tương ứng với
MS đứng im, chúng ta có thể coi pha của các vật thể tán xạ là không đổi. Như
vậy, công thức (3.24) có thể được viết lại như sau
X
r̃(t) = gl s̃(t − τl ) (3.26)
l
với gl = αl e
−jφl
và αl là pha ngẫu nhiên. Kênh truyền
X
g(t, τ ) = gl δ(t − τl ) (3.27)
l
lúc này đóng vai trò là một bộ lọc có đáp ứng xung hữu hạn (FIR: Finite
Impulse Response filter). Hình vẽ 3.7 mô tả đáp ứng xung của một bộ lọc FIR
tại thời điểm quan sát t0 nào đó. Giải τD được gọi là trải trễ (delay spread).
Chúng ta có thể thấy do độ dài các đường truyền sóng khác nhau nên đã làm
cho tín hiệu bị dịch chuyển trễ.
g ( t 0, t )
tD
Thực hiện biến đổi Fourier lên đáp ứng xung ở (3.27) chúng ta có đáp
ứng tần số
X
G(f ) = gl e−j2πf τl . (3.28)
l
40 Chương 3. Kênh thông tin vô tuyến
Từ đây chúng ta thấy rằng trải trễ τD làm biến đổi đáp ứng tần số G(f ), tức là,
tại các tần số khác nhau thì biên độ |G(f )| có giá trị khác nhau. Kênh truyền
dẫn trong trường hợp này được gọi là kênh chọn lọc theo tần số (frequency
selective).
Trong trường hợp không tồn tại tia trực tiếp giữa BS và MS thì hệ số α có thể
coi là các số ngẫu nhiên có giá trị trung bình bằng 0. Như vậy, g(t) là tổng
của các biến số phức ngẫu nhiên có giá trị trung bình bằng 0, và theo đình lý
số lớn, thì khi số lượng các tia l lớn, g(t) có thể coi là một quá trình Gauss
phức. Tức là, nếu chúng ta biểu diễn g(t) ở dạng số phức
g(t) = gI (t) + jgQ (t) (3.30)
với gI (t) và gQ (t) đều là các số thực, thì gI (t) và gQ (t) sẽ đều là các quá trình
xác suất độc lập với giá trị trung bình bằng không và phương sai như nhau
(σg2I = σg2Q , σg2 ).
Sử dụng công thức về phân bố Gauss ở (3.1) chúng ta có
1 gI2
p(gI ) = √ exp − 2 (3.31)
σ 2π 2σg
2
1 gQ
p(gQ ) = √ exp − 2 (3.32)
σ 2π 2σg
Do gI (t) và gQ (t) là các quá trình độc lập nên chúng ta có phân bố
1 |g|2
p(g) = p(gI )p(gQ ) = 2 exp − 2 (3.33)
σ 2π 2σg
với
|g(t)|2 = gI2 (t) + gQ
2
(t). (3.34)
Chuyển g(t) sang hệ toạ độ cực g(t) = r(t)ejθ(t) chúng ta có pdf kết hợp
[3]
r r2
p(r, θ) = 2 exp − 2 . (3.35)
σ 2π 2σg
Do r và θ là các biến độc lập nên chúng ta có thể viết
r r2 1
p(r, θ) = p(r) · p(θ) = 2 exp − 2 · (3.36)
σ 2σg 2π
3.4. Mô phỏng pha-đinh Rayleigh 41
hay
r r2
p(r) = 2 exp − 2 , r ≥ 0 (3.37)
σ 2σg
1
p(θ) = , −π ≤ θ < π (3.38)
2π
Tức là, pdf của biên độ r(t) là phân bố Rayleigh, và pha-đinh kiểu này
được gọi là pha-đinh Rayleigh. Hình vẽ 3.8 mô tả phân bố Rayleigh với σ = 1.
0.7
0.6
0.5
0.4
p(r)
0.3
0.2
0.1
0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
r
với thành phần pha θl là một biến số phân bố đều trong khoảng [0, 2π). Sử
dụng phương pháp Jakes thì tia thứ l đến đều từ tất cả các hướng nên nếu
chọn φ0 ngẫu nhiên thì
l
φl = φ0 + 2π với l = 1, 2, ..., L − 1. (3.40)
L
42 Chương 3. Kênh thông tin vô tuyến
Thuật toán mô phỏng kênh pha-đinh Rayleigh theo mô hình của Jakes
• Tạo φ0 ngẫu nhiên
• For l = 0 to L − 1
1. Tạo θl ngẫu nhiên trong khoảng [0, 2π)
if l = 0
φl = φ0
else
φl = φ0 + 2π Ll
end
2. Tính gl (t) = ej[θl+2πfD cos(φl )t]
• End
L−1
1 X
• Tính g(t) = √ gl (t)
L l=0
Phần ảo và phần thực của g(t) có thể biểu diễn như sau
L−1
1 X
x(t) = ℜ{g(t)} = √ cos(θl + wn t) (3.45)
L l=0
L−1
1 X
y(t) = ℑ{g(t)} = √ sin(θl + wn t) (3.46)
L l=0
(3.47)
Bài tập
1. Giả sử độ rộng xung là Ts , công thức mô phỏng pha-đinh Rayleigh sử
dụng mô hình của Jakes theo thời gian rời rạc là
L−1
1 X j[θl+2π cos(φl )fD Ts n]
gn = √ e . (3.50)
L l=0
với fD Ts được gọi là tần số Doppler chuẩn hoá (normalized Dopller
frequency). Cho fD Ts = 0.001, tạo 104 mẫu kênh pha-đinh Rayleigh. Sử
dụng hai hàm có sẵn hist và abs, vẽ phân bố biên độ của kênh pha đinh
tạo ra.
Điều chế số
Trong chương này chúng ta sẽ nghiên cứu các phương pháp điều chế và giải
điều chế số trong thông tin vô tuyến. Hai phương pháp điều chế điển hình là:
điều chế pha sóng mang (Carrier-Phase Modulation) và điều chế biên độ cầu
phương (Quadrature Amplitude Modulation).
45
46 Chương 4. Điều chế số
Chương 5
phẳng [3].
47
48 Chương 5. Kỹ thuật thu phát phân tập
trong đó c = 3 × 108 m/s là tốc độ ánh sáng, v là tốc độ di chuyển của máy
di động, và fc là tần số sóng mang [1]. Với các máy di động làm việc ở tần số
800 Mhz và di chuyển với tốc độ 50km/h, thời gian đồng bộ Tc = 13,5 ms. Để
tạo ra Md nhánh phân tập, tín hiệu cần được truyền đi tại Md khe thời gian.
Vì vậy, khoảng thời gian giữ chậm cần thiết để truyền tín hiệu trên Md nhánh
phân tập là Md · c/2vfc . Đối với truyền dẫn tín hiệu thoại, tốc độ lấy mẫu
cần thiết ít nhất là 8M kHz [1]. Đồng thời, để đảm bảo độ rộng xung truyền
nằm trong băng tần truyền dẫn, chúng ta chỉ có thể sử dụng tối đa Md = 50
nhánh phân tập [1]. Do thời gian cách biệt tỷ lệ nghịch với tốc độ di chuyển
nên, khác với các phương pháp phân tập khác, phương pháp phân tập thời
gian không có ý nghĩa trong trường hợp máy di động đứng yên.
Gần đây, trong các hệ thống thông tin di động hiện đại, mã sửa lỗi được
sử dụng kết hợp với phương pháp xen kẽ tín hiệu (interleaving) để tạo nên
một phương pháp phân tập thời gian mới. Do thời gian xen kẽ dài sẽ gây nên
độ giữ chậm giải mã lớn, nên phương pháp này chỉ thích hợp đối với các kênh
pha-đinh biến động nhanh.
Nhược điểm chính của phương pháp phân tạp thời gian là làm suy giảm
hiệu suất băng tần do có sự dư thừa trong miền thời gian.
phổ tần được cho qua với biên độ xấp xỉ như nhau và pha tuyến tính. Nói cách khác là biên bộ của các
thành phần tần số có khả năng tương quan cao [4].
5.2. Kỹ thuật kết hợp phân tập không gian thu 49
suất tín hiệu phát cần phải chia đều cho hai nhánh, và vì vậy chất lượng tín
hiệu thu cũng bị suy giảm đi 2 lần hay 3 dB.
Từ M tín hiệu nhánh trên, chúng ta mong muốn sử dụng một phương
pháp kết hợp thích hợp sao cho tín hiệu ở đầu ra bộ kết hợp có chất lượng
tốt hơn. Trong các phần tiếp theo, chúng ta sẽ tìm hiểu ba phương pháp
kết hợp phân tập không gian được sử dụng phổ biến ở máy thu. Cụ thể là
các phương pháp kết hợp chọn lọc (selection combining), kết hợp tỷ lệ tối đa
(maximal-ratio combining) và kết hợp đồng độ lợi (equal-gain combining).
§Çu ra
Tỉ số tín hiệu trên tạp âm (SNR). Giả sử tín hiệu thu được tại các
nhánh phân tập là không tương quan và có phân phối Rayleigh với công suất
trung bình ζ 2 = ζm2
= 12 E{|ym |2 }, trong đó ký hiệu E{·} biểu thị phép toán
lấy giá trị trung bình thống kê (ensemble average). Hàm mật độ của đường
bao tín hiệu trên nhánh m là
2
ym −ym
p(ym ) = 2 exp , (5.2)
ζ 2ζ 2
trong đó ym là đường bao tín hiệu trên nhánh m. Giả sử công suất trung bình
của tạp âm trên các nhánh, zm (t), là như nhau và bằng
1
σ 2 = E{|ym (t)|2 }. (5.3)
2
5.2. Kỹ thuật kết hợp phân tập không gian thu 51
0.6
Pr[ g < x ]
0.5
0.4
0.3
0.2
0.1
0
-20 -15 -10 -5 0 5 10
g/G [dB]
Hình 5.2: Phân phối xác xuất (CDF) của SNR cho phương pháp kết hợp phân tập lựa
chọn.
10
KÕt hîp chän läc
9 KÕt hîp ®ång ®é lîi
KÕt hîp tØ lÖ tèi ®a
§é lîi ph©n tËp G / G [dB]
0
1 2 3 4 5 6 7 8 9 10
Sè nh¸nh ph©n tËp M
Hình 5.3: Độ lợi phân tập của các phương pháp kết hợp phân tập.
tập M. Cụ thể là việc tăng số lượng anten cho phép giảm nhỏ xác suất SNR
thấp hơn một giá trị cho trước5 , hay nói cách khác, làm tăng xác suất SNR
lớn hơn một giá trị cho trước. Ngoài ra, từ công thức (5.3) chúng ta cũng
nhận thấy rằng, tăng số lượng nhánh phân tập giúp tăng độ lợi phân tập một
cách đáng kể. Mức độ độ lợi thu được của phương pháp kết hợp chọn lọc được
so sánh với các phương pháp khác ở Hình 5.3. So với các phương pháp khác,
phương pháp kết hợp lựa chọn có độ lợi phân tập thấp nhất.
5 Tức là giảm outage probability.
5.2. Kỹ thuật kết hợp phân tập không gian thu 53
1 2 M
w1 w2 wM
{
§Çu ra
Phương pháp kết hợp tỉ lệ tối đa được Kahn đề xuất năm 1954 [6]. Sử
dụng phương pháp này, tín hiệu của M nhánh phân tập được nhân trọng
số (weighted) cân xứng theo tỉ lệ SNR của các nhánh, sau đó được điều chỉnh
đồng pha rồi kết hợp (cộng) với nhau. Sơ đồ cấu hình một bộ kết hợp tỉ lệ tối
đa được trình bày ở Hình 5.4.
Tỉ số tín hiệu trên tạp âm (SNR) trung bình. Tín hiệu thu được
tại một nhánh phân tập, sau khi được chuyển về băng tần gốc (baseband)
được biểu diễn như sau:
ym (t) = hm (t)s(t) + zm (t), (5.14)
trong đó hm (t), là một số phức Gauss có giá trị trung bình bằng không, biểu
diễn đường truyền pha đinh từ anten phát tới anten thu thứ m; zm (t) là tạp
âm ở nhánh phân tập m. Sau khi được đồng pha và nhân trọng số, đường bao
của tín hiệu kết hợp là
M
X
y(t) = wm ym (t) (5.15)
m=1
với wm là một số phức, thường được gọi là trọng số kết hợp (combining weight).
Thay (5.14) vào (5.15) ta có
M
X
y(t) = wm [hm (t)s(t) + zm (t)] (5.16)
m=1
M
X M
X
= s(t) wm hm (t) + wm zm (t). (5.17)
m=1 m=1
54 Chương 5. Kỹ thuật thu phát phân tập
Từ công thức (5.17) ta có công suất tạp âm tức thời ở đầu ra bộ kết hợp là
M
1 X
2
σmrc 2
= E{|z(t)| } = |wm |2 σm . (5.18)
2 m−1
m=1
Để tìm giá trị lớn nhất của SNR đầu ra, sử dụng bất đẳng thức sau của
Schwarz [5]:
M XM M
X
X 2
∗
am bm ≤ 2
|am | 2
|bm | . (5.20)
m=1 m=1 m=1
với dấu hoa thị phía trên ∗ biểu diễn phép toán lấy liên hợp phức. So sánh
(5.24) với (5.19) ta thu được
M
1 X |hm |2
γmrc ≤ 2
(5.25)
2 m=1 σm
với dấu bằng xảy ra khi và chỉ khi
h∗m
wm = C · 2
. (5.26)
σm
Đây chính là giá trị của các trọng số của phương pháp kết hợp tỉ lệ tối đa.
Trong trường hợp công suất tạp âm trên các nhánh phân tập là như nhau,
tức là, σm
2
= σz2 , ta nhận thấy σC2 là một hằng số chung cho tất cả các nhánh
m
phân tập. Do đó, ta có thể loại bỏ σC2 khỏi wm mà không làm ảnh hưởng đến
m
SNR đầu ra. Như vậy, wm có thể được biểu diễn rút gọn thành
wm = h∗m . (5.27)
5.2. Kỹ thuật kết hợp phân tập không gian thu 55
1
M=1
0.9 M=2
M=4
0.8 M=6
M=8
0.7
0.6
Pr[ g<x ]
0.5
0.4
0.3
0.2
0.1
0
-20 -15 -10 -5 0 5 10
g / G [dB]
Hình 5.5: Phân phối xác xuất (CDF) của SNR cho phương pháp kết hợp tỉ lệ đối đa.
Quan sát (5.24) chúng ta thấy vế phải của bất đẳng thức chính là tổng
giá trị của SNR trên tất cả các nhánh phân tập. Hay nói cách khác, giá trị tối
đa của SNR tức thời ở đầu ra bộ kết hợp tỉ lệ tối đa là
M M
1 X |hm |2 X
γmrc = 2
= γm . (5.28)
2 m=1 σm m=1
Theo [1], γm có thể phân tích thành 2M biến ngẫu nhiên Gauss có cùng giá trị
trung bình bằng không và cùng variance ζ 2 . Như vậy, γmrc chính là phân bố
χ2 (chi-square) của 2M biến ngẫu nhiên Gauss với phương sai ζ 2 /2σ 2 = Γ/2.
Vì vậy, hàm mật độ xác suất của γ trong trường hợp Γm = Γ có thể viết được
như sau [1]:
1 γ M −1 γ
p(γ) = exp − , γ ≥ 0. (5.29)
(M − 1)! ΓM Γ
Từ đây, chúng ta có thể tính được hàm phân bố xác suất của γ bằng cách lấy
tích phân của hàm mật độ xác suất
Z x Z x γ
1
Pr{γ < x} = p(γ)dγ = M γ M −1 exp − dγ
0 Γ (M − 1)! 0 Γ
M
x X ( Γx )m−1
= 1 − exp − (5.30)
Γ m=1 (m − 1)!
Hàm phân phối xác suất Pr{γ < x} của phương pháp kết hợp tỉ lệ tối đa
được mô tả ở Hình 5.5. So sánh với phương pháp kết hợp chọn lọc (Hình 5.2),
phương pháp kết hợp tỉ lệ tối đa có tỉ lệ quá tải (outage rate) tốt hơn. Thực
tế, phương pháp kết hợp tỉ lệ tối đa là phương pháp kết hợp cho độ lợi lớn
nhất. Phương pháp kết hợp này còn được gọi là phương pháp kết hợp tối ưu
(optimum combining).
56 Chương 5. Kỹ thuật thu phát phân tập
Giả sử tỉ số SNR Γm trên các nhánh phân tập như nhau, hàm mật độ xác
suất của SNR tại đầu ra bộ kết hợp với các giá trị γ nhỏ là [5]
2M −1 1 γ M −1
p(γ) = (5.32)
(2M − 1)! YM
σm2 Y M
2
Γm
m=1
σΣ m=1
trong đó
M
X
σΣ2 = 2
σm . (5.33)
m=1
Để tối đa hóa độ lợi kết hợp của phương pháp EGC, ta cần tối giản hóa p(γ)
ở (5.32). Điều này tương đương với việc tối đa hóa thành phần mẫu số. Tuy
nhiên, từ (5.33) ta có
M 2
X σm
= 1. (5.34)
σ2
m=1 Σ
Như vậy, ta cần phải tìm một tập hợp của M sao cho tích của chúng là tối đa
với điều kiện tổng của chúng là đơn vị. Sử dụng phương pháp bội số Lagrange
5.2. Kỹ thuật kết hợp phân tập không gian thu 57
(Lagrange multipliers), thì giá trị của từng hệ số là 1/M. Do đó ta thu được
M 2
M
Y σm 1
2
= . (5.35)
m=1
σΣ M
Từ đây, p(γ) ở (5.32) trở thành
2M −1 M M γ M −1
p(γ) = . (5.36)
(2M − 1)! Y
M
Γm
m=1
Hàm phân phối xác suất tương ứng của SNR ở đầu ra bộ kết hợp là [5]
Z x
(2M)M xM
Pr{γ < x} = p(γ)dγ = . (5.37)
0 (2M)! Y
M
Γk
m=1
Với M ≫ 1 thì η ≈ 1.36 hay 1.34 dB. Điều này có thể thấy rõ ở Hình 5.3.
trong đó
d2 (ym,k , hm sk ) , |ym,k − hm sk |2 = (ym,k − hm sk )(ym,k − hm sk )∗
là bình phương khoảng cách Euclid giữa các tín hiệu thu được ym,k và các tín
hiệu không chứa tạp âm hm sk .
Khai triển đối số của công thức (5.50) ta có
AMRC = |y1,k − h1 sk |2 + |r2,k − h2 sk |2 (5.51)
= (y1,k − h1 sk )(y1,k − h1 sk )∗ + (y2,k − h2 sk )(y2,k − h2 sk )∗ (5.52)
∗
= y1,k y1,k ∗
− h1 sk y1,k − y1,k h∗1 s∗k + h1 sk (h1 sk )∗ (5.53)
∗
+ y2,k y2,k ∗
− h2 sk y2,k − y2,k h∗2 s∗k + h2 sk (h2 sk )∗ . (5.54)
5.2. Kỹ thuật kết hợp phân tập không gian thu 59
ta có
AMRC = (α12 + α22 )|sk |2 − s̃∗k sk − s̃k s∗k (5.56)
= (α12 + α22 )|sk |2 + |s̃k − sk |2 − |s̃k |2 − |sk |2 . (5.57)
Để ý tiếp rằng |s̃k |2 là thành phần chung và thực tế không ảnh hưởng tới luật
quyết định, ta có thể bỏ qua thành phần này và thu được
AMRC = (α12 + α22 )|sk |2 − |sk |2 + |s̃k − sk |2 (5.58)
= (α12 + α22 − 1)|sk |2 + |s̃k − sk |2 . (5.59)
Vì vậy, luật quyết định ML ở (5.50) cho phương pháp MRC lược giản thành
s̄k = arg min (α12 + α22 − 1)|sk |2 + |sk − s̃k |2 . (5.60)
sk ∈χc
Đối với trường hợp tín hiệu PSK (PSK: phase shift keying), năng lượng tín
hiệu, Es = |sk |2 , là như nhau cho tất cả các điểm phân phối tín hiệu. Do đó ,
luật quyết định ML tiếp tục được lược giản thành
s̄k = arg min |s̃k − sk |2 . (5.61)
sk ∈χc
Phẩm chất BER của phương pháp MRC: Định nghĩa tỉ số SNR
trung bình cho một bít tín hiệu tại từng nhánh phân tập là
2
E{αm }
γ̄m , E{γm } = 2
(5.62)
σ
Giả sử rằng tất cả các nhánh phân tập đều có chung một tỉ số SNR trung
bình, tức là, γ̄ ≡ γ̄m . Tỉ số lỗi bít trung bình BER của tín hiệu BPSK là [7]:
r M M −1 r m
1 γ̄ X M −1+m 1 γ̄
PMRC = 1− 1+
2 1 + γ̄ m=0
m 2 1 + γ̄
(5.63)
Hình 5.7 mô tả BER trung bình của tín hiệu BPSK cho các trường hợp số
nhánh phân tập bằng M = {1, 2, ..., 6}.
60 Chương 5. Kỹ thuật thu phát phân tập
qua các anten phát khác nhau. Các tín hiệu giữ chậm được máy thu coi như
các tín hiệu đa đường. Vì vậy, để tách được các tín hiệu phát, máy thu sử
dụng một bộ san bằng ước lượng chuỗi tối ưu (MLSE: Maximum Likelihood
Sequence Estimator) hay một bộ san bằng sai số bình phương trung bình tối
thiểu (MMSE: Minimum Mean Square Error) để đạt được độ lợi phân tập N.
Ưu điểm của phương pháp phân tập phát giữ chậm là nó có thể cho độ lợi
phân tập ở cấp độ N mà không yêu cầu phải mở rộng băng tần, cũng như
cần phản hồi từ máy thu. Một ưu điểm khác của phương pháp này là nó có
thể áp dụng trực tiếp cho các kênh đa đường để thu được thêm độ lợi phân
tập đường (path diversity). Phương pháp phân tập phát giữ chậm được coi là
trường hợp đơn giản của mã xoắn không gian-thời gian [11] được đề xuất gần
đây.
Tương tự như trường hợp kết hợp thu phân tập MRC, giả sử kênh pha-
đinh biến đổi chậm, tức là, pha-đinh không thay đổi trong khoảng thời gian
giữa hai dấu tín hiệu. Nhờ đó, chúng ta có thể bỏ qua chỉ số thời gian ở trong
biểu diễn kênh. Đặt các kênh truyền từ anten phát thứ nhất và thứ hai tới
anten máy thu tương ứng là h1 = α1 ejφ1 và h2 = α2 ejφ2 . Các tín hiệu thu được
tại các khe thời gian k và k + 1 là
yk = h1 sk + h2 sk+1 + nk (5.64)
yk+1 = −h1 s∗k+1 + h2 s∗k + nk+1 . (5.65)
62 Chương 5. Kỹ thuật thu phát phân tập
Phương pháp kết hợp: Biến đổi (5.64) và (5.65) lại thành
yk = h1 sk + h2 sk+1 + nk (5.66)
∗ ∗
yk+1 = h2 sk − h1 sk+1 + nk+1 . (5.67)
Để ý rằng để ước lượng được các dấu tín hiệu sk và sk+1 một cách tối ưu,
chúng ta cần phải tách được thông tin về các dấu này chứa trong các tín hiệu
thu yk và yk+1 . Việc này có thể thực hiện được nhờ sử dụng luật kết hợp sau
đây [10]
s̃k = h∗1 yk + h2 yk+1
∗
(5.68)
∗ ∗
s̃k+1 = h2 yk − h1 yk+1 . (5.69)
Thay (5.66) và (5.67) vào (5.68) và (5.69), chúng ta thu được
s̃k = (α12 + α22 )sk + h∗1 zk + h2 zk+1
∗
(5.70)
2 2 ∗ ∗
s̃k+1 = (α1 + α2 )sk+1 − h1 zk+1 + h2 zk . (5.71)
So sánh (5.70) và (5.71) với (5.49), chúng ta có thể thấy rằng sự khác biệt duy
nhất ở các dấu ước lượng được nhờ sử dụng phương pháp MRC và phương
pháp STBC của Alamouti là sự quay pha của các thành phần tạp âm. Tuy
nhiên, sự quay pha tạp âm này không làm suy giảm tỉ số SNR hiệu dụng đầu
ra. Vì vậy, chúng ta có thể kết luận rằng phương pháp phân tập phát không
gian-thời gian sử dụng hai anten phát và một anten thu của Almouti tương
đương với phương pháp phân tập thu MRC sử dụng một anten phát và hai
anten thu. Tuy nhiên, quan sát này chỉ đúng cho trường hợp tổng công suất
phát không bị chuẩn hóa sao cho công suất phát của cả hai phương pháp phân
tập như nhau. Nếu tổng công suất của hai anten phát trong trường hợp phân
tập phát của Alamouti được chuẩn hóa bằng công suất phát từ một anten
trong trường hợp thu MRC thì các thành phần tín hiệu s̃k và s̃k+1 chỉ bằng
một nửa. Kết quả là, tỉ số SNR và BER đầu ra của hệ thống Alamouti STBC
sẽ bị suy giảm đi 3 dB so với các tỉ số tương ứng của hệ thống phân tập thu
MRC. Kết luận lại chúng ta có thể nói rằng Alamouti STBC đạt được cấp độ
phân tập giống như của phương pháp MRC nhưng bị suy giảm về phẩm chất
3 dB.
Tách sóng tối ưu: luật quyết định ML được định nghĩa đồng thời cho
cả sk và sk+1 như sau n o
2
{sk , sk+1} = arg min |yk − (h1 sk + h2 sk+1 )|2 + yk+1 − (h2 s∗k − h1 s∗k+1 )
sk ,sk+1 ∈χc
(5.72)
Khai triển thành phần đối số của (5.72) ta có
2
ASTBC = |yk − (h1 sk + h2 sk+1 )|2 + yk+1 − (h2 s∗k − h1 s∗k+1 )
= [yk − (h1 sk + h2 sk+1)] [yk − (h1 sk + h2 sk+1 )]∗
∗
+ yk+1 − (h2 s∗k − h1 s∗k+1 ) yk+1 − (h2 s∗k − h1 s∗k+1 )
= |yk |2 − yk h∗1 s∗k − yk h∗2 s∗k+1 − h1 yk∗sk + |h1 |2 |sk |2 + h1 h∗2 sk s∗k+1
− h2 yk∗ sk+1 + h2 sk+1 h∗1 s∗k + |h2 |2 |sk+1|2 + |yk+1|2 − yk+1h∗2 sk
+ yk+1 h∗1 sk+1 − h2 s∗k yk+1
∗
+ |h2 |2 |sk |2 − h2 s∗k h∗1 sk+1 + h1 s∗k+1 yk+1
∗
Để ý rằng |rk |2 và |rk+1|2 là các thành phần chung và không làm thay đổi
luật quyết định, vì vậy chúng ta có thể bỏ qua chúng cho đơn giản. Ngoài ra,
các thành phần h1 h∗2 sk s∗k+1 và h2 h∗1 s∗k sk+1 tự triệt tiêu lẫn nhau, do đó, đối số
ASTBC trở thành
ASTBC = α12 + α22 |sk |2 + α12 + α22 |sk+1|2
− yk h∗1 s∗k − yk h∗2 s∗k+1 − h1 yk∗ sk − h2 yk∗sk+1
− yk+1 h∗2 sk + rk+1 h∗1 sk+1 − h2 yk+1 ∗
s∗k + h1 yk+1
∗
s∗k+1 (5.74)
= α12 + α22 |sk |2 + α12 + α22 |sk+1|2
∗
− h∗1 yk + h2 yk+1∗
s − (h1 y ∗ + h∗ yk+1 ) sk
| {z } k | k {z 2 }
s̃k s̃∗k
∗
− (h2 yk∗ − h∗1 yk+1) sk+1 − yk h∗2 − h1 yk+1
∗
s (5.75)
| {z } | {z } k+1
s̃∗k+1 s̃k+1
và vì vậy
ASTBC = α12 + α22 |sk |2 + α12 + α22 |sk+1 |2 − s̃k s∗k − s̃∗k sk − s̃k+1 s∗k+1 − s̃k+1s∗k+1
= α12 + α22 |sk |2 + |s̃k − sk |2 − |s̃k |2 − |sk |2
+ α12 + α22 |sk+1 |2 + |s̃k+1 − sk+1 |2 − |s̃k+1|2 − |sk+1 |2 (5.76)
Một điểm thú vị có thể nhận thấy rằng luật quyết định ML đồng thời cho cả
sk và sk+1 đã được chia thành các luật quyết định độc lập cho sk và sk+1 . Do
các luật quyết định cho sk và sk+1 là như nhau, sau khi bỏ qua thành phần
chung |s̃k |2 chúng ta thu được luật quyết định chung cho Alamouti STBC
s̄k = arg min (α12 + α22 − 1)|sk |2 + |sk − s̃k |2 , (5.77)
sk ∈χc
giống như cho MRC ở công thức (5.60). Đối với tín hiệu PSK, do năng lượng
tín hiệu, Es = |sk |2 , như nhau đối với tất cả các thành phần tín hiệu sk , luật
quyết định ML lược giản thành giống như ở (5.61), tức là
s̄k = arg min |sk − s̃k |2 . (5.78)
sk ∈χc
trong đó zm,k là các mẫu tạp âm ở tại anten thu m và khe thời gian k. Để
ước lượng tối ưu được các dấu tín hiệu phát đi sk và sk+1 , chúng ta cần phải
tách được thông tin của chúng chứa trong y1,1 , y1,2 , y2,1 và y2,1 . Việc này có
thể thực hiện được nhờ sử dụng phương pháp kết hợp sau đây [10]
s̃k = h∗1,1 y1,1 + h1,2 y1,2
∗
+ h∗2,1 y2,1 + h2,2 y2,2
∗
(5.83)
∗ ∗ ∗
s̃k+1 = h1,2 y1,1 − h1,1 y1,2 + h2,2 y2,1 − h2,1 y2,2∗
(5.84)
Thay các công thức (5.79)–(5.82) vào (5.83) và (5.84), chúng ta thu được
2 2 2 2
s̃k = α1,1 + α1,2 + α2,1 + α2,2 sk + h∗1,1 z1,1 + h1,2 z1,2
∗
+ h∗2,1 z2,1 + h2,2 z2,2
∗
(5.85)
2 2 2 2
∗ ∗ ∗
s̃k+1 = α1,1 + α1,2 + α2,1 + α2,2 sk+1 + h1,2 z1,1 − h1,1 z1,2 + h2,2 z2,1 − h2,1 z2,2
(5.86)
Để ý rằng các tín hiệu kết hợp s̃k và s̃k+1 ở các công thức trên thực tế là tổng
của các tín hiệu kết hợp từ từng anten thu ở các công thức (5.70) và (5.71).
Điều này có nghĩa là để có được tín hiệu tổng hợp cho trường hợp kênh MIMO
2 × M, chúng ta cần phải tìm được tín hiệu kết hợp cho từng anten thu, sau
đó chỉ cần cộng chúng lại với nhau. Một quan sát khác cũng được nhận thấy
là việc sử dụng 2 anten thu cho phép tăng gấp đôi độ phân tập so với hệ thống
sử dụng một anten thu. Một cách tổng quát, chúng ta có thể kết luận rằng độ
phân tập của một hệ thống MIMO STBC 2 × M gấp M lần độ phân tập của
một hệ thống MISO STBC 2 × 1. Điều này cũng có nghĩa rằng cấp độ phân
tập của một hệ thống MIMO STBC 2 × M bằng độ phân tập của một hệ thống
SIMO MRC 1 × 2M. Tuy nhiên, cần chú ý rằng nếu như tổng công suất phát
được chuẩn hóa thành đơn vị sao cho tổng công suât phát của cả hai hệ thống
như nhau thì phẩm chất của các hệ thống STBC bị suy giảm 3 dB so với các
hệ thống MRC.
Tách sóng tối ưu: luật quyết định ML đồng thời cho sk và sk+1 được
định nghĩa như sau
n
{ŝk , ŝk+1} = arg min |y1,k − (h1,1 sk + h1,2 sk+1 )|2
sk ,sk+1 ∈χc
2
+ y1,k+1 − (h1,1 s∗k − h1,2 s∗k+1 ) − |y2,k − (h2,1 sk + h2,2 sk+1 )|2
o
2
+ y2,k+1 − (h2,1 s∗k − h2,2 s∗k+1 ) (5.87)
Sử dụng phương pháp tương tự như đã sử dụng cho trường hợp kênh MISO
2 × 1 trình bày ở mục trước chúng ta có thể thu được luật quyết định ML tổng
quát như sau
2
s̄k = arg min (α1,1 2
+ α1,2 2
+ α2,1 2
+ α2,2 − 1)|sk |2 + |sk − s̃k |2 , (5.88)
sk ∈χc
[11] V. Tarokh, N. Seshadri, and A. Calderbank, “Space-time codes for high data rate wire-
less communication: performance criteria and code construction,” IEEE Transactions
on Information Theory, vol. 44, no. 2, pp. 744–765, March 1998.
Tài liệu tham khảo 67
1 Maximal-Ratio Combniner
y1
h1 +
h *1
TxAnt *
z1 h1
Channel
s1 h2
Estimation s^1 s-1
Tx + MLD
Channel
Estimation
2
* h2
h*2
+
y2
z2
Hình 5.6: Sơ đồ máy thu với 2 nhánh phân tập MRC và một bộ tách tín hiệu tối ưu.
0
10
M=1
M=2
M=3
-1 M=4
10
M=5
M=6
Average BER
-2
10
-3
10
-4
10
-5
10
0 5 10 15 20 25 30 35 40 45
Eb / N o [dB]
Hình 5.7: Phẩm chất BER trung bình của máy thu MRC với M nhánh phân tập sử dụng
điều chế BPSK.
68 Chương 5. Kỹ thuật thu phát phân tập
1 *
_ h1
h1
N
* 2
1
_ h2
N
h 1
sk s^k
1 *
_ + Detector
h
N 2
1
* hN
_
h2 zk
N N Channel
Estimation
1 *
_
hN
N
1
_ *
hN feedback
N
Hình 5.8: Sơ đồ phân tập MRT có N nhánh phân tập với các đường phản hồi.
sk h1
2
h2
sk s^k
Ts +
s k -1 Detector
hN zk
N Channel
Estimation
( N -1) T s
s k - N +1
Hình 5.9: Sơ đồ phân tập phát giữ chậm với N nhánh phân tập.
1
h1
1
-s k+1
* sk
~
sk
s k+1 s k ^
sk
+ Combiner ~
s
STE 2 k+1
h2
s k* s k+1 z k+1 z k h1 h2 MLD
h1 ^
sk+1
Channel
Estimation h2
Hình 5.10: Sơ đồ máy phát mã khối STBC Alamouti với 2 anten phát và 1 anten thu.
Tài liệu tham khảo 69
1
1 h 1,1 h 1,1
Channel
h 1,2 + Estimation h 1,2
-s k+1
* sk
z 1 ,k +1 z 1,k
h 1,1 h 1,2
s k+1 s k ~
sk ^
sk
STE 2 h 2,1 ~
Combiner sk+1
MLD ^
sk+1
2
s k* s k+1 h 2,2
h 2,1 h 2,2
h 2,1
Channel
+ Estimation h 2,2
z 2 ,k +1 z 2,k
0
10
No diversity (SISO)
1x2 SIMO MRC
-1 1x4 SIMO MRC
10
2x1 MISO STBC
2x2 MIMO STBC
Average BER
-2
10
-3
10
3dB 3dB
-4
10
-5
10
0 5 10 15 20 25 30 35 40 45
Eb / N o [dB]
Hình 5.12: Phẩm chất BER của các hệ thống Alamouti STBC so sánh với các hệ thống
MRC.
70 Chương 5. Kỹ thuật thu phát phân tập
Chương 6
Kªnh M ´ N MIMO
Tx Rx
1 1 y1
s1 h 1,1
2 h 1,2 h 2,1 2 z1
s2 h 2,2 y2
STE STD
z2
N h 2,N h M,2
sN M yM
h M,N
zM
STE: Space-Time Encoder
STD: Space-Time Decoder
Kênh truyền đơn giữa anten máy thu m và anten máy phát n được ký hiệu
là hmn . Tương tự như các hệ thống phân tập phát hoặc thu ở Chương 5, để
tránh ảnh hưởng giữa các anten phát hoặc các anten thu với nhau khoảng cách
yêu cầu tối thiểu giữa các phần tử anten ở các mảng anten phát hoặc thu là
λ/2. Kênh MIMO trong trường hợp này được gọi là kênh MIMO không tương
quan (uncorrelated MIMO channel). Trong trường hợp pha-đinh Rayleigh bằng
phẳng (flat fading) không có tương quan, hmn được mô hình hóa bằng một
71
72 Chương 6. Các hệ thống MIMO
biến số Gauss phức có giá trị trung bình 0 và phương sai 1. Một kênh MIMO
gồm N anten phát và M anten thu thường được biểu diễn bởi một ma trận
số phức gồm M hàng và N cột như sau:
h h12 . . . h1N
11
h21 h21 . . . h2N
H = .. .. .. .. . (6.1)
. . . .
hM 1 hM 1 . . . hM N
Định nghĩa các vector phát, thu và tạp âm tương ứng là
s = [s1 , s2 , . . . , sN ]T (6.2)
y = [y1 , y2 , . . . , yN ]T (6.3)
z = [z1 , z2 , . . . , zN ]T (6.4)
chúng ta có mối quan hệ giữa tín hiệu thu và phát biểu diễn qua phương trình
hệ thống sau:
r
PT
y= Hx + z (6.5)
N
trong đó PT = trace{Rss } là tổng công suất phát từ N anten phát và Rss =
E{ssH } là ma trận tương quan của s. z là vector tạp âm với các phần tử zm
được mô phỏng bởi các biến số phức Gauss độc lập có phân bố như nhau và
có cùng công suất trung bình σ 2 , tức là, E{zz H } = σ 2 I M , trong đó I M biểu
diễn một ma trận đơn vị với M dòng và M cột..
h
s y
´
z
Hình 6.2: Mô hình tương đương của kênh truyền SISO.
Kênh SISO: Trong trường hợp truyền tín hiệu qua một kênh truyền cố
định có độ lợi h như ở Hình vẽ 6.2 chúng ta có tỉ số SNR tại đầu vào máy thu
6.2. Dung lượng kênh truyền MIMO 73
như sau:
PR PS |h|2
ρSISO = = 2
= ρ|h|2 . (6.7)
PN σ
Dung lượng kênh truyền trong trường hợp này có thể tính được bằng cách
thay tỉ số SNR ρSISO vào công thức Shannon:
CSISO = W log2 (1 + ρ|h|2 ) [bits/s]. (6.8)
Kênh MISO: tương tự như kênh truyền SISO, đối với các trường hợp
kênh truyền phân tập phát (MISO) ở Hình vẽ 6.3 chúng ta có thế tính được
tỉ số SNR ρMISO và dung lượng kênh truyền CMISO như sau:
N
1 X
|hn |2 PS N
N n=1 ρ X
ρMISO = = |hn |2 (6.9)
PN N n=1
N
!
ρ X
CMISO = W log2 1 + |hn |2 [bits/s]. (6.10)
N n=1
trong đó hệ số √1
N
được sử dụng để chuẩn hóa công suất phát.
1s
h1
1
ÖN
´
1s h2
ÖN
2 y
´
z
1s hN
N
ÖN
´
Hình 6.3: Mô hình tương đương của kênh truyền MISO.
Kênh SIMO: đối với kênh truyền SIMO ở Hình vẽ 6.4, tỉ số SNR trên
một nhánh phân tập là
PS |hm |2
ρm = 2
. (6.11)
σm
Giả sử rằng công suất tạp âm trên M nhánh phân tập thu đều như nhau, tức
là σm
2
, σ 2 , thì dung lượng kênh truyền CSIMO tính được như sau:
M
!
X
CSIMO = W log2 1 + ρ |hm |2 [bits/s]. (6.12)
m=1
74 Chương 6. Các hệ thống MIMO
h1
´
z1
h2
s y
´
z2
hM
´
zM
Để ý rằng dung lượng của các kênh truyền phân tập thu ở công thức
(6.10) hoặc phát ở công thức (6.12) tăng theo qui luật logarithm theo số lượng
anten phân tập.
Kênh MIMO: đối với trường hợp kênh MIMO như mô tả ở Hình vẽ
6.1, chúng ta có mối quan hệ thu phát được biểu diễn bằng phương trình hệ
thống sau:
y = Hs + z. (6.13)
Sử dụng phương pháp SVD (Singular Value Decomposition) chúng ta có thể
phân tích ma trận H thành [2]:
H = U DV H (6.14)
trong đó U và V là các ma trận unitary, tức là U U H = U H U = I m và
V V H = V H V = I n . D là một ma trận đường chéo với các giá trị không âm
(≥ 0) trong đó các phần tử trên đường chéo là các giá trị căn bậc hai của các
giá trị eigenvalue của ma trận
HH H nếu M < N
Φ= . (6.15)
H H H nếu M ≥ N
Thay H ở (6.14) vào (6.13) chúng ta có
y = U DV H s + z. (6.16)
Nhân hai vế của phương trình trên với U H chúng ta thu được phương trình
tương đương
y ′ = Ds′ + z ′ (6.17)
trong đó y ′ , U H y, s′ , V H s, và z ′ , U H z. Để ý rằng do D là một ma trận
đường chéo với r = min(M, N) phần tử đầu tiên khác không, nên thông qua
phép biến đổi SVD kênh MIMO đã được phân tích thành r kênh truyền song
song hữu ích. N − r kênh còn lại không đóng vai trò gì cả. Ký hiệu các giá
6.2. Dung lượng kênh truyền MIMO 75
trị eigenvalue khác không của ma trận Φ là λi , ta có thể biểu diễn công thức
(6.17) ở dạng r kênh song song như sau:
p
yi′ = λi s′i + zi′ , i = 1, 2, ..., r (6.18)
√
trong đó λi biểu diễn biên độ của độ lợi kênh truyền tương đương thứ i.
Dung lượng kênh truyền MIMO vì vậy là tổng dung lượng của r kênh song
song.
Giả sử sông suất phát trên các anten phát là như nhau và được chuẩn
hóa thành PT = PNS . Do s′i = V H (i, :)s = V (:, i)s với A(i, :) và A(:, i) tương
ứng biểu diễn một vector xây dựng từ hàng i hay cột i của ma trận A. Do đó
công suất thu tại kênh thứ i, i ≤ r, có thể tính được như sau:
np o
PRi = E | λi V (:, i)s| = λi V H (:, i) E{sH s} V (:, i)
2
| {z }
(6.19)
PS
N
r
λi PS r λi PS r
= V (:, i)V (:, i)H =
N N
trong đó V (, i)H V (:, i) = 1 dựa trên tính chất của ma trận unitary.
Tương tự, công suất tạp âm ở kênh i được tính như sau:
n o
2
PNi = E U H (i, :)z = U H (:, i) E z H z U (:, i)
(6.20)
| {z }
rN0
Sử dụng ma trận Φ, công thức dung lượng kênh truyền MIMO có thể biểu
diễn một cách tổng quát như sau [2, 3]:
ρ
W log 2 det I r + HH H
[bits/s] nếu M < N
N
CMIMO = (6.23)
W log det I r + ρ H H H [bits/s] nếu M ≥ N
2
N
Dựa vào công thức (6.23) các công trình nghiên cứu của Foschini và Gan
năm 1988 [3] và Telatar năm 1999 [2] đã chứng minh được rằng dung lượng
kênh truyền tăng tuyến tính theo r, tức là số anten tối thiểu sử dụng ở phía
thu hay phát. Chứng minh này sẽ được mô tả kỹ ở phần tính toán dung lượng
kênh truyền cho kênh Rayleigh ở phần sau.
76 Chương 6. Các hệ thống MIMO
6.3 Các phương pháp truyền dẫn trên kênh truyền MIMO
Kết quả phân tích dung lượng kênh truyền MIMO đã thúc đẩy một làn sóng
nghiên cứu các kỹ thuật truyền dẫn hiệu quả trên kênh truyền MIMO. Tiếp
6.3. Các phương pháp truyền dẫn trên kênh truyền MIMO 77
400
0dB
5dB
350
10dB
250
200
150
100
50
0
0 10 20 30 40 50 60 70
Sè anten thu/ph¸t N = M
theo công trình chung với Gan [3], Foschini đã đề xuất một hệ thống truyền
dẫn theo từng lớp (layer) kết hợp với mã hóa nhằm đạt được dung lượng kênh
truyền mong muốn như kết quả phân tích [4]. Tuy nhiên, kết quả nghiên cứu
của Foschini [4] cho thấy dung lượng kênh truyền MIMO ở công thức (6.24)
thực tế là một đường giới hạn trên (upper bound) có thể đạt được nhờ kết hợp
các phương pháp mã hóa và thuật toán có độ phức tạp hay giữ chậm không
có giới hạn. Vì vậy, để có được các hệ thống truyền dẫn MIMO hiệu quả có
thể ứng dụng trong thực tế, các công trình nghiên cứu về MIMO đã tập trung
vào việc đề xuất các phương pháp truyền dẫn thỏa mãn được sự cân bằng giữa
độ lợi thu được từ kênh MIMO và độ phức tạp cần thiết. Các phương pháp
truyền dẫn này có thể phân loại thành hai nhóm sau:
1. Phân kênh theo không gian (SDM: spatial division multiplexing): phương
pháp này tập trung vào việc gia tăng tốc độ truyền dẫn bằng cách truyền
đồng thời một loạt các luồng tín hiệu độc lập qua các anten phát và sử
dụng các máy thu có độ phức tạp thấp để duy trì tỉ số lỗi bít cho phép.
Phương pháp này cho phép thu được độ lợi ghép kênh (multiplexing
gain) lớn.
2. Mã không gian-thời gian (STC: space-time codes): khác với phương pháp
ghép kênh theo không gian, mã không gian-thời gian kết hợp việc mã
hóa giữa các luồng tín hiệu để tối đa hóa độ lợi phân tập (diversity gain)
nhằm giảm thiểu tỉ số lỗi bít (BER).
Trong phần còn lại của chương này chúng ta sẽ nghiên cứu phương pháp
ghép kênh theo không gian tập trung vào các phương pháp tách sóng sử dụng
ở máy thu. Phương pháp mã không gian-thời gian sẽ được trình bày cụ thể ở
78 Chương 6. Các hệ thống MIMO
Chương 7.
2 h 1,2 h 2,1 2 z1
s2 h 2,2 y2 T¸ch sãng
DEMUX
z2 MUX
N h 2,N h M,2
sN M yM
h M,N
zM
Dựa theo tính chất tuyến tính của phương pháp tách tín hiệu, các bộ tách
tín hiệu MIMO-SDM được phân loại thành hai nhóm lớn là các bộ tách tín
hiệu tuyến tính và các bộ tách tín hiệu phi tuyến như ở Hình vẽ 6.7.
Các bộ tách tín hiệu tuyến tính tiêu biểu bao gồm: bộ tách tín hiệu ZF
(Zero-Forcing: cưỡng bức bằng không) và bộ tách tín hiệu MMSE (Minimum
6.5. Các bộ tách tín hiệu tuyến tính 79
Mean-Square Error: sai số trung bình bình phương tối thiểu). Ưu điểm của các
bộ tách tín hiệu tuyến tính là có độ phức tạp tính toán thấp và dễ thực hiện
nhờ các thuật toán thích nghi phổ biến như LMS (Least Mean Square: bình
phương trung bình nhỏ nhất), RLS (Recursive Least Square: bình phương nhỏ
nhất qui hồi ),.... Nhược điểm của các bộ tách tín hiệu tuyến tính là phẩm chất
tách tín hiệu (tỉ số lỗi bít) đạt được tương đối thấp, đặc biệt là khi sử dụng
số lượng anten phát lớn. Gần đây, nhờ việc áp dụng kết hợp với thuật toán
lattice-reduction các bộ tách tín hiệu tuyến tính ZF và MMSE có thể đạt được
tỉ số lỗi bít (BER) gần tối ưu, trong khi độ phức tạp tính toán hầu như không
thay đổi. Xét một cách tổng quát thì vào thời điểm mà yêu cầu về độ tính
toán thấp vẫn là quan trọng như hiện nay thì các bộ tách tín hiệu tuyến tính
có ưu điểm hơn và, vì vậy, thường được áp dụng trong thực tế nhiều hơn.
Ngược lại so với các bộ tách tín hiệu tuyến tính, các bộ tách tín hiệu phi
tuyến có ưu điểm là có phẩm chất BER tốt hơn, nhưng lại chịu phải nhược
điểm về độ phức tạp tính toán lớn. Trong các bộ tách tín hiệu phi tuyến, bộ
tách tín hiệu ML (Maximum Likelihood: ưu độ tối đa) là bộ tách tín hiệu tối
ưu, tức là có phẩm chất BER tốt nhất. Tuy nhiên, yêu cầu về độ phức tạp tính
toán của bộ tách tín hiệu lại lớn nhất, vì vậy, bộ tách tín hiệu này rất ít được
sử dụng trong thực tế. Gần đây, các nhà nghiên cứu đã đề xuất áp dụng thuật
toán giải mã cầu (sphere decoding) vào các bộ tách tín hiệu ML nhằm giảm
nhỏ độ phức tạp tính toán của nó đến mức độ cho phép có thể áp dụng trong
thực tế được. Các bộ tách tín hiệu sử dụng thuật toán giải mã cầu, gọi tắt là
các bộ tách tín hiệu cầu phương (sphere detector), hiện tại đang là các cộ tách
tín hiệu được đánh giá có triển vọng nhất. Ngoài bộ tách tín hiệu ML, các bộ
tách tín hiệu phi tuyến khác như SIC (Successive Interference Cancellation:
triệt nhiễu nối tiếp) hay PIC (Parallel Interference Cancellation: triệt nhiễu
song song) đều sử dụng phương pháp kết hợp một bộ tách sóng tuyến tính
với các phương pháp triệt nhiễu song song hoặc nối tiếp nhằm cải thiện phẩm
chất BER trong khi vẫn tận dụng được độ tính toán thấp của các bộ tách tín
hiệu tuyến tính.
Trong các phần tiếp theo, chúng ta sẽ nghiên cứu cụ thể các bộ tách tín
nói trên.
2 h 1,2 h 2,1 z1 Bé
s2 h 2,2
2
y2 kÕt hîp s~2 s-2
DEMUX tuyÕn
z2 tÝnh
N h 2,N h M,2
sN h M,N
M yM W s~N s-N
zM
trong đó k · k22 biểu diễn phép toán lấy chuẩn (norm) của vector hay ma trận.
Tức là chúng ta cần tìm ŝ sao cho tối giản hóa giá trị bình phương sai số sau
k∆y k22 = ky − H ŝk22 . (6.30)
Khai triển k∆y k22 chúng ta có
k∆y k22 = [y − H ŝ]H [y − H ŝ] (6.31a)
= y H y − ŝH H y − y H H ŝ + ŝH H H H ŝ. (6.31b)
6.5. Các bộ tách tín hiệu tuyến tính 81
trong đó
−1
H ‡ , H H HH H (6.38)
được gọi là phép đảo ma trận giả bên phải (right pseudo-inverse) của H. Kết
hợp (6.26) và (6.37), chúng ta tìm được ma trận trọng số cho trường hợp này
là
−1
W = H ‡H = HH H H, M < N. (6.39)
Trong Matlab hàm pinv có thể áp dụng cho cả hai phép đảo ma trận giả bên
phải và bên trái.
Sai số bình phương trung bình (MSE): Phương pháp thông thường
để tính MSE là tính ma trận tương quan (covariance matrix) lỗi để tìm ra các
giá trị MSEn gắn với tách các dấu phát sn trên đường chéo. Ma trận tương
quan lỗi của bộ tách tín hiệu ZF được cho bởi [5, Ch.17]:
R∆ŝ = E{ks − ŝk2 } = E{[s − ŝ][s − ŝ]H }
−1 (6.40)
= σz2 H H H .
Giá trị MSE gắn với tách dấu sn là phần tử thứ n trên đường chéo của R∆ŝ
và bằng:
MSEn = σz2 w H
n wn
−1 (6.41)
= σz2 hH
n hn ,
trong đó wn và hn biểu thị các vector cột thứ n của ma trận tương ứng W
và H Như vậy, giá trị MSE trung bình của phương pháp ZF là
1
MSE = trace{R∆ŝ }
N (6.42)
1 2 n −1 o
H
= σz trace H H .
N
Để ý rằng phần lớn độ phức tạp tính toán của bộ tách tín hiệu tập trung
−1 −1
vào phép lấy nghịch đảo ma trận H H H hoặc HH H . Vì vậy, độ phức
tạp tính toán của bộ tách tín hiệu ZF tỉ lệ với hàm bậc ba của min(M, N),
tức là, CZF ∼ O(min[M 3 , N 3 ]).
Ưu điểm nổi bật của bộ tách tín hiệu ZF hay LS là đơn giản và có yêu
cầu độ phức tạp tính toán thấp. Tuy nhiên, do tạp âm bị bỏ qua khi thiết kế
ma trận trọng số W nên bộ tách tín hiệu này chịu ảnh hưởng của hiệu ứng
khuếch đại tạp âm (noise amplification). Vì vậy, bộ tách tín hiệu ZF thường
thích hợp với các kênh truyền có tỉ số SNR cao.
nhánh anten thu. Do đó bộ tách tín hiệu MMSE khắc phục được nhược điểm
khuếch đại tạp âm của bộ tách tín hiệu ZF.
Ma trận trọng số: Hàm chi phí để tìm ma trận trọng số của bộ tách
tín hiệu MMSE được định nghĩa như sau:
W = arg min E ks − W H yk2 (6.43)
W
tức là chúng ta cần tìm ma trận trọng số W để tối giản hóa giá trị trung bình
sai số bình phương giữa vector phát và vector ước lượng được
E{k∆sk2 } = E ks − W H yk2 . (6.44)
Để tìm W một cách dễ dàng, để ý rằng
E{k∆sk2 } = E{trace(R∆s )} (6.45)
nên chúng ta sẽ tìm ma trận tương quan R∆s của ∆s trước, sau đó tính
E{k∆sk2 } sau. Từ định nghĩa ma trận tương quan chúng ta có
H
R∆ s = s − W H y s − W H y
. (6.46)
= ssH − W H ysH − sy H W + W H yy H W
Để ý rằng
E{ssH } = Λ (6.47)
H
E{ys } = HΛ (6.48)
H
E{yy } = HΛH + H
σz2 I M (6.49)
trong đó ma trận công suất Λ phát là một ma trận đường chéo với các phần
tử trên đường chéo tương ứng với công suất phát từ các anten phát. Trong
trường hợp MIMO-SDM thì do công suất phát trên các nhánh anten phát đều
bằng nhau và bằng ζ 2 = ENs nên chúng ta có Λ = ζ 2 I M . Do đó chúng ta dễ
dàng tính được
E{k∆sk2 } = trace E{ssH } − W H E{ysH } − E{sy H }W + W H E{yy H }W
= trace Λ − W H HΛ − (HΛ)H W + W H HΛH H + σz2 I M W
Để tìm được W , tương tự như trường hợp ZF, chúng ta lấy đạo hàm của
E{k∆sk2 } theo W rồi đặt giá trị đạo hàm đó bằng không. Sử dụng tính chất
đạo hàm một hàm trace chúng ta có [7]
∂ E{k∆sk2 }
= −HΛ + HΛH H + σz2 I M W . (6.50)
∂W
Đặt giá trị đạo hàm này bằng không chúng thu được
−1
W = HΛH H + σz2 I M HΛ
−1
(6.51)
= ζ 2 HH H + σz2 I M Hζ 2.
Sai số bình phương trung bình (MSE): Thay (6.51)vào (6.46) chúng
ta thu được ma trận tương quan lỗi
R∆ŝ = Λ − (HΛ)H W
(6.52)
= Λ(I − H H W ).
84 Chương 6. Các hệ thống MIMO
Như vậy, giá trị MSE tối thiểu gắn với tách dấu sn sử dụng phương pháp
MMSE là
MSEn = ζ 2(1 − hH n w n ), (6.53)
và giá trị trung bình tối thiểu của phương pháp MMSE là:
1
MSE = trace Λ(I − H H W ) . (6.54)
N
Biểu diễn phương pháp MMSE đồng dạng với ZF: Phương pháp
biểu diễn MMSE đồng dạng với MMSE được Hassibi đề xuất ở [8]. Sử dụng
phép các phép biến đổi toán học ma trận trọng số W ở (6.51) có thể biểu diễn
lại thành [8]
−1
W = H H H H + ρI N (6.55)
trong đó ρ = σz /ζs biểu diễn tỉ số tín hiệu trên tạp âm (SNR). Định nghĩa
2 2
H y
H̄ = √
ρI N và ȳ = (6.56)
0
thì phương pháp tách tín hiệu MMSE method có thể được biểu diễn ở dạng
tương tự ZF như sau
†
ŝ = W H y = H̄ ȳ. (6.57)
Sử dụng phương pháp biểu diễn này cho phép chúng ta áp dụng qua lại hai
phương pháp này khi cần thiết.
Bộ tách tín hiệu MMSE có ưu điểm đơn giản và trong thực tế dễ triển
khai nhờ các thuật toán thích nghi như LMS, RLS,.... Như đã đề cập ở phần
trên, do bộ tách tín hiệu MMSE có tính đến đặc tính của tạp âm nên khắc
phục được nhược điểm khuếch đại tạp âm của bộ tách tín hiệu ZF. Vì vậy,
phẩm chất BER hay SINR của bộ tách tín hiệu MMSE thường tốt hơn của
bộ tách tín hiệu ZF. Ngoài ra, cũng giống như bộ tách tín hiệu ZF, bộ tách
tín hiệu MMSE có độ phức tạp tính toán thấp. Do phần lớn độ tính toán đều
tập trung vào phép tính đảo ma trận ở công thức (6.51) nên cấp độ phức tạp
của bộ tách tín hiệu MMSE là O(M 3 ).
6.5.3 Các tham số phẩm chất bộ tách tín hiệu tuyến tính
Từ công thức (6.26) chúng ta có vector tín hiệu ước lượng của vector tín hiệu
phát s sử dụng các phương tách tín hiệu tuyến tính là
ŝ = W H y. (6.58)
Do đó tín hiệu ước lượng được của dấu phát đi từ anten phát n là
ŝn = w Hn y. (6.59)
Thay y từ (6.13) vào (6.59) chúng ta có thể biểu diễn sn như sau:
ŝn = wHn (Hs + z)
XN
H
= w n h n sn + w iH
h i si + w Hnz (6.60)
| {z } | {z }
ŝS i=1,i6=n ŝZ
| {z }
ŝI
6.6. Các bộ tách tín hiệu phi tuyến 85
Trong đó thành phần đầu tiên biểu diễn tín hiệu mong muốn, thành phần thứ
hai biểu diễn nhiễu đồng kênh CCI từ các anten còn lại, và thành phần cuối
biểu diễn tạp âm, tại đầu ra bộ tách tín hiệu. Như vậy, variance (hay chính là
công suất) của các thành phần tín hiệu tại đầu ra bộ tách tín hiệu tính được
như sau
σS2 = E{ŝ∗S ŝS } = w H
n Rss w n (6.61)
σI2 = E{ŝ∗I ŝI } = wH
n Rii w n (6.62)
σZ2 = E{ŝ∗Z ŝZ } = wH
n Rzz w n (6.63)
trong đó
Rss = ζn2 hn hH
n (6.64)
X N
Rii = ζi2 hi hH
i (6.65)
i=1,i6=n
trong đó phần tử thứ nhất là tín hiệu mong muốn, phần tử thứ hai bao gồm
nhiễu từ các anten khác, còn phần tử cuối cùng biểu diễn tạp âm. Do thành
phần tín hiệu ở anten (lớp)8 cuối cùng N, yN ′
không chịu ảnh hưởng của nhiễu
từ các anten khác nên được tách trước tiên, tiếp theo đến tín hiệu của các
anten (lớp) phía trên. Tín hiệu tách được từ các lớp dưới được sử dụng để
triệt tiêu khởi tín hiệu thu ở các lớp trên. Sử dụng phương pháp quyết định
cứng (hard decision), bỏ qua thành phần tạp âm chúng ta có thể biểu diễn
ước lượng của dấu phát si như sau [9]:
( P )
yi − Nj=i+1 Ri,j sj
s̄i = Q , i = 1, 2, . . . , N. (6.77)
Ri,i
Toàn bộ nguyên lý bộ tách tín hiệu QR có thể được tóm tắt lại bằng thuật
toán Bảng 6.1. Chương trình Matlab MIMOQRDetect.m mô phỏng bộ tách tín
hiệu QR được trình bày ở Program 6.3 của phần phụ lục chương.
Phẩm chất BER của bộ tách tín hiệu QR cho hệ thống 4 × 4 MIMO-SDM
được so sánh với các bộ tách tín hiệu khác ở Hình vẽ 6.10. So với các bộ tách
tín hiệu khác bộ tách tín hiệu QR có phẩm chất tương đối kém, chỉ hơn được
bộ tách tín hiệu ZF. Tuy nhiên, bộ tách tín hiệu QR có ưu điểm đơn giản và
không yêu cầu độ tính toán cao.
8 Các anten phát thứ tự từ 1 đến N còn được gọi là các lớp 1, 2, ..., N , với anten 1 là lớp trên cùng, anten
(8) End
(9) End
(10) END: Output ŝ
IC
Iteration # i
1
MMSE
or s-kmin
(i)
ZF
nulling
M w- kmin
(i)
(i)
k min
Note: Order
Iteration 1
Iteration 2 to N and
Select
Hình 6.9: Mô tả nguyên lý hoạt động của bộ tách tín hiệu V-BLAST.
Sau khi loại bỏ thành phần của tín hiệu lớp đã được tách ra, quá trình này
lại được lặp lại cho đến khi tín hiệu của tất cả các lớp đã được tách xong.
Để giảm bớt độ phức tạp tính toán, việc tách tín hiệu của từng lớp được tiến
hành dựa trên các phương pháp tuyến tính MMSE hay ZF. Vì vậy, bộ tách
tín hiệu V-BLAST còn được gọi là bộ tách tín hiệu kết hợp MMSE-SIC hay
MMSE-ZF. Nguyên lý hoạt động của bộ tách tín hiệu V-BLAST được trình
bày tóm tắt dưới đây.
Biểu diễn {k1 , k2 , . . . , kN } là một tập trình tự sắp xếp lại của tập các chỉ
số anten phát 1, 2, . . . , N xác định thứ tự tách các dấu phát si thuộc s. Tại
vòng lặp thứ i, bộ tách tín hiệu V-BLAST tính toán sai số MSE tương ứng
với tất cả các tín hiệu phát ski như sau
n H o
{MSEj } = diag H † H † , j = 1, 2, . . . , N − 1 + i (6.78)
Ở đây diag{•} biểu diễn phép toán lấy các phần tử đường chéo của ma trận
bên trong dấu ngoặc; MSEj được tính toán theo công thức (6.41) nếu phương
pháp ZF được dùng và (6.53) nếu MMSE được sử dụng. Sau khi đã xác định
được lớp ki với MSEmin , bộ tách tín hiệu sử dụng phương pháp tách tín hiệu
tuyến tính để tách ra tín hiệu tương ứng với lớp đã xác định được
s̄ki = Q w H
ki y
(i)
(6.80)
trong đó wki là cột thứ ki của ma trận trọng số W được tính toán bằng
phương pháp ZF ở công thức (6.36) hay bằng phương pháp MMSE ở công
6.6. Các bộ tách tín hiệu phi tuyến 89
thức (6.51). Trong kỹ thuật xử lý anten thích nghi, thao tác này còn được gọi
là “nulling”. Tiếp theo, tín hiệu tách được s̄ki được phản hồi lại bộ tách tín
hiệu tuyến tính để triệt tiêu (cancellation) khỏi vector tín hiệu thu ở vòng lặp
tách tín hiệu tiếp theo:
trong đó hki là vector được xây dựng từ cột ki của ma trận H. Các thao tác
“nulling and cancellation” này được lặp lại cho đến khi tín hiệu của tất cả các
anten phát (lớp) đã được tách xong. Thuật toán tách tín hiệu V-BLAST được
tóm tắt ở Bảng 6.2 và chương trình mẫu Matlab VBLASTDetect.m mô phỏng
BER của bộ tách tín hiệu V-BLAST được trình bày ở Program 6.4.
So với các bộ tách tín hiệu tuyến tính MMSE hay ZF, bộ tách tín hiệu
V-BLAST yêu cầu lượng phức tạp tính toán lớn hơn. Tuy nhiên, lượng tính
toán gia tăng này có thể chấp nhận được. Ngoài ra, nếu xét về bậc tính toán
thì bộ tách tín hiệu V-BLAST cũng có cùng bậc tính toán giống như của các
bộ tách tín hiệu tuyến tính, tức là O(M 3 ). Đổi lại cho phần gia tăng tính toán,
phẩm chất BER của bộ tách tín hiệu V-BLAST được cải thiện hơn rất nhiều
so với các bộ tách tín hiệu tuyến tính (Xem Hình vẽ 6.10). Đặc biệt chúng
ta có thể nhận thấy rằng bộ tách tín hiệu V-BLAST sử dụng phương pháp
MMSE cho phẩm chất BER vượt trội rất nhiều so với các bộ tách tín hiệu
khác. Ưu điểm về phẩm chất BER tốt kết hợp với độ phức tạp tính toán thấp
làm cho bộ tách tín hiệu V-BLAST trở thành một ứng cử viên sáng giá để
tách tín hiệu trong các hệ thống MIMO-SDM.
90 Chương 6. Các hệ thống MIMO
0
10
10 -2
Average BER
10 -4
10 -6 ZF
QRD
MMSE
V-BLAST-ZF
V-BLAST-MMSE
10 -8
0 5 10 15 20 25 30
E b/ N 0 [dB]
Hình 6.10: Phẩm chất của các bộ tách tín hiệu cho hệ thống 4 × 4 MIMO-SDM.
6.6.3 Bộ tách tín hiệu có trợ giúp của phương pháp rút gọn cơ sở dàn
3.6.3.a. Cơ sở phương pháp rút gọn cơ sở dàn
Định nghĩa [12][13]: Giả sử M và N là hai số nguyên dương với N ≤ M. Một
tập hợp con L của tập hợp số thực RM được gọi là một dàn 10 có kích thước
M nếu tồn tại N vector với độ dài M độc lập tuyến tính với nhau sao cho
( N )
X
L = L{B} = λi bi , λi ∈ Z (6.82)
i=1
trong đó B là một ma trận có kích thước M × N. Tập hợp các vector cột
{bi , i = 1, 2, . . . , N} và ma trận B tương ứng được gọi là cơ sở và ma trận
sinh (generator matrix) của L.
Do λi là các số nguyên nên một dàn (lattice) chính là một tổ hợp tuyến
tính nguyên của các vector cơ sở [12]. Nói chung, một dàn có thể có nhiều cơ
sở nhưng chúng đều có chung định thức. Hình vẽ 6.11 biểu diễn một ví dụ dàn
2 chiều gồm các điểm giao của dàn. Chúng ta có thể thấy rằng cả 2 tập hợp
vector {b1 , b1 } và {b′1 , b′1 } đều có thể coi là các cơ sở của dàn.
Mục đích của phương pháp rút gọn cơ sở dàn (lattice basis reduction) hay
còn gọi ngắn gọn là phương pháp rút gọn dàn (LR: Lattice Reduction) là biến
đổi một cơ sở cho trước B thành một cơ sở mới B ′ có các cột gần trực giao với
nhau. Điều này cũng tương đương với việc tạo nên cơ sở B ′ mới có các vector
cơ sở ngắn nhất. Có nhiều phương pháp rút gọn dàn khác nhau đã được nghiên
cứu, trong đó phương pháp phổ biến nhất là phương pháp LLL do Lenstra,
Lenstra and Lovász đề xuất năm 1982 [14]. Phương pháp LLL cho phép tạo
10 Nguyên gốc tiếng Anh: lattice. Dịch theo “Từ điển Toán học Anh-Việt,” NXB Khoa học-Kỹ Thuật,
1976.
6.6. Các bộ tách tín hiệu phi tuyến 91
b`1
b`2
b1
b2
nên một cơ sở dàn rút gọn từ một cơ sở dàn bất kỳ với độ phức tạp tính toán
ở bậc định thức (polynomial complexity). Nền tảng của phương pháp rút gọn
cơ sở dàn LLL dựa trên thuật toán trực giao hoá của Gram-Schmidt [15].
Theo phương pháp Gram-Schmidt thì chúng ta có thể thu được cơ sở trực
giao B ′ từ một cơ sở cho trước B thông qua vòng lặp sau
i−1
X
b′i = bi − µij b′j , (6.83)
j=1
trong đó
′
bjH bi
µij = ′ 2 (6.84)
kbj k2
biểu diễn độ dài của hình chiếu của bi lên b′j . Thao tác ở công thức (6.83) có
nghĩa là loại bỏ các thành phần b′1 , ..., b′i−1 từ bi làm cho b′i trực giao với các
vector cơ sở khác. Cơ sở B ′ = b′1 , b′2 , . . . , b′N được gọi là rút gọn LLL nếu
phân tích Gram-Schmidt của nó thoả mãn điều kiện
1
|µij | ≤ for 1 ≤ j < i ≤ N, (6.85)
2
và
δkb′i−1 k22 ≤ kb′i + µi,j−1b′i−1 k22 (6.86)
với bất kỳ i ∈ {2, ..., N} nào và 14 < δ ≤ 1. Thông thường δ = 3/4 hay được
sử dụng ở trong thuật toán LLL [14].
Do thuật toán trực giao hoá Gram-Schmidt làm thay đổi dàn nên chúng
ta không thể áp dụng trực tiếp cho phép toán rút gọn cơ sở dàn được mà cần
phải có sửa đổi. Cách đề xuất của thuật toán LLL là thay thế hệ số Gram-
Schmidt µ bằng một số nguyên gần nhất, tức là, ⌈µij ⌋, trong đó ⌈.⌋ biểu diễn
phép toán làm tròn riêng biệt cho phần thực và phần ảo. Phương pháp này tạo
nên phép rút gọn cơ sở “yếu” (weak basis reduction) mà không hề làm thay đổi
92 Chương 6. Các hệ thống MIMO
dàn. Sử dụng phép rút gọn cơ sở “yếu” thuật toán trực giao hoá Gram-Schmidt
ở công thức (6.83) trở thành
i−1
X
b′i = bi − ⌈µij ⌋bj , (6.87)
j=1
và thoả mãn điều kiện (6.85). Tuy nhiên, chỉ riêng phép rút gọn cơ sở yếu ở
công thức (6.87) chưa đảm bảo được các vector cơ sở có được độ dài ngắn nhất
do các vector ở phía trước ở trong dãy vector b′1 , b′2 , . . . , b′N có thể dài hơn
các vector ở phía sau. Để tránh trường hợp này, thuật toán LLL thực hiện việc
kiểm tra điều kiện (6.86) cho từng i. Nếu tồn tại một giá trị i vi phạm điều
kiện kiểm tra ở (6.86) thì thuật toán thực hiện phép hoán vị b′i và b′j . Sau khi
hoán vị, phép rút gọn yếu lại được lặp lại để đảm bảo hai vector có được độ
dài ngắn nhất so với nhau. Thuật toán lặp lại phép kiểm tra và rút gọn yếu
này cho đến khi không thể thực hiện rút gọn hơn nữa.
3 3 3
2 2
^
b1
2
^
b1
b1 b1
`
`
b2 b1
1 b2 1 b2 1
b1
0.5 0.5
0 0 0
-0.5 -0.5
-1 -1 -1
-1 -0.5 0 0.5 1 1.5 2 2.5 3 -1 -0.5 0 0.5 1 1.5 2 2.5 3 -1 -0.5 0 0.5 1 1.5 2 2.5 3
(a) Input basis (b) After first iteration (c) After second iteration
Hình 6.12: Ví dụ biểu diễn thao tác của thuật toán LLL trên một lưới 2 chiều.
Hình vẽ 6.12 trình bày một ví dụ về các thao tác của thuật toán LLL cho
một cơ sở 2 chiều B = [b1 , b2 ]. Hai vector có sở ban đầu b1 , b2 được biểu ở
Hình 6.12(a). Ở vòng lặp đầu tiên, thuật toán Gram-Schmid tìm được vector
b̂1 trực giao với b2 . Tuy nhiên, chúng ta có thể thấy rõ rằng vector b̂1 nằm
ngoài dàn. Phép rút gọn yếu sử dụng ⌈µij ⌋ để kéo b̂1 về điểm dàn gần nhất
tạo nên vector b′1 . Ở vòng lặp tiếp theo thuật toán LLL thực hiện phép hoán
đổi 2 vector b1 , b2 với nhau rồi thực hiện tiếp tục phép rút gọn yếu để tìm ra
vector b′1 gần trực giao với vector b2 . Do hai vector tìm được b1 , b2 sau vòng
lặp thứ hai không thể rút gọn hơn được nữa nên thuật toán LLL dừng tại
vòng lặp này.
Thực thế thì toàn bộ thuật toán rút gọn cơ sở dàn có thể được mô tả
bằng một phép biến đổi tuyến tính sau B ′ = BT , trong đó ma trận chuyển
đổi T là một ma trận đơn (unimodular) có định thức det{T } = ±1. Ở trong
các bộ tách tín hiệu có trợ giúp rút gọn dàn (LRA: Lattice Reduction Aided),
ma trận chuyển đổi T được dùng để lượng tử hoá các ước lượng tín hiều về
chùm sao tín hiệu.
6.6. Các bộ tách tín hiệu phi tuyến 93
Thuật toán LLL có sửa đổi cho phép nhận được cả ma trận chuyển đổi
T được trình bày tóm tắt ở Bảng 6.3.
3.6.3.b. Các bộ tách tín hiệu có trợ giúp rút gọn cơ sở dàn
Động cơ áp dụng phương pháp rút gọn cơ sở dàn (LR) vào các bộ tách tín
hiệu tuyến tính (bao gồm cả bộ tách tín hiệu V-BLAST) là để nhằm cải thiện
vùng quyết định (decision region) của các bộ tách tín hiệu. Quan sát Hình
vẽ 6.13 chúng ta có thể thấy rằng sử dụng trợ giúp của phương pháp rút gọn
cơ sở dàn chúng ta thu được hai vector trực giao với nhau và vì vậy vùng quyết
định được cải thiện hơn so với các bộ tách tín hiệu tuyến tính ZF/MMSE hay
V-BLAST. Ở trường hợp lý tưởng chúng ta có thể thu được các vector hoàn
toàn trực giao với nhau như mô tả ở Hình vẽ 6.13(d), vùng quyết định của các
bộ tách tín hiệu có trợ giúp phương pháp rút gọn cơ sở dàn (LRA) trùng với
vùng quyết định của bộ tách tín hiệu MLD (Maximum Likelihood Detction:
tách tín hiệu hợp lẽ tối đa). Vì vậy, một cách tổng quát hoá chúng ta có thể
nói rằng các bộ tách tín hiệu LRA có thể đạt được phẩm chất lỗi bít gần với
phẩm chất của bộ tách tín hiệu MLD. Thực tế thì theo kết quả của [16],[17],
and [18] thì các các bộ tách tín hiệu V-BLAST có trợ giúp của LR có thể đạt
được phẩm chất BER gần với đường phẩm chất tối ưu của bộ tách tín hiệu
MLD.
Ý tưởng áp dụng phương pháp rút gọn cơ sở dàn vào các bộ tách tín hiệu
tuyến tính được Yao và Wornell đề xuất lần đầu tiên ở [16], sau đó tiếp tục
phát triển thêm tại các công trình nghiên cứu ở [17] và [18]. Cơ sở của các bộ
tách tín hiệu có sự trợ giúp của LR là coi thành phần tín hiệu không có tạp
94 Chương 6. Các hệ thống MIMO
3 3 3 3
2.5 2.5
2.5 2.5
2.5
2
1.5
b1 2
1.5 b1
1.5 1.5
1 1
b2 0.5
b2 0.5
0 0
1 -0.5 -0.5
-1 -1
-1 -0.5 0 0.5 1 1.5 2 2.5 3 -1 -0.5 0 0.5 1 1.5 2 2.5 3
-1 -1
0 0
3 3
2.5 2.5
2.5 2.5
1.5
b1 2
1.5 b1
1.5 1.5
1 1
b2
0
0.5
0 b2 0.5
-0.5 -0.5
-1 -1
-1 -0.5 0 0.5 1 1.5 2 2.5 3 -0.5 0 0.5 1 1.5 2 2.5 3
-1 -1
0 0
(c) Decision region by V-BLAST detector (d) Decision region by ML & LRA detectors
Hình 6.13: Miền (vùng )quyết định của các bộ tách tín hiệu [16].
s y ^
s
H + Detector
w
(a) Conventional detectors
Detector s ^
s u y Detector
^
u
^
s
T -1 H’=HT + - T
w
w
(b) LRA Detector
Hình 6.14: Mô hình tương đương của bộ tách tín hiệu có trợ giúp rút gọn cơ sở lưới.
Do đó, thao tác lượng tử hoá các ước lượng ûn có thể được tiến hành sử dụng
(6.96)
1
ǔˆn = ⌊ √ (ûn + s̃n )⌉. (6.97)
2
và, cuối cùng, nhờ (6.95) như sau
√
ūn = 2ǔˆn − s̃n . (6.98)
trong đó A biểu diễn chòm sao tín hiệu (signal constellation). Hàm PDF có
điều kiện p(y|sℓ , H thường được gọi là hàm hợp lẽ (likelihood function) và,
vì vậy, phương pháp tách tín hiệu này được gọi là phương pháp tách tín hiệu
hợp lẽ tối đa. Do H biết trước và các thành phần của z là các biến ngẫu nhiên
Gauss với giá trị trung bình 0 và phương sai σz2 nên vector thu y là một vector
Gauss phức có giá trị trung bình E{y} = Hsℓ và ma trận tương quan
Ryy = E{[y − Hsℓ ][y − Hsℓ ]H } = Rzz = σz2 I.
Như vậy, chúng ta có thể biểu diễn p(y|sℓ , H) như sau:
1
p(y|sℓ , H) = √ 2N exp −[y − Hsℓ ]H R−1zz [y − Hsℓ ]
( π) det(Rzz )
(6.102)
1 ky − Hsℓ k22
= N 2P exp − .
π σz σz2
6.6. Các bộ tách tín hiệu phi tuyến 97
Do đó, tách tín hiệu sℓ sử dụng phương pháp MLD thông qua tối đa hoá hàm
PDF có điều kiện (hàm hợp lẽ) ở (6.102) tương đương với việc tối thiểu hoá
bình phương khoảng cách giữa 2 vector y và Hsℓ , tức là
s̄ = arg min{ky − Hsℓ k22 }. (6.103)
sℓ ∈A
Nói cách khác bộ tách tín hiệu MLD cần thực hiện phép thử với McN tổ hợp
của sℓ và chọn vector cho khoảng cách nhỏ nhất làm vector tín hiệu tách được.
Phương pháp tách tín hiệu MLD cho kết quả BER tối ưu và vì vậy bộ tách
tín hiệu MLD còn được gọi là bộ tách tín hiệu tối ưu (optimum detector)[22,
Sect.5.1.3]. Tuy nhiên, bộ tách tín hiệu MLD chịu phải nhược điểm về yêu câu
độ tính toán lớn. Do phải thực hiện McN phép thử nên bộ tách tín hiệu MLD
có bậc phức tạp O(McN ). Với các hệ thống MIMO sử dụng nhiều anten và có
bậc điều chế cao, độ phức tạp tính toán này quá cao và, vì vậy, bộ tách tín
hiệu MLD ít được sử dụng trong thực tế. Giải pháp thay thế cho phép chúng
ta thu được BER gần với của bộ tách tín hiệu MLD là sử dụng các phương
pháp kết hợp MMSE với triệt nhiễu nối tiếp (SIC)[10],[11], sử dụng phương
pháp kết hợp tách tín hiệu MMSE với triệt nhiễu song song [5, Sect.17.3.2],
hay sử dụng phương pháp kết hợp MMSE và MLD [23],[24]. Ngoài ra, gần đây
thuật toán giải mã cầu (sphere decoding) cũng đã được đề xuất áp dụng vào
các bộ tách tín hiệu MLD cho phép giảm đáng kể độ phức tạp tính toán. Một
xu hướng khác cũng đang được quan tâm là sử dụng kết hợp phương pháp LR
(Lattice Reduction: rút gọn dàn) kết hợp với các bộ tách tín hiệu tuyến tính
cho phép thu được đường BER tiệm cận với đường BER của phương pháp
MLD trong khi không đòi hỏi thêm đáng kể độ tính toán.
Nói một cách khác bộ tách tín hiệu MLD cần phải tín toán khoảng cách bình
phương từ điểm tín hiệu thu đến các điểm dàn (thuộc chòm sao tín hiệu)
d2ℓ = ky − Hsℓ k2 , ℓ = 1, 2, . . . McN để tìm ra vector cho khoảng cách nhỏ nhất.
Với các phương pháp điều chế có độ điều chế cao như 64-QAM hay các hệ
thống MIMO có số anten phát lớn thì số lượng phép thử khoảng cách này trở
nên quá lớn làm cho các bộ tách tín hiệu MLD không sử được.
Phương pháp tách tín hiệu (giải mã) hình cầu (SD: Sphere Detector) cho
phép giảm nhỏ độ tính toán của bộ tách tín hiệu MLD bằng cách √ giới hạn việc
tìm kiếm các điểm dàn trong một hình cầu với một bán kính C định trước
với tâm là điểm tín hiệu thu. Mỗi lần tìm được một điểm giàn hợp lệ nằm
trong hình cầu, bộ tách tín hiệu SD rút gọn bán kính xuống bằng khoảng cách
98 Chương 6. Các hệ thống MIMO
giữa điểm tín hiệu thu và điểm dàn tìm được. Bộ tách tín hiệu SD được tiếp
tục cho đến khi còn lại một điểm dàn duy nhất còn lại trong hình cầu. Điểm
dàn tìm được được chọn là vector (điểm) tín hiệu phát đi với các thành phần
là toạ độ của điểm dàn. Cốt lõi của phương pháp tách tín hiệu SD là thuật
toán tìm kiếm các điểm dàn hợp lệ nằm trong hình cầu. Thuật toán này được
đề xuất đầu tiên ở [25] và bổ xung ở [26]. Ứng dụng của thuật toán vào bộ
giải mã cho kênh pha-đinh được đề xuất ở [27], và cho các hệ thống MIMO ở
[28] và [29]. Nguyên lý thuật toán SD dựa trên [27] và [28] sẽ được trình bày
tóm tắt dưới đây.
Để biểu diễn dàn của một hệ thống MIMO chúng ta biểu biến đổi phương
trình ma trận phức
y = Hs + z. (6.105)
thành một phương trình phương trình ma trận thực bằng cách tác riêng các
phần thực và phần ảo như sau
T
ỹ = ℜ{y H }, ℑ{y T } , (6.106)
T
s̃ = ℜ{sH }, ℑ{sT } , (6.107)
T
z̃ = ℜ{z H }, ℑ{z T } , (6.108)
ℜ{H} −ℑ{H}
H̃ = . (6.109)
ℑ{H} ℜ{H}
Như vậy, chúng ta có phương trình hệ thống MIMO với các thành phần thực
như sau
ỹ = H̃ s̃ + z̃. (6.110)
Do ma trận H̃ chứa các phần tử Gauss độc lập nên hạng của ma trận này là
2N. Vì vậy chúng ta có thể coi 2N cột {h̃i } của H̃ như là các vector cơ sở của
một dàn với 2M chiều L(H̃), với vector tín hiệu phát s̃ là các toạ độ của một
điểm dàn. Đặt x̃ = H̃ s̃ chúng ta có thể viết lại bài toán MLD như sau [27]
min{kỹ − x̃k22 } = min {kũk22 }. (6.111)
x̃∈L ũ∈y−L
có nghĩa là chúng ta tìm một vector ngắn nhất u ở trong dàn dịch chuyển
y − L trong một không gian thực 2N chiều R2N . Biểu diễn ỹ và ũ ở dạng khai
triển của H̃ tương tự như x̃ chúng ta có
y = H̃ρ; với ρ = [ρ1 , ρ2 , . . . , ρ2N ]T ∈ R2N (6.112)
u = H̃ξ; với ξ = [ξ1 , ξ2, . . . , ξ2N ]T ∈ R2N (6.113)
P2N
Do u = i=1 h̃i ξi nên h̃i là các vector cơ sở của dàn dịch chuyển còn ξi = ρi −s̃i
là các trục toạ độ dịch chuyển ở trong không gian của các vector nguyên s̃ của
một dàn Z2N . Hình cầu có bình phương bán kính C với tâm điểm tại điểm tín
hiệu thu sẽ được chuyển thành một elipxoit có tâm tại gốc của hệ toạ độ mới
xác định bởi ξ [27]
2N X
X 2N
T
2 2 H
Q{ξ} = kuk2 = kH̃ξk2 = ξ H̃ H̃ξ = ξ Gξ = T
gij ξi ξj ≤ C, (6.114)
i=1 j=1
6.6. Các bộ tách tín hiệu phi tuyến 99
xác định một elipxôit chính tắc. Bắt đầu từ U2N ngược cho đến U1 , chúng ta
tìm được các công thức giới hạn biên của elipxôit như sau
s s
C C
− ≤ U2N ≤ (6.118)
q2N,2N q2N,2N
s s
C − q2N,2N U2N C − q2N,2N U2N
− ≤ U2N −1 ≤ (6.119)
q2N −1,2N −1 q2N −1,2N −1
..
. (6.120)
Thay ξi = ρi − si chúng ta tìm được giải tương ứng cho các thành phần
nguyên si như sau [27]
vu
u 2N 2N
!2 2N
u1 X X X
−t C− qℓℓ ξℓ + qℓj ξj + ρi + qij ξj
qii ℓ=i+1 j=ℓ+1 j=i+1
≤ si ≤ (6.121)
v
u
2N 2N
!2 2N
u1 X X X
u
t C− qℓℓ ξℓ + qℓj ξj + ρi + qij ξj
qii ℓ=i+1 j=ℓ+1 j=i+1
với ⌈x⌉ biểu diễn phép làm tròn x tới số nguyên lớn hơn x nhỏ nhất (hàm ceil)
còn ⌊x⌋ biểu diễn phép x tới số nguyên nhỏ hơn x lớn nhất (hàm floor).
Thuật toán tách tín hiệu cầu có thể mô tả tóm tắt bằng ba bước sau đây:
1. Vẽ một hình cầu với tâm tại điểm tiến hiệu thu với các điểm dàn cần
tìm.
100 Chương 6. Các hệ thống MIMO
2. Hình cầu được chuyển thành một elipxôit ở trong một miền số nguyên.
3. Thiết lập hệ toạ độ mới từ Ui và liệt kê các điểm dàn nằm trong hình
cầu từ dưới lên trên và từ trái sang phải.
Trong thực tế, mỗi khi thuật toán SD thực hiện phép tìm kiếm thì hình
cầu sẽ thu hẹp dần lại và đường biên giới hạn của hình cầu sẽ được cập nhật
lại nhu sau:
2N
X
Si = Si (ξi+1 , ..., ξ2N ) = ρi + qiℓ ξℓ (6.122)
ℓ=i
2N 2N
!2
X X
Ti−1 = Ti−1 (ξi , ..., ξ2N ) = C − qℓℓ ξe ll + qiℓ ξℓ (6.123)
ℓ=i ℓ=i
2
= Ti − qii (Si − si )
Mỗi khi có một điểm dàn (một vector) ở trong hình cầu được tìm thấy, thì
khoảng cách bình phương từ tâm hình cầu (điểm tín hiệu thu) tới điểm dàn
đó được tính bởi
dˆ2 = C − T1 + q11 (S1 − s1 )2 . (6.124)
Khoảng cách này được so sánh với khoảng cách d2 trước đó (giá trị ban đầu
bằng C). Nếu dˆ2 < d2 , thuật toán giảm nhỏ hình cầu với bán kính mới dˆ2 và
tiếp tục tìm các điểm dàn khác trong hình cầu mới này.
Sự lựa chọn bán kính ban đầu cho hình cầu có ý nghĩa rất quan trọng.
Nếu C lớn quá, sẽ có nhiều điểm dàn bên trong hình cầu và thuật toán yêu
cầu độ tính toán lớn. Ngược lại, nếu C lớn nhỏ sẽ xảy ra trường hợp không có
điểm dàn nào tồn tại bên trong hình cầu và thuật toán lại phải khởi tại lại với
bán kính C mới lớn hơn. Trong thực tế, C cần phải chọn dựa trên giá trị mật
độ phổ tạp âm N0 sao cho xác suất khởi tạo lại thuật toán có thể bỏ qua.
Thuật toán tách tín hiệu hình cầu được mô tả ở Hình vẽ 6.15. Thuật toán
SD đòi hỏi độ phức tạp tính toán [27]
4dC !
2N − 1
2
O (2N) 1 + . (6.125)
4dC
Với giá trị cố định d độ phức tạp tính toán của thuật toán SD trở thành định
thức của số anten phát N và vì vậy nhỏ hơn độ phức tạp tính toán của phương
pháp MLD. Một nhận xét khác là thuật toán SD không phụ thuộc vào cấp độ
điều chế Mc , do đó rất thích hợp cho các hệ thống có cấp độ điều chế cao.
MÃ KHÔNG GIAN-THỜI
GIAN
111
112 Chương 7. Mã không gian-thời gian
x1
1 1 +
^
{ s i} { x i } Space-Time z1 Space-Time { x i } { s^i }
Modulator Encoder Decoder Demodulator
X xN
N M +
zM
(7.1) có thể được biểu diễn ngắn gọn như sau [5]:
Ns
X
X= (s̃k Ak + šk B k ) (7.2)
k=1
trong đó s̃k và šk tương ứng biểu diễn phần thực và ảo của sk , còn Ak và B k là
các ma trận cố định cho trước. Ma trận X này được truyền tới máy thu thông
qua N anten và Nt khe thời gian. Vector tín hiệu phát từ anten n (thông qua
Nt khe thời gian) được biểu diễn bởi hàng n của X và vector tín hiệu phát
đồng thời qua N anten tại một khe thời gian t được biểu diễn bằng cột thứ t
của X. Như vậy, một phần từ xn,t biểu diễn một dấu phát mã hoá được phát
đi từ anten n tại khe thời gian t.
Do Ns dấu được truyền đi trong khoảng thời gian Nt khe thời gian nên
tốc độc truyền của mã STBC là
Ns
R= . (7.3)
Nt
Giả sử bộ điều chế được sử dụng có bậc Mc thì số bít được truyền đi trong
mỗi dấu phát là mb = log2 Mc . Như vậy, hiệu suất phổ tần của mã STBC có
thể tính được như sau [6, Ch.3]
rb rs mb R mb Ns
η= = = [bits/s/Hz] (7.4)
B rs Nt
trong đó rb và rs tương ứng là các tốc độ truyền bit và truyền dấu, còn B là
băng tần tín hiệu.
Một ví dụ điển hình của mã STBC là bộ mã do Alamouti [1] đề xuất với
ma trận phát
x1,1 x1,2 s1 s∗2
X= x = s −s∗ . (7.5)
2,1 x2,2 2 1
Các ma trận ánh xạ An và B n của mã Alamouti STBC có thể biểu diễn như
sau [5]
1 0 0 1
A1 = 0 −1 A2 = 1 0 (7.6)
1 0 0 −1
B1 = 0 1 A1 = 1 0 (7.7)
7.2. Mã khối không gian-thời gian 113
trong đó C là một hằng số nào đó. Loại mã STBC được xây dựng trên cơ
sở trực giao này được gọi là mã STBC trực giao (orthogonal STBC). Với mã
STBC trực giao, các vector phát từ các anten trực giao với nhau. Tức là nếu
chúng ta định nghĩa xn là các vector (hàng) phát từ anten n, tương ứng với
hàng thứ n của X, thì
Nt
X
xi xH
j = xi,t x∗j,t = 0, , i, j ∈ {1, 2, ..., N} (7.9)
t=1
Tính chất trực giao của mã STBC này cho phép đạt được độ phân tập toàn
phần, đồng thời cho phép máy thu tách riêng các thành phần tín hiệu phát từ
các anten phát, và vì vậy đơn giản hoá bộ tách tín hiệu thông qua tách sóng
hợp lẽ tối ưu dựa trên các phép xử lý tuyến tính trên tín hiệu thu.
Tốc độ truyền dẫn tối đa của các mã STBC trực giao có độ phân tập toàn
phần là 1, tức là, R ≤ 1 [4], trong đó mã Alamouti là bộ mã cho tín hiệu phức
duy nhất cho phép đạt được đồng thời cả độ phân tập toàn phần và tốc độ
toàn phần (full rate).
Tuỳ theo tập tín hiệu (signal constellation), chúng ta có thể thiết kế được
các bộ mã STBC trực giao khác nhau. Trong phần sau đây chúng ta sẽ tìm
hiểu về các bộ mã dành cho tập tín hiệu thực và tập tín hiệu phức.
Ns
X
xi xH
i = |sk |2 (7.14)
k=1
xi xH
j = 0, i 6= j (7.15)
(7.16)
Tổng quát hoá định lý Hurtwitz-Radon cho trường hợp ma trận không
vuông, Tarokh, Jafarkhani và Calderbank [4] đã tìm được các ma trận phát
X N cho bất kỳ số anten phát N nào. Các ví dụ ma trận phát cho N ≤ 8 được
trình bày dưới đây [4]
" #
s1 −s2 −s3 −s4
X 3 = s2 s1 s4 −s3 (7.17)
s3 −s4 s1 s2
s1 −s2 −s3 −s4 −s5 −s6 −s7 −s8
s2 s1 −s4 s3 −s6 s5 s8 −s7
s3
X5 = s4 s1 −s2 −s7 −s8 s5 s6
(7.18)
s4 −s3 s2 s1 −s8 s7 −s6 s5
s5 s6 s7 s8 s1 −s2 −s3 −s4
s1 −s2 −s3 −s4 −s5 −s6 −s7 −s8
s2 s1 −s4 s3 −s6 s5 s8 −s7
s3 s4 s1 −s2 −s7 −s8 s5 s6
X6 =
s4 −s3 s2 s1 −s8 s7 −s6
s5 (7.19)
s s6 s7 s8 s1 −s2 −s3 −s4
5
s6 −s5 s8 −s7 s2 s1 s4 −s3
7.2. Mã khối không gian-thời gian 115
s −s2 −s3 −s4 −s5 −s6 −s7 −s8
1
s
2 s1 −s4 s3 −s6 s5 s8 −s7
s3 s4 s1 −s2 −s7 −s8 s5 s6
(7.20)
s5
X 7 = s4 −s3 s2 s1 −s8 s7 −s6
s5 s6 s7 s8 s1 −s2 −s3 −s4
s6 −s5 s8 −s7 s2 s1 s4 −s3
s7 −s8 −s5 s6 s3 −s4 s1 s2
So sánh (7.17) với (7.12), (7.18)–(7.20) với (7.13) chúng ta có thể nhận thấy
rằng bộ mã X 3 được xây dựng trên cơ sở bộ mã vuông X 4 bằng cách lấy 3
hàng đầu tiên. Tương tự, các bộ mã X 5 , X 6 , X 7 tương ứng được xây dựng
từ 5, 6, và 7 hàng đầu tiên của bộ mã vuông X 8 . Thực tế thì chúng ta có
thể xây dựng được các bộ mã cho các hệ thống với N ′ anten phát từ bộ mã
vuông X N bằng cách lấy N ′ hàng bất kỳ từ X N [5]. Cũng giống như các bộ
mã STBC trực giao vuông các bộ mã không vuông này sử dụng Nt khe thời
gian để truyền đi Ns dấu phát. Vì vậy, các bộ mã này cũng có tốc độ toàn
phần, tức là R = 1, đồng thời cũng cho phép thu được độ phân tập toàn phần
N.
Giải mã STBC cho tập tín hiệu thực: Giả thiết kênh pha-đinh
chậm, tức là các hệ số kênh truyền hm,n không đổi trong khoảng Nt khe thời
gian phát, ta có
hm,n (t) = hm,n , t = 1, 2, . . . , Nt . (7.21)
Như vậy, tín hiệu thu tại thời điểm t và anten thu m có thể được biểu diễn
như sau
XN
ym,t = hm,n sn,t + zm,t (7.22)
n=1
Do tính chất tực giao của các hàng trong ma trận truyền dẫn, tương tự như
phương pháp Alamouti (xem các các công thức (5.87) (5.87)), luật tách sóng
hợp lẽ tối ưu (ML)
Nt X
M N 2
X X
ŝn = arg min ym,t − hm,n xn,t . (7.24)
xn,t ∈χ
t=1 m=1 n=1
116 Chương 7. Mã không gian-thời gian
Do s̃n chỉ phụ thuộc vào sn , metric quyết định kết hợp (joint deccision metric)
(7.25) được giản ước thành metric quyết định độc lập cho từng dấu phát như
sau:
( N X M
! )
X
ŝn = arg min |s̃n − sn |2 + |hm,n |2 − 1 |sn |2 . (7.26)
sn ∈χ
n=1 m=1
Điều này có nghĩa là do tính chất trực giao, thống kê quyết định cho tín
hiệu phát mong muốn sn hoàn toàn độc lập với các tín hiệu phát sj , {j =
1, 2, ..., N, j 6= n} khác.
Đối với mã STBC có ma trận truyền dẫn không vuông (N 6= Nt ) như
X 3 , X5 , X6 và X7 thì thống kê quyết định tại máy thu là
M
X X
s̃i = sgnt (si )ym,t h∗m,℘t (si ) , (7.27)
t∈ψ(i) j=1
trong đó i = 1, 2, ..., Nt, còn ψ(i) là tập hợp của các cột của ma trận truyền
dẫn có xuất hiện si . Ví dụ, với ma trận truyền dẫn X 3 như ở công thức (7.17)
thì
ψ(1) = {1, 2, 3} ψ(2) = {1, 2, 4} (7.28)
ψ(3) = {1, 3, 4} ψ(4) = {2, 3, 4}. (7.29)
Tương tự nhu trường hợp với ma trận phát vuông thì metric quyết định cho
các từng tín hiệu si là
( N X
M
! )
X
ŝi = arg min |s̃i − si |2 + |hm,n |2 − 1 |si |2 . (7.30)
si ∈χ
n=1 m=1
Một cách tổng quát, chúng ta có thể xây dựng các bộ mã STBC phức tốc độ
R = 1/2 bằng cách xây dựng một bộ mã STBC phức có cấu trúc tương tự
như một bộ mã STBC thực có tốc độ toàn phần rồi nối với ma trận liên hợp
phức của nó.
Với tốc độ lớn hơn 1/2 có một số mã STBC trực giao phức với tốc độ
R = 3/4 cho các hệ thống 3 và 4 anten phát như sau [5]
" #
s1 0 s2 −s∗3
X3 = 0 s1 s∗3 s∗2 (7.35)
−s2 −s3 s∗1 0
∗
s1 0 s2 −s∗3
0 s s∗ s∗
X 4 = −s∗ −s1 s3∗ 02 . (7.36)
2 3 1
∗ ∗
s3 −s2 0 s1
Một số mã có tốc độ 3/4 khác được xây dựng trên cơ sở lý thuyết thiết kế
“thoả hiệp” (admicable design) có thể tìm thấy ở [4].
Giải mã STBC cho tập tín hiệu phức: để ý rằng bộ mã STBC cho
tập tín hiệu phức có ma trận truyền dẫn vuông chỉ tồn tại với mã X 2 của
Alamouti. Phương pháp giải mã cho bộ mã này tương tự như phương pháp
giải mã cho các bộ mã STBC cho tập tín hiệu tực có ma trận truyền dẫn
vuông, và đã được trình bày cụ thể ở chương 5.
Đối với các bộ mã có ma trận truyền dẫn không vuông X 3 , X 4 có tốc độ
1/2 thì cũng tương tự như phương pháp giải mã cho tập tín hiệu thực chúng
ta có thống kê quyết định như sau
M
X X
s̃i = ′
sgnt (si )ym,t (i)h′∗
m,℘t (si ) , (7.37)
t∈ψ(i) j=1
trong đó
ym,t nếu si nằm ở cột t của X N
′
ym,t (i) = (7.38)
∗
ym,t nếu s∗i nằm ở cột t của X N
118 Chương 7. Mã không gian-thời gian
còn
∗
hm,℘t (si ) nếu si nằm ở cột t của X N
h′m,℘t (si ) = . (7.39)
hm,℘t (si ) nếu s∗i nằm ở cột t của X N
(7.40)
Ví dụ, đối với bộ mã STBC X 3 có tốc độ 1/2 thì thống kê quyết định cho các
dấu phát được biểu diễn cụ thể như sau [6]
M
X
s̃1 = ym,1 h∗m,1 + ym,2 h∗m,2 + ym,3 h∗m,3 + ym,5
∗ ∗
hm,1 + ym,6 ∗
hm,2 + ym,7 hm,3
m=1
(7.41)
M
X
= ρ3 s1 + zm,1 h∗m,1 + zm,2 h∗m,2 + zm,3 h∗m,3 + zm,5
∗ ∗
hm,1 + zm,6 ∗
hm,2 + zm,7 hm,3
m=1
(7.42)
M
X
s̃2 = ym,1 h∗m,2 − ym,2 h∗m,1 + ym,4 h∗m,3 + ym,5
∗ ∗
hm,2 − ym,6 ∗
hm,1 + ym,8 hm,3
m=1
(7.43)
M
X
= ρ3 s2 + zm,1 h∗m,2 − zm,2 h∗m,1 + zm,4 h∗m,3 + zm,5
∗ ∗
hm,2 − zm,6 hm,1 + z8∗ hm,3
m=1
(7.44)
M
X
s̃3 = ym,1 h∗m,3 − ym,3 h∗m,1 − ym,4 h∗m,2 + ym,5
∗ ∗
hm,3 − ym,7 ∗
hm,1 − ym,8 hm,2
m=1
(7.45)
M
X
= ρ3 s3 + zm,1 h∗m,3 − zm,3 h∗m,1 − zm,4 h∗m,2 + zm,5
∗ ∗
hm,3 − zm,7 ∗
hm,1 − zm,8 hm,2
m=1
(7.46)
M
X
s̃4 = −ym,2 h∗m,3 + ym,3 h∗m,2 − ym,4 h∗m,1 − ym,6
∗ ∗
hm,3 + ym,7 ∗
hm,2 − ym,8 hm,1
m=1
(7.47)
M
X
= ρ3 s4 + −zm,2 h∗m,3 + zm,3 h∗m,2 − zm,4 h∗m,1 − zm,6
∗ ∗
hm,3 + zm,7 ∗
hm,2 − zm,8 hm,1
m=1
(7.48)
trong đó
3 X
X M
ρ3 = 2 |hm,n |2 . (7.49)
n=1 m=1
Đối với bộ mã X 2 có tốc độ 3/4, thống kê quyết định cho các dấu phát
7.3. Mã lưới không gian-thời gian 119
là [6]
M
X (ym,4 − ym,3 )h∗m,3 (ym,4 − ym,3 )∗ hm,3
s̃1 = ym,1 h∗m,1 + ∗
ym,2 hm,2 + −
m=1
2 2
(7.50)
M
X
∗ ∗
(ym,4 + ym,3 )h∗m,3 (ym,4 − ym,3 )∗ hm,3
s̃2 = ym,1 hm,2 − ym,2 hm,1 + +
m=1
2 2
(7.51)
M
X (ym,1 + ym,2 )h∗m,3 ym,3∗
(hm,1 + hm,2 ) ym,4∗
(hm,1 − hm,2 )
s̃3 = √ + √ + √
m=1
2 2 2
(7.52)
Tương tự, thống kê quyết định để giải mã bộ mã STBC X 4 có tốc độ 3/4
là
M
X
∗ ∗
(ym,4 − ym,3 )(h∗m,3 − h∗m,4 ) (ym,3 + ym,4 )∗ (hm,3 + hm,4 )
s̃1 = ym,1 hm,1 + ym,2 hm,2 + −
m=1
2 2
(7.53)
M
X
∗ ∗
(ym,4 + ym,3 )(h∗m,3 − h∗m,4 ) (ym,4 − ym,3 )∗ (hm,3 + hm,4 )
s̃2 = ym,1 hm,2 − ym,2 hm,1 + +
m=1
2 2
(7.54)
M
X (ym,1 + ym,2 )h∗m,3 (ym,1 − ym,2 )h∗m,4 ym,3∗ ∗
(hm,1 + hm,2 ) ym,4 (hm,1 − hm,2 )
s̃3 = √ √ + √ + √
m=1
2 2 2 2
(7.55)