You are on page 1of 11

ĐẠI HỌC QUỐC GIA TP.

HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA ĐIỆN – ĐIỆN TỬ
---------------o0o---------------

BÁO CÁO BÀI TẬP LỚN

TRUYỀN SỐ LIỆU & MẠNG


GVHD: Thầy Hồ Văn Khương
SVTH: Nguyễn Hoàng Anh 1710479
Trần Vũ Quốc Bảo 1810835
Võ Minh Cường 1811658
Đinh Mạnh Cường 1510352
Dương Quốc Hoàng 1711377
Nguyễn Quang Khải 1812617
Lâm Bình Khang 1511471
Lê Hữu Khánh 1812590

TP. HỒ CHÍ MINH, THÁNG 11 NĂM 2021


MỤC LỤC
VIẾT CHƯƠNG TRÌNH TẠO DẠNG SÓNG CHO CÁC MÃ ĐƯỜNG
DÂY NRZ-I, RZ, AMI, HDB3, B8ZS...............................................................1
1. Mã đường dây NRZ-I.................................................................................1
1.1 Bài giải tay..............................................................................................1
1.2 Chạy code và kết quả mô phỏng mã đường dây NRZ-I.....................1
2. Mã đường dây NZ.......................................................................................2
2.1 Bài giải tay..............................................................................................2
2.2 Chạy code và kết quả mô phỏng mã đường dây NRZ-I.....................3
3. Mã đường dây AMI....................................................................................4
3.1 Bài giải tay.................................................................................................4
3.2 Chạy code và kết quả mô phỏng mã đường dây AMI...........................4
4. Mã đường dây HDB3..................................................................................5
4.1 Bài giải tay.................................................................................................5
4.2 Chạy code và kết quả mô phỏng mã đường dây AMI...........................5
5. Mã đường dây HDB3..................................................................................7
5.1 Bài giải tay.................................................................................................7
Nhận xét mã đường dây B8ZS:.....................................................................7
5.2 Chạy code và kết quả mô phỏng mã đường dây B8ZS.........................7
..........................................................................................................................8
6. Code xuất ảnh xung....................................................................................9
BÁO CÁO BÀI TẬP LỚN:
TRUYỀN SỐ LIỆU & MẠNG
VIẾT CHƯƠNG TRÌNH TẠO DẠNG SÓNG CHO CÁC MÃ ĐƯỜNG
DÂY NRZ-I, RZ, AMI, HDB3, B8ZS.

1. Mã đường dây NRZ-I

1.1 Bài giải tay.

Nhận xét mã đường dây NRZ-I:


Băng thông tốt, dễ dàng thực hiện. Nhưng có thành phần DC, thiếu khả năng đồng bộ.
Chúa các thành phần tần số thấp, không có khả năng sữa lỗi, không có thành phần clocking
để dễ dàng đồng bộ hóa. Được sử dụng trong máy ghi từ, thường không được sử dụng cho
truyền dẫn.

Ngõ vào tùy mức điện áp, bit 1 đảo thì đảo trạng thái.

1.2 Chạy code và kết quả mô phỏng mã đường dây NRZ-I.

Code:
function y_NRZ_I = NRZ_I(clk,t)
y_NRZ_I = zeros(1,length(t));
if clk(1) == 0
y_NRZ_I(1:100) = -1;
else
y_NRZ_I(1:100) = 1;
end
for i = 2:length(clk)
if clk(i) == 1
y_NRZ_I((i-1)*100+1:(i-1)*100+100) = -y_NRZ_I((i-1)*100);

1
else
y_NRZ_I((i-1)*100+1:(i-1)*100+100) = y_NRZ_I((i-1)*100);
end
end
y_NRZ_I(length(t)) = y_NRZ_I(length(t)-1);
end

Kết quả mô phỏng:

2. Mã đường dây NZ

2.1 Bài giải tay.

Nhận xét mã đường dây NZ:


Thực hiện đơn giản, xuất hiện vạch phổ ở mức ký hiệu mà có thể được sử dụng như
tín hiệucủa xung clock. Tuy nhiên xuất hiện dòng 1 chiều DC, không có khả năng sữa lỗi khi
xuất hiện nhiễu, băng thông sử dụng gấp 2 lần so với NRZ, tính không trong suốt.

2
2.2 Chạy code và kết quả mô phỏng mã đường dây NRZ-I.

Code:
function y_RZ = RZ(clk,t)
y_RZ = zeros(1,length(t));
for i = 1:length(clk)
if clk(i) == 1
y_RZ(100*(i-1)+1:100*(i-1)+50) = -1;
y_RZ(100*(i-1)+51:100*(i-1)+100) = 0;
else
y_RZ(100*(i-1)+1:100*(i-1)+50) = 0;
y_RZ(100*(i-1)+51:100*(i-1)+100) = 1;
end
end
y_RZ(length(t)) = y_RZ(length(t)-1);
end

Kết quả mô phỏng

3
3. Mã đường dây AMI

3.1 Bài giải tay.

Nhận xét mã đường dây AMI:


Không mất đồng bộ nếu có 1 chuỗi bit 1, không có tích lũy thành phần DC, băng tần
thấp, dễ phát sai. Tuy nhiên không đảm bảo đồng bộ bit nếu chuỗi bit 0 kéo dài.

3.2 Chạy code và kết quả mô phỏng mã đường dây AMI

Code:
function y_AMI = AMI(clk,t)
y_AMI = zeros(1,length(t));
for i = 1:length(clk)
if clk(i) == 1
y_AMI(100*(i-1)+1:100*(i-1)+100) = 1;
y1 = -1;
break;
end
end
for i = i+1:length(clk)
if clk(i) == 1
y_AMI(100*(i-1)+1:100*(i-1)+100) = y1;
y1= -y1;
end
end
y_AMI(length(t)) = y_AMI(length(t)-1);
end

4
Kết quả mô phỏng

4. Mã đường dây HDB3

4.1 Bài giải tay

Nhận xét mã đường dây HDB3:


Không chứa thành phần DC, chiếm ít băng thông hơn, có khả năng phát hiện lỗi, là tín
hiệu trong suốt. Dùng trong hệ thống 2Mbps và 34Mbps. Được sử dụng trong mạng WAN.

4.2 Chạy code và kết quả mô phỏng mã đường dây AMI

Code:
function y_HDB3 = HDB3(clk,t)
y_HDB3 = AMI(clk,t);
a = 0;
for i = 1:length(clk)
%Dem 4 bit 0
if clk(i) == 0
a = a + 1;
else
a = 0;
end
%Ket thuc dem
if a == 4
a = 0;

5
y_HDB3(100*(i-1)+1:100*(i-1)+100) = y_update;%V
break;
end
if y_HDB3(100*(i-1)+1) ~= 0
y_update = y_HDB3(100*(i-1)+1);
end
end
b = 0;
for i = i+1:length(clk)
if clk(i) == 1
b = b + 1;
y_HDB3(100*(i-1)+1:100*(i-1)+100) = -y_update;
end
if clk(i) == 0
a = a + 1;
else
a = 0;
end
if a == 4
a = 0;
if rem(b,2) == 0
y_HDB3(100*(i-3-1)+1:100*(i-3-1)+100) = -y_update;%B
y_HDB3(100*(i-1)+1:100*(i-1)+100) = y_HDB3(100*(i-3-1)+1);%V
else
y_HDB3(100*(i-3-1)+1:100*(i-3-1)+100) = -y_update;%B
end
end
if y_HDB3(100*(i-1)+1) ~= 0
y_update = y_HDB3(100*(i-1)+1);
end
end
y_HDB3(length(t)) = y_HDB3(length(t)-1);
end

6
Kết quả mô phỏng:

5. Mã đường dây HDB3

5.1 Bài giải tay

Nhận xét mã đường dây B8ZS:

Không hiệu quả bằng NRZ. Mỗi thành phần tín hiệu biểu diễn chỉ 1 bit. Máy thu phải
phân biệt được 3 mức tín hiệu. Cần công suất cao hơn 3dB với cùng xác suất lỗi bit.

5.2 Chạy code và kết quả mô phỏng mã đường dây B8ZS

Code:
function y_B8ZS = B8ZS(clk,t)
y_B8ZS = AMI(clk,t);
a = 0;
for i = 1:length(clk)
%Dem 8 bit 0
if clk(i) == 0
a = a + 1;
else
a = 0;
end
%Ket thuc dem
7
if a == 8
a = 0;
y_B8ZS(100*(i-4-1)+1:100*(i-4-1)+100) = y_update;%V1
y_B8ZS(100*(i-3-1)+1:100*(i-3-1)+100) = -y_update;%B1
y_B8ZS(100*(i-1-1)+1:100*(i-1-1)+100) = -y_update;%V2
y_B8ZS(100*(i-1)+1:100*(i-1)+100) = y_update;%B2
end
if y_B8ZS(100*(i-1)+1) ~= 0
y_update = y_B8ZS(100*(i-1)+1);
end
if clk(i) == 1
y_HDB3(100*(i-1)+1:100*(i-1)+100) = -y_update;
end
end
y_B8ZS(length(t)) = y_B8ZS(length(t)-1);
end
Kết quả mô phỏng:

8
6. Code xuất ảnh xung

clear;clc;close all;
%t?o xung Clock:
clk = [0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 1 0];
t = 0:0.01:length(clk);
y = xung_clock(clk,t);
%NRZ-I:
y_NRZ_I = NRZ_I(clk,t);
%RZ:
y_RZ = RZ(clk,t);
%AMI:
y_AMI = AMI(clk,t);
%HDB3:
y_HDB3 = HDB3(clk,t);
%B8ZS:
y_B8ZS = B8ZS(clk,t);

%ve xung:
subplot(2,1,1);
plot(t,y,'r-','LineWidth',3);
axis([0 length(clk) -1.5 1.5]);
title('Xung Clock');
axis on;hold on;
for i = 1:length(clk)
plot([i i],[-1.5 1.5],'black--');
hold on;
end
subplot(2,1,2);
plot(t,y_RZ,'r-','LineWidth',3);
axis([0 length(clk) -1.5 1.5]);
title('RZ');
axis on;hold on;
for i = 1:length(clk)
plot([i i],[-1.5 1.5],'black--');
hold on;
end

You might also like