Top Banner
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
23

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

Nov 19, 2015

Download

Documents

Yen Nguyen

báo cáo thí nghiệm
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript

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');