mô phỏng báo cáo

23
Nguyễn Quyết Tiến Học viện công nghệ bưu chính viễn thông Khoa Viễn Thông 1 BÁO CÁO Môn học: Mô phỏng hệ thống truyền thông 1 Giảng viên Ngô Thu Trang Sinh viên Nguyễn Quyết Tiến Mã sinh viên B112101142 Lớp D11VT3

Upload: tiennq93

Post on 10-Nov-2015

238 views

Category:

Documents


5 download

DESCRIPTION

PTIT

TRANSCRIPT

Nguyn Quyt Tin

Nguyn Quyt Tin

Hc vin cng ngh bu chnh vin thngKhoa Vin Thng 1

BO COMn hc: M phng h thng truyn thngGing vinNg Thu Trang

Sinh vinNguyn Quyt Tin

M sinh vinB112101142

LpD11VT3

H Ni 11.2014

Bi 1: 1. M t nhim v: c v x l ngun tin l mt nh en trng c lu trong tp chess.jpg. nh ny c th ly v theo a ch di y:http://my.metadata.vn/share/s/-EUsAQgKQtSMZn1Mwuf_1g/chess.jpgThc hin c v chuyn i tp nh yu cu thnh chui bt nh phn lm ngun tin u vo cho nhim v 2 v thc hin ngc li chuyn i chui bt nh phn thu c thnh tp nh hin th.2. Yu cu: a. M t phng php thc hin chuyn i nh s c lu trong tp thnh chui bt nh phn v ngc li. b. Vit chng trnh MATLAB thc hin chuyn i nh lu trong tp chess.jpg thnh chui tn hiu nh phn v ngc li. C th xy dng di dng hmchuyn i s dng trong cc chng trnh khc. c. Xc nh cc thng s v kch thc nh, nh dng nh v di chui bt c chuyn i.3.M t phng php thc hin chuyn i nh s thnh chui bit v ngc li: a nh vo trong chng trnh,dung matlab c nh v nh s c lu tr ti mt ma trn vi nh dng ban u thng l unit8 8 bit cho mt pixel a nh v dng nh en trng v matlab ban u hiu y l nh mu nn ta phi chuyn sang n trng Gray. Chuyn i cc h s thnh cc chui bit nh phn truyn i hoc cho bi 2.Dy s c chuyn i l 1 hng v s ct chnh l kch thc ca ca ma trn m n c ra t nh Cc chui bit ny sau s c truyn n b thu thng qua mt mi trng l tng khng c nhiu ngha l cc bit s khng b bin i v sai khc v ta s thu c nguyn dng chui bit nh phn ny. Ti b thu cc chui bit ny s c sp xp v bin i li thnh cc h s.u tin n s sp xp thnh cc octer ngha l biu din 8bit cho mt im nh pixel sau a v nh phn v c nh T cc h s ta xy dng c ma trn nh c th c li c bc nh en trng.V nh c gii m.

M hnh chuyn i nh

nh trc khi chuyn i chess1.jpg

nh sau khi chuyn i chess2.jpg

4.Vit chng trnh MATLAB thc hin bin i nh%----NGUYEN QUYET [email protected]%clc; clear all; image1 = imread('chess1.jpg');image1=rgb2gray(image1); % Chuyen doi image RGB or Colormap toi Grayscaleimfinfo('chess1.jpg') sizeimage = size(image1);% 1.Ma hoa x = codeimage(image1);% 2.Giai Maimage2 = decodeimage(x,sizeimage);imwrite(image2,'chess2.jpg');% 3.Doc cac thong tindisp('=======T==I==E==N==============')disp('Kich thuoc,Dinh dang,Do dai chuoi bit la :')imfinfo('chess2.jpg')disp('Do dai chuoi bit')length(x)% 4.Hien thi anhfiguresubplot(1,2,1)title('Anh can chuyen doi'); hold on;imshow(image1);subplot(1,2,2)title('Anh sau chuyen doi'); hold on;imshow(image2);

Chng trnh con% Nguyen Quyet Tien D11VT3 B112101142function y = codeimage(x)% 1.Bieu dien thanh phan choi voi 8bit.y = de2bi(x,8,'left-msb'); % 2.Chuyen vi de bieu dien chuoi theo tung hang chuan.y=y';% 3.Tao chuoi bit nhi phan voi 1 hang va n cot.y = reshape(y,1,[])

% Nguyen Quyet Tien D11VT3 B112101142function y =decodeimage(a,c)% Chuoi tin hieu la dang nhi phan ta can chuyen doi nhu sau : % 1.Tao ma tran 8_hang va n_cot sau do chuyen vi se thu duoc 8_cot va n_hangy1 = reshape(a,8,length(a)/8);y2=y1';% 2.Chuyen doi tu he thap phan sang he muoi y3 = bi2de(y2,'left-msb');% 4.Xay dung lai ma tran anh ban dau.y = reshape(y3,c(1),length(y3)/c(1));

Bi 2:M phng h thng truyn dn s ti tc d liu N Mb/s, gi tr N c xc nh bi s cui cng ca m s sinh vin (Nu s l s 0 th s la chn s lin k bn cnh). Ngun tin ca h thng c ly t nh s thc hin trong nhim v 1, trong trng hp khng thc hin ly ngun tin t nhim v 1 c hy thay th bng mt chui tn hiu nh phn ngu nhin tng ng. Mi sinh vin s la chn mt trong cc k thut iu ch sau cho h thng mnh m phng: iu ch M-DPSK nu s cui cng trong m sinh vin l chn vi M = 2 nu s lin k l l v M = 4 nu s lin k l chn. N=8. S dng iu ch 4-DPSKYu cu: 1. M t h thng m phng bng s khi v xc nh cc tham s ca h thng. 2. Bng vic s dng MATLAB, vit chng trnh m phng h thng truyn dn s s dng k thut iu ch la chn trn knh AWGN vi ngun tn hiu l nh s c thc hin nhim v 1. c tnh xc sut li ti cc mc t s tn hiu trn nhiu SNR (Es/N0) bng 5, 8 v 12 dB theo phng php Monte Carlo. 3. Biu din biu chm sao, dng sng tn hiu, mu mt v ph ca n ti cc im sau trn h thng: u ra b iu ch, sau khi truyn qua knh AWGN ti SNR = 8 dB, sau khi c x l v khi phc ti b thu. 4. So snh kt qu nh trng en yu cu c khi phc sau khi truyn qua h thng m phng ti cc mc SNR yu cu.

1 M t h thng v cc tham s s dng trong m phng

S khi iu ch 4-DPSK

S dng b iu ch 4-DPSK. Cc chui bit u vo s c to thnh cc xung, sau cc xung ny s c a vo b iu ch 4-DPSK v c a ln knh AWGN ti c my thu. Ti my thu cc tn hiu s c gii iu ch v a qua b lc khi phc chui bit ban u.

Cc tham s s dng:

Tn tham sGi tr

Tc bitN = 8 Mb/s

Nng lng k hiuEs = 10

Bng thng 7 MHz

Tn s sng mang1 MHz

Tn s ly mu5 MHz

Pha tn hiu ban u 0

SNR8

Es/No xt BER5 8 12

2 M chng trnh:

%####Nguyen Quyet Tien B112101142 D11VT3 ######%% Bai 2clear,clc,close allM = 4; % SO muc dieu cheEs =15; % Nang luong cho mot ky hieuN=2*10^6; % Toc do bit- bit rateNsym=N/2; % Toc do ki hieu- Symbol rateTsym=1/Nsym;% Chu k k hieun = 1000; % So bit dau vaophi=0; % Pha tin hieu phatfs=5*10^6; % Tan so lay maufc=10^6; % Tan so song mangts=1/fs; %% 1.Nhap tin hieu phata = randint(1,n); % Chuoi bit dau vao ngau nhienasym = bi2de(reshape(a,log2(M),length(a)/log2(M)).','left-msb'); % Chuyen doi nhi phan sang thap phan.d = dpskmod(asym,M); % Dieu che 4-DPSK %% 2.Xay dung ham s(t)t=0:ts:n/log2(4)*Tsym;for i = 1:length(t) s(i) = 0; for k = 1:n/log2(4) pt(k) = sqrt((2*Es)/Tsym)*rect((t(i)-k*Tsym -0.5*Tsym)/Tsym); s(i) = s(i)+ d(k)*pt(k); endend %% 3.Do thi tin hieu bang gocplot(t,s);xlabel(' Time s'); ylabel( ' Bien do ');title(' Do thi tin hieu goc '); sing=s.*exp(j*phi); %tin hieu sau dieu che sing1=sing.*exp(j*2*pi*fc*t); %Tin hieu de xac dinh mau mat %% 4.Do thi va pho cua tin hieu sau dieu che 4-DPSKfiguresubplot(2,1,1);plot(t,real(sing1))xlabel(' time s'); ylabel( ' Bien do ');title('Do thi tin hieu sau dieu che');subplot(212);pho(sing1);title('Pho cua tin hieu sau dieu che'); %% 5.Mau mat cua tin hieu sau khi dieu che 4-DPSKeyediagram(real(sing1),20);title(' Bieu do mat tin hieu 4DPSK'); %% 6.Chom sao cua tin hieu sau khi dieu chescatterplot(d,1,0,'or');title(' Bieu do chom sao cua tin hieu sau dieu che ' ); %% 7.Do thi va pho cua tin hieu sau khi qua AWGNfiguresing1_noise=addnoise(sing1,8);subplot(211);plot(t, real(sing1_noise));xlabel(' time s'); ylabel( ' Bien do ');title(' Do thi khi bi AWGN ');subplot(212);pho(sing1_noise);title('Pho cua tin hieu bi AWGN'); %% 8.Mau mat cua tin hieu sau khi qua kenh AWGNeyediagram(real(sing1_noise),20);title('Bieu do mat tin hieu 4DPSK khi qua AWGN'); %% 9.Chom sao cua tin hieu sau khi qua kenh AWGN va so sanh voi chom sao gocd_noise = addnoise(d,8);h = scatterplot(d_noise,1,0,'x');hold on;scatterplot(d,1,0,'or',h);title('Bieu do chom sao cua tin hieu sau khi qua kenh AWGN'); %% 10.Xu ly va khoi phuc tai bo thufiguresr1 = sing1_noise.*exp(-j*phi).*exp(-j*2*pi*fc*t); %Tin hieu thu truoc bo locsr = raisedcosflt(sr1,1.6e6,ts,2); % Khoi phuc lai tin hieu plot(t,real(sr)) % Do thi tin hieu sau khi khoi phuc va pho cua noxlabel('Time(s)'); ylabel('Bien do');title('Do thi tin hieu khoi phuc');figurepho(sr);title('Pho cua tin hieu duoc khoi phuc'); %% 11.Chom sao tin hieu duoc khoi phuch = scatterplot(sr,1,0,'xb');title(' Bieu do chom sao cua tin hieu duoc khoi phuc '); %% 12.Mau mat tin hieu sau khi khoi phuceyediagram(real(sr),20);title('Mau mat duoc khoi phuc'); %% 13.Tinh BER bang phuong phap Monte-Carlo SNR_dB=[5 8 12] ;%======vong lap=====%for i=1:length(SNR_dB) SNR=exp(SNR_dB(i)*log(10)/10); %Chuyen dB sang so lan theoryBer(i)=2*qfunc(sqrt(SNR)); %Tinh BER theo ly thuyet simBer(i)=monte_carlo(SNR_dB(i)); %Tinh BER theo thuc nghiem end;%-------------Xac suat loi uoc tinh (CAU B)---------------%disp('Vector loi ki hieu mo phong ung voi snr tu 5 8 va 12dB la')simBer = single(simBer) %Lam tron 5 so.%-------Ve hinh the hien--------%semilogy(SNR_dB,theoryBer,'LineWidth',2);hold on;semilogy(SNR_dB,simBer,'r-*','LineWidth',2);grid on;xlabel('SNR (dB)'); ylabel('BER'); title(' Truyen tin hieu DPSK qua kenh AWGN');legend('BER-ly thuyet','BER-thuc nghiem');

Trng trnh con

%====Chuong trinh con: Ham dem loi so sanh theo monteCarlo======%function[p]=monte_carlo(snr)Ns=10^4; %So ky hieuEs = 2*10^-6; %Nang luong tren mot ky hieuSNR=10^(snr/10); %Doi snr dB sang so lanvarnoise=sqrt(Es/(4*SNR)); %Phuong sai nhieu%--------------tao du lieu dau vao-------------%for i=1:2*Ns, temp=rand; %bien ngau nhien 0 va 1 co Ns gia tri if(temp < 0.5), %Quyet dinh cung dsource(i)=0; %voi xac suat 1/2. du lieu la "0" else dsource(i)=1; %voi xac suat 1/2. du lieu la "1" end;end;%-----------ma hoa vi sai nguon du lieu----------%mapping=[0 1 3 2]; % bo anh xaM=4;[diff_enc_output]=cm_dpske(Es,M,mapping,dsource);% ham ma hoa vi sai %-----------tin hieu nhan duoc sau do------------%for i=1:Ns, [n(1), n(2)]=gngauss(varnoise); % tao Gauss r(i,:)=diff_enc_output(i,:)+n; % tin hieu nhan duocend;%-----------tach tin hieu va tinh toan xac suat loi bit----------%error=0;prev_theta=0;%%%%%%%------vong lap-----%%%%%%for i=1:Ns, theta = angle(r(i,1) + 1i*r(i,2)); % chuyen tin hieu so phuc ve radian delta_theta = mod(theta - prev_theta,2*pi); % lay duif((delta_theta < pi/4)||(delta_theta > 7*pi/4)), decis = [0 0]; elseif(delta_theta < 3*pi/4), decis = [0 1];elseif(delta_theta < 5*pi/4), decis = [1 1];else decis = [1 0];end;prev_theta = theta;%----------tang dem loi neu quyet dinh sai--------------%if((decis(1)~= dsource(2*i-1))||(decis(2)~= dsource(2*i))), error=error + 1;end; end;p=error/Ns;%xac xuat loi

function yNoise = addnoise(y,SNRdB)% Day la ham AWGN% Tin hieu dau vo% y Tin hieu dau vo% SNRdB - Muc SNR dB% yNoise Tin hieu nhieu dau raSNR = 10^(SNRdB/10);VarN = var(y)/SNR;if (isreal(y)) yNoise = y + sqrt(VarN)*randn(size(y));else yNoise = y + sqrt(VarN/2)*(randn(size(y))+j*randn(size(y)));end

function yNoise = addnoise(y,SNRdB)% Day la ham AWGN% Tin hieu dau vo% y Tin hieu dau vo% SNRdB - Muc SNR dB% yNoise Tin hieu nhieu dau raSNR = 10^(SNRdB/10);VarN = var(y)/SNR;if (isreal(y)) yNoise = y + sqrt(VarN)*randn(size(y));else yNoise = y + sqrt(VarN/2)*(randn(size(y))+j*randn(size(y)));end

%======Ham ma hoa vi sai cho chuoi=================%function[enc_comp]=cm_dpske(E,M,mapping,sequence)k=log2(M);N=length(sequence);%------Neu N khong chia het cho k....remainder=rem(N,k); %phan duif(remainder~=0), for i=N+1:N+k-remainder, sequence(i)=0; end; N=N+k-remainder;endtheta=0; %ban dau, gia su theta=0 theta la goc quay cua mot vecto bieu dien %dung voi goc cua song hinh sine goc sai biet giua hai vectofor i=1:k:N, index=0; for j=i:i+k-1, index=2*index+sequence(j); end; index=index+1; theta=mod(2*pi*mapping(index)/M+theta,2*pi); enc_comp((i+k-1)/k,1)=sqrt(E)*cos(theta); enc_comp((i+k-1)/k,2)=sqrt(E)*sin(theta);end;

%----Chuong trinh con Ham tao ngau nhien Gauss-----------%function [gsrv1,gsrv2] = gngauss(m,sgma)if nargin==0, m=0; sgma=1;elseif nargin==1, sgma=m; m=0;end;u=rand; % Tao gia tri ngau nhien trong khoang (0,1)z=sgma*(sqrt(2*log(1/(1-u)))); % Rayleigh distributed random variable.gsrv1=m+z*cos(2*pi*u);gsrv2=m+z*cos(2*pi*u);

function st_fft_fre = pho(x) fs = 15e6; % y - pho cua tin hieu x st_fft=fft(x); st_fft=fftshift(st_fft); st_fft_fre=fs/2*linspace(-1,1,length(st_fft)); plot(st_fft_fre,abs(st_fft));grid;%dang pho tin hieu xlabel('Frequency(hz)'); ylabel('Amplitude');

function y = raisedcosflt(x,Rb,Ts,beta)% Function bo loc raised cosine% x - input samples% Rb - filter bandwidth% Ts - sampling time% beta - rolloff factor% y - filtered outputNs = length(x);Tb = 1/Rb;beta = beta*Rb;% Frequency domainf = [0:Ns/2-1 -Ns/2:-1]/(Ns*Ts);Xf = fft(x);Yf = zeros(size(Xf));ind = (abs(f)(Rb/2+beta));Yf(ind) = Xf(ind).*0;% Convert into time domainy = ifft(Yf)./Tb;% t = [0:Ns-1]*Ts;% p = sinc(Rb*t).*cos(2*pi*beta*t)./(1-(4*beta*t).^2);% y = conv(x,p);

function y = rect(x) y = ((0