Ý nghĩa và ứng dụng của hàm phân phối xác suất Gauss trong thông tin số.TL: Hàm phân phối xác suất Gauss trong thông tin số cho biết mật độ phân bố thông tin trong khoảng giá trị xác địn
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN ĐIỆN TỬ - VIỄN THÔNG
BÁO CÁO THÍ NGHIỆM
Trang 2Hà Nội, 2021
Trang 3PHẦN 2: CÁC BÀI THÍ NGHIỆM BÀI SỐ 1: QUÁ TRÌNH NGẪU NHIÊN CỦA TÍN HIỆU
Q1 Mô tả hình dáng đồ thị của hàm P(x) trên (là hình gì)? Giải thích?
TL: Đồ thị của P(x) có dạng hình chuông Đó là do trong (-5;0) và (0;5) hàm P(x)
biểu diễn hàm cơ số tự nhiên e.
Trang 4Q2 Ý nghĩa và ứng dụng của hàm phân phối xác suất Gauss trong thông tin số.
TL: Hàm phân phối xác suất Gauss trong thông tin số cho biết mật độ phân bố
thông
tin trong khoảng giá trị xác định.
Q3 Nếu thay đổi kỳ vọng µ và phương sai σ2 thì P(x) thay đổi như thế nào (cụ thể đồ thị thay đổi như thế nào)? Giải thích?
TL: Nếu tăng kỳ vọng µ và phương sai σ2 thì do đặc trưng hàm lũy thừa, đồ thị P(x) tràn ra và lệch sang phía bên phải.
k=-5:step:5; % khoang xet tu -5 den 5 cach deu 0.1
Px=hist(x,k)/len/step; % Xac dinh so vector
stem(k,Px,'o-'); % Ve do thi roi rac cua Px mo phong
Px_LT=exp(-k.^2/2)/sqrt(2*pi); % Tinh Px ly thuyet
hold on;
plot(k,Px_LT); % Ve do thi Px ly thuyet
title('Phan bo xac suat Gauss');
xlabel('x');
ylabel('P(x)');
legend('Ly thuyet','Mo phong');
hold off;
Trang 5Kết quả:
Trang 6Với len=1000000
Kết quả:
Q4 Nêu nhận xét về kết quả của hai hàm mô phỏng và lý thuyết?
TL: Hàm mô phỏng tương đồng với tính toán lý thuyết.
Q5 Thay đổi độ dài của quá trình ngẫu nhiên trong bài tập 1.2 lên 1000000 phần tử.
So sánh kết quả với kết quả cũ? Giải thích?
TL: Hàm mô phỏng mịn hơn, do hàm phân phối mô tả quá trình ngẫu nhiên nên
càng nhiều phép thử thì càng chính xác.
Q6 Câu lệnh “ Px=hist(x,k)/len/step; ” ? Tại sao phải chia len và step ?
TL: Chia cho len là để tạo đường nét liền Chia cho step để tăng độ dài mỗi phần tử.
Trang 7BÀI SỐ 4: MẬT ĐỘ PHỔ NĂNG LƯỢNG VÀ HÀM TỰ TƯƠNG QUAN CỦA TÍN HIỆU
Bài 4.1
Chạy chương trình:
L = 500; % Chieu dai tin hieu
x = randn(1,L); % Tao tin hieu ngau nhien
acorr_x = xcorr(x); % Tinh ham tu tuong quan
n = (-L+1):(L-1); % Cac mau gia tri
plot(n,acorr_x); % Ve do thi ham tu tuong quan tin hieu ngau nhien
title('Ham tu tuong quan');
xlabel('n');
ylabel('r_x_x');
hold on;
x = linspace(-1,1,L); % Tao tin hieu co bien do tang dan
acorr_x = xcorr(x); % Tinh ham tu tuong quan
plot(n,acorr_x,'k'); % Ve do thi ham tu tuong quan tin hieu co bien
do tang dan
x = sin(linspace(-10,10,L)); % Tao tin hieu hinh sin
acorr_x = xcorr(x); % Tinh ham tu tuong quan
plot(n,acorr_x,'r'); % Ve do thi ham tu tuong quan tin hieu hinh sin
legend('Ngau nhien','Bien do tang dan','Hinh sin')
hold off;
grid on;
Kết quả:
Trang 8Q21 Đồ thị của hàm tự tương quan trong trường hợp tổng quát luôn có đặc điểm gì đặc biệt? Tại sao?
TL: Đồ thị hàm Rx đối xứng qua trục tung do Rx(n) = Rx(-n) ( hàm chẵn)
Q22 Giá trị cực đại của hàm tự tương quan luôn nằm ở đâu? Tại sao?
TL: Giá trị cực đại luôn nằm ở gốc tọa độ do cách tính tổng chập
Q23 So sánh hàm tự tương quan của các trường hợp tín hiệu khác nhau như yêu cầu của bài thí nghiệm trên?
TL: Các hàm tương quan đều với giá trị cực đại tại gốc tọa độ và đối xứng nhau
qua trục tung.
Bài 4.2
Chạy chương trình:
L = 50; % Do dai tin hieu
N = 200; % So luong cac tan so roi rac trong khoang 0 den 2*pi
x = rand(1,L); % Tao tin hieu ngau nhien
w = linspace(0,2*pi,N); % Tao N tan so tang dan tu 0 den 2*pi
fx = freqz(x,1,w); % Bien doi Fourier cua x tai cac tan so roi rac
esd_x = fx.*conj(fx); % Tinh ham mat do pho nang luong
acorr_x = xcorr(x); % Tinh ham tu tuong quan cua tin hieu x
ft_acorr_x = freqz(acorr_x,1,w).*exp(j*w*(L-1)); % Bien doi Fourier cua ham tu tuong quan cua tin hieu x
Trang 9Kết quả:
Q24 Phổ biên độ rời rạc của tín hiệu có đặc điểm gì? Giải thích?
TL: Đối xứng nhau đi qua n=1 tín hiệu đưa về dạng hình sin.
Q25 So sánh đồ thị phổ biên độ của esd_x và ft_acorr_x.
TL: Hai đồ thị phổ biên độ tương tự nhau.
Q26 Giải thích tại sao khi vẽ đồ thị với cách 1 trục hoành là w/pi và cách 2 trục hoành
là k*2/N?
TL: Do sử dụng biến đổi cho tín hiệu khác nhau giữ 2 miền FT và DFT.
Q27 Phải chọn N tối thiểu là bao nhiêu để kết quả mô phỏng chính xác? Tại sao?
TL: Dựa vào định lý Nyquist, ta sẽ chọn N≥100.
Q28 Ý nghĩa và ứng dụng của định lý Weiner-Khintchine trong thông tin số?
TL: Phổ của hàm tương quan là hàm mật độ phổ năng lượng của tín hiệu số thể
hiện phân bố năng lượng.
Trang 10BÀI SỐ 5: MÃ ĐƯỜNG DÂY NRZ
Bài 5.1
Chạy chương trình:
len = 100000; % Do dai dong bit mo phong
SNR_db = 0:2:8; % Tao vector SNR_db = 0 2 4 6 8
SNR = 10.^(SNR_db/10); % Doi SNR tu Decibel sang lan
bsignal = randi([0 1],1,len); % Dong bit ngau nhiên do dai len
NRZ_signal = bsignal*2-1; % Bien doi dòng bit 0 1 sang -1 1
N0 = 1./SNR; % Cong suat tap am
for i=1:length(SNR_db)
noise = sqrt(N0(i))*randn(1,len); % Tao tap am noise voi ti so SNR(i)
r_signal = NRZ_signal + noise; % Tin hieu thu duoc = NRZ + noise
NRZ_decoded = sign(r_signal); % Giai ma tin hieu NRZ thu duoc
[n,BER(i)] = symerr(NRZ_decoded,NRZ_signal); % Tinh xac suat loi
Trang 11Bài 5.2
Chạy chương trình:
len = 100000; % Do dai dong bit mo phong
SNR_db = 0:2:8; % Tao vector SNR_db = 0 2 4 6 8
SNR = 10.^(SNR_db/10); % Doi SNR tu Decibel sang lan
bsignal = randi([0 1],1,len); % Dong bit ngau nhiên do dai len
NRZ_signal = bsignal*2-1; % Bien doi dòng bit 0 1 sang -1 1
N0 = 1./SNR; % Cong suat tap am
for i=1:length(SNR_db)
noise = sqrt(N0(i))*randn(1,len); % Tao tap am noise voi ti so SNR(i)
r_signal = NRZ_signal + noise; % Tin hieu thu duoc = NRZ + noise
NRZ_decoded = sign(r_signal); % Giai ma tin hieu NRZ thu duoc
[n,BER(i)] = symerr(NRZ_decoded,NRZ_signal); % Tinh xac suat loi
end
plot(SNR_db,BER,'r*'); % Ve do thi BER
Pe = 1/2*(1-erf(sqrt(SNR)/sqrt(2))); % Xac suat loi theo ly thuyet
Trang 12SNR 0dB 2dB 4dB 6dB 8dB
Pe lý thuyết 0.1587 0.1040 0.0565 0.0230 0.0060 BER mô phỏng 0.1594 0.1099 0.0553 0.0231 0.0061
Q29 Giải thích tại sao phải sử dụng các mã đường dây? Mã đường được sử dụng trong những trường hợp nào?
TL:
Tạo dạng phổ thích hợp.
Giúp bên thu dễ khôi phục xung clock.
Cung cấp khả năng giám sát lỗi.
Áp dụng đường truyền hữu tuyến
Q30 Khi tỷ số SNR tăng thì xác suất lỗi thay đổi như thế nào? Giải thích? So sánh với kết quả trên đồ thị?
TL: Khi SNR tăng => Xác suất lỗi giảm.
Kết quả trên đồ thị phù hợp với lý thuyết.
Q31 Nếu giải mã tín hiệu NRZ bằng lệnh “ NRZ_decoded = sign(r_signal); ”
như hướng dẫn ở trên sẽ có một số trường hợp không chính xác, là những trường hợp nào? Tại sao?
TL: Bởi vì có 2 loại mã đơn cực và phân cực nên trường hợp không có dấu là
chưa chính xác.
Q32 Nhận xét kết quả mô phỏng, so sánh giữa các giá trị BER tính bằng mô phỏng và xác suất lỗi Pe tính bằng lý thuyết Từ đó rút ra kết luận gì?
TL: Pe lý thuyết và BER mô phỏng có kết quả tương tự nhau.
-> Khi SNR tăng -> Tỉ lệ lỗi bit giảm.
Trang 13BÀI SỐ 6: KỸ THUẬT ĐIỀU CHẾ SỐ QPSK
Bài 6.1
Chạy chương trình:
len = 50000; % Do dai dong bit mo phong
SNR_db = 6; % SNR co don vi Decibel
SNR = 10^(SNR_db/10); % Doi SNR tu Decibel sang lan
bsignal = randi([0 1],1,len); % Tao dong bit ngau nhien do dai len
% Thuc hien dieu che QPSK
Es = std(qpsk_signal)^2; % Nang luong ky hieu
N0 = Es/SNR; % Cong suat tap am
% Tao nhieu Gauss
Trang 14SNR = 10^(SNR_db/10); % Doi SNR tu Decibel sang lan
bsignal = randi([0 1],1,len); % Tao dong bit ngau nhien do dai len
% Thuc hien dieu che QPSK
Trang 15end
end
Es = std(qpsk_signal)^2; % Nang luong ky hieu
N0 = Es/SNR; % Cong suat tap am
% Tao nhieu Gauss
Trang 16Bài 6.3
Chạy chương trình:
len = 50000; % Do dai dong bit mo phong
SNR_db = 0; % SNR co don vi Decibel
SNR = 10^(SNR_db/10); % Doi SNR tu Decibel sang lan
bsignal = randi([0 1],1,len); % Tao dong bit ngau nhien do dai len
% Thuc hien dieu che QPSK
Es = std(qpsk_signal)^2; % Nang luong ky hieu
N0 = Es/SNR; % Cong suat tap am
% Tao nhieu Gauss
Noise = sqrt(N0/2)* (randn(1,length(qpsk_signal))
+j*randn(1,length(qpsk_signal)));
qpsk_awgn = qpsk_signal + noise; % Cho tin hieu dieu che di qua kenh AWGN
plot(qpsk_awgn,'.'); % Ve bieu do chom sao tin hieu co nhieu
title('Do thi chom sao khong nhieu va co nhieu voi SNR=0dB');
Trang 17Kết quả:
Q33 Điều chế tín hiệu để làm gì? Tại sao phải điều chế số? Nêu vai trò và chức năng của khối điều chế trong thông tin số?
TL: Để chuyển tín hiệu từ bang cơ sở lên bang thông dải với xác suất lỗi nhỏ nhất
và tốc độ kênh tuyền dẫn cao nhất.
Q34 Mô tả và nhận xét kết quả mô phỏng?
TL: Kết quả thu được dạng đám mây bao quanh chòm sao.
Q35 Trong điều chế PSK, khi nào phía thu sẽ giải mã sai?
TL: Khi mạch khôi phục sóng mang khôi phục tín hiệu kết hợp không cùng tần số
và pha với sóng mang.
Q36 Năng lượng ký hiệu Es và năng lượng bit Eb trong trường hợp trên là bao
nhiêu?
Trang 18TL: Es = 1dB ; Eb = Es/2 = 0.5dB
Trang 19BÀI SỐ 7: XÁC SUẤT LỖI BIT TRONG ĐIỀU CHẾ QPSK
Chạy chương trình:
len = 50000; % Do dai dong bit mo phong
SNR_db = 0:2:8; % Tao vector SNR_db = 0 2 4 6 8
SNR = 10.^(SNR_db/10); % Doi SNR tu Decibel sang lan
bsignal = randi([0 1],1,len); % Tao dong bit ngau nhien do dai len
% Thuc hien dieu che QPSK
Pb = 1/2*erfc(1/sqrt(2).*sqrt(SNR)); % Xac suat loi bit
plot(SNR_db,Pb,'rx '); % Ve do thi Pb ly thuyet
title('Do thi ty le bit loi ly thuyet va mo phong');
xlabel('SNR_d_B');
ylabel('BER');
hold on;
Trang 20Q37 So sánh điều chế BPSK và QPSK?
TL: Xác suất lỗi bit trong điều chế BPSK và QPSK là tương đương nhau, tuy
nhiên BPSK có tỉ lệ lỗi bit thấp hơn.
Trang 21BÀI SỐ 8: MÔ PHỎNG ĐIỀU CHẾ M-QAM QUA KÊNH NHIỄU GAUSS
for k = 1:size(M,2) % size(M,2) la so cot cua M
s_stream = randi([0 M(k)-1],1,n_sym); % Tao dong bieu tuong do dain_sym
s_mod = qammod(s_stream,M(k),'GRAY'); % Dieu che M-QAM
for r = 1:size(SNR_db,2) % Vong lap tinh BER
s_mod_awgn = awgn(s_mod,SNR_db(r),'measured'); % Tin hieu qua nhieu
s_demod = qamdemod(s_mod_awgn,M(k),'GRAY'); % Giai dieu che QAM
[num, ratio] = biterr(s_stream,s_demod); % Tinh ti le loi bit
BER(k,r) = ratio; % Luu ti le loi bit vao BER
title('Do thi the hien ty le va xac suat loi bit M-QAM');
xlabel('SNR_d_B and EbN0');
ylabel('BER');
BER','256-QAM-Pe');
legend('16-QAM-BER','16-QAM-Pe','64-QAM-BER','64-QAM-Pe','256-QAM-hold off;
Trang 22BER 0.3600 0.2621 0.1516 0.0645 0.0085 3.0000e-05
Pe 0.3599 0.2625 0.1525 0.0642 0.0085 3.0401e-05 256- BER 0.3940 0.3236 0.2366 0.1417 0.0654 0.0129
Trang 23Q39 Khi số mức điều chế M tăng thì BER thay đổi ra sao? Giải thích?
TL: Khi M tăng thì BER tăng vì số mức điều chế khiến tỉ lệ lỗi bit tăng.
Q40 Số mức điều chế M tăng lên cao thì sẽ có ưu nhược điểm gì? M có thể tăng lên rất lớn không? Tại sao? Để đảm bảo chất lượng truyền dẫn thì khi M tăng hệ thống phải thay đổi như thế nào?
TL: M tăng giúp tốc độ bit tăng lên nhưng cũng khiến tỉ lệ lỗi bit tăng theo.
M tăng có giá trị giới hạn thì vì công suất phát không thể tăng lên vô hạn.