Tài liệu mô phỏng hệ thống truyền thông - tham khảo tài liệu | Học viện bưu chinh viễn thông

Tài liệu mô phỏng hệ thống truyền thông - tham khảo tài liệu | Học viện bưu chinh viễn thông  được sưu tầm và soạn thảo dưới dạng file PDF để gửi tới các bạn sinh viên cùng tham khảo, ôn tập đầy đủ kiến thức, chuẩn bị cho các buổi học thật tốt. Mời bạn đọc đón xem

Thông tin:
25 trang 2 tháng trước

Bình luận

Vui lòng đăng nhập hoặc đăng ký để gửi bình luận.

Tài liệu mô phỏng hệ thống truyền thông - tham khảo tài liệu | Học viện bưu chinh viễn thông

Tài liệu mô phỏng hệ thống truyền thông - tham khảo tài liệu | Học viện bưu chinh viễn thông  được sưu tầm và soạn thảo dưới dạng file PDF để gửi tới các bạn sinh viên cùng tham khảo, ôn tập đầy đủ kiến thức, chuẩn bị cho các buổi học thật tốt. Mời bạn đọc đón xem

48 24 lượt tải Tải xuống
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
CƠ SỞ THÀNH PHỐ HỒ CHÍ MINH
KHOA VIỄN THÔNG 2
BỘ MÔN VÔ TUYẾN
TÀI LIỆU HƯỚNG DẪN THÍ NGHIỆM
Môn học: Mô phỏng hệ thống truyền thông
Phòng thí nghiệm: Online
GV: KVT2
Họ
tên
sinh
viên: Trần Minh Trung
Nhóm:
..........................1...............................Tổ:
...............................................................
Lớp: D21CQVT01-N
Điểm Nhận xét
Mục tiêu của môn học: Giúp sinh viên hiểu được những khái niệm cơ bản về ngôn ngữ
Matlab, hiểu được cách thức phỏng các hình kênh thông tin cở bản trong viễn thông.
Kiểm chứng lại các mô hình toán học của các kênh thông tin cơ bản.
Yêu cầu: Cài đặt và sử dụng phần mềm Matlab phiên bản 2019a trở lên hoặc dùng hỗ trợ
phần mềm Matlab online tại https://www.mathworks.com/products/matlab -online. html
PHẦN THUYẾT LIÊN QUAN CẦN CHUẨN BỊ
a) Lý thuyết về xác suất
Cho biến ngẫu nhiên X có hàm mật độ phân phối xác suất là
fX
x
+ X là biến ngẫu nhiên liên tục
Kỳ vọng
E X
:
x
FX
x

f X
x
dx

E
X
xf X
x
dx

Phương sai
V
X
E
X
2
E
X
2
+ X là biến ngẫu nhiên rời rạc
Kỳ vọng
Phương sai
FX
x
pi E X
xi pi
V
X
E
X
2
E
X
2
b) Lý thuyết về kênh thông tin cơ bản
Xét mô hình kênh thông tin đơn giản phân tập thu như hình vẽ
Tx
Rx
Phía máy phát Tx trang bị 1 ăng ten phát, máy thu Rx trang bị 2 ăng ten thu. Giả sử công suất phát tín hiệu
tại máy phát Tx là , khi đó tín hiệu nhận được tại ăng ten thứ P i(i 1,
2)
của máy thu Rx được kí hiệu
r
i
Ph
i
x n
i
với h
i
là hệ số kênh truyền từ anten phát đến anten thứ
i
của máy thu,
n
i
là nhiễu trắng lại
anten máy thu có công suất
sau
N
0
. Tỷ số tín hiệu trên nhiễu tại anten thứ
i
dạng như
P h
2
i
i
0
Giả sử kênh truyền đang xét là kênh Rayleigh fading, và các kênh truyền từ máy phát đến
máy thu là như nhau nên tỷ số tín hiệu trên nhiễu trung bình tại các nhánh là như nhau có
nghĩa
1
2
ta có hàm PDF và CDF của các kênh truyền có dạng:
f
1
e
F
1 e
Trong mô hình trên, giả sử phía máy thu sử dụng kỹ thuật SC(select combining), khi đó tỷ
số tín hiệu tương đương phía máy thu ký hiệu là
max
i1,2
i
N
n
e
2
n
Giả sử khoảng cách giữa các ăng ten phía máy thu đủ lớn, do đó các
i
hàm phân bố tích lũy xác suất của
như sau:
sẽ độc lập với nhau,
F
F
i
i1
2
1 e
Xác suất dừng của hệ thống
OP F
th
th
2
1 e
Tỷ lệ lỗi bit trung bình:
BER Q
f
0
1
N
2
1
n
1
N
1
n
1
Dung lượng Shannon của hệ thống

C
B
log
2
1
f
d
0
B
1
1
Với

t
Ei
x
dt
E
e
ln 2
Ei
x
2
t
PHẦN THỰC HÀNH BUỔI 1
CÂU HỎI CHUẨN BỊ Ở NHÀ
Tìm hiểu và điền vào bảng chức năng các hàm matlab dưới đây
TT Hàm Chức năng
1
rand
Hàm này được sử dụng để tạo ra các ma
trận hoặc vectơ ngẫu nhiên có các giá trị
trong khoảng từ 0 đến 1.
2
plot
Hàm này được sử dụng để tạo đồ thị từ dữ
liệu đầu vào.
3
suplot
Hàm này được sử dụng để tạo ra một lưới
đồ thị và chọn một phần tử cụ thể trong lưới
đó để vẽ đồ thị.
4
xlabel
Hàm này được sử dụng để thêm nhãn cho
trục hoành trên đồ thị.
5
ylabel
Hàm này được sử dụng để thêm nhãn cho
trục tung trên đồ thị.
6
legend
Hàm này được sử dụng để thêm chú thích
cho đồ thị, giải thích ý nghĩa của các dòng
hoặc điểm trên đồ thị.
7
title
Hàm này được sử dụng để thêm tiêu đề cho
đồ thị.
8
length
Hàm này trả về số phần tử trong một vectơ
hoặc kích thước của một chiều trong một
ma trận.
9
zeros
Hàm này được sử dụng để tạo ra một ma
trận hoặc vectơ với tất cả các phần tử là số
0.
10 demention
Hàm này trả về kích thước của một ma trận,
tức là số hàng và số cột.
11 max
Hàm này trả về giá trị lớn nhất trong một
vectơ hoặc ma trận.
12 sort
Hàm này được sử dụng để sắp xếp các phần
tử của một vectơ hoặc ma trận theo thứ tự
tăng dần hoặc giảm dần.
PHẦN CÁC KIẾN THỨC LỆNH LẬP TRÌNH BẢN
Bài 1: Viết chương trình nhập một số và trả về số bằng chữ. Ví dụ nhập trả về
N 111
một
trăm mười một.
number = input('Nhập số: ');
disp(num2str(number));
Bài 2: Viết chương trình nhập vào số bằng chữ và trả về số bằng số.
word = input('Nhập số bằng chữ: ', 's');
number = str2double(word);
disp(['Số là: ', num2str(number)]);
Bài 3: Cho một cell array lưu trữ họ và tên các sinh viên, dụ fullname={‘Nguyen Van
Tí’, ‘Tran Van Tho’, ‘Nguyen Canh Chan’, ‘ Tran Luu Nam’, ‘ Tan Hiep Phap’}. Hãy lập
trình trả về danh sách xếp theo thứ tự abc theo tên.
fullname = { , , 'Nguyen Van Ti' 'Tran Van Tho' 'Nguyen Canh Chan' 'Tran Luu ,
Nam', 'Tan Hiep Phap'};
sorted_fullname = sort(fullname);
disp('Danh sách sau khi sắp xếp theo tến:');
disp(sorted_fullname);
Bài 4: Hãy khai báo một cấu trúc thông tin của sinh viên gồm 3 thành phần gồm họ và
tên, năm sinh, giới tính. Kiểm tra có phải là cấu trúc không?
a. Liệt kê ra các trường của cấu trúc
b. Kiểm tra ‘Gioi_Tinh’ có phải là 1 trường trong cấu trúc sinh viên không?
c. Xếp thứ tự các trường
d. Thêm một trường ‘Noi_Sinh’
e. Kiểm tra tên trường “Ho_va_Ten” có hợp lệ không?
f. Tạo ra một mảng cấu trúc với sinh viên thứ 2.
i. Lấy năm sinh của hai
% a. Liệt kế ra các trường cu<a cấu trúc
student = struct( , , , , , 'Ho_va_ten' '' 'Nam_sinh' '' 'Gioi_tinh' '');
% b. Kiế<m tra .Gioi_Tinh có pha<i là 1 trường trong cấu trúc sinh viến khống?
isFieldExist = isfield(student, 'Gioi_tinh');
% c. Xếp thứ tự các trường
fieldNames = fieldnames(student);
% d. Thếm một trường 'Noi_sinh'
student.Noi_sinh = ;''
% e. Kiế<m tra tến trường "Ho_va_ten” có hợp lệ khống?
isValidFieldName = isfield(student, 'Ho_va_ten');
% f. Tạo ra một ma<ng cấu trúc với sinh viến thứ 2
student2 = student;
% i. Lấy nắm sinh cu<a hai
Nam_Sinh_sv1 = student.Nam_sinh;
PHẦN THỰC HÀNH VỀ MẢNG CHUỖI
Bài 5: Cho vector chứa một chuỗi số, hãy trả về một chuỗi số khác đếm các phần tử
trong chuỗi số. Ví dụ
x 5, 5, 2,1,1,1,1, 3
trả
về
y 2, 5,1, 2, 4,1,1, 3
.
x = [5, 5, 2, 1, 1, 1, 1, 3];
unique_elements = unique(x);
y = histcounts(x, [unique_elements, max(unique_elements)+1]);
disp(y);
Bài 6: Cho ma trận hàng và 2 cột, chứa tọa độ xOy của điểm. Hãy tìm hai điểm có n n
khoảng cách xa nhất và trả về chỉ số hàng của hai điểm đó.
matrix = [1, 2; 3, 4; 5, 6; 7, 8];
[idx1, idx2] = farthestPoints(matrix);
disp(idx1);
disp(idx2);
function [idx1, idx2] = farthestPoints(matrix)
distances = pdist2(matrix, matrix);
[~, idx] = max(distances(:));
[idx1, idx2] = ind2sub(size(distances), idx);
end
Bài 7: Cho một chuỗi số, trả về chuỗi các số không trùng lặp. Ví
dụ
x
1
1
2 3
3
trả
về
y
1
2
3
.
x = [1, 1, 2, 3, 3];
y = unique(x);
disp(y);
Bài 8: Tạo một ma trận ngẫu nhiên A kích thước m,n nhập từ bàn phím. Ma trận B
kích thước n,k với k nhập từ bàn phím
a) Thực hiện thao tác xóa hàng i cột j của ma trận ngẫu nhiên vừa tạo. Với i =
(n+m)mod n và j=(n+m) mod m
b) Thêm hàng i+1 và cột j+1 vào ma trận A.
c) Xóa phần tử A[i,j]
d) Đưa ra các phần tử đường chéo của ma trận A
e) Đưa ra ma trận chuyển vị và ma trận nghịch đảo của ma trận A
f) Tính ma trận A*B.
Code:
% Nhập kích thước của ma trận A và B từ bàn phím
m = input('Nhập số hàng của ma trận A: ');
n = input('Nhập số cột của ma trận A: ');
k = input('Nhập số cột của ma trận B: ');
% Tạo ma trận ngẫu nhiên A và B
A = randn(m, n);
B = randn(n, k);
% a) Xóa hàng i và cột j của ma trận A
i = mod(n + m, n) + 1; % Vị trí hàng cần xóa
j = mod(n + m, m) + 1; % Vị trí cột cần xóa
A(i, :) = [];
A(:, j) = [];
% b) Thêm hàng i+1 và cột j+1 vào ma trận A
i = i + 1; % Vị trí hàng cần thêm
j = j + 1; % Vị trí cột cần thêm
new_row = randn(1, size(A, 2)); % Tạo hàng mới
new_column = randn(size(A, 1), 1); % Tạo cột mới
A = [A; new_row];
A = [A, new_column];
% c) Xóa phần tử A[i, j]
A(i, j) = [];
% d) Đưa ra các phần tử đường chéo của ma trận A
diagonal_elements = diag(A);
disp('Các phần tử đường chéo của ma trận A:');
disp(diagonal_elements);
% e) Đưa ra ma trận chuyển vị và ma trận nghịch đảo của ma trận A
transpose_A = A';
inverse_A = inv(A);
disp('Ma trận chuyển vị của ma trận A:');
disp(transpose_A);
disp('Ma trận nghịch đảo của ma trận A:');
disp(inverse_A);
% f) Tính ma trận A*B
matrix_product = A * B;
disp('Kết quả của A*B:');
disp(matrix_product);
PHẦN THỰC HÀNH BUỔI 2
CÂU HỎI CHUẨN BỊ
Câu
1:
Máy phát là gì ? Máy thu là gì ? Em nhận xét gì về máy phát và máy thu trong
một hệ thống mạng viễn thông đơn giản ?
Trong một hệ thống mạng viễn thông đơn giản, máy phát và máy thu thường được
sử dụng cặp nhau để truyền và nhận dữ liệu. Máy phát chuyển đổi tín hiệu từ dạng
đầu vào (ví dụ: âm thanh, dữ liệu số) thành tín hiệu có thể truyền đi, trong khi máy
thu nhận tín hiệu đó và chuyển đổi nó thành dạng có thể sử dụng cho mục đích tiếp
theo (ví dụ: âm thanh, dữ liệu số).
Máy phát (Transmitter): Máy phát là thiết bị được sử dụng để chuyển đổi tín hiệu từ
dạng analog hoặc số sang dạng tín hiệu phù hợp để truyền đi qua mạng. Trong mạng
viễn thông, máy phát có thể là một bộ định tuyến, bộ phát sóng không dây, hoặc bất
kỳ thiết bị nào có khả năng chuyển đổi và truyền tín hiệu.
Máy thu (Receiver): Máy thu là thiết bị được sử dụng để nhận và xử lý tín hiệu
được gửi từ máy phát. Nó có khả năng chuyển đổi tín hiệu nhận được thành dạng số
hoặc analog để có thể được sử dụng bởi các thiết bị hoặc hệ thống khác.
Câu 2: Thế nào là kỹ thuật select combining (SC) ?
Kỹ thuật Select Combining (SC) là một kỹ thuật trong viễn thông không dây được sử dụng
để cải thiện chất lượng của tín hiệu nhận bằng cách chọn ra tín hiệu tốt nhất từ nhiều anten
(hoặc từ nhiều bản sao của cùng một tín hiệu) để kết hợp lại.
Trong kỹ thuật này, tín hiệu từ mỗi anten (hoặc từ mỗi bản sao) được đưa vào một hộp
chọn (selector). Hộp chọn này sẽ chọn ra tín hiệu có chất lượng tốt nhất dựa trên các tiêu
chí như mức độ tín hiệu và nhiễu, độ trễ, hoặc sự suy giảm trong kênh truyền. Sau đó, tín
hiệu được chọn này sẽ được truyền đến bộ thu để tiếp tục xử lý.
Câu 3: Xác suất dừng là gì ? Để đánh giá xác suất dừng ta cần dựa vào yếu tố nào ?
Xác suất dừng là xác suất mà một quá trình ngẫu nhiên sẽ kết thúc hoặc dừng lại tại
một trạng thái nhất định. Trong lý thuyết xác suất và quá trình ngẫu nhiên, việc đánh
giá xác suất dừng là một phần quan trọng để hiểu hành vi của các quá trình ngẫu
nhiên.
Để đánh giá xác suất dừng, chúng ta cần dựa vào các yếu tố sau:
Trạng thái của quá trình: Xác định tất cả các trạng thái mà quá trình có thể đạt được.
Đối với mỗi trạng thái, chúng ta cần biết liệu quá trình có thể dừng lại ở đó hay
không.
Xác suất chuyển đổi: Đánh giá xem từ mỗi trạng thái, quá trình có thể di chuyển đến
các trạng thái khác với xác suất bao nhiêu. Xác suất chuyển đổi này cung cấp thông
tin về khả năng của quá trình di chuyển từ trạng thái này sang trạng thái khác.
Điều kiện dừng: Xác định điều kiện hoặc sự kiện nào khiến cho quá trình ngừng hoạt
động và dừng lại ở một trạng thái cụ thể. Có thể là một trạng thái dừng hoặc một
điều kiện dừng khác như thời gian, số lần lặp, hoặc một sự kiện xác định.
PHẦN THỰC HÀNH KIỂM CHỨNG CÁC THUYẾT XÁC SUẤT
Bài 9: Giả
sử
X
1 2
, X ,...,
X
n
là các biến ngẫu nhiên độc lập có phân bố đều từ 0 đến 1. Dùng
phỏng
chứng
minh
Y
n
n
1
max
X
1
,
X
2
,...,
X
n
sẽ
hội
tụ
theo
phân
bố
đều
tham
số
1.
n = 10000;
num_simulations = 1000;
Yn_values = zeros(num_simulations, 1);
for i = 1:num_simulations
X = rand(n, 1);
Yn_values(i) = n * (1 - max(X));
end
histogram(Yn_values, 'Normalization' 'probability', );
mean_Yn = mean(Yn_values);
var_Yn = var(Yn_values);
fprintf('Trung bình cu<a Yn: %.4f\n', mean_Yn);
fprintf('Phương sai cu<a Yn: %.4f\n', var
Bài 10: Cho là hai biến phân bố hàm mũ độc lập và đồng nhất. Sử dụng mô phỏngX Y
để kiểm chứng có phải là một hàm mũ không? Kiểm chứng với lý thuyết.max( ) X ,Y
% Số lượng mấau
n = 10000;
% Sinh ngấau nhiến các mấau từ phấn bố hàm mũ độc lập và đốeng nhất
X = exprnd(1, n, 1);
Y = exprnd(1, n, 1);
% Tính max(X, Y) cho mốai mấau
max_XY = max(X, Y);
% Vẽ biế<u đốe histogram cu<a max(X, Y)
histogram(max_XY, 'Normalization' 'probability', );
title('Histogram cu<a max(X, Y)');
xlabel( );'Giá trị'
ylabel('Tấen suất');
% So sánh với phấn phối hàm mũ
hold ;on
x_values = linspace(0, max(max_XY), 1000);
pdf_max_XY = x_values .* exp(-x_values);
plot(x_values, pdf_max_XY, , , 2);'r' 'LineWidth'
legend('Dữ liệu mố pho<ng' 'Phấn phối hàm mũ', );
Bài 11
: Cho biến ngẫu nhiên có phân phối đều trên đoạn X
a b,
có hàm mật độ xác suất
f
x
1
b
a
tìm
a) Hàm phân phối xác suất của biến ngẫu nhiên (hàm tích lũy xác suất CDF)X
b)
Tìm kỳ vọng và phương sai .
E
X
V
X
c) Mô phỏng kiểm chứng các hàm CDF,
lý thuyết.
E X
,
V X
của biến ngẫu nhiên so vớiX
| 1/25

Preview text:

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
CƠ SỞ THÀNH PHỐ HỒ CHÍ MINH KHOA VIỄN THÔNG 2 BỘ MÔN VÔ TUYẾN
TÀI LIỆU HƯỚNG DẪN THÍ NGHIỆM
Môn học: Mô phỏng hệ thống truyền thông Phòng thí nghiệm: Online GV: KVT2
Họ và tên sinh viên: Trần Minh Trung
Nhóm: ... ....... ..... ........1.... ........ .... ....... ....Tổ: ...... ....... .... ....... ....... .... ........ .... ....... Lớp: D21CQVT01-N Điểm Nhận xét
Mục tiêu của môn học: Giúp sinh viên hiểu được những khái niệm cơ bản về ngôn ngữ
Matlab, hiểu được cách thức mô phỏng các mô hình kênh thông tin cở bản trong viễn thông.
Kiểm chứng lại các mô hình toán học của các kênh thông tin cơ bản.
Yêu cầu: Cài đặt và sử dụng phần mềm Matlab phiên bản 2019a trở lên hoặc dùng hỗ trợ
phần mềm Matlab online tại https://www.mathworks.com/products/matlab -online. html PHẦN THUYẾT LIÊN QUAN CẦN CHUẨN BỊ
a) Lý thuyết về xác suất
Cho biến ngẫu nhiên X có hàm mật độ phân phối xác suất là fX x
+ X là biến ngẫu nhiên liên tục x
f X xdx FX x  
Kỳ vọng E X   : 
E X    xf X xdx  Phương sai
V X   E X 2   E X 2
+ X là biến ngẫu nhiên rời rạc
FX x   Kỳ vọng
pi E X   Phương sai  xi pi
V X   E X 2    E X 2
b) Lý thuyết về kênh thông tin cơ bản
Xét mô hình kênh thông tin đơn giản phân tập thu như hình vẽ Rx Tx
Phía máy phát Tx trang bị 1 ăng ten phát, máy thu Rx trang bị 2 ăng ten thu. Giả sử công suất phát tín hiệu
tại máy phát Tx là P , khi đó tín hiệu nhận được tại ăng ten thứ i(i  1, của máy thu Rx được kí hiệu 2) là
r Ph x n i i i
với hi là hệ số kênh truyền từ anten phát đến anten thứ i của máy thu, là nhiễu trắng lại ni
anten máy thu có công suất là N0 . Tỷ số tín hiệu trên nhiễu tại anten thứ i có dạng như sau P h 2  i i 0 N
Giả sử kênh truyền đang xét là kênh Rayleigh fading, và các kênh truyền từ máy phát đến
máy thu là như nhau nên tỷ số tín hiệu trên nhiễu trung bình tại các nhánh là như nhau có
nghĩa là 1   2
ta có hàm PDF và CDF của các kênh truyền có dạng:  
f    1   e   
F    1  e
Trong mô hình trên, giả sử phía máy thu sử dụng kỹ thuật SC(select combining), khi đó tỷ
số tín hiệu tương đương phía máy thu ký hiệu là   max   i1,2 i
Giả sử khoảng cách giữa các ăng ten phía máy thu đủ lớn, do đó các sẽ độc lập với nhau, i
hàm phân bố tích lũy xác suất của   như sau:
F      F     i i1 2   
 1  e   
Xác suất dừng của hệ thống
OP F  th    2  th
 1  e   
Tỷ lệ lỗi bit trung bình:  2   BER Q
   f    01 N 2  
 1n1  N 1      n    2n  n  1
Dung lượng Shannon của hệ thống 
C   B log2 1    f  d   0 B  1  1    e Ei  ln 2      Với   E  t Ei x  dt và  e   x t
PHẦN THỰC HÀNH BUỔI 1
CÂU HỎI CHUẨN BỊ Ở NHÀ
Tìm hiểu và điền vào bảng chức năng các hàm matlab dưới đây TT Hàm Chức năng
Hàm này được sử dụng để tạo ra các ma 1 rand
trận hoặc vectơ ngẫu nhiên có các giá trị
trong khoảng từ 0 đến 1.
Hàm này được sử dụng để tạo đồ thị từ dữ 2 plot liệu đầu vào.
Hàm này được sử dụng để tạo ra một lưới 3 suplot
đồ thị và chọn một phần tử cụ thể trong lưới đó để vẽ đồ thị.
Hàm này được sử dụng để thêm nhãn cho 4 xlabel
trục hoành trên đồ thị.
Hàm này được sử dụng để thêm nhãn cho 5 ylabel trục tung trên đồ thị.
Hàm này được sử dụng để thêm chú thích 6 legend
cho đồ thị, giải thích ý nghĩa của các dòng
hoặc điểm trên đồ thị.
Hàm này được sử dụng để thêm tiêu đề cho 7 title đồ thị.
Hàm này trả về số phần tử trong một vectơ 8 length
hoặc kích thước của một chiều trong một ma trận.
Hàm này được sử dụng để tạo ra một ma 9 zeros
trận hoặc vectơ với tất cả các phần tử là số 0.
Hàm này trả về kích thước của một ma trận, 10 demention
tức là số hàng và số cột.
Hàm này trả về giá trị lớn nhất trong một 11 max vectơ hoặc ma trận.
Hàm này được sử dụng để sắp xếp các phần 12 sort
tử của một vectơ hoặc ma trận theo thứ tự
tăng dần hoặc giảm dần. PHẦN CÁC KIẾN THỨC LỆNH LẬP TRÌNH BẢN
Bài 1: Viết chương trình nhập một số và trả về số bằng chữ. Ví dụ nhập N  111 trả về một trăm mười một.
number = input('Nhập số : '); disp(num2str(number));
Bài 2: Viết chương trình nhập vào số bằng chữ và trả về số bằng số.
word = input('Nhập số bằng chữ: ', 's'); number = str2double(word);
disp(['Số là: ', num2str(number)]);
Bài 3: Cho một cell array lưu trữ họ và tên các sinh viên, ví dụ fullname={‘Nguyen Van
Tí’, ‘Tran Van Tho’, ‘Nguyen Canh Chan’, ‘ Tran Luu Nam’, ‘ Tan Hiep Phap’}. Hãy lập
trình trả về danh sách xếp theo thứ tự abc theo tên.
fullname = {'Nguyen Van Ti', 'Tran Van Tho', 'Nguyen Canh Chan' 'T , ran Luu Nam', 'Tan Hiep Phap'};
sorted_fullname = sort(fullname);
disp('Danh sách sau khi sắ p xế p theo tến:'); disp(sorted_fullname);
Bài 4: Hãy khai báo một cấu trúc thông tin của sinh viên gồm 3 thành phần gồm họ và
tên, năm sinh, giới tính. Kiểm tra có phải là cấu trúc không?
a. Liệt kê ra các trường của cấu trúc
b. Kiểm tra ‘Gioi_Tinh’ có phải là 1 trường trong cấu trúc sinh viên không?
c. Xếp thứ tự các trường
d. Thêm một trường ‘Noi_Sinh’
e. Kiểm tra tên trường “Ho_va_Ten” có hợp lệ không?
f. Tạo ra một mảng cấu trúc với sinh viên thứ 2. i. Lấy năm sinh của hai
% a. Liệt kế ra các trường cu student = struct( ,
'Ho_va_ten' '', 'Nam_sinh', '', 'Gioi_tinh', ''); % b. Kiế< m tra .Gioi_Tinh có pha
isFieldExist = isfield(student, 'Gioi_tinh');
% c. Xế p thứ tự các trường
fieldNames = fieldnames(student);
% d. Thếm một trường 'Noi_sinh' student.Noi_sinh = ''; % e. Kiế<
m tra tến trường "Ho_va_ten” có hợp lệ khống?
isValidFieldName = isfield(student, 'Ho_va_ten'); % f. Tạo ra một ma student2 = student; % i. Lấ y nắm sinh cu
Nam_Sinh_sv1 = student.Nam_sinh; PHẦN THỰC HÀNH VỀ MẢNG CHUỖI
Bài 5: Cho vector chứa một chuỗi số, hãy trả về một chuỗi số khác đếm các phần tử có
trong chuỗi số. Ví dụ x  5, 5, 2,1,1,1,1, 3 trả y  2, 5,1, 2, 4,1,1, 3 . về x = [5, 5, 2, 1, 1, 1, 1, 3]; unique_elements = unique(x);
y = histcounts(x, [unique_elements, max(unique_elements)+1]); disp(y);
Bài 6: Cho ma trận n hàng và 2 cột, chứa tọa độ xOy của điểm. n Hãy tìm hai điểm có
khoảng cách xa nhất và trả về chỉ số hàng của hai điểm đó.
matrix = [1, 2; 3, 4; 5, 6; 7, 8];
[idx1, idx2] = farthestPoints(matrix); disp(idx1); disp(idx2);
function [idx1, idx2] = farthestPoints(matrix)
distances = pdist2(matrix, matrix); [~, idx] = max(distances(:));
[idx1, idx2] = ind2sub(size(distances), idx); end
Bài 7: Cho một chuỗi số, trả về chuỗi các số không trùng lặp. Ví x  1 1 2 3 dụ trả 3
về y   1 2 3 . x = [1, 1, 2, 3, 3]; y = unique(x); disp(y);
Bài 8: Tạo một ma trận ngẫu nhiên A có kích thước m,n nhập từ bàn phím. Ma trận B có
kích thước n,k với k nhập từ bàn phím
a) Thực hiện thao tác xóa hàng i và cột j của ma trận ngẫu nhiên vừa tạo. Với i = (n+m)mod n và j=(n+m) mod m
b) Thêm hàng i+1 và cột j+1 vào ma trận A. c) Xóa phần tử A[i,j]
d) Đưa ra các phần tử đường chéo của ma trận A
e) Đưa ra ma trận chuyển vị và ma trận nghịch đảo của ma trận A f) Tính ma trận A*B. Code:
% Nhập kích thước của ma trận A và B từ bàn phím
m = input('Nhập số hàng của ma trận A: ');
n = input('Nhập số cột của ma trận A: ');
k = input('Nhập số cột của ma trận B: ');
% Tạo ma trận ngẫu nhiên A và B A = randn(m, n); B = randn(n, k);
% a) Xóa hàng i và cột j của ma trận A
i = mod(n + m, n) + 1; % Vị trí hàng cần xóa
j = mod(n + m, m) + 1; % Vị trí cột cần xóa A(i, :) = []; A(:, j) = [];
% b) Thêm hàng i+1 và cột j+1 vào ma trận A
i = i + 1; % Vị trí hàng cần thêm
j = j + 1; % Vị trí cột cần thêm
new_row = randn(1, size(A, 2)); % Tạo hàng mới
new_column = randn(size(A, 1), 1); % Tạo cột mới A = [A; new_row]; A = [A, new_column]; % c) Xóa phần tử A[i, j] A(i, j) = [];
% d) Đưa ra các phần tử đường chéo của ma trận A diagonal_elements = diag(A);
disp('Các phần tử đường chéo của ma trận A:'); disp(diagonal_elements);
% e) Đưa ra ma trận chuyển vị và ma trận nghịch đảo của ma trận A transpose_A = A'; inverse_A = inv(A);
disp('Ma trận chuyển vị của ma trận A:'); disp(transpose_A);
disp('Ma trận nghịch đảo của ma trận A:'); disp(inverse_A); % f) Tính ma trận A*B matrix_product = A * B;
disp('Kết quả của A*B:'); disp(matrix_product); PHẦN THỰC HÀNH BUỔI 2 CÂU HỎI CHUẨN BỊ Câu
1: Máy phát là gì ? Máy thu là gì ? Em có nhận xét gì về máy phát và máy thu trong
một hệ thống mạng viễn thông đơn giản ?
Trong một hệ thống mạng viễn thông đơn giản, máy phát và máy thu thường được
sử dụng cặp nhau để truyền và nhận dữ liệu. Máy phát chuyển đổi tín hiệu từ dạng
đầu vào (ví dụ: âm thanh, dữ liệu số) thành tín hiệu có thể truyền đi, trong khi máy
thu nhận tín hiệu đó và chuyển đổi nó thành dạng có thể sử dụng cho mục đích tiếp
theo (ví dụ: âm thanh, dữ liệu số).
Máy phát (Transmitter): Máy phát là thiết bị được sử dụng để chuyển đổi tín hiệu từ
dạng analog hoặc số sang dạng tín hiệu phù hợp để truyền đi qua mạng. Trong mạng
viễn thông, máy phát có thể là một bộ định tuyến, bộ phát sóng không dây, hoặc bất
kỳ thiết bị nào có khả năng chuyển đổi và truyền tín hiệu.
Máy thu (Receiver): Máy thu là thiết bị được sử dụng để nhận và xử lý tín hiệu
được gửi từ máy phát. Nó có khả năng chuyển đổi tín hiệu nhận được thành dạng số
hoặc analog để có thể được sử dụng bởi các thiết bị hoặc hệ thống khác. Câu 2:
Thế nào là kỹ thuật select combining (SC) ?
Kỹ thuật Select Combining (SC) là một kỹ thuật trong viễn thông không dây được sử dụng
để cải thiện chất lượng của tín hiệu nhận bằng cách chọn ra tín hiệu tốt nhất từ nhiều anten
(hoặc từ nhiều bản sao của cùng một tín hiệu) để kết hợp lại.
Trong kỹ thuật này, tín hiệu từ mỗi anten (hoặc từ mỗi bản sao) được đưa vào một hộp
chọn (selector). Hộp chọn này sẽ chọn ra tín hiệu có chất lượng tốt nhất dựa trên các tiêu
chí như mức độ tín hiệu và nhiễu, độ trễ, hoặc sự suy giảm trong kênh truyền. Sau đó, tín
hiệu được chọn này sẽ được truyền đến bộ thu để tiếp tục xử lý. Câu 3:
Xác suất dừng là gì ? Để đánh giá xác suất dừng ta cần dựa vào yếu tố nào ?
Xác suất dừng là xác suất mà một quá trình ngẫu nhiên sẽ kết thúc hoặc dừng lại tại
một trạng thái nhất định. Trong lý thuyết xác suất và quá trình ngẫu nhiên, việc đánh
giá xác suất dừng là một phần quan trọng để hiểu hành vi của các quá trình ngẫu nhiên.
Để đánh giá xác suất dừng, chúng ta cần dựa vào các yếu tố sau:
Trạng thái của quá trình: Xác định tất cả các trạng thái mà quá trình có thể đạt được.
Đối với mỗi trạng thái, chúng ta cần biết liệu quá trình có thể dừng lại ở đó hay không.
Xác suất chuyển đổi: Đánh giá xem từ mỗi trạng thái, quá trình có thể di chuyển đến
các trạng thái khác với xác suất bao nhiêu. Xác suất chuyển đổi này cung cấp thông
tin về khả năng của quá trình di chuyển từ trạng thái này sang trạng thái khác.
Điều kiện dừng: Xác định điều kiện hoặc sự kiện nào khiến cho quá trình ngừng hoạt
động và dừng lại ở một trạng thái cụ thể. Có thể là một trạng thái dừng hoặc một
điều kiện dừng khác như thời gian, số lần lặp, hoặc một sự kiện xác định. PHẦN THỰC HÀNH KIỂM CHỨNG CÁC THUYẾT XÁC SUẤT Bài 9: Giả X , X ,...,
là các biến ngẫu nhiên độc lập có phân bố đều từ 0 đến 1. Dùng sử 1 2 Xn
mô phỏng chứng minh Yn n  
1 max  X1 , X 2 ,..., Xn  sẽ hội tụ theo phân bố đều có tham số 1. n = 10000; num_simulations = 1000;
Yn_values = zeros(num_simulations, 1); for i = 1:num_simulations X = rand(n, 1);
Yn_values(i) = n * (1 - max(X)); end
histogram(Yn_values, 'Normalization' 'probability' , ); mean_Yn = mean(Yn_values); var_Yn = var(Yn_values); fprintf('Trung bình cu fprintf('Phương sai cu
Bài 10: Cho X Y là hai biến phân bố hàm mũ độc lập và đồng nhất. Sử dụng mô phỏng
để kiểm chứng max( X ,Y ) có phải là một hàm mũ không? Kiểm chứng với lý thuyết. % Số lượng mấa u n = 10000; % Sinh ngấa u nhiến các mấa
u từ phấn bố hàm mũ độc lập và đốe ng nhấ t X = exprnd(1, n, 1); Y = exprnd(1, n, 1); % Tính max(X, Y) cho mốa i mấa u max_XY = max(X, Y); % Vẽ biế< u đốe histogram cu
histogram(max_XY, 'Normalization', 'probability'); title('Histogram cu xlabel('Giá trị'); ylabel('Tấe n suấ t');
% So sánh với phấn phố i hàm mũ hold ; on
x_values = linspace(0, max(max_XY), 1000);
pdf_max_XY = x_values .* exp(-x_values);
plot(x_values, pdf_max_XY, 'r', 'LineWidth', 2); legend('Dữ liệu mố pho , i hàm mũ');
Bài 11: Cho biến ngẫu nhiên X có phân phối đều trên đoạn a b
,  có hàm mật độ xác suất f x 1  tìm b a
a) Hàm phân phối xác suất của biến ngẫu nhiên X (hàm tích lũy xác suất CDF)
b) Tìm kỳ vọng E X  và phương sai V X  .
c) Mô phỏng kiểm chứng các hàm CDF, E X V X
của biến ngẫu nhiên X so với lý thuyết. , 