1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo cáo thí nghiệmthông tin số bài 1 kỹ thuật mã hóa kênh

32 4 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Báo cáo thí nghiệm thông tin số bài 1 kỹ thuật mã hóa kênh
Tác giả Nguyễn Văn Thanh, Phong
Người hướng dẫn Ths Trần Văn Líc
Trường học Trường Đại Học Bách Khoa, Đại Học Đà Nẵng
Chuyên ngành Kỹ Thuật Mã Hóa Kênh
Thể loại Báo cáo thí nghiệm
Năm xuất bản 2023
Thành phố Đà Nẵng
Định dạng
Số trang 32
Dung lượng 4,87 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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.. Sửa - lỗi: có 2

Trang 1

Gi ảng viên hướng dẫn : Ths Trần Văn Líc

Sinh viên th c hi n ự ệ : Nguyễn Văn Thanh Phong 20DT1

: Huỳnh Xuân Ngọ – 20DT1 : Nguyễn Văn Tiến – 20DT1

L ớp h c ph n ọ ầ : 20.38A

Đà Nẵng, tháng 3 năm 2023

Trang 2

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:

Trang 3

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, 1, 2 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

Trang 4

c(3,2)='0'; end

if c(4,4)=='0' c(4,4)='1'; else

c(4,4)='0'; end

if c(5,3)=='0' c(5,3)='1'; else

c(5,3)='0'; end

if c(13,3)=='0' c(13,3)='1'; else

c(13,3)='0'; end

if c(14,5)=='0' c(14,5)='1'; else

c(14,5)='0'; end

if c(16,7)=='0' c(16,7)='1'; else

c(16,7)='0'; end

if c(17,1)=='0' c(17,1)='1';

Trang 5

Kết quả: Chuỗi sau khi giải mã :

“ F!C}|ty of E|acu2mnic andElecommunication”

Nhận xét : Mã ASCII không có khả năng phát hiện và sửa chữa lỗi Nếu có lỗi trong quá trình truyền thông tin, các ký tự sẽ bị thay đổi mà không có bất kỳ cơ chế nào để phát hiện hoặc sửa chữa lỗi

Trang 6

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:

Trang 7

Nén không tổn hao:

ồ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:

Trang 8

<số lần ký tự được lặp lại> <ký tự được lặp lại>

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:

Trang 9

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

Code matlab :

clc;

im=imread('D:/KI_HAI_NAM_BA/TN TTS/TestRLC.bmp');

Trang 11

if mahoa(j)==1

mahoa(j)=255;

end

end

SoBitSauKhiNen = SoBitSauKhiNen + count*8*2;

KyTuMaHoa = [KyTuMaHoa KyTuLap];

ChieuDaiKyTu = [ChieuDaiKyTu DemLap];

Trang 12

fprintf('nen co ton hao \n');

Trang 13

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

Trang 14

a=a+1;

Ky_Tu_Lap(a)=im(i,j); Dem_Lap(a)=1;

Trang 15

So_Bit_Sau_Khi_Nen = So_Bit_Sau_Khi_Nen + count*8*2; Ky_Tu_Ma_Hoa = [Ky_Tu_Ma_Hoa Ky_Tu_Lap];

Chieu_Dai_Ky_Tu = [Chieu_Dai_Ky_Tu Dem_Lap];

display([dec2bin(Dem_Lap,8),dec2bin(Ky_Tu_Lap,8)]); end

fprintf('\nSo bit sau khi nen =%.3f bit\n',So_Bit_Sau_Khi_Nen );

Trang 17

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:-

Trang 18

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

Trang 19

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

Trang 20

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á:

Trang 21

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

Code matlab:

img=imread('C:\Users\ASUS\Pictures\TTS\Test.bmp');

Trang 22

figure

imgl=imresize(img,1/2); img2=imresize(img,1/4); img3=imresize(img,1/8); img4=imresize(img,1/16); img5=imresize(img,1/32); img6=imresize(img,1/64); img7=imresize(img,1/128); subplot(2,4,1);

Trang 24

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

Trang 25

d = 2^(8-b);

z = round(pic/d); changeBit = z*d; imshow(changeBit) title('Anh 7 bit') subplot(2,4,3)

b = 6;

d = 2^(8-b);

z = round(pic/d); changeBit = z*d; imshow(changeBit) title('Anh 6 bit') subplot(2,4,4)

b = 5;

d = 2^(8-b);

z = round(pic/d); changeBit = z*d; imshow(changeBit) title('Anh 5 bit') subplot(2,4,5)

b = 4;

d = 2^(8-b);

z = round(pic/d); changeBit = z*d; imshow(changeBit) title('Anh 4 bit') subplot(246)

b = 3;

d = 2^(8-b);

Trang 26

z = round(pic/d); changeBit = z*d; imshow(changeBit) title('Anh 3 bit') subplot(247)

b = 2;

d = 2^(8-b);

z = round(pic/d); changeBit = z*d; imshow(changeBit) title('Anh 2 bit') subplot(248)

b = 1;

d = 2^(8-b);

z = round(pic/d); changeBit = z*d; imshow(changeBit) title('Anh nhi phan')

Ảnh thu được:

Trang 27

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

Trang 28

b = 7;

d = 2^(8-b);

z = round(pic/d); changeBit = z*d; imshow(changeBit) title('Anh 7 bit') subplot(2,4,3)

b = 6;

d = 2^(8-b);

z = round(pic/d); changeBit = z*d; imshow(changeBit) title('Anh 6 bit') subplot(2,4,4)

b = 5;

d = 2^(8-b);

z = round(pic/d); changeBit = z*d; imshow(changeBit) title('Anh 5 bit')

Trang 29

subplot(2,4,5)

b = 4;

d = 2^(8-b);

z = round(pic/d); changeBit = z*d; imshow(changeBit) title('Anh 4 bit') subplot(246)

b = 3;

d = 2^(8-b);

z = round(pic/d); changeBit = z*d; imshow(changeBit) title('Anh 3 bit') subplot(247)

b = 2;

d = 2^(8-b);

z = round(pic/d); changeBit = z*d; imshow(changeBit) title('Anh 2 bit') subplot(248)

b = 1;

d = 2^(8-b);

z = round(pic/d); changeBit = z*d; imshow(changeBit) title('Anh nhi phan')

Ảnh thu được:

Trang 30

● 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

Trang 31

title('Anh 7 bit') subplot(2,4,3)

b = 6;

d = 2^(8-b);

z = round(pic/d); changeBit = z*d; imshow(changeBit) title('Anh 6 bit') subplot(2,4,4)

b = 5;

d = 2^(8-b);

z = round(pic/d); changeBit = z*d; imshow(changeBit) title('Anh 5 bit') subplot(2,4,5)

b = 4;

d = 2^(8-b);

z = round(pic/d); changeBit = z*d; imshow(changeBit) title('Anh 4 bit') subplot(246)

b = 3;

d = 2^(8-b);

z = round(pic/d); changeBit = z*d; imshow(changeBit) title('Anh 3 bit')

Ngày đăng: 03/07/2023, 15:28

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w