baigiaimatlab

Upload: chinh-le-van

Post on 08-Jan-2016

17 views

Category:

Documents


0 download

DESCRIPTION

BAIGIAIMATLAB

TRANSCRIPT

  • 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 ..................................................................