Tải bản đầy đủ (.pdf) (17 trang)

Báo cáo BTL môn đại số tuyến tính

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 (512.58 KB, 17 trang )

ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA TỐN ỨNG DỤNG
--oo0oo--

MƠN HỌC: ĐẠI SỐ TUYẾN TÍNH
BÁO CÁO BÀI TẬP LỚN ĐẠI SỐ TUYẾN TÍNH
CHỦ ĐỀ:
MÃ HAMMING (7, 4) PHÁT HIỆN VÀ SỬA LỖI

GVHD: Thầy Nguyễn Hữu Hiệp
Lớp: L16
DANH SÁCH THÀNH VIÊN NHÓM 03
STT
1
2
3
4
5
6
7

HỌ VÀ TÊN
NGUYỄN ĐẠI ĐỒNG
NGUYỄN TRẦN GIÁP
PHAN THANH HẠO
TRƯƠNG NGUYỄN NHẬT ĐƠNG
NGUYỄN Q HIỂN
NGUYỄN CAO ĐẠT
NGUYỄN LÊ THÀNH ĐẠT
Tp. Hồ Chí Minh, tháng 12 năm 2022


i

MSSV
2210780
2210839
2210922
2210779
2211039
2210688
2210690


Nhận xét của giáo viên:
…………………………………………………………………………
…………………………………………………………………………
…………………………………………………………………………
…………………………………………………………………………
…………………………………………………………………………
…………………………………………………………………………
…………………………………………………………………………
…………………………………………………………………………
…………………………………………………………………………
…………………………………………………………………………
…………………………………………………………………………
Ngày ….. tháng ….. năm 2022
Giáo viên chấm điểm

ii



LỜI MỞ ĐẦU
Ngày nay công nghệ số ngày càng phát triển một cách chóng mặt, đi đơi với cơng
nghệ nghệ số ngày càng phát triển thì việc truyền thơng tin là rất quan trọng. Trong
quá trình truyền dẫn dữ liệu, chúng ta không thể tránh khỏi lỗi và nhiễu gây sai
sót trong q trình tiếp nhận thơng tin. Từ đó đã có rất nhiều phương pháp tìm và
sửa lỗi đã được phát minh như: mã chập, mã golay, mã nhị phân, mã chẵn lẻ, mã
hai-trong-năm, tái biến dữ liệu, mã hamming, …

Trang 3


Mục lục
LỜI MỞ ĐẦU ...................................................................................................... 3
CHƯƠNG 1: SƠ LƯỢC VỀ MÃ HAMMING ................................................ 5
1. Lịch sử ra đời của mã Hamming .................................................................... 5
2. Các loại mã trước thời kỳ của Hamming ....................................................... 5
3. Ứng dụng của mã Hamming .......................................................................... 6
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT CỦA MÃ HAMMING (7, 4) ................. 7
1. Mã Hamming (7, 4) là gì? .............................................................................. 7
2. Cách thức thực hiện quá trình phát hiện và sửa lỗi........................................ 8
3. Một số mã Hamming khác ............................................................................. 8
CHƯƠNG 3: CÁCH THIẾT LẬP MÃ HAMMING ..................................... 10
1. Tạo mã Hamming (7, 4) ............................................................................... 10
2. Tìm lỗi sai và sửa sửa mã bên thu ............................................................... 11
CHƯƠNG 4: MƠ TẢ THUẬT TỐN ............................................................ 12
1. Tạo mã .......................................................................................................... 12
2. Giải mã tại bên thu ....................................................................................... 13
CHƯƠNG 5: MATHLAB................................................................................. 14
1. Tổng quan về Mathlab ................................................................................. 14
2. Sơ đồ khối .................................................................................................... 14

3. Các lệnh cơ bản ............................................................................................ 14
4. Bài code hoàn chỉnh bằng Mathlab .............................................................. 14
5. Ví dụ minh họa ............................................................................................. 16
Tài liệu tham khảo............................................................................................. 17

Danh mục hình ảnh
Hình 2-1 Mã Hamming (7, 4) ............................................................... 7
Hình 2-2 Error-correcting Code function. ............................................ 8
Hình 5-1 Sơ đồ khối. ........................................................................... 14
Hình 5-2 Bài code trên màn hình editor. ............................................ 16
Hình 5-3 Nhập dữ liệu cần truyền đi. ................................................. 16
Hình 5-4 Nhập mã nhận được bên thu. ............................................... 17
Trang 4


CHƯƠNG 1: SƠ LƯỢC VỀ MÃ HAMMING
1. Lịch sử ra đời của mã Hamming
Richard Wesley Hamming (11/2/1915 – 7/1/1998) là một nhà tốn học
người Mỹ có cơng trình nghiên cứu có nhiều ý nghĩa đối với ngành kĩ thuật
máy tính và viễn thơng. Những đóng góp của ơng bao gồm mã Hamming (sử
dụng ma trận Hammig), cửa sổ Hamming, số Hamming, giới hạn Hamming
và khoảng cách Hamming.
Trong những năm của thập niên kỷ 1940, Hamming làm việc tại Bell
Labs trên máy tính Bell Model V, một máy điện cơ (electromechanical)
dùng rơ-le (relay-based), với tốc độ rất chậm, mấy giây đồng hồ một chu kỳ
máy. Nhập liệu được cho vào máy bằng những cái thẻ đục lỗ (punch cards),
và hầu như máy luôn luôn gây lỗi trong khi đọc. Trong những ngày làm việc
trong tuần, những mã đặc biệt được dùng để tìm ra lỗi và mỗi khi tìm được,
nó nhấp nháy đèn báo hiệu, báo cho người điều khiển biết để họ sửa, điều
chỉnh máy lại. Trong thời gian ngoài giờ làm việc hoặc trong những ngày

cuối tuần, khi người điều khiển máy khơng có mặt, mỗi khi có lỗi xảy ra,
máy tính tự động bỏ qua chương trình đương chạy và chuyển sang công việc
khác.
Hamming thường làm việc trong những ngày cuối tuần và ông càng
ngày càng trở nên bực tức mỗi khi ông phải khởi động lại các chương trình
ứng dụng từ đầu, do chất lượng kém, khơng đáng tin cậy (unreliability) của
bộ máy đọc các thẻ đục lỗ. Mấy năm tiếp theo đó, ơng dồn tâm lực vào việc
xây dựng hằng loạt các thuật tốn có hiệu quả cao để giải quyết vấn đề sửa
lỗi. Năm 1950, ông đã công bố một phương pháp mà hiện nay được biết
là Mã Hamming. Một số chương trình ứng dụng hiện thời vẫn cịn sử dụng
mã này của ơng.

2. Các loại mã trước thời kỳ của Hamming
Nhiều mã phát hiện lỗi đơn giản đã được sử dụng trước khi có mã
Hamming, nhưng khơng có mã nào hiệu quả bằng mã Hamming với một
tổng phí tương đương.
- Mã chẵn lẻ: Mã chẵn lẻ thêm một bit vào trong dữ liệu, và bit cho thêm này
cho biết số lượng bit có giá trị 1 của đoạn dữ liệu nằm trước là một số
chẵn hay một số lẻ. Nếu một bit bị thay đổi trong quá trình truyền dữ liệu,
giá trị chẵn lẻ trong thơng điệp sẽ thay đổi và do đó có thể phát hiện được
lỗi (Chú ý rằng bit bị thay đổi có thể lại chính là bit kiểm tra).
- Mã hai-trong-năm: Mã này đảm bảo mỗi một khối 5 bit (cịn được gọi
là khối - 5) có chính xác hai bit có giá trị bằng 1. Máy tính có thể nhận ra
là dữ liệu nhập vào có lỗi nếu trong một khối 5 bit khơng 2 bit có giá trị
bằng 1.
Trang 5


- Tái biến dữ liệu: Một mã nữa được dùng trong thời gian này là mã hoạt
động bằng cách nhắc đi nhắc lại bit dữ liệu vài lần (tái diễn bit được truyền)

để đảm bảo bit dữ liệu được truyền, truyền đến nơi nhận trọn vẹn.

3. Ứng dụng của mã Hamming
Thế kỉ trước, khi mà chưa có cáp quang, cáp đồng là loại cáp chính được sử
dụng để truyền thơng tin, dữ liệu. Nhưng cáp đồng lại có tốc độ truyền dẫn khơng
cân bằng, thêm vào đó là sự bất ổn định, bị ảnh hưởng nhiều của mơi trường, vì
vậy, dẫn đến việc các thông tin, dữ liệu khi truyền đến nơi sẽ bị thiếu hụt, sai lệch.
Vậy nên, mã Hamming đã được tạo ra với mục đích sửa các lỗi tuyến tính ấy. Ưu
điểm của mã này là đơn giản, số bit kiểm tra ít, ngồi ra, mã này hoạt động tốt
trong việc phát hiện các lỗi đơn bit và một số trường hợp lỗi hai bit. Tuy nhiên,
với nhu cầu hiện nay và sự phát triển của loài người thì khả năng sửa lỗi của mã
Hamming đã khơng cịn đáp ứng được đa số các chương trình nữa. Dù vậy, mã
Hamming vẫn là một trong những bước tiến lớn trong viễn thông và là nền tảng
của nhiều mã sửa lỗi bây giờ.

Trang 6


CHƯƠNG 2: CƠ SỞ LÝ THUYẾT CỦA MÃ
HAMMING (7, 4)
1. Mã Hamming (7, 4) là gì?

Hình 2-1 Mã Hamming (7, 4)
Trong lý thuyết mã hóa, Hamming (7,4) là mã sửa lỗi tuyến tính mã hóa
4 bit dữ liệu thành 7 bit dữ liệu bằng cách thêm 3 bit chẵn lẻ. Nó là một phần
trong họ mã Hamming lớn hơn, nhưng thuật ngữ mã Hamming thường đề
cập đến mã cụ thể này mà Richard W. Hamming đã giới thiệu vào năm 1950.
Mã Hamming thêm 3 bit kiểm tra cho mỗi 4 bit dữ liệu của thơng báo. Thuật
tốn (7, 4) của hamming có thể sửa bất kì lỗi đơn bit nào hoặc phát hiện ra
lỗi 1 bit và 2 bit. Nói cách khác, khoảng cách Hamming tối thiểu giữa hai từ

mã chính xác bất kì là 3, và các từ đã nhận có thể giải mã một cách chính xác
nếu chúng ở một khoảng cách nhiều nhất là một từ mã được người gửi truyền
đi. Điều này có nghĩa là đối với các tình huống truyền dẫn khơng xảy ra lỗi,
mã Hamming có hiệu lực.

Trang 7


2. Cách thức thực hiện quá trình phát hiện và sửa lỗi

Hình 2-2 Error-correcting Code function.
Khi nào dữ liệu được ghi vào bộ nhớ ,tính tốn, miêu tả như một hàm
f, được thực hiện trên dữ liệu để tạo ra một mã. Cả mã và dữ liệu được lưu
trữ. Vì vậy một từ M bit dữ liệu được lưu và mã có chiều dài K bit sau đó
kích thước thực tế của từ được lưu trữ là M + K bit. Khi từ được lưu trữ trước
đó được đọc, mã sử dụng để phát hiện và sửa lỗi. Một bộ bit mã K mới được
tạo ra từ các bit dữ liệu M và so sánh với các bit mã lấy được. So sánh này
mang lại một trong ba kết quả:
I. Khơng phát hiện lỗi. Các bit dữ liệu được tìm nạp sẽ được gửi đi.
II. Phát hiện lỗi và có thể sửa lỗi. Các bit dữ liệu cộng các bit điểu chỉnh
lỗi được đưa đến bộ điều chỉnh, tạo ra một bộ điều chỉnh M bit được
gửi đi.
III. Phát hiện lỗi, nhưng khơng thể sửa lỗi. Tình trạng này được báo cáo.
Mã hoạt động theo cách này được gọi là các mã sửa lỗi. Một mã được
đặc trưng bởi số lỗi bit trong một từ mà nó có thể chính và phát hện.

3. Một số mã Hamming khác
Với K bit chẵn lẻ, có khoảng từ 0 đến 2𝐾 − 1. Giá trị 0 để chỉ ra rằng
khơng có lỗi nào được phát hiện, còn 2𝐾 − 1 giá trị để cho biết nếu có lỗi thì
bit nào bị lỗi. Bây giờ, vì mỗi lỗi có thể xảy ra trên bất kì bit dữ liệu M hoặc

bit kiểm tra K, chúng ta phải có:
2𝐾 − 1 ≥ 𝑀 + 𝐾

Vậy với K biến, chúng ta có được những mã Hamming sau:
Trang 8


Bit chẵn lẻ

Tổng số bit

Bit dữ liệu

2
3
4
5
6
7
8

3
7
15
31
63
127
255

1

4
11
26
57
120
247


𝐾


𝑁 = 2𝐾 − 1


𝑀 = 2𝐾 − 1 − 𝐾

Tên
Hamming (3, 1)
Hamming (7, 4)
Hamming (15, 11)
Hamming (31, 26)
Hamming (63, 57)
Hamming (127, 120)
Hamming (255, 247)

Hamming (2𝐾 − 1, 2𝐾 − 1 − 𝐾)

Trang 9



CHƯƠNG 3: CÁCH THIẾT LẬP MÃ HAMMING
1. Tạo mã Hamming (7, 4)
Mã Hamming (7, 4) bao gồm 4 bit dữ liệu và 3 bit chẵn lẻ, gọi các bit dữ liệu
là D1, D2, D3, D4 và các bit chẵn lẻ là P1, P2, P4.
1
P1

2
P2

3
D1

4
P4

5
D2

6
D3

7
D4

Với các quy tắc được sắp xếp như sau:
1. Các vị trí trong một khối được đánh số từ 1: bit 1, 2, 3, ...
2. Tất cả các bit chẵn lẻ được đặt vào các vị trí lũy thừa của 2n { n =0, 1, 2,…}.VD:
20 , 21 , 22 ,….
3. Tất cả các vị trí cịn lại sẽ được dùng cho các bit dữ liệu. VD: 3, 5, 6, 7, …

4. Mỗi bit chẵn lẻ tính giá trị chẵn lẻ cho một số bit trong từ mà theo quy tắc sau:
- Bít chẵn lẻ ở vị trí số 1 (001) sẽ kiểm tra tính chẵn lẻ của các vị trí mà số
thứ tự của vị trí đó trong hệ nhị phân có bit ngồi cùng là 1. Vd: 1 (0001),
3 (0011), 5 (0101), 7 (0111) ,..
- Bít chẵn lẻ ở vị trí số 2 (010) sẽ kiểm tra tính chẵn lẻ của các vị trí mà số
thứ tự của vị trí đó trong hệ nhị phân có bit thứ 2 là 1. Vd: 2 (0010), 3
(0011), 6 (0110), 7 (0111), …
- Bít chẵn lẻ ở vị trí số 4 (100) sẽ kiểm tra tính chẵn lẻ của các vị trí mà số
thứ tự của vị trí đó trong hệ nhị phân có bit thứ 3 là 1. Vd: 5 (0101), 6
(0110), 7(0111), …
- Tương tự vớ i các bít chẵn lẻ ở vị trí cao hơn: 8, 16, 32…
Theo quy tắc như trên, ta có như sau:
P1 = D1 ⊕ D2 ⊕ D4
P2 = D1 ⊕ D3 ⊕ D4
P4 = D2 ⊕ D3 ⊕ D4
( với ⊕ là phép XOR)
Ví dụ cụ thể cho quy tắc trên: Ta cần truyền dữ liệu là “ 0 1 1 0”
P1

P2

0

P4

1

1

0


P1 = 0 ⊕ 1 ⊕ 0 = 1
P2 = 0 ⊕ 1 ⊕ 0 = 1
P4 = 1 ⊕ 1 ⊕ 0 = 0
Vậy dữ liệu mà từ máy thu của ta truyền đi đó chính là “ 1 1 0 0 1 1 0”
Trang 10


2. Tìm lỗi sai và sửa sửa mã bên thu
Sau khi nhận được mã Hamming ở dưới dạng:
P1
P2
D1
P4
D2
D3
Gọi C1, C2, C3 là các bit kiểm tra. Theo quy tắc trên ta có được:

D4

C1 = P1 ⊕ D1 ⊕ D2 ⊕ D4
C2 = P2 ⊕ D1 ⊕ D3 ⊕ D4
C3 = P4 ⊕ D2 ⊕ D3 ⊕ D4
Nếu C3*4 + C2*2 + C1*1 bằng 0 thì mã khơng có lỗi, cịn nếu khác khơng
thì mã sai tại vị trí C3*4 + C2*2 + C1*1.
Theo ví dụ ở trên, truyền đi dữ liệu là “ 1 1 0 0 1 1 0”, nếu bên nhận được dữ
liệu mã là “ 1 1 0 0 0 1 0”, ta tiến hành giải mã.
P1
1


P2
1

D1
0

P4
0

D2
0

D3
1

D4
0

C1 = 1 ⊕ 0 ⊕ 0 ⊕ 0 = 1
C2 = 1 ⊕ 0 ⊕ 1 ⊕ 0 = 0
C3 = 0 ⊕ 0 ⊕ 1 ⊕ 0 = 1
Ta có, C3*4 + C2*2 + C1*1 = 1*4 + 0*2 + 1*1 = 5, vậy ta có mã sai ở vị trí
số 5. Ta chỉ cần hốn vị số 0 thành 1 thì ta được mã cần nhận là “1 1 0 0 1 1 0”.

Trang 11


CHƯƠNG 4: MƠ TẢ THUẬT TỐN
1. Tạo mã
Mơt phương pháp để truyển đổi bốn bit dữ liệu thành một mã Hamming bảy

bit là sử dụng ma trận chuyển đổi dữ liệu 4x7 [G].
Xác định D là vecto 1x4 [ D1, D2, D3, D4 ].
Có thể tạo ma trận chuyển đổi dữ liệu 4x7[G] sao cho tích modulo 2 của
vecto d và ma trận [G] (d[G]) là một mã Hamming 1x7 mong muốn. Đây là cách
nó thực hiện:
Bước 1. Biểu diễn từng bit dữ liệu bằng vecto cột như sau:

1
0
D1 = | |
0
0

0
1
D2 = | |
0
0

0
0
D3 = | |
1
0

0
0
D4 = | |
0
1


Bước 2. Biểu diễn mỗi bit chẵn lẻ bằng vecto cột chứa số 1 trong hàng tương
ứng với mỗi bit dữ liệu có trong phép tính và số 0 trong tất cả các hàng khác. Sử
dụng các định nghĩa bit chẵn lẻ từ ví dụ trên:

1
1
P1 = | |
0
1

1
0
P2 = | |
1
1

0
1
P4 = | |
1
1

Bước 3. Tạo ma trận chuyển đổi dữ liệu [G], bằng cách sắp xếp các vectơ
cột từ các bước trước đó thành một ma trận 4×7 sao cho các cột được sắp xếp để
khớp với các bit tương ứng của chúng trong một từ mã.
Để tạo một ma trận chuyển đổi dữ liệu tạo ra các từ mã với các bit có thứ tự
P1, P2, P4, D1, D2, D3, D4 (với 3 bit chẵn lẻ và theo sau là 4 bit dữ liệu), hãy sử
dụng các vectơ từ các bước trước và sắp xếp chúng thành các cột sau [P1 P2 D1
P4 D2 D3 D4].

Kết quả ta được ma trận chuyển đổi dữ liệu 4x7:

1
1
𝐺=|
0
1

1
0
1
1

1
0
0
0

0
1
1
1

0
1
0
0

0
0

1
0

0
0
|
0
1

Việc sắp xếp các cột theo bất kỳ thứ tự nào khác sẽ chỉ thay đổi vị trí của các
bit trong từ mã. Như vậy thay vì truyền thơng điệp a đi, người ta truyền đi thông
Trang 12


điệp 𝑣 = 𝑎. 𝐺 ∈ 𝑁(𝐻) và các phần tử của 𝑣 ở các vị trí 3, 5, 6, 7 tạo nên vecto
a.

2. Giải mã tại bên thu
Giả sử người nhận có được vecto 𝑤 (do sai sót trong q trình truyền dữ liệu,
𝑤 có thể khác 𝑣 một vị trí nào đó). Ta có thể viết 𝑤 ở dưới dạng vecto 1x7 [ P1,
P2, D1, P4, D2, D3, D4 ].
Biểu diễn mỗi bit kiểm tra bằng vecto cột chứa số 1 trong hàng tương ứng
với mỗi bit có trong 𝑤 có trong phép tính và số 0 trong tất cả các hàng khác.
1
0
|1|
𝐶1 = 0
|1|
0
1


0
1
|1|
𝐶2 = 0
|0|
1
1

0
0
|0|
𝐶3 = 1
|1|
1
1

Để tạo một ma trận kiểm tra dữ liệu, ta chỉ cần chuyển đổi các bit kiểm tra
từ vecto 1x7 thành vecto 7x1 và sắp xếp chúng lại thành một ma trận 3x7 như sau:
0 0 0 1
𝐻 = |0 1 1 0
1 0 1 0

1 1 1 𝐶3
0 1 1| (𝐶2)
1 0 1 𝐶1

Người nhận chỉ cần thực hiện chuyển đổi vecto 𝑤 1x7 [ P1 P2 D1 P4 D2 D3
𝑃1
𝑃2

𝐷1
D4 ] chuyển vị thành vecto 𝑤′ 7x1 𝑃4 , tiếp theo người nhận thực hiện H.𝑤′ để
𝐷2
𝐷3
[𝐷4]
kiểm tra xem coi mã nhận được có sai sót hay khơng.

Trang 13


CHƯƠNG 5: MATHLAB
1. Tổng quan về Mathlab
- Matlab (viết tắt của Matrix Laboratory) là một ngơn ngữ lập trình bậc cao
bốn thế hệ, mơi trường để tính tốn số học, trực quan và lập trình.
- Cơng cụ cho phép thao tác với ma trận, vẽ biểu đồ với hàm và số liệu, hiện
thực thuật toán, tạo ra giao diện người dùng, phân tích dữ liệu, phát triển
thuật tốn, tạo các kiểu mẫu và ứng dụng.
- Phần mềm là công cụ hỗ trợ đắc lực trong việc tính tốn, vẽ các hình, vẽ
biểu đồ thơng dụng cả thực thi các phương pháp tính tốn, mơ phỏng tính
tốn, thực nghiệm nhiều mơ hình trong thực tế và kỹ thuật.

2. Sơ đồ khối
Bắt đầu

Kết thúc

Nhập dữ liệu gồm 4bit cần chuyển đi
dưới dạng ma trận

Tạo thành mã

Hamming (7, 4)
với 4-bit dữ liệu

Kiểm tra mã nhận được
sau đó tìm và sửa lỗi

Nhập mã đã
nhận được dưới
dạng ma trận

Hình 5-1 Sơ đồ khối.

3. Các lệnh cơ bản
Lệnh
Clc
Input
For
Mod
Disp
Num2str

Ý nghĩa
Xóa các văn bản khỏi command window
Hiển thị chuỗi lên màn hình vầ chờ nhập dự liệu từ bàn
phím
Lặp lại một số câu lệnh với số lần cụ thể
Chia lấy phần dư
Hiển thị nội dung của mảng hoặc chuỗi
Chuyển đổi số thành biểu diễn kí tự


4. Bài code hoàn chỉnh bằng Mathlab
clc
Trang 14


G = [ 1 1 1 0 0 0 0;
1 0 0 1 1 0 0;
0 1 0 1 0 1 0;
1 1 0 1 0 0 1];
H = [0 0 0 1 1 1 1;
0 1 1 0 0 1 1;
1 0 1 0 1 0 1];
%tạo mã Hamming
u = input('Nhập mã muốn chuyển đi (4bits): ');
v = [];
for i= 1:height(u)
v = [v ; mod(u(i, :) * G, 2)];
end
disp (['Chuyển thành mã hamming: ',num2str(v)]);
disp('------------------------------------------------');
%kiểm tra mã
U = input('Nhập mã nhận được : ');
V = [];
for i = 1: height(v)
A = U(i , :);
V = [V; mod(H * A', 2)];
end
c = V(1,1)*4 + V(2, 1)*2 + V(3,1)*1;
if (c ~= 0)
disp(['Mã nhận được sai tại vị trí số: ', num2str(c)]);

end
if(c == 0)
disp ('Mã khơng có lỗi ');
end
disp('-----------------------------------------------');

Trang 15


Hình 5-2 Bài code trên màn hình editor.
5. Ví dụ minh họa

Hình 5-3 Nhập dữ liệu cần truyền đi.

Trang 16


Hình 5-4 Nhập mã nhận được bên thu.

Tài liệu tham khảo
-

/> />Giáo trình đại số tuyến tính (Đặng Văn Vinh ) - Trang 139.
Computer organization and architecture designing for performance ninth edition (William
Stallings) – chapter 5-2.
Hamming(7,4) - Wikipedia.
Hamming (7,4) Code Discussion and Implementation (michaeldipperstein.github.io).

- Tài liệu Matlab cơ bản.


Trang 17



×