23
Thông tin số Hà Nội 2014 Bo co thı́ nghim Thông tin số Mã học phần : ET3250 Họ tên sinh viên : Hồng Thi Mã số sinh viên : 20112207 Lớp : ĐTTT-03 K56 Ngày làm thí nghim : 26/02 /2014 Ngày nộp bo co : 12/3/2014 1

Báo Cáo Thí Nghiệm Thông Tin Số 8636

Embed Size (px)

DESCRIPTION

báo cáo thí nghiệm

Citation preview

Bao cao th nghiem Thong tin s

M hc phn : ET3250 H tn sinh vin : L Hng ThiM s sinh vin : 20112207Lp : TTT-03 K56Ngy lm th nghim : 26/02 /2014 Ngy np bo co : 12/3/2014

Thng tin sH Ni 2014

17

Bi 1: QU TRNH NgU nhin ca tn hiu1.1 codex = -5:0.01:5;Px = exp(-x.^2/2)/sqrt(2*pi);plot(x,Px,'r');title('Tin hieu ngau nhien Phan phoi chuan');xlabel('x');ylabel('Pe');

1.2 code

len = 100000; % Do dai cua qua trinh ngau nhienx = randn(1,len); % Tao qua trinh ngau nhien (phan phoi chuan)step = 0.05; % khoang cach lay mau 0.05 k = -5:step:5; % khoang xet -5 -> 5, cach deu 0.1Px = hist(x,k)/len/step; % tinh xac suat ngau nhienstem (k, Px); % ve do thi roi rac cua QT ngau nhienPx_lithuyet = exp(-k.^2/2)/ sqrt(2*pi); % tinh xac suat phan bo theo ly thuyethold on; % ve 2 do thi tren cung truc toa do plot (k, Px_lithuyet, 'r' ); % do thi ly thuyettitle (' phan bo xac suat Gauss '); % tieu dexlabel(' x ' ); % truc hoanhylabel(' Px '); % truc tunglegend('Ly thuyet', 'Mo phong' ); % chu thichhold off; % tat che do 2 do thi.

Bi 2: Lng T Ha Tuyn tnhHm: lquanfunction[indx qy ] = lquan(x,xmin,xmax,nbit)nlevel = 2^nbit ; % so muc luong tu hoaq = (xmax - xmin )/nlevel; % Buoc luong tu[ indx qy ] = quantiz ( x,xmin + q:q:xmax- q, xmin +q/ 2:q:xmax -q/2);

2.1 codea= [ -0.2 1.9 3.2 -2.5]; % vidu ham lquan[ indx qy ] = lquan (a,-4,4,2); % vidu ham lquanxs= rand(1,5) *2-1; % lay 5 mau bang lenh random[xi xq] = lquan (xs,-1,1,3); % su dung ham lquan

2.2 codet = 0:0.01:20;xt = sin (rand() + t ).* cos (rand() *t); % Tin hieu vao[inx xqt] = lquan (xt, -1, 1,randint(1,1,3) +2 ); % xqt tin hieu da duoc luong tu hoahold on; % mo ve 2 do thiplot(t,xt); % do thi tin hieu vaoplot(t, xqt,'r'); % do thi tin hieu da luong tu hoatitle ('Luong Tu Hoa Tuyen Tinh'); % tieu de xlabel('t'); % nhan truc xylabel('xt xqt'); % nhan truc ylegend('Tin hieu dau','Tin hieu qua Luong Tu'); % giai thich tung duong tren do thihold off;

Bi 3: tp m lng t trong k thut Lng T Ha tuyn tnh

3.1 codeN =1000;x = 2*rand(1,N) -1; % x phan bo deu tu -1 den 1nbit = 1 :10; % so bit luong tu hoa tu 1 den 10SNqR = zeros (size (nbit)); % khoi tao mang SNqR chua ket quaSNqR_lt = 6.02 *nbit; % mang SNqR_lythuyet tinh theo Ly thuyetPs = sum (x.^2)/N; % Cong suat tin hieu x% tinh gia tri SNqR ung voi moi gia tri nbitn = [1 2 3 4 5 6 7 8 9 10];for i=1:size(n,2) % tra ve so cot n [xi xq] = lquan (x,-1,1,nbit(i) ); % Luong tu hoa voi ket qua dua vao xq eq = x - xq; % Tinh sai so Pq= sum (eq.^2)/N; % Cong suat tap am luong tu SNqR(i) = 10 .* log (Ps ./Pq) ; % ti so nhieu%endendplot (nbit,SNqR ,'r',nbit,SNqR_lt); % do thi ly thuyettitle('Luong tu hoa Tuyen Tinh');xlabel('nbit');ylabel('SNqR');legend('SNqR mo Phong', 'SNqR Ly Thuyet')

3.2 code

N =1000;x = sin(linspace(1,5,N)); % x phan bo deu tu -1 den 1nbit = 1 :10; % so bit luong tu hoa tu 1 den 10SNqR = zeros (size (nbit)); % khoi tao mang SNqR chua ket quaSNqR_lt = 6.02 *nbit; % mang SNqR_lythuyet tinh theo Ly thuyetPs = sum (x.^2)/N; % Cong suat tin hieu x% tinh gia tri SNqR ung voi moi gia tri nbitn = [1 2 3 4 5 6 7 8 9 10];for i=1:size(n,2) % tra ve so cot n [xi xq] = lquan (x,-1,1,nbit(i) ); % Luong tu hoa voi ket qua dua vao xq eq = x - xq; % Tinh sai so Pq= sum (eq.^2)/N; % Cong suat tap am luong tu SNqR(i) = 10 .* log (Ps ./Pq) ; % ti so nhieu%endendplot (nbit,SNqR ,'r',nbit,SNqR_lt); % do thi ly thuyettitle('Luong tu hoa Tuyen Tinh');xlabel('nbit');ylabel('SNqR');legend('SNqR mo Phong', 'SNqR Ly Thuyet')

Bi 4: Mt ph nng lng v hm tu tng quan ca tn hiu

4.1 codeL =500;x1 = randn(1,L); % Tin hieu ngau gien roi rac phan phoi Chuanx2 = linspace(-1,1,L); % Tin hieu co bien do tang dan x3 = sin(linspace(-10,10,L)); % Tin hieu sin cua t/h co bien do tang dan[acorr_x1 n1] = xcorr(x1); % Ham tu tuong quan cua t/h x1[acorr_x2 n2] = xcorr(x2); % Ham tu tuong quan cua t/h x2[acorr_x3 n3] = xcorr(x3); % Ham tu tuong quan cua t/h x3plot( n1, acorr_x1,'r',n2, acorr_x2,'g',n3, acorr_x3);title('Ham tuong Quan'); % Tieu dexlabel('n'); % Truc hoanhylabel('Rxx'); % Truc tunglegend('x1 Ngau Nhien', 'x2 Bien Do Tang Dan Deu', ' x3 Tin Hieu sin(cua TH bien do tang dan)');grid on % bat luoi do thi

4.2 code

L = 50; % do dai maux = randn(1,L); % tin hieu ngau nhien xN = 200; % 200 tan so roi racw = linspace (0,2*pi,N); % chia mau tan so[acorr_x n] = xcorr(x); % ham tuong quan xf_acorr_x = freqz(acorr_x,1,w).* exp(1i*w*(L-1)); % pho cua ham tu tuong quan xesd_x = f_acorr_x .* conj (f_acorr_x); % mat do pho nang luong xsubplot(2,1,1); % semilogy(w/pi,esd_x); % do thi mat do pho nang luongtitle('Mat do pho nang luong '); % tieu dexlabel('w/pi '); % truc hoanhylabel('esd_ x'); % truc tungsubplot(2,1,2); %semilogy(w/pi,real(f_acorr_x),'r'); % di thi Pho ham tuong quantitle('Pho ham tu tuong quan'); % tieu dexlabel('w'); % truc hoanhylabel('f_ acorr_ x'); % nhan truc tung

Bi 5: M ng dy NRZ5.1 code len = 100000; % Do dai dong bit mo phongSNR_db = 0:2:8; % vecto SNR_db = [0 2 4 6 8]SNR = 10.^ (SNR_db/10); % doi SNR tu deciben sang lanbsignal = randint(1,len); % dong bit ngau nhien do dai 'len'NRZ_signal = bsignal* 2 -1; % doi dong 0 1 sang -1 1N0 = 1./SNR; % cong suat tap amPe= [0 2 4 6 8];for i =1:length(SNR_db) noise = sqrt(N0(i)) * randn(1,len); % nhieu tap am r_signal = NRZ_signal + noise; % Tin hieu thu duoc NRZ_decoded = sign(r_signal);end d=0; for l = 1:len % dem so loi bit if (NRZ_signal(i) == NRZ_decoded(i)) % dem so loi bit d = d+1; % dem so loi bit end % dem so loi bit end d= d/len; Pe (i) =d;plot(SNR_db,Pe,'r'); % ti le loi bit tren duong truyentitle ('Ma duong day NRZ');xlabel('SNR_db');ylabel('Pe');

5.2 codelen = 100000; % Do dai dong bit mo phongSNR_db = 0:2:8; % vecto SNR_db = [0 2 4 6 8]SNR = 10.^ (SNR_db/10); % doi SNR tu deciben sang lanbsignal = randint(1,len); % dong bit ngau nhien do dai 'len'NRZ_signal = bsignal* 2 -1; % doi dong 0 1 sang -1 1N0 = 1./SNR; % cong suat tap amPe= [0 2 4 6 8];Pe_lt = [1 2 3 4 5];for i =1:length(SNR_db) noise = sqrt(N0(i)) * randn(1,len); % nhieu tap am r_signal = NRZ_signal + noise; % Tin hieu thu duoc NRZ_decoded = sign(r_signal); d=0;end for l = 1:len % dem so loi bit if (NRZ_signal ~= NRZ_decoded) % dem so loi bit d = d+1; % dem so loi bit end % dem so loi bit end d= d/len; Pe (i) =d;hold onplot(SNR_db,Pe,'r'); % ti le loi bit tren duong truyenfor k =1:length(SNR_db) Pe_lt = 1/2 * (1- erf(1/ sqrt(2) *sqrt(SNR)));endplot (SNR_db,Pe_lt);title ('ma duong day NRZ');xlabel ('SNR_db');ylabel ('Pe');legend('Pe li Thuyet', 'BER Mo phong');hold off

Bi 6: iu ch QPSK

6.1 codelen = 50000;signal = randint (1, len);qpsk_signal = zeros(1,len);for i =1:2:len if (signal(i)==0 && signal(i+1) == 0) qpsk_signal(i) = exp(1j*pi/4); elseif signal(i) == 0 && signal(i+1) ==1 qpsk_signal(i) = exp (3*1j* pi/4); elseif (signal(i) == 1 && signal(i+1) ==1) qpsk_signal(i)= exp (5*1i* pi/4) ; elseif signal(i) == 1 && signal(i+1) ==0 qpsk_signal(i)= exp (7*1j* pi/4) ; endendplot(qpsk_signal,'r--');hold on t=0:0.01:2*pi ; % khai bo bin t plot(exp(j*t),'k--') ;

6.2 codelen = 5000;signal = randint (1, len);qpsk_signal = zeros(1,len); % Sinh ra ma tran de chuaqpsk_noise = zeros(1,len); % sinh ra ma tran de chuaSNR_db = 6; % ti le tin hieu tren tap amSNR = 10^ (SNR_db/10); % doi sang decibenfor i =1:len-1 % doan for de TAO TIN HIEU PHUC if (signal(i)==0 && signal(i+1) == 0) qpsk_signal(i) = exp(1j*pi/4); elseif signal(i) == 0 && signal(i+1) ==1 qpsk_signal(i) = exp (3*1j* pi/4); elseif (signal(i) == 1 && signal(i+1) ==1) qpsk_signal(i)= exp (5*1i* pi/4) ; elseif signal(i) == 1 && signal(i+1) ==0 qpsk_signal(i)= exp (7*1j* pi/4) ; endend Es= std(qpsk_signal)^2; % Nang luong cua ki hieu N0= Es/SNR; % Cong suat tap am noise = sqrt(N0/2)* (randn(1,len) + 1i* randn(1,len)); % Nhieufor i= 1:len qpsk_noise(i) = qpsk_signal(i) + noise(i); % Tin hieu qua nhieu trangendplot (qpsk_noise,'.');

Bi 7: M phng iu ch Qpsk qua knh nhiu gausCode:leng=1000; % di dng bit m phng chance_signal=randi([0,1],1,leng); % to dng bit ngu nhin c di leng snr_db=0:2:8; %to b vecto nhiu SNR=0, 2, 4 , 6, 8 [dB] snr=10.^(snr_db/10); % i t dB sang lnfor i=1:2:leng % vng lp iu ch QPSK if (chance_signal(i)==0 & chance_signal(i+1)==0) qpsk_signal((i+1)/2)=exp(j*pi/4); else if (chance_signal(i)==0 & chance_signal(i+1)==1) qpsk_signal((i+1)/2)=exp(j*3*pi/4); else if (chance_signal(i)==1 & chance_signal(i+1)==0) qpsk_signal((i+1)/2)=exp(j*7*pi/4); else qpsk_signal((i+1)/2)=exp(j*5*pi/4); end end end end % vng lp xc nh s li bt ng vi gi tr SNR[dB] khc nhau for i=1:length(snr_db) c(i)=cha(snr_db(i),qpsk_signal,chance_signal); % tnh s bit li vi hm dng cha end BEP=c/length(chance_signal); % tnh t l bit li plot(snr_db,BEP,'*--'); hold on; grid on title('BER/SR') xlabel('[dB]'); ylabel('BER'); % Code hm cha() dng trong bi: function y=cha1(SNR_db,S,x) Es=var(S); Eb=Es/2; N_0=Eb/10^(SNR_db/10); N0=sqrt(N_0/2)*(randn(size(S))+j*randn(size(S))); % to nhiu trng phc NS=S+N0; % tn hiu thu c theta_m=[pi/4,3*pi/4,5*pi/4,7*pi/4]; S_m=exp(j*theta_m); % vng lp so snh lch ca k hiu thu c vi cc gi tr k hiu chun. for i=1:length(S) d=abs(S_m-NS(i)); md=min(abs(S_NS(i))); if md==d(1); R(2*i1)=0; R(2*i)=0; Else if md==d(2); R(2*i-1)=0; R(2*i)=1; Else If md==d(3); R(2*i-1)=1; R(2*i)=1; Else if md==d(4); R(2*i1)=1; R(2*i)=0; end end end end end c=0; % mc nh bin m li bit bng 0 for i=1:length(x) if R(i)~=x(i); c=c+1; end end y=c; % tr v y

Bi 8:Xc sut li bt trong iu ch QPSK

Code:leng=1000;signal=randi([0,1],1,leng); SNR_db=0:2:8; SNR=10.^(SNR_db/10);for i=1:2:leng if (signal(i)==0 & signal(i+1)==0) qpsk_signal((i+1)/2)=exp(j*pi/4); else if (signal(i)==0 signal(i+1)==1) qpsk_signal((i+1)/2)=exp(j*3*pi/4); elseif (signal(i)== signal(i+1)==0) qpsk_signal((i+1)/2)=exp(j*7*pi/4); else qpsk_signal((i+1)/2)=exp(j*5*pi/4); end end end end for i=1:length(snr_db) c(i)=cha(snr_db(i),qpsk_signal, signal); end BEP=c/length(signal); plot(SNR_db,BER,'^--'); hold on; % Phn Code trn v th m phng IU CH QPSK QUA KNH NHIU TRNG ( ging bi 5, xem ngha hm, bin bi 5) pb=erfc(sqrt(2*snr)/sqrt(2))/2; %Cng thc tnh xc sut li bit theo l thuyt plot(snr_db,pb,'ro-'); % V ng L thuytgrid on; % m li title('Ti le loi Bit'); xlabel('SNR [dB]');ylabel('BER');legend('Mo phong','Li thuyet');