BÁO CÁO THÍ NGHIỆM THÔNG TIN SỐ

13
1 Báo cáo thí nghiệm thông tin số 2013 BÁO CÁO THÍ NGHIỆM THÔNG TIN SỐ Sinh viên thực hiện: Nguyễn Trung Dũng Ngày làm thí nghiệm: 29/ 03/ 2013 MSSV: 20101286 Ngày nộp báo cáo: 12/ 04/ 2013 Lớp: ĐT – VT 06 – K55 Bài Số 1. Quá trình ngẫu nhiên của tín hiệu 1.1. Đồ thị hàm phân bố xác suất Gauss Code step = 0.1; x= -5:step:5; px = (1/sqrt(2*pi))*exp(-x.^2/2); plot(x,px); % ve do thi xlabel('x'); % tieu de truc x ylabel('P(x)'); % tieu de truc y title('do thi phan bo xac suat Gauss'); % tieu de do thi Hình vẽ mô phỏng

description

Thí ngiệm; Thông tin số

Transcript of BÁO CÁO THÍ NGHIỆM THÔNG TIN SỐ

Page 1: BÁO CÁO THÍ NGHIỆM THÔNG TIN SỐ

1

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

BÁO CÁO THÍ NGHIỆM THÔNG TIN SỐ

Sinh viên thực hiện: Nguyễn Trung Dũng Ngày làm thí nghiệm: 29/ 03/ 2013MSSV: 20101286 Ngày nộp báo cáo: 12/ 04/ 2013Lớp: ĐT – VT 06 – K55

Bài Số 1. Quá trình ngẫu nhiên của tín hiệu

1.1. Đồ thị hàm phân bố xác suất Gauss

Code

step = 0.1;x= -5:step:5;px = (1/sqrt(2*pi))*exp(-x.^2/2);plot(x,px); % ve do thixlabel('x'); % tieu de truc xylabel('P(x)'); % tieu de truc ytitle('do thi phan bo xac suat Gauss'); % tieu de do thi

Hình vẽ mô phỏng

-5 -4 -3 -2 -1 0 1 2 3 4 50

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

x

P(x

)

do thi phan bo xac suat Gauss

1.2. Tạo một quá trình ngẫu nhiên

Page 2: BÁO CÁO THÍ NGHIỆM THÔNG TIN SỐ

2

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

Code

len=100000; % do dai cua qua trinh ngau nhieux=randn(1,len); % tao qua trinh ngau nhien theo phan phoi chuanstep=0.1; k=-5:step:5; % khoang xet tu -5 den 5 va co khoang cach la 0.1px=hist(x,k)/len/step; % ham phan bo xac suatstem(k,px); % do thi roi rac phan bopx_lythuyet=exp(-k.^2/2)/sqrt(2*pi); % ham tinhhold on; % giu do thi o laiplot(k,px_lythuyet,'r'); % ve do thi hamtitle('Phan bo xac suat Gauss'); % tieu de cua do thixlable('x'); % ten truc hoanhylable('y'); % tien truc tunglegend('mo phong', 'ly thuyet'); % ki hieuhold off;

Hình vẽ mô phỏng

-5 -4 -3 -2 -1 0 1 2 3 4 50

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

0.45Phan bo xac suat Gauss

x

y

ly thuyet

mo phong

Bài số 2. Mật độ phổ năng lượng và hàm tự tương quan của tín hiệu

2.1. Xây dựng hàm tự tương quan của quá trình ngẫu nhiên bài 1.2

Page 3: BÁO CÁO THÍ NGHIỆM THÔNG TIN SỐ

3

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

Code

x = randn(1,100); %tao vec to ngau nhien co 100 phan tuy = xcorr(x,x); %tinh ham tuong tu quan cua tin hieu xstem(y); %ve do thi cua ham tuong tu quantitle ('do thi ham tu tuong quan tin hieu x'); %dat ten tieu dexlabel ('n'); %truc xylabel ('xcorr_x'); %truc y

Hình mô phỏng

2.2. Hàm mật độ phổ năng lượng

Code

x=randn(1,100); %tao vec to x co 100 phan tuy=xcorr(x); %tinh ham tu tuong quan cua vec to xesd_x = (fft(x,1000)).^2 %tinh mat do pho nan luong cua vec to x. Chon n=1000ft_acorr_x = fft(y,1000); %tinh mat do pho cua ham tu tuong quanstem(esd_x);hold on;stem(ft_acorr_x,'r');title('ham mat do pho nang luong cua x va ham mat do pho tuong tu quan');xlabel('n');ylabel('fft(x,N');legend('nang luong', 'tu tuong quan');hold off;

Page 4: BÁO CÁO THÍ NGHIỆM THÔNG TIN SỐ

4

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

Hình mô phỏng

Bài số 3. Mã đường dây NRZ

3.1. Hệ thống truyền số dẫn băng tần cơ sở

Code

len = 10^5 ;bsignal = randint(1,len); % tao mot vecto len bit ngau nhienNRZ_signal = 2*bsignal-1; % dieu che BPSK, unoise = 1/sqrt(2)*[randn(1,len)]; % tao mot nhieu phuc GaussSNR_db = 0:2:8; % ti le tin hieu tren tap am [dB]for i = 1:length(SNR_db) NRZ_rsignal = NRZ_signal + 10^(-SNR_db(i)/20)*noise; % cong nhieu trang NRZ_decoded = sign(NRZ_rsignal)>0; % ki hieu thu duoc c(i) = nnz([bsignal- NRZ_decoded]); endBER = c/len;theoryBer = 0.5*erfc(sqrt(10.^(SNR_db/10))); % xac suut loi bit ly thuyetsave bpsk BER; % luu file de phuc vu Bai 3.2semilogy(SNR_db,BER,'b.-'); xlabel('SNR_db[dB]'); ylabel('BER'); title('ti le BER/SNR_db');

Page 5: BÁO CÁO THÍ NGHIỆM THÔNG TIN SỐ

5

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

Hình mô phỏng

3.2. So sánh với công thức lý thuyết

Code

SNR_db = 0:2:8;for i = 1:length(SNR_db) SNR(i)=10^(SNR_db(i)/10); p(i)=1/2*[1-erf(1/sqrt(2)*sqrt(SNR(i)))];endsemilogy(SNR_db,p,'b--');xlabel('SNR[dB]');ylabel('Pe');title('Do thi so sanh ly thuyet va mo phong');load bpsk BER;hold on;semilogy(SNR_db,BER,'r-');legend('Ly thuyet', 'Mo phong');hold off;

Hình mô phỏng

Page 6: BÁO CÁO THÍ NGHIỆM THÔNG TIN SỐ

6

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

Bài số 4. Điều chế QPSK

4.1. Biểu đồ chòm sao của tín hiệu điều chế QPSK và mã hóa theo mã Gray

Code

clear;x = randint(1,100000); % tao bien ngau nhieu 0 va 1plot(x);for i = 1:2:length(x) if x(i)== 0 & x(i+1) == 0 s((i+1)/2) = exp(j*pi/4); elseif x(i) == 0 & x(i+1) == 1 s((i+1)/2) = exp(j*3*pi/4); elseif x(i) == 1 & x(i+1) == 1 s((i+1)/2) = exp(j*5*pi/4); elseif x(i) == 1 & x(i+1) == 0 s((i+1)/2) = exp(j*7*pi/4); endend save ex5p1_res s x; % luu bai lai dung cho bai sau plot(s,'o');hold on; t = 0:0.01:2*pi;plot(exp(j*t),'r--');

Page 7: BÁO CÁO THÍ NGHIỆM THÔNG TIN SỐ

7

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

xlabel('\phi(t)');ylabel('S_m');title('Bieu do khong gian trang thai QPSK voi ma gray');

Hình mô phỏng

4.2. Cho tín hiệu ở trên qua kênh nhiễu trắng AWGN

Code

clear;load ex5p1_res; %load phan da luu o bai 4 es = var(s); eb = es/2;snr_db = 6; % gia thietn_0 = eb/10^(snr_db/10);n = sqrt(n_0/2)*(randn(size(s)) + j*randn(size(s))); % mien nhieu gauss r = s + n; % tin hieu cong nhieuplot(r,'.');hold on; plot(s,'r*'); % ve do thi chom sao QPSKhold on; t = 0:0.01:2*pi;mplot(exp(j*t),'r--'); % ve duong trong don vi net mau do

Page 8: BÁO CÁO THÍ NGHIỆM THÔNG TIN SỐ

8

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

legend('S_m','S');xlabel('I');ylabel('Q');title('The complex signal-space diagram of 4-QPSK');

Hình mô phỏng

Bài số 5. Mô phỏng hệ thống truyền dẫn số băng tần cơ sở QPSK

Code

% Ham giai dieu che QPSK va dem loi xuat hien trong qua trinh phat% luu voi ten %'cha'function y = cha(SNR_db,S,x)Es = var(S); Eb = Es/2; N_0 = Eb/10^(SNR_db/10); % tu SNR_db=10log(Eb/N_0)N0 = sqrt(N_0/2)*(randn(size(S)) + j*randn(size(S))); % tao nhieu trang phucNS = S + N0; % tin hieu thu duoctheta_m = [pi/4,3*pi/4,5*pi/4,7*pi/4];S_m = exp(j*theta_m); % vong lap so sanh do lech cua ki hieu thu duoc% voi cac gia tri ki hieu chuan.for i = 1:length(S) d = abs(S_m-NS(i));

md = min(abs(S_m-NS(i)));if md == d(1)

Page 9: BÁO CÁO THÍ NGHIỆM THÔNG TIN SỐ

9

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

R(2*i-1) = 0;R(2*i) = 0;

elseif md == d(2)R(2*i-1)=0;R(2*i)=1;

elseif md==d(3)R(2*i-1)=1;R(2*i)=1;

elseif md==d(4)R(2*i-1)=1;R(2*i)=0;

endendc = 0; % mac dinh bien dem loi bit bang 0for i = 1:length(x)

if R(i)~=x(i) c = c+1;

endendy =c ; % tra ve yend

% Main function:clear allload Bai4p1 s x % load file exp5p1_Res đã được luu Bai 4.1SNR_db = 0:2:8;% vong lap xac dinh so loi bit ung voi gia tri SNR[dB] khac nhaufor i = 1:length(SNR_db)

c(i) = cha(SNR_db(i),s,x);endBEP = c/length(x); % xac suat loi bitsemilogy(SNR_db,BEP,'.--'); % ve do thi net '.--'title('Do thi ti le loi bit voi ti le tin hieu tren nhieu');xlabel('SNR[dB]');ylabel('Pb');save Bai5 c BEP;

Hình mô phỏng

Page 10: BÁO CÁO THÍ NGHIỆM THÔNG TIN SỐ

10

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

0 1 2 3 4 5 6 7 810

-4

10-3

10-2

10-1

Do thi ti le loi bit voi ti le tin hieu tren nhieu

SNR[dB]

Pb

Bài số 6. Tính tỉ lệ lỗi bit lý thuyết

Code

clear;snr_db = 0:8; snr_db_simulation = 0:2:8; for i = 1:length(snr_db) snr(i) = 10^(snr_db(i)/10); gamma_b(i) = snr(i); p_b(i) = erfc(sqrt(2*gamma_b(i))/sqrt(2))/2;endsemilogy(snr_db,p_b,'ro--') % ve do thi log theo truc yhold on % giu do thi truoc o laiload ex6p1_res c BEP; % load bai truocsemilogy(snr_db_simulation,BEP,'x--')title('The bit error probability');xlabel('SNR in dB');ylabel('P_b');legend('Theory','Simulation');hold off

Page 11: BÁO CÁO THÍ NGHIỆM THÔNG TIN SỐ

11

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

Hình mô phỏng