TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘIVIỆN ĐIỆN TỬ - VIỄN THÔNG BÁO CÁO THÍ NGHIỆM MÔN: THÔNG TIN SỐ Sinh viên : Nguyễn Trung Kiên... PHẦN 2: CÁC BÀI THÍ NGHIỆM BÀI SỐ 1: QUÁ TRÌNH NGẪU NHIÊN C
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
MÔN: THÔNG TIN SỐ
Sinh viên : Nguyễn Trung Kiên
Trang 2PHẦN 2: CÁC BÀI THÍ NGHIỆM BÀI SỐ 1: QUÁ TRÌNH NGẪU NHIÊN CỦATÍN HIỆU
Trang 3download by : skknchat@gmail.com
Trang 5Bài 1.2
Chạy chương trình:
len=100000; % Do dai cua qua trinh ngau nhien
x=randn(1, len); % Tao qua trinh ngau nhien theo phan phoichuan
k=-5: step:5; % khoang xet tu -5 den 5 cach deu 0.1Px=hist (x, k)/len/step; % Xac dinh so vector trong cackhoang duoc cho boi k
stem (k, Px); % 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');
Trang 7BÀI SỐ 2: LƯỢNG TỬ HÓA TUYẾN TÍNH
Lý thuyết:
Hàm lquan
function [indx qy] = lquan(x,xmin,xmax,nbit)
nlevel = 2^nbit; % So muc luong tu hoa
q = (xmax-xmin)/nlevel; % Buoc luong tu
[indx qy] = quantiz(x, xmin+q:q:xmax-q,xmin+q/2:q:xmax-q/2);
Trang 8-BÀI SỐ 3: TẠP ÂM LƯỢNG TỬ HÓA TRONG KỸ THUẬT
LƯỢNG TỬ HÓA TUYẾN TÍNH Bài 3:
Trang 9Chạy chương trình:
N = 1000;
x_uni = 2*rand(1,N)-1; % x_uni phan bo deu tu -1
den 1
x_sin = sin(linspace(1,5,N)); % tin hieu sin
[indx_uni xq_uni] = lquan(x_uni,-1,1,nbit(i)); % Luong
tu hoa tin hieu x_uni
[indx_sin xq_sin] = lquan(x_sin,-1,1,nbit(i)); % Luong
tu hoa tin hieu x_sin
eq_uni = x_uni - xq_uni; % tinh sai so luong tu
legend('Phan bo deu','Hinh sin','Ly
thuyet'); grid on;
hold off;
Kết quả:
8
Trang 10download by : skknchat@gmail.com
Trang 11nbit 1 2 3 4 5 6 7 8 9 10SNqR 6.0200 12.0400 18.0600 24.0800 30.1000 36.1200 42.1400 48.1600 54.1800 60.2000lt
SNqR 6.0359 11.9612 18.0575 23.9370 30.1242 35.9460 41.9359 47.8664 54.0242 60.0546uni
SNqR 6.4171 12.8834 19.3981 25.6702 32.0389 38.1620 44.3266 50.4033 56.4544 62.5722sin
Câu hỏi:
9
download by : skknchat@gmail.com
Trang 13download by : skknchat@gmail.com
Trang 14BÀ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 hieungau nhien
title('Ham tu tuong quan');
Trang 16N = 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 tinhieu 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
% Ve do thi subplot(2,1,1); semilogy(w/pi,esd_x);
title(' Mat do pho nang luong
Trang 17Câu hỏi:
15
download by : skknchat@gmail.com
Trang 18BÀI SỐ 5: MÃ ĐƯỜNG DÂY NRZ Bài 5
Chạy chương trình:
SNR_db = 0:2:8; % Tao vector SNR_db = 0 2 4 6 8SNR = 10.^(SNR_db/10); % Doi SNR tu Decibel sang lanbsignal = randi([0 1],1,len); % Dong bit ngau nhiên do dailen
NRZ_signal = bsignal*2-1; % Bien doi dòng bit 0 1 sang -11
plot(SNR_db,BER,'bo '); % Ve do thi BER
Pe = 1/2*(1-erf(sqrt(SNR)/sqrt(2))); % Xac suat loi theo
Trang 19SNR 0dB 2dB 4dB 6dB 8dB
Pe Lý thuyết 0.1587 0.1040 0.0565 0.0230 0.0060BER mô phỏng 0.1581 0.1039 0.0561 0.0227 0.0063
Câu hỏi:
17
download by : skknchat@gmail.com
Trang 21download by : skknchat@gmail.com
Trang 22BÀI SỐ 6: KỸ THUẬT ĐIỀU CHẾ SỐ QPSK
% Thuc hien dieu che QPSK
Es = std(qpsk_signal)^2; % Nang luong ky hieu
% Tao nhieu Gauss
plot(qpsk_signal,'r*'); % Ve bieu do chom sao tin
hieu khong nhieu
plot(exp(j*[0:0.01:2*pi]),'r ');
Trang 24Câu hỏi:
Trang 25BÀI SỐ 7: XÁC SUẤT LỖI BIT TRONG ĐIỀU CHẾ QPSK
Bài 7
Chạy chương trình:
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 dodai len
% Thuc hien dieu che QPSK for i=1:2:len
% Tim BER mo phong
for i=1:length(SNR_db)
r_signal = awgn(qpsk_signal,SNR_db(i)); % Dieu che QPSK
di qua nhieu AWGN
for j=1:2:len % Giai dieu che tin hieu QPSK co nhieu
if real(r_signal((j+1)/2))>=0
23
download by : skknchat@gmail.com
Trang 26if imag(r_signal((j+1)/2))>=0 % Goc phan tu Ir_bsignal(j) = 1;
if imag(r_signal((j+1)/2))>=0 % Goc phan tu IIr_bsignal(j) = 0;
Trang 27SNR 0dB 2dB 4dB 6dB 8dB
Pb Lý thuyết 0.1587 0.1040 0.0565 0.0230 0.0060BER mô phỏng 0.1567 0.1073 0.0556 0.0234 0.0065
Câu hỏi:
25
download by : skknchat@gmail.com
Trang 28BÀI SỐ 8: MÔ PHỎNG ĐIỀU CHẾ M-QAM QUA KÊNH
SNR_db = 0:25; % Tao vector SNR = 0 - 25 Decibel
BER = zeros(length(M),length(SNR_db)); % BER de luu ti le
loi bit
EbN0 =SNR_db;
Pe= BER;
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 bieutuong do dai n_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 M-QAM
[num ,ratio] = biterr(s_stream,s_demod); % Tinh ti
Trang 29Kết quả:
27
download by : skknchat@gmail.com
Trang 30SNR=0dB SNR=5dB SNR=10dB SNR=15dB SNR=20dB SNR=25dB
16-BER:0.2875 0.1646 0.0594 0.0047 0.0000 0QAM
Pe : 0.1190 0.1024 0.0743 0.0328 0.0018 0.0000
64- BER:0.3602 0.2620 0.1528 0.0640 0.0084 0QAM
Pe : 0.1779 0.1615 0.1341 0.0901 0.0265 0.0000
256- BER:0.3962 0.3240 0.2375 0.1421 0.0649 0.0125QAM
Pe: 0.2361 0.2213 0.1945 0.1479 0.0786 0.0041
Câu hỏi:
Trang 31download by : skknchat@gmail.com