bÁo cÁo thÍ nghiỆm thÔng tin sỐ
DESCRIPTION
Thí ngiệm; Thông tin sốTRANSCRIPT
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
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
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;
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');
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
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--');
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
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)
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
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
11
Báo cáo thí nghiệm thông tin số 2013
Hình mô phỏng