Khi độ dài vecto ngẫu nhiên là 1.000.000 phần tửTrả lời câu hỏi:Q1.- kỳ vọng: phản ánh giá trị trọng tâm của phân phối xác suất- phương sai: phản ánh mức độ phân tán của giá trị BNNQ2.-
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
THÔNG TIN SỐ
Sinh viên: Nguyễn Huy Đức
Hà Nội, 10 – 2021
Trang 2BÀI SỐ 1: MÔ PHỎNG NHIỄU GAUSS Bài 1.1
Code:
x=-5:0.1:5;
Px=1/(sqrt(2*pi))*exp(-x.^2/2);
plot(x,Px);
title('Ham phan bo xac suat Gauss');
xlabel('x');
ylabel('P(x)');
Đồ thị kết quả:
Bài 1.2
Code:
len=100000; % Do dai cua qua trinh ngau nhien
x=randn(1,len); % Tao qua trinh ngau nhien theo phan phoi chuan
step=0.1; % step = 0.1
k=-5:step:5; % khoang xet tu -5 den 5 cach deu 0.1
Trang 3Px_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;
Đồ thị kết quả:
Trang 4Khi độ dài vecto ngẫu nhiên là 1.000.000 phần tử
Trả lời câu hỏi:
Q1.
- kỳ vọng: phản ánh giá trị trọng tâm của phân phối xác suất
- phương sai: phản ánh mức độ phân tán của giá trị BNN
Q2.
- Đồ thị của P(x) có dạng phổ dương đó là trong (-5.; 0) và (0; 5)
, hàm P(x) đều biểu thị cho hàm số lũy thừa cơ sở tự nhiên e.
Q3.
- Hàm phân phối xác suất gauss trong thong tin số cho biết mật độ phân bố tập trung của thông tin trong 1 khoảng giá trị xác định
Q4.
- Nếu tăng kỳ vọng và phương sai thì đồ thị của P(x) lệch sang bên phải Đó là đặc trưng của hàm lũy thừa
Q5
- Kết quả của 2 hàm mô phỏng và lý thuyết khá giống nhau
Trang 5- Kêt quả mới chính xác hơn so với kết quả cũ vì tăng độ dài của quá trình ngẫu nhiên -> càng chính xác
Q7.
- Chưa cho lên là để tục đường nét liền, chia cho step để tăng độ dài cho mỗi phần tử Q8.
- Độ dài của quá trình ngẫu nhiên dùng trong mô phỏng càng lớn thì càng chính xác
BÀI SỐ 2: KỸ THUẬT LƯỢNG TỬ HÓA TUYẾN TÍNH
Hàm lquan.m
function [id qy]= lquan(x,xmin,xmax,nbit)
nlevel = 2^nbit; % So muc luong tu hoa
q = (xmax-xmin)/nlevel; % Buoc luong tu
[id qy] = quantiz(x,xmin+q:q:xmax-q,xmin+q/2:q:xmax-q/2);
Bài 2.1
Code:
xs = rand(1,5)*2-1;
[xi xq] = lquan(xs,-1,1,3)
Kết quả:
xs = [ 0.6294,0.8116,-0.7460,0.8268,0.2647]
xi = [ 4 , 4 , 6 , 1 , 3 ]
xq = [ 0.1250, 0.1250, 0.6250, -0.6250, -0.1250]
Dòng bit được truyền (15 bit) = 110 111 001 111 101
Bài 2.2
Code:
t = 0:.01:20;
xt = sin(randn()+t).*cos(rand()*t);
[inx xqt] = lquan(xt,-1,1,randi(3)+1);
plot(t,xt,'b',t,xqt,'r');
grid on;
xlabel('t');
ylabel('x(t)');
legend('xt' 'xqt', );
Đồ thị kết quả:
Trang 6Số bit mã hóa: 4 bit
Bước lượng tử: 0.125
Các mức lượng tử: -0.9375 -0.8125 -0.6875 -0.5625 -0.4375 -0.3125 -0.1875 -0.0625
0.0625 0.1875 0.3125 0.4375 0.5625 0.6875 0.8125 0.9375
BÀI SỐ 3: TẠP ÂM LƯỢNG TỬ TRONG KỸ THUẬT
LƯỢNG TỬ HÓA TUYẾN TÍNH
Bài 3:
Code:
N = 1000;
x_uni = 2*rand(1,N)-1;
x_sin = sin(linspace(1,5,N));
Trang 7SNqR_sin = zeros(size(nbit));
SNqR_lt = 6.02*nbit;
Ps_uni = sum((x_uni).^2)/N;
Ps_sin = sum((x_sin).^2)/N;
for i=1:size(nbit,2)
[iuni , xq_uni] = lquan(x_uni,-1,1,nbit(i));
[isin , xq_sin] = lquan(x_sin,-1,1,nbit(i));
eq_uni = x_uni - xq_uni;
eq_sin = x_sin - xq_sin;
Pq_uni = sum(eq_uni.^2)/N;
Pq_sin = sum(eq_sin.^2)/N;
SNqR_uni(i) = 10*log10(Ps_uni/Pq_uni);
SNqR_sin(i) = 10*log10(Ps_sin/Pq_sin);
end
plot(nbit,SNqR_lt,'Color' 'b' 'LineWidth', , ,4);
hold on;
plot(nbit,SNqR_uni,'Color' 'g' 'LineWidth', , ,2);
hold on;
plot(nbit,SNqR_sin,'Color' 'r' 'LineWidth', , ,2);
hold off;
legend('Ly thuyet' 'Mo phong ngau nhien' 'Mo phong dieu hoa', , ); title('Do thi SNqR mo phong va ly thuyet');
xlabel('n');
ylabel('SNqR');
Đồ thị kết quả:
Trang 8SNqR_lt = [ 6.0200 12.0400 18.0600 24.0800 30.1000 36.1200
42.1400 48.1600 54.1800 60.2000 ]
SNqR_uni = [5.9693 11.8366 17.6943 23.7513 29.8511 35.9313
41.8834 48.1087 54.0925 60.0313 ]
SNqR_sin = [6.4171 12.8834 19.3981 25.6702 32.0389 38.1620
44.3266 50.4033 56.4544 62.5722]
BÀ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
Code:
L = 500;
x = randn(1,L);
Trang 9xlabel('n');
ylabel('r_x_x');
hold on;
x2 = linspace(-1,1,L);
plot(n,xcorr(x2),'b ' 'LineWidth', ,2);
hold on;
x3 = sin(linspace(-10,10,L));
plot(n,xcorr(x3),'r*');
legend('Ngau nhien' 'Bien do tang dan' 'Hinh sin', , ); title('Do thi ham tu tuong quan cua tin hieu'); hold off;
Đồ thị kết quả:
Bài 4.2
Code:
L = 50;
x = randn(1,50);
N = 200;
k = 0:N-1;
w = linspace(0,2*pi,N);
fx = fft(x,N);
ft_acorr_x = fft(xcorr(x),N).*exp(1i*2*pi/N*k*(L-1)); esd_x = abs(fx).^2;
Trang 10title('Mat do pho nang luong cua tin hieu');
xlabel('\omega');
ylabel('S(e^j^\omega)')
subplot(212);
semilogy(k*2/N,real(ft_acorr_x),'r');
title('Pho cua ham tu tuong quan');
xlabel('\omega');
ylabel('R_x_x(e^j^\omega)');
Đồ thị kết quả:
Trả lời câu hỏi:
Q21.
- đồ thị của hàm tự tương quan có đặc điểm là biến đổi tăng đều Q22.
- Gía trị cực đại của hàm tự tương quan nằm trong khoảng
Q23.
- Hàm tự tương quan trong các trường hợp khác nhau
Q24.
- Phổ rời rạc của tín hiệu có đặc điểm biến đổi liên tục ở bên miền tần số
Trang 11- đồ thị phổ biên độ có esd_x có biên độ đều.
- Đồ thị phổ biên độ của ft_acorr_x có biên độ tăng dần
Q28.
- Phổ tần số của hàm tự tương quan chính là hàm mật độ phổ năng lượng của tín hiệu tần số
BÀI SỐ 5: MÃ ĐƯỜNG DÂY NRZ Bài 5
Code:
len = 100000;
SNR_db = 0:2:8;
SNR = 10.^(SNR_db/10);
N0 = 1./SNR;
bsignal = randi([0,1],1,len);
NRZ_signal = bsignal*2-1;
for i=1:length(SNR_db)
%noise = awgn(NRZ_signal,SNR_db(i));
noise = sqrt(N0(i))*randn(1,len);
r_signal = NRZ_signal + noise;
NRZ_decoded = sign(r_signal);
[numerrs,BER(i)] = symerr(NRZ_decoded, NRZ_signal);
end
Pe = 1/2*erfc(sqrt(SNR)/sqrt(2));
plot(SNR_db,BER,'bo ' 'LineWidth', ,2);
hold on;
plot(SNR_db,Pe,'r* ' 'LineWidth', ,2);
legend('BER Mo phong' 'BER Ly thuyet', );
xlabel('SNR_d_B');
ylabel('BER');
title('Ty le loi bit mo phong va ly thuyet cua phuong phap ma hoa NRZ');
Đồ thị kết quả:
Trang 12Pe lý thuyết: [0.1587 0.1040 0.0565 0.0230 0.0060] BER mô phỏng: [0.1590 0.1035 0.0566 0.0231 0.0058]
Q29.
- Chuyển phổ tín hiệu băng gốc miền tần số cao hơn để lọt vào băng thông đường dây, tăng mật độ chuyển đổi tích cực của tín hiệu
Có khả năng kiểm soát lỗi
Trang 13- Khi SNR tăng thì xác suất lỗi giảm do tỉ lệ nghịch với nhau, kết quả trên phù hợp với
lý thuyết
Q31
- Đó là trường hợp không mang dấu bởi vì tín hiệu có hai loại là NRZ unipolar và bipolar
Q32.
- Nhận xét kết quả: kết quả thu được chính lệch nhau ít khi SNR tăng dần lên
BÀI SỐ 6: KỸ THUẬT ĐIỀU CHẾ SỐ QPSK
Bài 6
Code:
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
for i=1:2:len
if bsignal(i)==0 & bsignal(i+1)==0 % 00
qpsk_signal((i+1)/2) = exp(j*3*pi/4);
elseif bsignal(i)==0 & bsignal(i+1)==1 % 01
qpsk_signal((i+1)/2) = exp(j*5*pi/4);
elseif bsignal(i)==1 & bsignal(i+1)==1 % 11
qpsk_signal((i+1)/2) = exp(j*7*pi/4);
elseif bsignal(i)==1 & bsignal(i+1)==0 % 10
qpsk_signal((i+1)/2) = exp(j*pi/4);
end
end
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 4-QPSK');
Trang 14hold on;
plot(qpsk_signal,'r*'); % Ve bieu do chom sao tin hieu khong nhieu plot(exp(j*[0:0.01:2*pi]),'r ');
Đồ thị kết quả:
+ Trường hợp SNR = 0 dB
+ Trường hợp SNR = 3 dB
Trang 15+ Trường hợp SNR = 6 dB
Trả lời câu hỏi:
Q33.
- Điều chế tín hiệu để mang thông tin cần truyền đi xa, phù hợp với băng thông cần truyền, điều chế đóng vai trog trung gian quan trọng trong quá trình xử lý tín hiệu số Q34.
- Kết quả mô phỏng: tín hiệu được có dạng các đám mây bao quanh các điểm của chòm sao
Q35.
- Đám mây có xu hướng bao sát hơn các đỉnh của chòm sao
BÀI SỐ 7: XÁC SUẤT LỖI BIT TRONG ĐIỀU CHẾ QPSK
Bài 7
Code:
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
Trang 16if bsignal(i)==0 & bsignal(i+1)==0 % 00
qpsk_signal((i+1)/2) = exp(j*3*pi/4);
elseif bsignal(i)==0 & bsignal(i+1)==1 % 01
qpsk_signal((i+1)/2) = exp(j*5*pi/4);
elseif bsignal(i)==1 & bsignal(i+1)==1 % 11
qpsk_signal((i+1)/2) = exp(j*7*pi/4);
elseif bsignal(i)==1 & bsignal(i+1)==0 % 10
qpsk_signal((i+1)/2) = exp(j*pi/4);
end
end
% 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
if imag(r_signal((j+1)/2))>=0 % Goc phan tu I
r_bsignal(j) = 1;
r_bsignal(j+1) = 0;
else % Goc phan tu IV
r_bsignal(j) = 1;
r_bsignal(j+1) = 1;
end
else
if imag(r_signal((j+1)/2))>=0 % Goc phan tu II
r_bsignal(j) = 0;
r_bsignal(j+1) = 0;
else % Goc phan tu III
r_bsignal(j) = 0;
r_bsignal(j+1) = 1;
end
end
end
[n,BER(i)] = biterr(r_bsignal,bsignal);
end
Pb = 1/2*erfc(1/sqrt(2).*sqrt(SNR)); % Xac suat loi bit
plot(SNR_db,Pb,'ro '); % Ve do thi Pb ly thuyet
title('Do thi ty le bit loi ly thuyet va mo phong');
Trang 17hold on;
plot(SNR_db,BER); % Ve do thi BER mo phong
legend('Ly thuyet' 'Mo phong', );
hold off;
Đồ thị kết quả:
Pb lý thuyết: [0.1587 0.1040 0.0565 0.0230 0.0060] BER mô phỏng: [0.1589 0.1025 0.0567 0.0224 0.0061]
Q37.
- Xác suất lỗi bit trong điều chế BPSK va QPSK là giống nhau, các QPSK có số chi tiết của mẫu khi so sánh với BPSK có tỷ lệ lỗi thấp
Trang 18BÀI SỐ 8: MÔ PHỎNG ĐIỀU CHẾ M-QAM QUA KÊNH NHIỄU GAUSS Bài 8.1
Chạy chương trình:
n_sym = 50000; % So ky tu dieu che
M = [16 32 64]; % So symbol ky hieu
SNR_db = 0:25; % Tao vector SNR = 0 - 25 Decibel
BER = zeros(length(M),length(SNR_db)); % BER de luu ti le loi bit 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 dai n_sym
s_mod = qammod(s_stream,M(k),0,'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),0,'GRAY'); % Giai dieu che M-QAM [num ratio] = biterr(s_stream,s_demod); % Tinh ti le loi bit BER(k,r) = ratio; % Luu ti le loi bit vao BER
end
end
semilogy(SNR_db,BER(1,:),'bo-'); % Ve do thi BER ung voi M = 16 hold on;
semilogy(SNR_db,BER(2,:),'rs-'); % Ve do thi BER ung voi M = 32 semilogy(SNR_db,BER(3,:),'m*-'); % Ve do thi BER ung voi M = 64 grid on;
title('Do thi the hien ty le loi bit M-QAM');
xlabel('SNR_d_B');
ylabel('BER');
legend('16-QAM' '32-QAM' '64-QAM', , );
hold off;
Đồ thị kết quả:
Trang 190db 5db 10db 15db 20db 25db 16-qam 0.2873 0.1650 0.0592 0.0045 0.0000 0.0000 32-qam 0.3309 0.2226 0.1174 0.0286 0.0005 0.0000 64-qam 0.3602 0.2629 0.1525 0.0645 0.0085 0.0001
Trả lời câu hỏi:
Q40.
- số mức điều chế M tăng lên cao sẽ giảm được tỷ lệ lỗi bit Tuy nhiên nếu tăng lên cao thì không có khả năng khôi phục
- Uư điển: giảm được lỗi bit, tăng đốc độ truyền và tăng hiệu suất phổ
- Có các ưu điểm của FSK là thiết bị đơng giản, đường bao tín hiệu không đổi tuy nhiên rất khó ổn định về mặt pha.
Ứng dụng: vi ba, hệ thống thông tin di động CDMA