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

description

PTIT

Transcript of Mô phỏng báo cáo

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