Tải bản đầy đủ (.doc) (14 trang)

ứng dụng mã turbo trong hệ thống thông tin di động CDMA2000 4.doc

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (349.91 KB, 14 trang )

Chương 4: chương trình mô phỏng mã turbo trong hệ thông tin di động CDMA2000
CHƯƠNG 4: CHƯƠNG TRÌNH MÔ PHỎNG MÃ TURBO TRONG HỆ
THỐNG THÔNG TIN DI ĐỘNG CDMA2000
4.1 Giới thiệu chương:
Trong chương này trình bày chương trình mô phỏng bộ mã turbo sử dụng
trong hệ thống thông tin di động thế hệ 3 theo chuẩn CDMA2000. Chương trình được
viết bằng ngôn ngữ Matlab, thông qua chương trình mô phỏng giúp ta kiểm tra lại lý
thuyết và hiểu sâu hơn về mã turbo,cũng như khả năng ứng dụng của mã turbo khi
tốc độ bít cao Qua đó cho chúng ta đánh giá được những đặc điểm như khả năng sửa
lỗi ...mà các loại mã hóa kênh khác không có. Trong chương trình mô phỏng ta nhập
các bit số liệu vào khác nhau, số lần lặp giải mã khác nhau, cũng như số bit khung để
thu được kết quả giải mã, BER khác nhau. Bộ mã này có hàm truyền như sau:
G(D)=






)(
)(
)(
)(
1
1
0
Dd
Dn
Dd
Dn
Trong đó d(D) = 1+D


2
+D
3
, n
0
(D) = 1+D+D
3
và n
1
(D) = 1+D+D
2
+D
3

4.2. Lưu đồ thuật toán:
4.2.1. Lưu đồ thuật toán chương trình mã hoá theo bít:
Trang 53
nhập bít vào input, nhập ma
trân trạng thái state
Begin
End
Output(i)=g(i,1)*input
j=2
Output(i)=xor(output(i),g(i,j)*state(j-1)
j<4j=j+1 i<3i=i+1 State = [input,state(1:2)Đ S Đ S
Chương 4: chương trình mô phỏng mã turbo trong hệ thông tin di động CDMA2000
4.2.2. Lưu đồ thuật toán mã hoá chuỗi dữ liệu đầu vào:
Trang 54
g = [1011;1101;1111]
i=1

begin
Chương 4: chương trình mô phỏng mã turbo trong hệ thông tin di động CDMA2000
4.2.3. Lưu đồ thuật toán tính các ma trận của trạng thái trellis:
Trang 55
Nhập chuỗi dữ liệu cần mã
hóa X
g = [1011;1101;1111]
state = zeros (1,3)
i = 1
i<=length(X)
d_k = X(1,i)
d_k =
rem( g(1,2:K)*stat
e', 2 )
a_k = rem( g(1,:)*[d_k state]', 2 );
gọi hàm mã hóa bít [output_bits, state] =
encode_bit( a_k, state);output_bits(1,1) = d_k;
y(3*(i-1)+1:3*i) = output_bits;
i < 3+length(x)
i = i+1
Xuất y
End
Đ
S
Đ
S
Begin
Chương 4: chương trình mô phỏng mã turbo trong hệ thông tin di động CDMA2000
4.2.4. Lưu đồ thuật toán giải mã turbo:
Trang 56

g = [1011;1101;1111]
i = 1
trạng thái i
Tính các ma trận:
Next_out: đầu ra khi đầu vào là bit 0/1 ứng với
thanh ghi ở trạng thái hiện tại i
Last_out:đầu ra trước khi thanh ghi chuyển đến
trạng thái hiện tại i
Next_state: trạng thái thanh ghi tiếp theo khi đầu
vào là bit 0/1 và thanh ghi đang ở trạng thái i
Last_state: trạng thái thanh ghi trước khi chuyển
đến trạng thái hiện tại i
i < 8
Next_out
Last_out
Next_state
Last_state
End
i = i+1
Đ
S
Begin
Chương 4: chương trình mô phỏng mã turbo trong hệ thông tin di động CDMA2000
4.2.5. Lưu đồ thuật toán tính lỗi bit và lỗi khung:
Trang 57
-Dựa vào sơ đồ trellis tính các metric đi vào
từng nút
-So sánh các metric để tìm ra đường sống
-Lưu các đường sống theo mảng L_all
Nhập số lần lặp

Chuỗi dữ liệu nhận
được ở bên thu y
j = 1
i = 1
i <length(y)
j < lan lap
Đưa ra các bit giải mã
End
i = i+1
j = j+1
Đ
S
Đ
S
Begin

×