You are on page 1of 13

TRƯỜNG ĐẠI HỌC BÁCH KHOA

KHOA ĐIỆN TỬ - VIỄN THÔNG

THÍ NGHIỆM THÔNG TIN SỐ

Đà Nẵng, tháng 12/2021


BÀI 1: KỸ THUẬT MÃ HÓA KÊNH
I. LÝ THUYẾT:
- Mã hóa kênh: kỹ thuật này giúp việc truyền thông tin chính xác hơn trong
môi trường nhiễu loạn của kênh truyền thông. Vấn đề mã kênh dựa trên ý tưởng
thêm các ký hiệu mới vào trong dữ liệu được truyền, để có thể xây dựng các loại
mã nhằm mục đích có thể phát hiện lỗi và sửa sai các lỗi.
- Có 4 dạng kiểm tra lỗi cơ bản dùng mã thừa trong truyền dữ liệu:
+VRC (vertical redundancy check): kiểm tra tính chẵn lẻ của tổng bit ‘1’
trong một đơn vị dữ liệu.
+ LRC (longitudinal redundancy check): kiểm tra tính chẵn lẻ của tổng các
bit ‘1’ trong một khối.
+ CRC (cyclic redundancy check): kiểm tra chu kỳ dư.
+ Checksum: kiểm tra tổng. Ba dạng đầu thường được thiết lập trong lớp vật
lý để dùng trong lớp kết nối dữ liệu. Dạng checksum thường được dùng trong các
lớp trên.
- Sửa lỗi: có 2 cách sửa lỗi
+ Khi phát hiện một mỗi, máy thu phải yêu cầu máy phát truyền lại dữ liệu.
+ Máy thu dùng các mã sửa lỗi, để sửa tự động một số lỗi.
- Mã khối tuyến tính là một lớp mã được dùng rất phổ biến trong việc chống
nhiễu (phát hiện sai và sửa sai). Mã khối tuyến tính c có mục đích mã hóa các
khối tin k bit thành các từ mã n bit trước khi truyền đi, nói cách khác, trong n bit
của từ mã truyền đi có k bit chứa thông tin, còn n-k bit là thêm vào (mã hóa) đề
chống nhiễu.
- Mã hóa bản tin dùng mã khối tuyến tính (4, 7) là một tin nguồn gồm 4 bit
đã được mã hóa thành một mã nguồn gồm 7 bit, 4 bit chứa thông tin và 3 bit thêm
vào là để chống nhiễu.
- Mã hóa bản tin dùng mã khối tuyến tính (7, 11) là một tin nguồn gồm 7 bit
đã được mã hóa thành một mã nguồn gồm 11 bit, 7 bit chứa thông tin và 4 bit
thêm vào là để chống nhiễu.
Hệ thống thông tin số điển hình:

II. BÀI TẬP:


Bài 1:
Thực hiện mã hóa ASCII cho đoạn văn bản sau:
Faculty of Electronic and Telecommunication
- Giả sử lỗi rơi vào các vị trí 1, 2, 4, 3, 3, 5, 7, 1, 6 của các ký tự màu đỏ. Giải mã.
- Nhận xét về khả năng phát hiện lỗi của mã ASCII.
Bài 2:
Cho đoạn văn sau:
Electronic
- Mã hóa bản tin trên dùng mã khối tuyến tính (4, 7) với đa thức sinh như trong
ví dụ.
Tính tỷ lệ mã.
- Giải mã bản tin trên với giả sử lỗi xuất hiện ở vị trí 1, 7 trong ký tự “e” màu đỏ.
Nhận xét về khả năng phát hiện lỗi của mã (4, 7).
Bài 3:
- Thực hiện bài tập 2 với mã (7, 11). Đa thức sinh tự chọn.
- So sánh mã (4, 7) và (7, 11) về các tiêu chí:
+ Tỷ lệ mã.
+ Khả năng phát hiện lỗi.
III. HƯỚNG DẪN THỰC HIỆN
Bài 1: Các bước thực hiện:
- Input a chuỗi trước khi mã hóa, output c là chuỗi sau khi mã hóa.
- Tạo chuỗi ký tự rỗng.
- Sử dụng vòng lặp for i từ điểm 1 đến kích thước của ascii.
+ Mã hóa tại điểm i thành mã nhị phân 7 bits.
+ Thực hiện vòng lặp và mã hóa từng ký tự của đoạn văn bản dùng hàm
dec2bin mã hóa về mã ASCII.
+ Thực hiện nối chuỗi.
- Giả sử lỗi theo yêu cầu của đề bài.
- Giải mã chuỗi sau khi đã thêm lỗi.
- Xuất kết quả chuỗi.
Bài 2:
- Mã hóa đoạn văn được cho theo mã ASCII
- Tạo mã khối (4, 7):
- Giả sữ mã khối lỗi:
+ Trường hợp 1: lỗi ở vị trí 1 (tức vị trí 1 trong c) ta thu được c1.
+ Trường hợp 2: Lỗi ở vị trí 7 (tức vị trí 10 trong c) ta thu được c2.
+ Trường hợp 3: Lỗi ở vị trí 1 và 7 ta thu được c3.
- Sửa lỗi:
+ Tính: si = ei x H-T
+ Lấy 7bits/1 lần nhân với H-T: sa = c(1/2/3) x H-T
+ Kết quả của từng sa so sánh với từng si. Nếu giống với si nào thì mã khối
(4, 7)
phát hiện được lỗi, nếu không giống với si nào thì mã khối (4, 7) không phát hiện
được lỗi
+ Lấy từng c(1/2/3) cộng với ei tương ứng phát hiện lỗi si, nếu giống với c
thì mã khối (4, 7) sửa được lỗi, khác c thì mã khối (4, 7) không sửa được.
Bài 3: Thực hiện tương tự như bài 2.
BÀI 2: KỸ THUẬT MÃ HÓA NÉN
I. LÝ THUYẾT:
Giới thiệu về nén tín hiệu:
1.1 Nén dữ liệu:
- Nén dữ liệu (Data compression) là việc chuyển định dạng thông tin sử dụng
ít bit hơn cách thể hiện ở dữ liệu gốc. Tùy theo dữ liệu có bị thay đổi trước và sau
khi giải nén không, người ta chia nén thành hai loại: Không tổn hao (lossless) và
tổn hao (lossy).

- Nén không tổn hao: entropy được bảo toàn X* = X


- Nén có tổn hao: entropy bị hao hụt X* ≠ X
Đánh giá:
- Tỷ số nén: (số bit trong X)/(số bit trong Y)
- Chất lượng: sai khác giữa X và X*
Nén có tổn hao được thực hiện dựa vào lượng tử hóa:

Nén không tổn hao:


Gồm các kỹ thuật: mã hóa Huffman, mã hóa run-length,…
Mã hóa Huffman: còn gọi là mã hóa entropy, hiệu quả trong
trường hợp xác suất xuất hiện của các ký tự không đều nhau
Mã hóa run-length: hiệu quả trong trường hợp dữ liệu có sự lặp
lại theo từng đoạn (liên tiếp hay không liên tiếp).
Mã hóa Huffman:
Mã hóa các ký tự có xác suất sinh ra lớn/bé bằng các từ mã ngắn/dài
Mã có tính prefix → không cần ký tự ngắt từ → tăng hiệu suất mã.
Mã hóa run-length bằng:
<số lần ký tự được lặp lại> <ký tự được lặp lại>
Ví dụ:
Mã hóa chuỗi ký tự
WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWW
W
WWWWWWWWWWWWWWWWWWBWWWWWWWWWWWWWW
thành 12W1B12W3B24W1B14W
Mã hóa Fax:
Fax là dịch vụ truyền các tài liệu số đen trắng
qua đường dây điện thoại
Trang fax được quét thành dòng gồm các pixel trắng – đen liên
tục (run-length)
Run-length được mã hóa dựa vào mã Huffman
Quy tắc: run-length hay xuất hiện↔ từ mã ngắn
run-length ít xuất hiện ↔ từ mã dài.
Dòng quét trang Fax:
II. BÀI TẬP
Bài 1: Cho trang tài liệu quét TestRLC.bmp.
+ Thực hiện mã hóa nén trang tài liệu quét trên, dung kĩ thuật mã hóa RLC.
Tính tỉ lệ nén.
+ Cho bên thu biết số điểm ảnh trên một dòng quét tài liệu là 250. Thực hiện
giải mã.
+ So sánh tài liệu gốc và sau khi giải nén để đánh giá chất lượng nén bằng
định tính và định lượng.
Bài 2: Cho trang tài liệu quét TestFax.bmp.
+ Thực hiện mã hóa nén trang tài liệu quét trên, dung kĩ thuật mã hóa RLC.
Tính tỉ lệ nén.
+ Cho bên thu biết số điểm ảnh trên một dòng quét tài liệu là 250. Thực hiện
giải mã.
+ So sánh tài liệu gốc và sau khi giải nén để đánh giá chất lượng nén bằng
định tính và định lượng.
Bài 3: Cho trang tài liệu quét TestFax.bmp.
+ Thực hiện mã hóa nén trang tài liệu quét trên, dung kĩ thuật mã hóa FAX
(không cần mã hóa EOL). Tính tỉ lệ nén.
III. HƯỚNG DẪN:
- Phương pháp mã hóa loạt dài RLC được phát triển dành cho ảnh số 2 mức:
mức đen (0) và mức trắng (1) như các văn bản trên nền trắng, trang in, các bản
vẽ kỹ thuật.
- Nguyên tắc của phương pháp là phát hiện một loạt các bit lặp lại, như một
loạt các bit 0 nằm giữa hai bit 1, hay ngược lại. Dãy các bit lặp gọi là loạt hay
mạch (run). Tiếp theo, thay thế chuỗi đó bởi một chuỗi mới gồm 2 thông tin:
chiều dài
chuỗi và bit lặp (ký tự lặp). Như vậy, chuỗi thay thế sẽ có chiều dài ngắn hơn
chuỗi gốc.
Phương pháp RLC được sử dụng trong việc mã hóa lưu trữ các
ảnh Bitmap theo dạng PCX, BMP.
Mã hóa:
+ Đọc file ảnh TestRLC.bmp với bài 1 và TestFax.bmp đối với bài 2.
+ Lấy kích thước ảnh và gắn vào 2 biến hang_mahoa và cot_mahoa.
+ Sử dụng vòng lặp For 1:hang_mahoa và 2:cot_mahoa để thực hiện đếm số
bit lặp và gán ‘11111111’ tương ứng với màu trắng và ‘00000000’ tương ứng với
màu đen.
+ Tính số bit sau khi nén bằng so_bit_nen=length(giatri_mahoa).
+ Xuất ra kết quả và tính tỉ lệ nén
Giải mã:
+ Lấy kích thước chuỗi đã thui được trên sau khi mã hóa.
+ Khởi tạo ma trận 1 hàng 250 cột.
+ Sử dụng vòng lặp while để kiểm tra biến đếm, lần lượt đếm 16 bit với 8
bit đầu là số bit trắng đen và 8 bit sau là xác định đó là trắng hay đen.
+ Nếu cot_giaima vượt quá 250 thì ta phải thêm 1 hàng tương ứng.
+ Dùng câu lệnh If để so sánh nén có tổn hao hay không.
+ Xuất kết quả hình ảnh sau khi giải mã.
BÀI 3: KỸ THUẬT SỐ HÓA TÍN HIỆU
I. LÝ THUYẾT:
1. Bộ biến đổi tương tự - số cơ bản:

2. Kỹ thuật lấy mẫu:


a. Khái niệm:
 Lẫy mẫu là quá trình chuyển đổi tín hiệu liên tục thành tín hiệu rời rạc
bằng cách lấy mẫu (Sample) của tín hiệu liên tục tại các thời điểm rời
rạc cách đều nhau.
 Tín hiệu sau lấy mẫu là các dãy xung PAM rời rạc (Pulse Amplitude
Modulation).

b. Vai trò: Đảm bảo rằng các tín hiệu có tần số giới hạn có thể được tái tạo
hoàn toàn từ phiên bản mẫu của nó.
c. Chu kỳ lấy mẫu:

Trong đó: là chu kỳ lấy mẫu.

là tần số lấy mẫu.


d. Định lý lấy mẫu:

 Xếp chồng tuần hoàn phổ tín hiệu liên tục: .

 Trường hợp lấy mẫu với tần số lấy mẫu không đủ lớn sẽ xảy ra hiện
tượng chồng phổ.

 Chồng phổ (Aliasing) có thể tránh được nếu tần số Nyquist lớn hơn tần
số lớn nhất của tín hiệu được lấy mẫu. Để chống chồng phổ ta có thể sử
dụng bộ lọc.
 Chọn tần số lấy mẫu:

 Trường hợp phổ tín hiệu tương tự từ 0 đến :


 Trường hợp phổ tín hiệu tương tự từ đến :

e. Lấy mẫu ảnh:


 Lấy mẫu: Phân chia không gian ảnh ra thành lưới các ô vuông.
 Độ phân giải: Là số lượng điểm ảnh trong bức ảnh. Độ phân giải thấp
→ Không chính xác; Độ phân giải cao → Chậm thuật toán lãng phí bộ
nhớ.
 Ví dụ:

3. Kỹ thuật lượng tử hoá:


a. Khái niệm:
 Lượng tử hoá là quá trình xấp xỉ hoá giá trị của các mẫu.
 Mục đích của quá trình này nhằm biểu diễn lại một cách chính xác nhất
các tín hiệu tương tự bằng tín hiệu số.
 Quá trình này được thực hiện bằng hàm bậc thang mô tả như hình sau:

b. Nhiễu lượng tử hoá:


 Sai số lượng tử hóa (nhiễu/ lỗi/ méo lượng tử hóa): Sai khác với giá trị
thực và giá trị lượng tử hóa.
 Kích thước bước lượng tử hóa ảnh hưởng đến méo lượng tử hóa.
 Muốn giảm méo lượng tử hóa, phải giảm kích thước bước lượng tử hóa,
dẫn đến tăng số mức lượng tử hóa, tăng số bit mã hóa.
II. BÀI TẬP
Bài 1: Cho bức ảnh xám Test.bmp
Thay đổi tần số lấy mẫu trên ảnh này.
Quan sát ảnh, so sánh, đánh giá chất lượng và dung lượng ảnh,
rút ra nhận xét. Từ đó chọn ra tần số lấy mẫu tối ưu.
Chụp ảnh cả nhóm, chuyển về ảnh xám và thực hiện lại các yêu
cầu trên.
Bài 2: Cho bức ảnh xám Test.bmp
Thay đổi số mức lượng tử hoá trên ảnh này.
Quan sát ảnh, so sánh, đánh giá chất lượng ảnh và dung lượng ảnh, rút ra
nhận xét.
Từ đó chọn ra số mức lượng tử hoá tối ưu.
Chụp ảnh cả nhóm, chuyển về ảnh xám và thực hiện lại các yêu cầu trên.
Bài 3: Chọn ảnh màu chụp cả nhóm
Thay đổi tần số lấy mẫu trên ảnh này. Quan sát ảnh, so sánh, đánh giá chất
lượng ảnh và dung lượng ảnh, rút ra nhận xét.
Thay đổi số mức lượng tử hoá trên ảnh này. Quan sát ảnh, so sánh, đánh giá
chất lượng ảnh và dung lượng ảnh, rút ra nhận xét.
Lưu ý: Cần quan sát sự thay đổi màu sắc. Tần số lấy mẫu và số mức lượng
tử hoá có ảnh hưởng như thế nào đến màu sắc?
III. HƯỚNG DẪN
Bài 1. Cách thực hiện
1) Đọc ảnh, đưa ảnh vào trình làm việc bằng hàm imread.
2) Chuyển đổi ảnh màu thành ảnh xám bằng lệnh rgb2gray
3) Xử lí ảnh, lấy mẫu ảnh bằng hàm imresize có sẵn theo tần số lấy mẫu
1/(2^i).
4) Hiện thị ảnh đã xử lí bằng hàm imshow.
Bài 2:
1) Đọc ảnh, đưa ảnh vào trình làm việc bằng hàm imread.
2) Chuyển đổi ảnh màu thành ảnh xám bằng lệnh rgb2gray.
3) Thực hiện lượng tử hoá: xác định số màu của ảnh i bit , số mức màu trên
mỗi ô của ảnh, ánh xạ ảnh.
4) Hiện thị ảnh bằng imshow.
Bài 3:
Lấy mẫu ảnh:
1) Đọc ảnh, đưa ảnh vào trình làm việc bằng hàm imread.
2) Xử lí ảnh, lấy mẫu ảnh bằng hàm imresize theo tần số lấy mẫu 1/(2^i).
3) Hiện thị ảnh đã xử lí bằng hàm imshow.
Lượng tử hoá ảnh:
1) Đọc ảnh, đưa ảnh vào trình làm việc bằng hàm imread.
2) Thực hiện lượng tử hoá: xác định số màu của ảnh i bit , số mức màu trên
mỗi ô của ảnh, ánh xạ ảnh.
3) Hiện thị ảnh đã xử lí bằng imshow.

You might also like