Tách sóng đa truy nhập dùng mạng Hopfield trong hệ thống CDMA
Multiuser Detection using a Hopfield network for CDMA system
ThS. Phạm Hùng Kim Khánh
Tóm tắt
Bài này giới thiệu một loại máy thu đa truy nhập sử dụng mạng Hopfield bằng
cách kết hợp thuật toán cận tối ưu với khả năng hội tụ nhanh của mạng neural.
Abstract
This paper introduces a novel multi-user receiver, Hopfield network receiver,
which combines fast convergence of neural network with the asymptotically optimum
algorithm.
I. GIỚI THIỆU
Trong thời gian gần đây, hệ thống thông tin trải phổ (Spread Spectrum Communication System) đã
được xem xét rộng rãi do quá trình thực hiện đã dễ dàng hơn. Hệ thống thông tin SS có khả năng chống
fading đa đường và chống nhiễu cao. CDMA (Code Division Multiple Access) là một ứng dụng của hệ
thống trải phổ. Trong hệ thống CDMA, tách sóng đa truy nhập (MUD - multi-user detection) là một trong
những bài toán cơ sở của thông tin di động. Do tính thực thi kém của máy thu đơn kênh cổ điển nên MUD
tr
ở thành vấn đề chính trong hệ thống CDMA. Verdú đã chứng minh rằng lời giải tối ưu tương đương với
quá trình cực tiểu hóa bài toán bậc hai nhưng quá trình tìm nghiệm tối ưu sẽ rất phức tạp khi số lượng user
trong hệ thống tăng cao. Do đó, thông thường các thuật toán chỉ thực hiện tìm các lời giải cận tối ưu. Mạng
Hopfield là một trong những phương pháp phổ biến sử d
ụng cho mục đích này.
II. MÔ HÌNH HỆ THỐNG
Xét kênh truyền có K user với nhiễu cộng Gaussian:
y(t) =
K
kkk
k1
Abs(t) n(t)
=
+σ
∑
, t
∈
[0,T] (1)
trong đó T: chu kỳ symbol
s
k
(t): dạng sóng nhận dạng của cho user thứ k, chuẩn hoá với năng lượng đơn vị.
T
2
kk
0
ss(t)dt1==
∫
(2)
Giả sử tín hiệu nhận dạng bằng 0 ở ngoài khoảng [0,T] nên không tồn tại giao thoa liên ký tự
(intersymbol interference).
A
k
: biên độ thu được của user k. Giá trị
2
k
A
là năng lượng của user k.
b
k
∈
{-1,+1}: chuỗi bit truyền của user thứ k
n(t): nhiễu Gaussian với mật độ phổ đơn vị. Nó thường dùng cho mô hình nhiễu nhiệt và nguồn
nhiễu không liên quan đến quá trình truyền. Công suất nhiễu trên băng thông B là
σ
2
B.
Mô hình máy thu dùng bộ lọc thích hợp, còn gọi là máy thu RAKE cổ điển (Conventional RAKE
detector):
Hình 1 - Mô hình ngõ ra của bộ lọc thích hợp
MF user 1
MF user 2
MF user K
r(t)
y
1
y
2
y
K
Ngõ ra bộ lọc thích hợp của user thứ k:
T
kk
0
yy(t)s(t)dt=
∫
kk jjjk
jk
Ab Ab n(k)
≠
=+ ρ+
∑
(3)
Ta có thể biểu diễn phương trình (3) ở dạng vector như sau:
y
=
RAb +
n
(4)
trong đó:
y
= {y
1
,..,y
K
}
T
b
= {b
1
,..,b
K
}
T
A
=
1
2
K
A0 0
0A 0
00 A
⎡⎤
⎢⎥
⎢⎥
⎢⎥
⎢⎥
⎣⎦
K
K
MMKM
K
n
là vector ngẫu nhiên Gaussian có trung bình bằng 0.
Trong trường hợp kênh truyền không trực giao thì sẽ tồn tại ảnh hưởng của các user còn lại (MAI –
Multiple Access Interference).
Theo Verdú, xác suất lỗi của hệ thống ứng với trường hợp 2 user và K user là:
12 12
AA AA
11
QQ
22
−ρ +ρ
⎛⎞⎛⎞
+
⎜⎟⎜⎟
σσ
⎝⎠⎝⎠
(4)
1jK
j
k
jjk
K1
e { 1} e { 1} e { 1} j k
jk
A
A
1
... ... Q e
2
−
∈± ∈± ∈± ≠
≠
⎛⎞
⎜⎟
+ρ
⎜⎟
σσ
⎜⎟
⎝⎠
∑∑∑ ∑
(5)
III. TÁCH SÓNG ĐA TRUY NHẬP DÙNG MẠNG HOPFIELD
A. Mạng Hopfield
Mạng Hopfield là mạng neural đơn lớp theo dạng lan truyền ngược. Mỗi neural nhận tổng các hoạt
động từ các neural khác trong mạng và cập nhật theo quy luật sau:
V
i
= g(U
i
) =
iijj
ji
gJ TV
≠
⎛⎞
⎜⎟
+
⎜⎟
⎜⎟
⎝⎠
∑
(6)
Trong đó T
ij
là trọng số liên kết giữa neural thứ j và thứ i, J
i
là trạng thái hiện tại của neural thứ i.
Nếu kết nối giữa các neural là đối xứng (nghĩa là T
ij
= T
ji
) thì phương trình cập nhật của hệ thống sẽ
hội tụ về trạng thái ổn định (giá trị tại ngõ ra sẽ là hằng số). Còn trong trường hợp các phần tử trên đường
chéo T
ii
= 0 thì trạng thái ổn định của mạng gồm N neural sẽ hội tụ về giá trị cực tiểu địa phương (gọi là
hàm năng lượng):
E =
NN N
ij i j i i
i1 j1 i1
1
TVV VJ
2
== =
−−
∑∑ ∑
(7)
Phương trình cập nhật của neural thứ i có thể biểu diễn như sau:
ii
ij j i
i
ij
dU U
E
TV J
dt V
≠
∂
=− = + −
∂τ
∑
(8)
B. Máy thu HNN (Hopfield neural network)
Máy thu cổ điển (CD – Conventional Detector) sử dụng một bank các bộ lọc thích hợp (matched
filter) để nhận dạng từng user và ước lượng các bit thông tin chỉ dựa vào ngõ ra của các bộ lọc này:
k
k
(i 1)T
(i)
kkk
iT
y r(t)s (t iT )dt
+−τ
−τ
=−−τ
∫
(9)
(i) (i)
CD k
ˆ
b sign(y )
=
(10)
Một phương pháp khác là dùng máy thu đa truy nhập tối ưu (OMD – Optimum Multiuser Detector).
Phương pháp này thực hiện ước lượng các bit thông tin bằng cách cực đại hoá hàm khả năng (likelihood
function). Trong trường hợp đồng bộ:
{ }
T
K
(i) (i) T
OMD
b{1,1}
b arg max 2y b b Rb
∈+ −
=−
(11)
Tuy nhiên khi sử dụng phương pháp này thì độ phức tạp của quá trình tính toán sẽ thay đổi theo
hàm mũ của số user. Như vậy, khi số lượng user lớn thì quá trình thực hiện là không khả thi. Do đó, ta chỉ
dùng các sơ đồ tối ưu phụ, đó là máy thu đa tầng (MSD – Multistage Detector). MSD gồm có một tập hợp
các tầng, mỗi tầng dùng để ước lượng các bit thông tin như sau:
(i)
MSD
b (m+1) = sign(
y
(i)
– (
R
–
I
)
(i)
MSD
b(m)) (12)
Ngõ vào của tầng thứ nhất chính là ngõ ra của một bộ tách sóng cổ điển. MSD có số tầng vô hạn và
có thể hội tụ tới cực tiểu địa phương của hàm đối tượng OMD.
Đối với trường hợp bất đồng bộ thì bài toán máy thu tối ưu giải quyết bằng cách biểu diễn giống
như phương trình (11) nhưng ma trận tương quan chéo R lúc này có dạng:
R(0) R( 1) 0 0
R(1) R(0) R( 1)
R
0R(1)R(0) 0
R( 1)
0 0 R(1) R(0)
−
⎡⎤
⎢⎥
−
⎢⎥
⎢⎥
=
⎢⎥
−
⎢⎥
⎢⎥
⎣⎦
K
KM
%
O
MOO
K
(13)
Các bit thông tin nhận được lúc này dùng ước lượng có dạng như sau:
{ }
T
(2M 1)K
(i) (i) T
OMD
b{1,1}
b arg max 2y b b Rb
+
∈+ −
=−
%
%%%%
%
%
(14)
Như vậy, độ phức tạp trong trường hợp này sẽ lớn hơn rất nhiều so với trường hợp đồng bộ.
Từ (11), ta thấy rằng hàm đối tượng OMD tương tự như hàm năng lượng của HNN. Mà (11) có thể
viết ở dạng như sau:
{ }
{}
{}
T
K
T
K
T
K
(i) (i) T
1
OMD
2
b{1,1}
(i) T T
11
22
b{1,1}
(i) T
1
2
b{1,1}
bargminybbRb
arg min y b b (R I)b b Ib
arg min y b b (R I)b
∈+ −
∈+ −
∈+ −
=−+=
=−+−+
=−+−
(15)
(do
b
T
Ib
luôn là số dương). Như vậy, ta có thể chuyển trực tiếp thành hàm năng lượng của mạng
Hopfield với ma trận trọng số
T
= –(
R – I
) và trạng thái ban đầu của mạng
J
=
y
(i)
. Xét trường hợp rời rạc
trên miền thời gian:
iiijj
ji
V(m 1) sign y V(m)
≠
⎛⎞
⎜⎟
+= − ρ
⎜⎟
⎜⎟
⎝⎠
∑
(16)
hay có thể viết ở dạng ma trận như sau:
V
(m+1) = sign(
y
– (
R
–
I
)
V
(m)) (17)
Mạng Hopfield dừng:
Để tránh trường hợp cực tiểu địa phương, chúng ta có thể thay thế HNN bằng mạng Hopfield dừng
(SHN – Stochastic Hopfield Network). Phương trình (17) của mạng Hopfield có thể thay đổi bằng phương
trình:
iiijj
ji
V(m 1) sign y V(m) (m)
≠
⎛⎞
⎜⎟
+= − ρ +ν
⎜⎟
⎜⎟
⎝⎠
∑
(18)
trong đó ν(m) là biến ngẫu nhiên độc lập với trung bình bằng 0 và hàm phân phối F(x,m).
Levendovzky đã xác định được một dạng hàm F cho biến ngẫu nhiên ν như sau:
F(x) =
x
1
1e
−α
+
(19)
Đối với dạng hàm F như trên, phương sai của biến ngẫu nhiên phụ thuộc vào giá trị của
α
(giá trị
của
α
càng lớn thì phương sai càng nhỏ).
IV. KẾT QUẢ MÔ PHỎNG
Kết quả mô phỏng thực hiện trên ngôn ngữ MatLab ứng với chuỗi giả ngẫu nhiên có chiều dài cực
đại. Chương trình mô phỏng thực hiện so sánh một số loại máy thu tiêu biểu ứng với chuỗi giả ngẫu nhiên
là chuỗi nhị phân có chiều dài cực đại (Maximal Length Binary Sequence).
Do chất lượng của hệ thống thông tin được đánh giá dựa cơ sở trên tỉ số lỗi bit (Bit Error Rate) nên
quá trình mô phỏng sẽ thự
c hiện tính toán thông số này. Trong tất cả các hình vẽ, trục tung biểu thị BER
theo dB và trục hoành biểu diễn giá trị tỉ số tín hiệu trên nhiễu (SNR – Signal-to-Noise Ratio).
Hình 2 – So sánh BER của các phương pháp ứng với số user K = 60, chiều dài chuỗi giả ngẫu
nhiên M = 1024 bit
Đối với máy thu RAKE cổ điển, có thể tính BER theo công thức (5), nhưng công thức này khá
phức tạp, đòi hỏi quá trình tính toán khá lớn nên tác giả đã giả lập một kênh truyền tồn tại nhiễu trắng
Gaussian (AWGN – Addition White Gaussian Noise).
Đối với máy thu HNN, để tránh tình trạng cực tiểu địa phương, tác giả đã hạn chế số vòng lặp tối đa
là 100 (theo chương trình thực hiện thì thông thường mạng sẽ hội tụ dướ
i 10 lần lặp).
Hình 3 – So sánh BER của các phương pháp ứng với số user K = 30, chiều dài chuỗi giả ngẫu
nhiên M = 1024 bit
Dựa vào các hình vẽ, ta thấy rằng khi tỉ số SNR nhỏ thì BER của các phương pháp tách sóng không
sai khác nhiều, nhưng khi thực hiện với SNR lớn hơn thì máy thu HNN sẽ cho BER tốt hơn các phương
pháp khác.
Hình 4 - So sánh BER của các phương pháp ứng với số user K = 60, chiều dài chuỗi giả ngẫu
nhiên M = 4096 bit