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

Nghiên cứu mã hóa kênh, phân tích về mã chập (mã xoắn) , chương trình mô phỏng quá trình tạo mã chập

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 (306.66 KB, 13 trang )

BÀI TẬP LỚN
Môn Học : Kĩ thuật thông tin sô
Đề tài: Nghiên cứu mã hóa kênh, phân tích về mã chập (mã xoắn)
, chương trình mô phỏng quá trình tạo mã chập

Danh sách sinh viên thực hiện:
1- Phùng Đức Trung
2- Trịnh Tiến Dũng

1


Mục Lục

Phần 1: Tổng quan về mã hóa kênh
1. Phân tích mã hóa kênh.
2. Khái niệm và phân loại mã hóa kênh.

Phần 2: Tìm hiểu về mã chập
1. Giới thiệu về mã chập (mã xoắn).
2. Cách tạo mã chập (mã xoắn).

Phần 3: Kết luận

2


PHẦN I : TỔNG QUAN VỀ MÃ HÓA KÊNH
1. Phân tích mã hóa kênh
Vị trí của mã hóa kênh trong hệ thống thông tin số
Mã hóa kênh là một khâu rất quan trọng trong hệ thông thông tin sô không


dây cùng với mã hóa nguồn, ghép kênh, điều chế … để tạo ra một tín hiệu phù
hợp cho việc tru yề n dẫ n vô tuyế n và tín hiệ u đó có khả n ăng điề u khiển
được sự sa i bit v à sửa cá c lỗ i x ả y ra nếu có để có thể k hôi phụ c lại
g ần như nguyên dạn g t ín hi ệu tin tức mà mình truyền đi. Hình 1.1 cho ta thấy
vị trí của mã hóa kênh truyền trong hệ thông thông tin sô.
Mục đích của việc mã hóa kênh là làm giảm xác suất sai thông tin khi truyền
qua kênh truyền. Việc giảm thiểu xác suất sai dựa vào việc phát hiện sai và sửa sai có
thể dẫn đến việc giảm tỉ sô tín hiệu trên nhiễu (SNR) cần thiết nhờ đó giảm được
công suất, tiết kiệm năn g lư ợn g. Việc sửa sa i hữ u h iệu c ho t ín hiệ u SN R
nhỏ sẽ t huậ n lợi c h o việc bảo mật, trải phổ và tăng độ chính xác của thông
tin nhận - mục đích quan trọng nhất của truyền thông.

3


Hình 1.1: Vị trí của mã hóa kênh trong hệ thống thông tin
số
2. Khái niệm và phân loại mã hóa kênh
 Khái niệm: Mã hóa kênh là việc đưa thêm các bit dư vào tín hiệu sô theo một
quy luật nào đó nhằm giúp cho bên thu có thể phát hiện và thậm chí sửa
được lỗi xảy ra trên kênh truyền.
Trong các hệ thống truyền số liệu thì có 2 cơ chế sửa lỗi:
+ Cơ chế ARQ: Cơ chế yêu cầu phát lại sô liệu một cách tự động ( khi phát hiện
sai) .
cơ chế này có 3 dạng cơ bản như
sau:
• Cơ chế ARQ dừng và chờ (stop and wait ARQ)
• Có chế ARQ quay ngược N vector (N go back ARQ)
• Cơ chế ARQ chọn lựa việt lặp


4


+Cơ chế FEC (Forward Error Control): phát hiện và tự sửa sai sử dụng các loại
mã sửa lỗi.


Khi có sai đơn (sai 1 lỗi) người ta thường dùng các loại mã như mã khôi
tuyên tính, mã hamming, mã vòng...



Khi có sai chùm (sai trên 2 lỗi) người ta thường dùng các loại mã như:
mã BCH, mã tích chập, mã Trellis, mã Tubor, mã Tubor Block, mã tổng hợp
GC... Một hệ thông có thể khắc phục lỗi bằng cách gửi một yêu cầu cho bên
phát gửi
lại tín hiệu nếu phát lỗi, đó là chế độ ARQ. Nhưng việc này chỉ thích hợp cho các hệ
thông truyền dẫn hữu tuyến và một sô hệ thông vô tuyến không yêu cầu về thời
gian trễ. Thay vào đó, với các hệ thông thông tin không dây ngày nay, người ta
hay sử dụng một loại mã có thể phát hiện và khắc phục lỗi một cách tự động. Việc
này sẽ làm giảm thiểu thời gian trễ so với các hệ thông yêu cầu truyền lại. Bộ mã
này thường được gọi là mã điều khiển lỗi (EEC), hay mã hóa kênh truyền.
 Phân loại mã hóa kênh
Lý thuyết mã hóa đại sô được chia ra làm 2 loại mã chính:
• mã khôi.
• mã xoắn ( mã chập ).
Trong mỗi loại mã lại được phân chia thành 2 nhánh nữa đó là mã tuyến tính
(Linear codes) và mã không tuyến tính (Nonlinear codes). Trong thực tế,các loại mã
không tuyến tinh không được ứng dụng nhiều.
PHẦN II : TÌM HIỂU VỀ MÃ CHẬP (MÃ XOẮN)

1. Giới thiệu về mã chập
Mã chập hay còn gọi là mã xoắn là 1 loại mã được sử dụng trong mã hóa kênh
nhằm kiểm soát lỗi tín hiệu khi đi qua kênh truyền
Mã xoắn có tên tiếng anh là convolutionnal code . Mã xoắn được Elias đề xuất lần đầu
tiên vào năm 1955. Sau đó, Wozencraft đưa ra một thuật toán giải mã tương đôi
hiệu quả. Năm 1963,Massey đưa ra cách giải mã ít hiệu quả hơn nhưng lại dễ thực

5


hiện hơn. Năm 1967, Viterbi đã đưa ra thuật toán giải mã tôi ưu được gọi là thuật toán
Viterbi. Từ đây, mã chập được ứng dụng rộng rãi trong ngành viễn thông.
Mã xoắn được miêu tả bởi 3 sô nguyên (n,k,m). Trong đó k là sô bit được ghi
vào thanh ghi dịch tại mỗi thời điểm, n là tổng sô bit trong một từ mã ở lôi ra của bộ lập
mã, m gọi là độ dài hạn chế (ràng buộc) tham sô này mô tả sô tầng thanh ghi dịch.
Mã chập la loại mã sửa sai (FEC). Convolution codes thuộc họ mã lưới (mã
hóa theo trellis) và được xây dựng dựa trên 1 đa thức sinh hoặc 1 sơ đồ chuyển trạng
thái ( trellis mã ) đặc trưng. Quá trình giải mã của mã chập phải dựa vào dựa vào trellis
mã thông qua cac giaỉ thuật khác nhau, trong đó nổi tiếng nhất là giải thuật Viterbi.
Mã chập là mã tuyến tính có ma trận sinh có cấu trúc mã hóa sao cho phép mã
hóa có thẻ xem như 1 phép lọc hoặc phép lấy tổng chập. Mã chập được sử dụng rộng rãi
trong thực tế bởi mã hóa được xem như 1 tập hợp các bộ lọc sô tuyến tính với dãy mã là
đầu ra của các bộ lọc được ghép xen kẽ. Các mã chập là các mã đầu tiên được xây dựng
các thuật toán giải mã quyết định phần mềm hiệu quả.

Hình 2.1 Sơ đồ phân bố lập / giải mã chập trên 1 kênh thông tin
2. Cách tạo mã chập
Nguyên tắc tạo mã chập
-Sử dụng 1 thanh ghi dịch để lưu trữ các ki hiệu đầu vào
-Sử dụng các mạch logic để tính toán các ki hiệu đầu ra

-Sử dụng bộ dồn kênh để xếp các kí hiệu đầu ra thành 1 chuỗi tuần tự

6


Từ các thông sô của mã chập ta có thể vẽ được sơ đồ của bộ tạo mã chập. Trong đó ta có
m thanh ghi dich, n mạch cộng modul-2 và ta có 1 bộ dồn kênh để đưa tín hiệu ở đầu ra.

Hình 2.2 Sơ đồ tạo mã chập (3,1,4)
Đôi với mạch mã hóa trên ta co được 2 dãy dáp ứng xung như sau :
g1 = [1 0 1 1]
g2 = [0 1 0 1]
Phương trình tạo mã có thể viết như sau :
V1 = U x g1
V2 = U x g2
Ta có ma trận sinh của mã chập như sau :

Ví du:
Ta cho dãy thông tin đầu vào là :
U = ( 1 0 1 0)
Thông qua phần mềm Matlab ta đã mô phỏng được bộ tạo mã chập va tính được kêt quả
như sau
V1 = (1 0 1 0)*(1 0 1 1) = 1 0 1 0
V2 = (1 0 1 0)*(0 1 0 1) = 0 0 0 0
V= ( 1 0 0 0 1 0 0 0)
7


Code lệnh Matlab để mô phỏng bộ tạo mã chập :
function output=cnv_encd(g,K0,input);

% cnv_encd(g,K0,input)
% Xác định đầu ra của mã chập với n0 hàng và l*k0 cột
% Các cột là g1, g2,...,gn
% k0 là sô bit đưa vào bộ mã hoá trong 1 nhịp thời gian.
% U là dãy thông tin đâù vào
% Kiểm tra xem có cần thêm bit 0 hay không
if rem(length(input),k0)>0
input=[input,zeros(size(1:k0-rem(length(input),k0)))];
end
n=length(input)/k0;
% Kiểm tra kích cỡ của ma trận g
if rem(size(g2),k0)>0
error('Lỗi, ma trận g co kích cỡ sai.')
end
% Tính l và n0
I=size(g2)/k0;
n0=size(g,1);
% Thêm các bit 0 vào cuôi dãy đầu vào
u=[zeros(size(1:(1-1)*k0)),input,zeros(size(1:(1-1)*k0))]
% Tạo ma trạn uu đây là ma trận có các cột là nội dung của
% các phần tử nhỏ trong bộ mã hóa chập tại các nhịp thời gian
u1=u(l*k0:-1:1);
for i=1:n+1-2
u1=[u1,u((i+1)*k0:i*k0+1)];
end
uu=reshape(u1,1*k0,n+1-1);
% Tính dãy đầu ra
output=reshape(rem(g*uu,2),1,n0*(1+n-1));

 Đa thức tạo mã :

Bởi vì mã xoắn là mã tuyến tính nên ta có thẻ thay thế các phép toán biến đổi theo thời
gian bằng 1 đa thức tạo mã để việc biến đổi trở nên tiên hơn. Mỗi dãy nhị phân được thay
bằng 1 đa thức mà hệ sô của đa thức này chính là các giá trị bit của dãy.
Ví dụ :

8


Ta có bộ tạo mã chập (2,1,5) và dãy thông tin vào là U = (1 0 1 1 1) thì ta có các đa thức
sinh :
g1(D) = 1+ D^3+D^4
g2 (D) = 1+ D^2+D^3+D^4.
Đôi với dãy thông tin :
U(D) = 1+ D^2+D^3+D^4.
Sau bộ mã hóa chập thì ta có :
V(D = 1+ D+D^3+D^4+D^5+D^7+D^9+D^10+D^16+D^17.
3. Các cách biểu diễn mã chập
 Đồ hình trạng thái :
Mạch mã xoắn là 1 mạch dãy.Mạch này có thẻ có được mô tả bằng đồ hình trạng thái.
Trạng thái trong của mạch mmã hóa được hiểu là nội dung cùng với đầu vào tiếp theo là
cần thiết để xác định đầu ra tiếp theo
Để biểu diễn các bộ lập mã đơn giản có thể sử dụng đồ hình trạng thái. Trong đồ hình các
ô vuông biểu diễn các trạng thái có thể có của bộ lập mã, đường nôi giữa các ô biểu diễn
từ mã nhánh ra

9


Hình 2.2 Bảng trạng thái của mã chập (2,1,4)


Hình 2.3 Đồ hình trạng thái của mã CC (2,1,4)

 Đồ hình cây mã :
Sử dụng đồ hình trạng thái hoàn toàn có thể biểu diễn đượ cho các bộ lập mã. Tuy nhiên
sẽ rất khó quán sát vì thiếu yếu tô thời gian, đồ hình cây mã sẽ khắc phục được điều này.

10


Hình 2.4 Đồ hình cây mã của mã chập (2,1,2)
 Đồ hình lưới :
Trong đồ hình lưới các nút biểu thị trạng thái của bộ lập mã, mỗi thời điểm yêu cầu
2^m-1 nút để biểu diễn 2^m-1 trạng thái của bộ lập mã. Từ mỗi nút có 2 nhánh ra. Một
nhánh ứng với bit vào là 0 được vẽ bằng net đứt. Trên các nhánh này ghi từ mã tương
ứng .

11


Hình 2.5 Đồ hình cây của mã chập (2,1,4)

KẾT LUẬN
Trong bài tập lớn này chúng em đã trình bày một cách tổng quan về mã
hóa kênh và đi sâu vào nghiên cứu, phân tích, mô phỏng mã quá trình tạo mã
chập. Qua đó đã giúp chúng em có cái tổng quát hơn về hệ thông thông tin sô
và các loại mã hóa kênh truyền và đặc biệ là quá trình tạo mã chập. Mặc dù đã
rất cô gắng, tuy nhiên do thời gian và kiến thức còn hạn chế nên bài tập lớn
này chắc hẳn còn nhiều thiếu sót. Chúng em rất mong thày có những nhận xét
và góp ý để bài viết sẽ đạt kết quả tôt hơn. Em xin chân thành cảm ơn.


12


Tài liệu tham khảo:
[1]. Bài giảng kỹ thuật thông tin sô- Phạm Việt Hưng
[2].Các hệ thông thông tin sô hiện nay- Proakis J.G và
Salehim
[3]. Kỹ thuật truyền dẫn sô- nhà xuất bản quân đội
[4].contemporary comumnication systems using matlab

13



×