baigiaimatlab
DESCRIPTION
BAIGIAIMATLABTRANSCRIPT
-
Bi tp MATLAB Written by Le Quy Vien
GII CU 1:
- v tn hiu iu ch trong min thi gian ta gii thc hin chuyn i t
tn hiu gc phc sang tn hiu bng di thc. Tuy nhin MATLAB cng cung cp
cc hm to nhiu ngu nhin cho php ta vit li cc hm iu ch to cc tn
hiu ch thc ( tn hiu bng di) v cng nhiu m phng knh truyn theo
phng php thng thng ( phng php bng di).
- chng trnh bi ton nh sau:
N=10;
x=randint(N,1);
M=2;
k=1;
Fb=8000;
Fc=40000;
Fs=400000;
EbNo=10;
Nsamp = floor(Fs/Fb*N);
Time=[0:1/Fs:(Nsamp-1)/Fs];
xmsg=zeros(1,Nsamp);
for k=1:Nsamp;
end
xcar= cos(2*pi*Fc*Time);
ytx=(2*xmsg-1).*xcar;
snr=EbNo + 10*log10(k) - 10*log10(Nsamp);
ynoisy=awgn(ytx,snr,'measured');
ytmp=ynoisy.*xcar;
[num,den]=butter(2,Fc/Fs/2);
ztmp=filter(num,den,ytmp);
for k=1:length(x);
end
xdemod=zeros(1,Nsamp);
for k=1:Nsamp
end
figure;
-
Bi tp MATLAB Written by Le Quy Vien
subplot (4,1,1); plot (Time, xmsg);
title('tin hieu goc');
subplot (4,1,2); plot (Time, ytx);
title('tin hieu sau khi dieu che');
subplot (4,1,3); plot (Time, ynoisy);
title('tin hieu den may thu');
subplot (4,1,4); plot (Time, xdemod);
title('tin hieu sau khi giai dieu che');
Kt qu thc thi chng trnh:
-
Bi tp MATLAB Written by Le Quy Vien
GII CU 2
- Trong qua trnh m phng mt h thng vin thng, ta thng phi i chiu
kt qu m phng vi cc cng thc l thuyt. Trong mt s h thng tiu biu,
nhiu cng trnh l thuyt cung cp cc cng thc tnh t l bit li di dng
tng minh. Cc cng thc ny c xy dng thnh cc hm MATLAB cho php
ngi s dng MATLAB c th kim tra li mt cch nhanh chng chnh xc
ca qu trnh m phng.
Cc hm tnh xc sut li theo l thuyt
Hm Chc nng
brawgn Xc xut li ca knh truyn AWGN khng m ha
bercoding Xc xut li ca knh truyn AWGN c m ha
berfading Xc xut li ca knh truyn fading Rayleigh khng m ha
bersync Xc xut li ca knh truyn AWGN khng m ha v ng b khng chnh xc
- C th tm hiu cch s dng cc hm ny bng cch g lnh help + tn hm
ca s lnh ca MATLAB. Cc thng s chnh cn nhp vo l s Eb/No,
phng php iu ch cng vi cc thng s tng ng vi n.
Chng trnh bi ton nh sau:
M=8; EbNo=[0:13];
ser = berawgn(EbNo,'pam',M).*log2(M);
figure; semilogy(EbNo,ser,'r');
xlabel('E_b/N_o(dB'); ylabel('Symbol Error Rate');
grid on; drawnow;
n=10000;
k=log2(M);
snr=EbNo+3+10*log10(k);
ynoisy=zeros(n,length(snr));
x=randint(n,1,M);
-
Bi tp MATLAB Written by Le Quy Vien
y= pammod(x,M);
for jj = 1:length(snr)
ynoisy (:,jj)=awgn(real(y),snr(jj),'measured');
end
z= pamdemod(ynoisy,M);
[num,rt]= symerr(x,z);
hold on; semilogy(EbNo,rt,'b');
legend('SER ly thuyet', 'SER mo phong');
Title('So snh xc sut li l thuyt v thc nghim');
hold off;
Kt qu m phng nh sau:
-
Bi tp MATLAB Written by Le Quy Vien
GII CU 3
Cc hm biterr v symerr trong MATLAB s so snh hai tp d liu cho trc v
tr v s bit li hoc s k hiu li. Mt s khc nhau gia hai thnh phn t tng
ng ca hai tp d liu( c th l bit hoc k hiu ) c tnh l mt li. Thng
thng, hai tp d liu kho st l tp d liu trc khi m ha my pht v tp
d liu my thu sau khi gii m.
Kt qu m phng s cng chnh xc nu s lng d liu m phng cng nhiu.
C th, ta nn chn tp d liu ln sao cho c t nht 100 li xy ra.
Chng trnh bi ton nh sau;
M=16;
k=log2(M);
n=3e4;
nsamp=1;
x=randint(n,1);
xsym = bi2de(reshape(x,k,length(x)/k).','left-msb');
y = qammod(xsym,M);
>> ytx = y;
>> EbNo = 10;
>> snr = EbNo + 10*log10(k) - 10*log10(nsamp);
>> ynoisy = awgn(ytx,snr,'measured');
>> yrx = ynoisy;
>> zsym = qamdemod(yrx,M);
>> z = de2bi(zsym,'left-msb');
>> z = reshape(z.',prod(size(z)),1);
-
Bi tp MATLAB Written by Le Quy Vien
>> [number_of_errors,bit_error_rate]=biterr(x,z)
Kt qu thc hin on chng trnh trn:
number_of_errors =
83
bit_error_rate =
0.0028
Trong hm trn biterr tr v s bit li v t l li bit khi so snh hai chui d liu x
v z. Mt cch tng qut, hm ny c th so snh hai ma trn s nguyn bt k c
cng kch thc. Ngoi hai thng s chnh l hai ma trn d liu, cn c thm hai
thng s ty chn:
- [num,ratio] = biterr (,K) so snh hai ma trn vi K l s bit biu din
mt phn t trong ma trn. K phi ln hn hon bng s bit ti thiu biu
in phn t ln nht ca ma trn.
- [num,ratio] = biterr(,flag) dng chui k t flag xc nh phng thc so
snh. Nu flag = column-wise th hm biterr s thc hin so snh theo tng
ct v xut kt qu di dng vector ct. Nu flag = overall, hm s thc
hin so snh trn ton b ma trn v nh vy kt qu l mt v hng.
- [num,ratio,individual] = biterr() cho php tr v ma trn individual, trong
mi phn t ca n l s bit li gia hai phn t tng ng ca hai ma trn
so snh.
V d:
>> A = [1 2 3;1 2 2];
>> B = [1 2 0; 3 2 2];
>> [Num, Rat]=biterr(A,B,3)
Num =
3
-
Bi tp MATLAB Written by Le Quy Vien
Rat =
0.1667
>> [Num,Rat,Ind] =biterr(A,B,3,'column-wise')
Num =
1 0 2
Rat =
0.1667 0 0.3333
Ind =
0 0 2
1 0 0
- Hm symerr tng t nh hm biterr ch khc ch so snh cc k hiu thay
v cc bit. V d sau y minh ha s khc nhau gia t l bt li v t l k
hiu li.
>> a = [1 2 3]'; b = [1 4 4]';
>> [snum,srate] = symerr(a,b)
snum =
2
srate =
0.6667
>> [bnum,brate] = biterr(a,b)
bnum =
5
brate = 0.5556
-
Bi tp MATLAB Written by Le Quy Vien
s bit ti thiu biu din phn t ln nht trong hai ma trn l 3 bit. Cc ma trn
u c 3 phn t, do c 3 x 3 = 9 bit, gm hai bit li phn t th hai v 3 bit
li phn t th ba .
......................................................... HT ..................................................................