1. Trang chủ
  2. » Luận Văn - Báo Cáo

báo cáo thí nghiệm thông tin số

19 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Báo cáo thí nghiệm thông tin số: Mô phỏng nhiễu Gauss và Kỹ thuật lượng tử hóa tuyến tính
Tác giả Nguyễn Huy Đức
Trường học Trường Đại học Bách Khoa Hà Nội
Chuyên ngành Thông tin số
Thể loại Báo cáo thí nghiệm
Năm xuất bản 2021
Thành phố Hà Nội
Định dạng
Số trang 19
Dung lượng 2,67 MB

Nội dung

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 1

TRƯỜ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 2

BÀ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 3

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;

Đồ thị kết quả:

Trang 4

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ị 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 6

Số 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 7

SNqR_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 8

SNqR_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 9

xlabel('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 10

title('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 12

Pe 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 14

hold 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 16

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

% 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 17

hold 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 18

BÀ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 19

0db 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

Ngày đăng: 17/06/2024, 17:24

w