1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Lý thuyết thông tin bài tập báo cáo kỹ thuật Điện tử viễn thông

27 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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 đề Lý Thuyết Thông Tin Bài Tập Báo Cáo Kỹ Thuật Điện Tử - Viễn Thông
Tác giả Nhóm 6
Người hướng dẫn TS. Từ Lâm Thanh
Trường học Trường Đại Học Tôn Đức Thắng
Chuyên ngành Điện - Điện Tử
Thể loại Bài tập báo cáo
Năm xuất bản 2024
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 27
Dung lượng 405,3 KB

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

Nội dung

Mã hóa mỗi ký tự trên bằng phương pháp Shannon, tính hiệu suất và độ dư thừa của bộ mã.. Mã hóa mỗi ký tự trên bằng phương pháp Fano, tính hiệu suất và độ dư thừa của bộ mã.. Mã hóa mỗi

Trang 1

111Equation Chapter 1 Section 1TỔNG LIÊN ĐOÀN LAO ĐỘNG VIỆT NAM

TRƯỜNG ĐẠI HỌC TÔN ĐỨC THẮNG

KHOA ĐIỆN – ĐIỆN TỬ

LÝ THUYẾT THÔNG TIN

BÀI TẬP BÁO CÁO

KỸ THUẬT ĐIỆN TỬ - VIỄN THÔNG

Người hướng dẫn

TS Từ Lâm Thanh

NHÓM 6

THÀNH PHỐ HỒ CHÍ MINH, NĂM 2024

Trang 2

TỔNG LIÊN ĐOÀN LAO ĐỘNG VIỆT NAM

TRƯỜNG ĐẠI HỌC TÔN ĐỨC THẮNG

KHOA ĐIỆN – ĐIỆN TỬ

LÝ THUYẾT THÔNG TIN

BÀI TẬP BÁO CÁO

KỸ THUẬT ĐIỆN TỬ - VIỄN THÔNG

Trang 3

LỜI CẢM ƠN

Em xin chân thành cảm ơn thầy Từ Lâm Thanh– giảng viên khoa Điện – Điện

Tử đã trang bị những kiến thức cần thiết cũng như hỗ trợ tận tình giúp em trong quá

trình thực hiện bài báo cáo Do những thiếu sót về kiến thức chuyên ngành cũng nhưkinh nghiệm thực tiễn, nên đề tài của em vẫn còn nhiều khiếm khuyết mong các thầy(cô) giảng viên có thể quan tâm, góp ý để đề tài của em có thể ngày càng đầy đủ vàhoàn thiện hơn

TP Hồ Chí Minh, ngày 22 tháng 11 năm 2024 Tác giả

ii

Trang 4

TRƯỜNG ĐẠI HỌC TÔN ĐỨC

PHÂN CÔNG THÀNH VIÊN TRONG NHÓM

1

Lê Nguyễn Nhựt

Thuận(nhóm trưởng)

41901047

1 Tìm tất cả các chữ cái trong chuỗi trên

và tính xác suất của nó

2 Mã hóa mỗi ký tự trên bằng phương pháp Shannon, tính hiệu suất và độ dư thừa của bộ mã .Mức độ hoàn thành 100%

Duy

42101293

5 Mã hóa mỗi ký tự trên bằng phương pháp Huffman cơ số 3, tính hiệu suất và

độ dư thừa của bộ mã.Mức độ hoàn thành100%

3 Nguyễn Anh Tuấn 419010

59

3 Mã hóa mỗi ký tự trên bằng phương pháp Fano, tính hiệu suất và độ dư thừa của bộ mã Mức độ hoàn thành 100%

Quân

42000705

3 Tổng hợp và làm ppt 100%

5 Trương Công An

Bình

42000991

4 Thuyết trình và đưa ra kết luận 100%

6 Võ Đinh Hoàng

Linh

42001046

4 Mã hóa mỗi ký tự trên bằng phương pháp Huffman cơ số 2, tính hiệu suất và

độ dư thừa của bộ mã Mức độ hoàn

iii

Trang 5

thành 100%

iv

Trang 6

MỤC LỤC

DANH MỤC HÌNH VẼ VI DANH MỤC CÁC CHỮ VIẾT TẮT VII CÂU 1: 8

1.1 C ODE PYTHON 81.2 KẾT QUẢ 8

Trang 7

DANH MỤC HÌNH VẼ

Hình 1 1: Đáp án câu 1 9Hình 1 2: Đáp án câu 2 13

vi

Trang 8

DANH MỤC CÁC CHỮ VIẾT TẮT

vii

Trang 9

LÝ THUYẾT THÔNG TIN

Trang 8

Câu 1:

Đề bài: Tìm tất cả các chữ cái trong chuỗi trên và tính xác suất của nó và mã hóa các

ký tự trên bằng phương pháp shannon

1.1 Code python

from collections import Counter

import math

# Chuỗi đầu vào

chuoi = ('LE NGUYEN NHUT THUAN LE DINH MINH DUY NGUYEN ANHTUAN NGUYEN ANH QUAN '

'TRAN CONG AN BINH VO DINH HOANG LINH Dai hoc Ton Duc Thang LyThuyet Thong Tin')

Trang 10

LÝ THUYẾT THÔNG TIN

Trang 9

print("Xác suất của từng ký tự:")

for char, prob in xac_suat_ky_tu.items():

for char, prob in sorted_probs:

code_length = math.ceil(-math.log2(prob)) # Độ dài mã

codes[char] = bin(int(cumulative_prob * (2 ** code_length)))[2:].zfill(code_length)

Trang 11

LÝ THUYẾT THÔNG TIN

Trang 10

Câu 2:

# Hiển thị mã Shannon

print("\nMã Shannon của từng ký tự:")

for char, code in shannon_codes.items():

print(f"\nĐộ dài mã trung bình: {avg_code_length}")

# Tính hiệu suất và độ dư thừa

efficiency = round(entropy / avg_code_length, 3)

redundancy = round(1 - efficiency, 3)

print(f"Hiệu suất: {efficiency}")

print(f"Độ dư thừa: {redundancy}")

Trang 12

LÝ THUYẾT THÔNG TIN

Trang 13

LÝ THUYẾT THÔNG TIN

"Le Nguyen Nhut Thuan",

"Le Dinh Minh Duy",

"Nguyen Anh Tuan",

"Nguyen Anh Quan",

"Truong Cong An Binh",

"Vo Dinh Hoang Linh"

]

chuoi = " ".join(names) + " Dai hoc Ton Duc Thang Ly thuyet thong tin"

# Tính xác suất xuất hiện của mỗi ký tự

tanso = Counter(chuoi)

LÝ THUYẾT THÔNG TIN

Trang 14

LÝ THUYẾT THÔNG TIN

Trang 13

tong_ky_tu = sum(tanso.values())

# Tính xác suất của mỗi ký tự

xacsuat = {k: v / tong_ky_tu for k, v in tanso.items()}

# Mã hóa Fano (Đơn giản)

# Tính entropi, hiệu suất và độ dư thừa

entropi = -sum(p * math.log2(p) for p in xacsuat.values())

do_dai_tb = sum(len(ma_fano[k]) * p for k, p in xacsuat.items())hieu_suat = entropi / do_dai_tb

du_thua = 1 - hieu_suat

# Hiển thị kết quả

LÝ THUYẾT THÔNG TIN

Trang 15

LÝ THUYẾT THÔNG TIN

Trang 14

print("Ký tự\tXác suất\tMã Fano")

for ky_tu, p in xacsuat.items():

print(f"{ky_tu}\t{p:.4f}\t\t{ma_fano[ky_tu]}")print(f"\nEntropi: {entropi:.4f} bits/ký tự")

print(f"Độ dài trung bình: {do_dai_tb:.4f} bits/ký tự")print(f"Hiệu suất: {hieu_suat:.4f}")

print(f"Độ dư thừa: {du_thua:.4f}")

Trang 16

LÝ THUYẾT THÔNG TIN

Trang 17

LÝ THUYẾT THÔNG TIN

Trang 16

Độ dư thừa: 0.0434

Câu 4:

Đề bài: Mã hóa mỗi ký tự trên bằng phương pháp Huffman cơ số 2, tính hiệu suất và

độ dư thừa của bộ mã

4.1 Code Python

import collections

import math

import heapq

# Chuỗi ban đầu

text = "Dai hoc Ton Duc Thang Ly Thuyet Thong Tin Le Nguyen Nhut Thuan

Le Dinh Minh Duy Nguyen Anh Tuan Nguyen Anh Quan Truong Cong An Binh Vo Dinh Hoang Linh"

# Loại bỏ khoảng trắng để không tính vào tần suất

text = text.replace(" ", "")

# Bước 1: Tính xác suất xuất hiện của từng ký tự

total_chars = len(text)

char_counts = collections.Counter(text)

char_probs = {char: count / total_chars for char, count in char_counts.items()}

# Bước 2: Mã hóa Huffman

Trang 18

LÝ THUYẾT THÔNG TIN

def lt (self, other):

return self.freq < other.freq

# Sắp xếp các ký tự theo thứ tự bảng chữ cái trước khi đưa vào heap

def build_huffman_codes(node, prefix="", code={}):

if node is not None:

if node.char is not None:

LÝ THUYẾT THÔNG TIN

Trang 19

LÝ THUYẾT THÔNG TIN

Trang 18

code[node.char] = prefix

else:

build_huffman_codes(node.left, prefix + "0", code)

build_huffman_codes(node.right, prefix + "1", code)

entropy = -sum(prob * math.log2(prob) for prob in char_probs.values())

# Tính độ dài trung bình của mã Huffman

average_code_length = sum(char_probs[char] * len(code) for char, code in huffman_codes.items())

# Tính hiệu suất và độ dư thừa

efficiency = entropy / average_code_length

redundancy = 1 - efficiency

# Hiển thị kết quả theo thứ tự xác suất giảm dần

sorted_chars = sorted(char_counts.items(), key=lambda item: char_probs[item[0]], reverse=True)

print(f"{'Ký tự':<10} {'Tần suất':<10} {'Xác suất':<10} {'Mã hóa':<10}")

LÝ THUYẾT THÔNG TIN

Trang 20

LÝ THUYẾT THÔNG TIN

print(f"\nEntropy của nguồn: {entropy:.4f}")

print(f"Độ dài trung bình của mã Huffman: {average_code_length:.4f}") print(f"Hiệu suất của mã: {efficiency:.4f}")

print(f"Độ dư thừa của mã: {redundancy:.4f}")

4.2 Kết quả

LÝ THUYẾT THÔNG TIN

Trang 21

LÝ THUYẾT THÔNG TIN

Trang 20

LÝ THUYẾT THÔNG TIN

Trang 22

LÝ THUYẾT THÔNG TIN

tukhoa = ["Dai hoc Ton Duc Thang", "Ly thuyet thong tin"]

LÝ THUYẾT THÔNG TIN

Trang 23

LÝ THUYẾT THÔNG TIN

ky_tu = sorted(xac_suat.items(), key=lambda x: x[1], reverse=True)

LÝ THUYẾT THÔNG TIN

Trang 24

LÝ THUYẾT THÔNG TIN

xac_suat[ky_tu_1[0] + ky_tu_2[0]] = ky_tu_1[1] + ky_tu_2[1]

ky_tu.append((ky_tu_1[0] + ky_tu_2[0], xac_suat[ky_tu_1[0] + ky_tu_2[0]])) ma_huffman = {}

for ky_tu, xs in xac_suat.items():

print("\nMã hóa Huffman cơ số 3 cho mỗi ký tự:", ma_huffman_3)

LÝ THUYẾT THÔNG TIN

Trang 25

LÝ THUYẾT THÔNG TIN

Độ dài trung bình của mã Huffman cơ số 3: 5.4766355140186915

Hiệu suất mã hóa Huffman cơ số 3: 0.6834822412938067

Độ dư thừa của mã hóa Huffman cơ số 3: 0.31651775870619325

LÝ THUYẾT THÔNG TIN

Trang 26

LÝ THUYẾT THÔNG TIN

Trang 25

TÀI LIỆU THAM KHẢO

Sách:

[1] Lập trình Matlab và ứng dụng của nhà xuất bản khoa học kỹ thuật

LÝ THUYẾT THÔNG TIN

Ngày đăng: 21/04/2025, 22:03

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