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

Nội dung

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA ĐIỆN TỬ - VIỄN THƠNG   BÁO CÁO THÍ NGHIỆM THÔNG TIN SỐ Giảng viên hướng dẫn Sinh viên thực Lớp học phần : : : : : Ths Trần Văn Líc Nguyễn Văn Thanh Phong 20DT1 Huỳnh Xuân Ngọ – 20DT1 Nguyễn Văn Tiến – 20DT1 20.38A Đà Nẵng, tháng năm 2023 BÀI 1: KỸ THUẬT MÃ HĨA KÊNH I LÝ THUYẾT: - Mã hóa kênh: kỹ thuật giúp việc truyền thơng tin xác môi trường nhiễu loạn kênh truyền thông Vấn đề mã kênh dựa ý tưởng thêm ký hiệu vào liệu truyền, để xây dựng loại mã nhằm mục đích phát lỗi sửa sai lỗi - Có dạng kiểm tra lỗi dùng mã thừa truyền liệu: +VRC (vertical redundancy check): kiểm tra tính chẵn lẻ tổng bit ‘1’ đơn vị liệu + LRC (longitudinal redundancy check): kiểm tra tính chẵn lẻ tổng bit ‘1’ khối + CRC (cyclic redundancy check): kiểm tra chu kỳ dư + Checksum: kiểm tra tổng Ba dạng đầu thường thiết lập lớp vật lý để dùng lớp kết nối liệu Dạng checksum thường dùng lớp - Sửa lỗi: có cách sửa lỗi + Khi phát mỗi, máy thu phải yêu cầu máy phát truyền lại liệu + Máy thu dùng mã sửa lỗi, để sửa tự động số lỗi Mã khối tuyến tính lớp mã dùng phổ biến việc chống nhiễu (phát sai sửa sai) Mã khối tuyến tính c có mục đích mã hóa khối tin k bit thành từ mã n bit trước truyền đi, nói cách khác, n bit từ mã truyền có k bit chứa thơng tin, cịn n-k bit thêm vào (mã hóa) đề chống nhiễu - Mã hóa tin dùng mã khối tuyến tính (4, 7) tin nguồn gồm bit mã hóa thành mã nguồn gồm bit, bit chứa thông tin bit thêm vào để chống nhiễu - Mã hóa tin dùng mã khối tuyến tính (7, 11) tin nguồn gồm bit mã hóa thành mã nguồn gồm 11 bit, bit chứa thông tin bit thêm vào để 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 mã hóa ASCII cho đoạn văn sau: Faculty of Electronic and Telecommunication - Giả sử lỗi rơi vào vị trí 1, 2, 4, 3, 3, 5, 7, 1, 6, 1, ký tự màu đỏ Giải mã Nhận xét khả phát lỗi mã ASCII Code matlab : a='Faculty of Electronic and Telecommunication' %2-1; 3-2; 4-4; 5-3, 13-3; 14-5; 16-7; 17-1; 18-6; 27-1; 28-2 c=dec2bin(a) if c(2,1)=='0' c(2,1)='1'; else c(2,1)='0'; end if c(3,2)=='0' c(3,2)='1'; else 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'; else c(17,1)='0'; end if c(18,6)=='0' c(18,6)='1'; else c(18,6)='0'; end if c(27,1)=='0' c(27,1)='1'; else c(27,1)='0'; end if c(28,2)=='0' c(28,2)='1'; else c(28,2)='0'; end c a=char(bin2dec(c)) fprintf('ki tu sau : ') a=a’ Kết quả: Chuỗi sau giải mã : “ F!C}|ty of E|acu2mnic andElecommunication” Nhận xét : Mã ASCII khơng có khả phát sửa chữa lỗi Nếu có lỗi q trình truyền thơng tin, ký tự bị thay đổi mà khơng có chế để phát sửa chữa lỗi BÀI 2: KỸ THUẬT MÃ HÓA NÉN I LÝ THUYẾT: Giới thiệu nén tín hiệu: 1.1 Nén liệu: - Nén liệu (Data compression) việc chuyển định dạng thơng tin sử dụng bit cách thể liệu gốc Tùy theo liệu có bị thay đổi trước sau giải nén không, người ta chia nén thành hai loại: Không tổn hao (lossless) tổn hao (lossy) - Nén không tổn hao: entropy bảo tồn X* = X - Nén có tổn hao: entropy bị hao hụt X* ≠ X Đánh giá: - Tỷ số nén: (số bit X)/(số bit Y) - Chất lượng: sai khác X X* Nén có tổn hao thực dựa vào lượng tử hóa: Nén khơng tổn hao: ồm kỹ thuật: mã hóa Huffman, mã hóa run-length,… Mã hóa Huffman: cịn gọi mã hóa entropy, hiệu trường hợp xác suất xuất ký tự không Mã hóa run-length: hiệu trường hợp liệu có lặp lại theo đoạn (liên tiếp hay khơng liên tiếp) Mã hóa Huffman: Mã hóa ký tự có xác suất sinh lớn/bé 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: Ví dụ: Mã hóa chuỗi ký tự WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWW W WWWWWWWWWWWWWWWWWWBWWWWWWWWWWWWWW thành 12W1B12W3B24W1B14W Mã hóa Fax: Fax dịch vụ truyền tài liệu số đen trắng qua đường dây điện thoại Trang fax quét thành dòng gồm pixel trắng – đen liên tục (run-length) Run-length 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 xuất ↔ 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 mã hóa nén trang tài liệu qt 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 dòng quét tài liệu 250 Thực giải mã + So sánh tài liệu gốc sau giải nén để đánh giá chất lượng nén định tính định lượng Code matlab : clc; im=imread('D:/KI_HAI_NAM_BA/TN TTS/TestRLC.bmp'); subplot(1,2,1) imshow(im) title('Anh goc'); SoBitSauKhiNen=0; KyTuMaHoa=[]; ChieuDaiKyTu=[]; mahoa=[]; for i=1:250 x=im(i,:); DemLap=[]; KyTuLap=[]; a=1; KyTuLap(a)=x(1); DemLap(a)=1; count=1; for j=2:250 if x(j)==x(j-1) DemLap(a)=DemLap(a)+1; else a=a+1; KyTuLap(a)=im(i,j); DemLap(a)=1; count=count+1; end end display(DemLap); display(KyTuLap); mahoa=KyTuLap; for j=1:length(KyTuLap) Kỹ thuật lấy mẫu: a Khái niệm: · Lẫy mẫu trình chuyển đổi tín hiệu liên tục thành tín hiệu rời rạc cách lấy mẫu (Sample) tín hiệu liên tục thời điểm rời rạc cách · Tín hiệu sau lấy mẫu dãy xung PAM rời rạc (Pulse Amplitude Modulation) b Vai trò: Đảm bảo tín hiệu có tần số giới hạn tái tạo hồn tồn từ phiên mẫu c Chu kỳ lấy mẫu: Trong đó: T chu kỳ lấy mẫu tần số lấy mẫu d Định lý lấy mẫu: · · Xếp chồng tuần hồ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 xảy tượng chồng phổ Chồng phổ (Aliasing) tránh tần số Nyquist lớn tần số lớn tín hiệu lấy mẫu Để chống chồng phổ ta sử dụng lọc Chọn tần số lấy mẫu: Trường hợp phổ tín hiệu tương tự từ đế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 thành lưới ô vuông Độ phân giải: Là số lượng điểm ảnh ảnh Độ phân giải thấp → Không xác; Độ phân giải cao → Chậm thuật tốn lãng phí nhớ Ví dụ: 3.Kỹ thuật lượng tử hố: a.Khái niệm: Lượng tử hố q trình xấp xỉ hố giá trị mẫu Mục đích q trình nhằm biểu diễn lại cách xác tín hiệu tương tự tín hiệu số Quá trình thực hàm bậc thang mơ tả hình sau: b Nhiễu lượng tử hố: 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 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 ảnh xám Test.bmp ● Thay đổi tần số lấy mẫu ảnh Quan sát ảnh, so sánh, đánh giá chất lượng dung lượng ảnh, rút nhận xét Từ chọn tần số lấy mẫu tối ưu Code matlab: img=imread('C:\Users\ASUS\Pictures\TTS\Test.bmp'); 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); imshow(img); title('2048x2048') subplot(2,4,2); imshow(imgl); title(' 1024x1024') subplot(2,4,3); imshow(img2); title('512x512') subplot(2,4,4); imshow(img3); title('256x256') subplot(2,4,5); imshow(img4); title('128x128') subplot(2,4,6); imshow(img5); title('64x64') subplot(2,4,7); imshow(img6); title('32x32') subplot(2,4,8); imshow(img7); title('16x16') Ảnh thu được: Chụp ảnh nhóm, chuyển ảnh xám thực lại yêu cầu Ảnh thu được: Bài 2: Cho ảnh xám Test.bmp Thay đổi số mức lượng tử hoá ảnh Quan sát ảnh, so sánh, đánh giá chất lượng ảnh dung lượng ảnh, rút nhận xét Từ chọn số mức lượng tử hoá tối ưu Code matlab: PIC = imread('C:\Users\ASUS\Pictures\TTS\Test.bmp'); pic = rgb2gray(PIC); figure subplot(2,4,1) b = 8; d = 2^(8-b); z = round(pic/d); changeBit = z*d; imshow(changeBit) title('Anh goc bit') subplot(2,4,2) b = 7; d = 2^(8-b); z = round(pic/d); changeBit = z*d; imshow(changeBit) title('Anh bit') subplot(2,4,3) b = 6; d = 2^(8-b); z = round(pic/d); changeBit = z*d; imshow(changeBit) title('Anh bit') subplot(2,4,4) b = 5; d = 2^(8-b); z = round(pic/d); changeBit = z*d; imshow(changeBit) title('Anh bit') subplot(2,4,5) b = 4; d = 2^(8-b); z = round(pic/d); changeBit = z*d; imshow(changeBit) title('Anh bit') subplot(246) b = 3; d = 2^(8-b); z = round(pic/d); changeBit = z*d; imshow(changeBit) title('Anh bit') subplot(247) b = 2; d = 2^(8-b); z = round(pic/d); changeBit = z*d; imshow(changeBit) title('Anh 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: Chụp ảnh nhóm, chuyển ảnh xám thực lại yêu cầu Ảnh thu Bài 3: Chọn ảnh màu chụp nhóm ● Thay đổi tần số lấy mẫu ảnh Quan sát ảnh, so sánh, đánh giá chất lượng ảnh dung lượng ảnh, rút nhận xét Code matlab: pic = imread('C:\Users\ASUS\Pictures\TTS\nhom.jpg'); %pic = rgb2gray(PIC); figure subplot(2,4,1) b = 8; d = 2^(8-b); z = round(pic/d); changeBit = z*d; imshow(changeBit) title('Anh goc bit') subplot(2,4,2) b = 7; d = 2^(8-b); z = round(pic/d); changeBit = z*d; imshow(changeBit) title('Anh bit') subplot(2,4,3) b = 6; d = 2^(8-b); z = round(pic/d); changeBit = z*d; imshow(changeBit) title('Anh bit') subplot(2,4,4) b = 5; d = 2^(8-b); z = round(pic/d); changeBit = z*d; imshow(changeBit) title('Anh bit') subplot(2,4,5) b = 4; d = 2^(8-b); z = round(pic/d); changeBit = z*d; imshow(changeBit) title('Anh bit') subplot(246) b = 3; d = 2^(8-b); z = round(pic/d); changeBit = z*d; imshow(changeBit) title('Anh bit') subplot(247) b = 2; d = 2^(8-b); z = round(pic/d); changeBit = z*d; imshow(changeBit) title('Anh 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: ● Thay đổi số mức lượng tử hoá ảnh Quan sát ảnh, so sánh, đánh giá chất lượng ảnh dung lượng ảnh, rút nhận xét Code matlab: pic = imread('C:\Users\ASUS\Pictures\TTS\NhomQS.jpg'); %pic = rgb2gray(PIC); figure subplot(2,4,1) b = 8; d = 2^(8-b); z = round(pic/d); changeBit = z*d; imshow(changeBit) title('Anh goc bit') subplot(2,4,2) b = 7; d = 2^(8-b); z = round(pic/d); changeBit = z*d; imshow(changeBit) title('Anh bit') subplot(2,4,3) b = 6; d = 2^(8-b); z = round(pic/d); changeBit = z*d; imshow(changeBit) title('Anh bit') subplot(2,4,4) b = 5; d = 2^(8-b); z = round(pic/d); changeBit = z*d; imshow(changeBit) title('Anh bit') subplot(2,4,5) b = 4; d = 2^(8-b); z = round(pic/d); changeBit = z*d; imshow(changeBit) title('Anh bit') subplot(246) b = 3; d = 2^(8-b); z = round(pic/d); changeBit = z*d; imshow(changeBit) title('Anh bit') subplot(247) b = 2; d = 2^(8-b); z = round(pic/d); changeBit = z*d; imshow(changeBit) title('Anh 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:

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

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

TÀI LIỆU LIÊN QUAN

w