23
Báo cáo thc hành Matlab Trn Nht Hoài Bo 41100249 1 TRƯỜNG ĐẠI HC BÁCH KHOA HCHÍ MINH CHƯƠNG TRÌNH KĨ SƯ CHẤT LƯỢNG CAO VIT PHÁP PFIEV BÁO CÁO THC HÀNH MATLAB CÁC TÍNH CHT PHGVHD: PGS.TS DƯƠNG HOÀI NGHĨA SINH VIÊN: TRN NHT HOÀI BO MSSV: 41100249 STT: 03 Tp.HChí Minh, tháng 4 năm 2015

báo cáo tính chất phổ

Embed Size (px)

DESCRIPTION

báo cáo, tính chất phổ, pdf

Citation preview

  • Bo co thc hnh Matlab Trn Nht Hoi Bo 41100249

    1

    TRNG I HC BCH KHOA H CH MINH

    CHNG TRNH K S CHT LNG CAO VIT PHP PFIEV

    BO CO THC HNH MATLAB

    CC TNH CHT PH

    GVHD: PGS.TS DNG HOI NGHA

    SINH VIN: TRN NHT HOI BO

    MSSV: 41100249

    STT: 03

    Tp.H Ch Minh, thng 4 nm 2015

  • Bo co thc hnh Matlab Trn Nht Hoi Bo 41100249

    2

    A. L thuyt

    Periodogram

    nh ngha

    Periodogram l mt qu trnh c lng khng c tham s ca hm mt ph cng sut ca

    mt qu trnh dng khi phn tch ra chui Fourier. Periodogram c nh ngha bng cng thc:

    2

    12

    ER

    0

    1( ).

    Nj fnT

    P

    n

    P f T x n eNT

    Cc ca s s dng trong vic c lng Periodogram

    Ca s ch nht

    1 0 1w ( )

    0R

    n Nn

    n

    Ca s Hamming

    20.54 0.46cos 0

    w ( )

    0

    H

    kk N

    k N

    Ca s Black-man

    2 40.42 0.5cos 0.08cos 0

    w ( )

    0

    B

    k kk N

    k N N

    Ca s Hanning

    20.5 0.5cos 0

    w ( )

    0

    v

    kk N

    k N

    Correlogram

    nh ngha

  • Bo co thc hnh Matlab Trn Nht Hoi Bo 41100249

    3

    () = ()2()

    =

    Theo cng thc trn, nu c T trong s m e, tn s f l tn s thc; ngc li, nu khng c T

    trong s m e, tn s f l tn s chun ha.

    Thng chn =

    10

    c lng hm t tng quan

    Ta c:

    () = {()( )} = lim

    1

    2 ()( )

    1

    ()( )

    1

    =0

    N l s mu d liu, ta c:

    Nu () thc th ()

    () =1

    ()( ) , 0

    1

    =

    trong biu thc trn ta c th b T cho gn.

    D liu x(0), x(1), ., x(N-1).

    B c lng ca hm tng quan

    Vi b c lng khng lch ( Unbiased)

    V b c lng lch ( Biased)

    1*

    1*

    1( ) ( ) ( ) 0

    ( ) ( ) 0

    1( ) ( ) ( ) 0

    ( ) ( ) 0

    N

    k m

    N

    k m

    r m x k x k m mN m

    r m r m m

    r m x k x k m mN m

    r m r m m

    1 1*1 1{ ( )} { ( ) ( )} ( ) ( )

    N N

    x x

    k m k m

    E r m E x k x k m r m r mN m N m

  • Bo co thc hnh Matlab Trn Nht Hoi Bo 41100249

    4

    c lng mt ph cng sut

    M hnh AR

    M hnh AR l m hnh c mi lin h gia u vo e(k) v tn hiu ra x(k) nh sau:

    () = 1( 1) 2( 2) ( ) + 0()

    c lng cc h s a1, a2,.., an, b0 t cc mu thu thp c, ta c th s dng 3 phng

    php ch yu sau.

    a. c lng bng phng php bnh phng ti thiu

    c lng 1 2 3 0, , ,..., ,na a a a b t d liu (0),..., ( 1)x x N

    1

    2

    0

    ( ) ( 1) ( 2) (0) ( )

    ( 1) ( ) ( 1) (1) ( 1)

    ( 1) ( 2) ( 3) ( 1) ( 1)n

    ax n x n x n x e n

    ax n x n x n x e nb

    ax N x N x N x N n e N

    ~ ~ ~ ~

    0 0x R b e b e x R

    2~ ~ ~

    0 0 0

    ~ ~ ~ ~ ~ ~

    ~ ~ ~

    ( ) ( )

    ( ) ( )

    2

    arg min

    T

    T

    T T T T T

    T T

    T T

    J b e b e b e

    J x R x R x x x R R x R R

    J R R x R x x

    J

    ~ ~

    ~ ~1

    2 2 0

    ( )

    T T

    T T T T

    T T T T

    LS

    dJR R x R R R x R

    d

    R R R x R R R x

    1 1*1 1{ ( )} { ( ) ( )} ( ) ( )

    N N

    x x

    k m k m

    N mE r m E x k x k m r m r m

    N N N

    2

    2

    ( ) ( )

    ( ) ( )

    Mj fmT

    cor x

    m M

    Mj fmT

    cor x

    m M

    P f T r m e

    P f T r m e

  • Bo co thc hnh Matlab Trn Nht Hoi Bo 41100249

    5

    1

    2

    n

    => 1 2 n

    dJ dJ dJ dJ

    d d d d

    0 1 1 2 21 2 0 1 1 1 2 0 21 0 2

    2T Tr r

    R R r r rr r

    0 1 1 2 1 1 0 2( ) 2 2 ,2 2T Td R R r r r r

    d

    0 11 2 0 1 1 2 1 1 0 21 0

    2 2 2 ,T Tr r

    R R r r r rr r

    Phng php Least square

    ~1( )T TLS R R R x

    2~

    2 1~ ~ ~2 2

    0 0 0

    1 12 2 2 2 2

    0 0 0

    0

    ( )

    { ( )} ( 1)

    T N

    k n

    N N

    e

    k n k n

    J x R

    J b e b e e b e k

    E J b E e k b b N n

    Jb

    N n

    ngha hnh hc ca pp LS:

  • Bo co thc hnh Matlab Trn Nht Hoi Bo 41100249

    6

    Nu

    ~

    ~

    1

    ~

    ( 1)

    ( 1)

    ( )

    min ( 1) min (

    arg min 0

    T T

    x N R

    x N R

    R R R R

    J x N R R

    J

    Tng qut :

    ~ ~ ~

    ~

    ~ ~

    ~ ~

    ~

    ( 1)

    : [0]

    _

    T

    x N x x

    x R

    x R x

    x R x x R

    x R x

    b. c lng bng phng php bnh phng ti thiu quy

    Theo m hnh AR : () = 1( 1) 2( 2) ( ) + 0()

    Ti thi im k

    Vi cch t cc k hiu nh sau:

    1

    2

    0

    ( ) ( 1) ( 2) . . . (0) ( )

    ( 1) ( ) ( 1) . . . (1) ( 1)

    .. . . . .

    .. . . . .

    .. . . . .

    ( ) ( 1) ( 2) . . . ( ) ( )n

    ax n x n x n x e n

    ax n x n x n x e n

    b

    ax n k x k x k x k n e k

  • Bo co thc hnh Matlab Trn Nht Hoi Bo 41100249

    7

    V

    Ti thi im k+1

    [

    ( + 1)] = [

    ] + [

    ( + 1)] 0

    Vi = [() ( + 1) ( + 1)]

    = ()

    1

    V +1 = (+1 +1)

    1+1 +1

    Sau khi tnh ton ta c

    +1 = +(

    )1(+1

    )

    1 + (

    )1

    t = ()

    1 :

    +1 = +(+1

    )

    1 +

    t tip +1 =

    1+

    +1 = + +1(+1 )

    T ta tm ra cch c lng cc h s bng phng php bnh phng ti thiu quy.

    ( )

    ( 1)

    .( )

    .

    .

    ( )

    x n

    x n

    x k

    x n k

    ( )

    ( 1)

    .

    .

    .

    ( )

    k

    e n

    e n

    e

    e k

    1

    2

    .

    .

    .

    n

    a

    a

    a

    ( 1) ( 2) . . . (0)

    ( ) ( 1) . . . (1)

    . . .

    . . .

    . . .

    ( 1) ( 2) . . . ( )

    k

    x n x n x

    x n x n x

    R

    x k x k x k n

  • Bo co thc hnh Matlab Trn Nht Hoi Bo 41100249

    8

    c. c lng bng phng php bnh phng Jule Walker

    Phng trnh Jule-Walker

    e(k): n trng , 20, 1e em

    0

    1 2

    1 2

    1 2 0

    ( )1 ...

    ( ) ( 1) ( 2) ... ( ) ( )

    n

    n

    n

    bH z

    a z a z a z

    x k a x k a x k a x k n b e k

    2

    * 0

    ex

    , 0( ) ( ) ( )

    0 , 0

    eb mr m E e k x k mm

    * * * *

    ex 1 2

    *

    0

    : 0

    (0) ( ) ( ) ( )[ ( 1) ( 2) ... ( )

    ( ) ( )

    n

    TH m

    r E e k x k E e k a x k a x k a x k n

    b E e k e k

    Vi * *1( )[ ( 1) ... ( )] 0nE e k a x k a x k n

    * * *

    ex 1

    *

    0

    : 0

    ( ) ( ) ( ) ( )[ ( 1 ) ... ( )]

    ( ) ( ) 0

    n

    TH m

    r m E e k x k m E e k a x k m a x k n m

    b E e k e k m

    V e(k) l tn trng nn ch tng quan vi chnh n

    Vy

    2

    * 0

    ex

    , 0( ) ( ) ( )

    0 , 0

    eb mr m E e k x k mm

    *

    *

    1 2 0

    1 2 0 ex

    ( ) ( ) ( )

    [ ( 1) ( 2) ... ( ) ( )]x ( )

    ( 1) ( 2) ... ( ) ( )

    x

    n

    x x n x

    r m E x k x k m

    E a x k a x k a x k n b e k k m

    a r m a r m a r m n b r m

    H(Z) e(k)

    x(k)

  • Bo co thc hnh Matlab Trn Nht Hoi Bo 41100249

    9

    2

    1 2 0

    1 2

    1 2

    1 2

    * 0 (0) ( 1) ( 2) ... ( )

    * 1 (1) (0) ( 1) ... (1 )

    1 * 2 (2) (1) (0) ... (2 )

    ...

    * ( ) ( 1) ( 2) ... (0)

    x x x n x e

    x x x n x

    x x x n x

    x x x n x

    m r a r a r a r n b

    m r a r a r a r n

    n pt m r a r a r a r n

    m n r n a r n a r n a r

    Phng trnh Jule-Walker

    1

    2

    3

    (0) ( 1) ( 2) ... (1 ) (1)

    (1) (0) ( 1) ... (2 ) (2)

    (2) (1) (0) ... (3 ) (3)

    ( 1) ( 2) ( 3) ... (0) ( )

    x x x x x

    x x x x x

    x x x x x

    x x x x n x

    r r r r n a r

    r r r r n a r

    r r r r n a r

    r n r n r n r a r n

    1 2

    2

    0 1 2

    , ,...,

    ( 1) ( 2) ... ( ) (0)

    n

    x x n x x

    a a a

    b a r a r a r n r

  • Bo co thc hnh Matlab Trn Nht Hoi Bo 41100249

    10

    B. Bi tp Matlab

    Xt hm truyn

    e(k)

    () =0

    4

    [( 1)2 22][( 3)2 4

    2]

    Vi cc thng s

    1 = 0.5 4 = 0.62 = 0.4 0 = 0.4

    3 = 0.5

    e(k) l n trng vi me=0 . To 1000 d liu.

    Yu cu :

    - c lng v v 2( )j fxP e

    dng Periodogram v correlogram

    - c lng m hnh AR dung phng php:

    + Bnh phng ti thiu

    + Bnh phng ti thiu quy

    + Phng php Jule-Walker

    - V 2( )j fxP e

    H(z) x(k)

  • Bo co thc hnh Matlab Trn Nht Hoi Bo 41100249

    11

    S KHI CTHC HIN

    Tn hiu vo l nhiu trng vi = 0 v variance 2 = 1

  • Bo co thc hnh Matlab Trn Nht Hoi Bo 41100249

    12

    Thay th cc gi tr vo trong H(z) ta c hm:

    () =0.44

    4 23 + 2.022 1.02 + 0.2501

    T ta c:

    () = 2( 1) 2.02( 2) + 1.02( 3) 0.2501( 4) + 0.4()

    1. c lng v v 2( )j fxP e

    dng Periodogram v Correlogram

    Code Periodogram

    clear all

    clc

    load Project.mat YY;

    TT=YY(1,:);

    XX=YY(2,:);

    length=size(XX,2);

    f=0:1/1000:1;

    % Xac dinh P[exp(j2*Pi*f)] voi cua so chu nhat

    [Pper,f]= periodogram(XX,window,f,1);

    subplot(2,2,1);

    plot(f,Pper);

    title('Periodogram with Rectangular Window');

    xlabel('Frequency (Hz)');

    ylabel('Power Spectral Density');

    % Xac dinh P[exp(j2*Pi*f)] voi cua so Hamming

    [Pper,f]= periodogram(XX,Hamming(length),f,1);

    subplot(2,2,2);

    plot(f,Pper);

    title('Periodogram with Hamming window');

    xlabel('Frequency (Hz)');

    ylabel('Power Spectral Density');

    % Xac dinh P[exp(j2*Pi*f)] voi cua so Blackman

    [Pper,f]= periodogram(XX,Blackman(length),f,1);

    subplot(2,2,3);

    plot(f,Pper);

    title('Periodogram with Blackman window');

    xlabel('Frequency (Hz)');

    ylabel('Power Spectral Density');

  • Bo co thc hnh Matlab Trn Nht Hoi Bo 41100249

    13

    Kt qu c lng Periodogram vi cc ca s

    Kt lun: Vi cc ca s ging nhau, v vy 2( )j fxP e

    thu c cng khng ging nhau hon

    ton.

    % Xac dinh P[exp(j2*Pi*f)] voi cua so Hanning

    [Pper,f]= periodogram(XX,Hann(length),f,1);

    subplot(2,2,4);

    plot(f,Pper);

    title('Periodogram with Hanning window');

    xlabel('Frequency (Hz)');

    ylabel('Power Spectral Density');

  • Bo co thc hnh Matlab Trn Nht Hoi Bo 41100249

    14

    Code Correlogram

    Kt qu

    clear all

    clc

    load Project.mat YY;

    TT=YY(1,:);

    XX=YY(2,:);

    N=size(XX,2);

    f=0:1/1000:1;

    T=1;

    M=round(N/10);

    min=M+1;

    max=2*M+1;

    %Correlogram with Unbiased estimate

    rm=xcorr(XX,M,'unbiased');

    PcorwithinT=zeros(1,length(f));

    for i=1:length(f)

    test=0;

    for m=min:max

    test=test+rm(m)*2*cos(2*pi*f(i)*(m-101)*T);

    end

    PcorwithinT(i)=test;

    end

    Pcor=(PcorwithinT-rm(min))*T;

    subplot(1,2,1);

    plot(f,Pcor);

    grid on;

    title('Correlogram with Unbiased estimate');

    xlabel('Frequency (Hz)');

    ylabel('Power Spectral Density');

    %Correlogram with Biased estimate

    rmb=xcorr(XX,M,'biased');

    PcorwithinTb=zeros(1,length(f));

    for i=1:length(f)

    test=0;

    for m=min:max

    test=test+rmb(m)*2*cos(2*pi*f(i)*(m-101)*T);

    end

    PcorwithinTb(i)=test;

    end

    Pcorb=(PcorwithinTb-rmb(min))*T;

    subplot(1,2,2);

    plot(f,Pcorb);

    grid on;

    title('Correlogram with Biased estimate');

    xlabel('Frequency (Hz)');

    ylabel('Power Spectral Density');

  • Bo co thc hnh Matlab Trn Nht Hoi Bo 41100249

    15

    Kt lun: 2( )j fxP e

    thu c khi dng Correlogram c dng ging vi 2( )j fxP e

    khi s dng

    Periodogram

    2. c lng m hnh AR bng 3 phng php

    Phng php bnh phng ti thiu

    Code Least squares

    clear all

    load Project.mat YY;

    TT= YY(1,:);

    XX= YY(2,:);

    NN = size(YY,2);

    nTheta = 4;

    %Least squares

    X = XX(1,5:NN)';

    R = [-XX(1,4:NN-1)' -XX(1,3:NN-2)' -XX(1,2:NN-3)' -

    XX(1,1:NN-4)'];

    ThetaLS = inv(R'*R)*R'*X;

    Xtest= X-R*ThetaLS;

    J=norm(Xtest);

    B0_LS=J*sqrt(1/(NN-4))

    Leastsquares =[ThetaLS]

  • Bo co thc hnh Matlab Trn Nht Hoi Bo 41100249

    16

    Kt qu

    Kt lun: Cc h s c c lng tin gn cc h s c ch ra u bi. Mt s h s c

    c lng sai s ng k.

    Phng php bnh phng ti thiu quy

    Code Recursive Least Squares

    Kt qu

    B0_LS =

    0.4016

    Leastsquares =

    -1.9919

    2.0560

    -1.0797

    0.2930

    clear all

    load Project.mat YY;

    TT= YY(1,:);

    XX= YY(2,:);

    NN = size(YY,2);

    nTheta = 4;

    % Recursive Least Squares

    ThetaRLS = zeros(nTheta,1);

    GG = 100*eye(nTheta);

    for k = 5 : NN

    Phi = [-XX(k-1); -XX(k-2); -XX(k-3); -XX(k-4)];

    KK = GG*Phi/(1+Phi'*GG*Phi);

    ThetaRLS = ThetaRLS + KK*(XX(k) - Phi'*ThetaRLS);

    GG = (eye(nTheta)-KK*Phi')*GG;

    end

    RecursiveLeastSquares=[ ThetaRLS]

    Xtestt=X-R*ThetaRLS;

    Jt=norm(Xtestt);

    B0_RLS=Jt*sqrt(1/(NN-4));

  • Bo co thc hnh Matlab Trn Nht Hoi Bo 41100249

    17

    Kt lun: Cc h s c c lng kh ging vi phng php bnh phng ti thiu ( Least

    Squares)

    Phng php bnh phng Jule Walker

    Code Jule Walker ( dng hm Matlab v da vo l thuyt)

    RecursiveLeastSquares =

    -1.9915

    2.0550

    -1.0788

    0.2926

    B0_RLS =

    0.4016

    clear all

    load Project.mat YY;

    TT= YY(1,:);

    XX= YY(2,:);

    NN = size(YY,2);

    nTheta = 4;

    %Jule Walker Matlab

    [JuleWalker,NoiseVariance] = aryule(XX,4);

    B0_JuleWalker=sqrt(NoiseVariance);

    [Pxx,f] = pyulear(XX,4,1000,1);

    subplot(212);

    plot(f,10*log10(Pxx));

    %Jult Walker

    M=NN/10;

    RR=xcorr(XX,M,'biased');

    Rx=[-RR(1,101:104)' -RR(1,100:103)' -RR(1,99:102)' -

    RR(1,98:101)'];

    Rxx=RR(1,102:105)';

    ThetaJW=inv(Rx)*Rxx;

    R_square=RR(1,102:105);

    B0_square=0;

    for i=1:4

    B0_square=B0_square+ThetaJW(i)*RR(101+i);

    end

    B0=sqrt(B0_square+RR(101));

  • Bo co thc hnh Matlab Trn Nht Hoi Bo 41100249

    18

    S dng 2 phng php tnh Jule Walker ra cng 1 kt qu

    Kt lun

    Phng php Jule Walker cho ra cc h s c c lng chnh xc hn 2 phng php bnh

    phng ti thiu v bnh phng ti thiu quy. Cc h s c sai s ng k 2 phng php

    trn, trong phng php Jule Walker cho ra gn vi h s cho hn.

    V 2( )j fxP e

    vi cc h s c lng trn ( lm vi Periodogram dng ca s ch

    nht).

    JuleWalker =

    1.0000 -1.9577 1.9799 -1.0056 0.2617

    NoiseVariance =

    0.1694

    B0_JuleWalker =

    0.4116

    ThetaJW =

    -1.9577

    1.9799

    -1.0056

    0.2617

    B0 =

    0.4116

  • Bo co thc hnh Matlab Trn Nht Hoi Bo 41100249

    19

    c lng Periodogram vi phng php bnh phng ti thiu cho ta ph 2( )j fxP e

    c lng Periodogram vi phng php bnh phng Jule Walker cho ta ph 2( )j fxP e

  • Bo co thc hnh Matlab Trn Nht Hoi Bo 41100249

    20

    c lng Periodogram vi phng php bnh phng ti thiu quy cho ta ph 2( )j fxP e

    Kt lun: Da vo cc kt qu ph mt cng sut thu c, so snh vi tn hiu ban u, cc

    ph cho kt qu kh ging nhau.

  • Bo co thc hnh Matlab Trn Nht Hoi Bo 41100249

    21

    PH LC

    Hnh trn l tn hiu ng ra c v t cc s liu thu nhn c ti Project.mat

    Hnh hin th c t Scope, trong pha trn l tn hiu ng ra x(k), hnh di l tn hiu

    nhiu e(k)

  • Bo co thc hnh Matlab Trn Nht Hoi Bo 41100249

    22

    Cc mu d liu trong file Project.mat

    Code Matlab v 2( )j fxP e

    dng Periodogram vi cc phng php bnh phng ti thiu

    clear all

    clc

    load ProjectLS.mat YY;

    TT=YY(1,:);

    XX=YY(2,:);

    length=size(XX,2);

    f=0:1/1000:1;

    % Xac dinh P[exp(j2*Pi*f)] voi cua so chu nhat

    [Pper,f]= periodogram(XX,window,f,1);

    plot(f,Pper);

    title('Periodogram LS with Rectangular Window');

    xlabel('Frequency (Hz)');

    ylabel('Power Spectral Density');

  • Bo co thc hnh Matlab Trn Nht Hoi Bo 41100249

    23

    Phng php bnh phng ti thiu quy

    V phng php bnh phng Jule Walker

    Cc file cha d liu 1000 mu c lu trong cc file Project.mat (vi cu 1, 2); ProjectLS.mat,

    ProjectRLS.mat, ProjectJW.mat (vi cc cu v 2( )j fxP e

    ) ca cc tn hiu c c lng

    h s.

    Cc file Project.mdl ( dng cho cu 1,2) ; cc file ProjectLS.mdl, ProjectRLS.mdl,

    ProjectJW.mdl dng ly d liu cho cc cu v ph pha sau.

    File ARmodel.m cha code matlab cc cu c lng bng 3 phng php khc nhau.

    File Correlogram.m cha code matlab cho v ph cng sut bng Correlogram.

    File Periodogram.m cha code matlab cho v ph cng sut bng Periodogram.

    Cc file PeriodogramLS.m, PeriodogramRLS.m v PeriodogramJW.m cha code matlab cho v

    ph cng sut bng Periodogram cho cc tn hiu c lng h s.

    clear all

    clc

    load ProjectRLS.mat YY;

    TT=YY(1,:);

    XX=YY(2,:);

    length=size(XX,2);

    f=0:1/1000:1;

    % Xac dinh P[exp(j2*Pi*f)] voi cua so chu nhat

    [Pper,f]= periodogram(XX,window,f,1);

    plot(f,Pper);

    title('Periodogram RLS with Rectangular Window');

    xlabel('Frequency (Hz)');

    ylabel('Power Spectral Density');

    clear all

    clc

    load ProjectJW.mat YY;

    TT=YY(1,:);

    XX=YY(2,:);

    length=size(XX,2);

    f=0:1/1000:1;

    % Xac dinh P[exp(j2*Pi*f)] voi cua so chu nhat

    [Pper,f]= periodogram(XX,window,f,1);

    plot(f,Pper);

    title('Periodogram JW with Rectangular Window');

    xlabel('Frequency (Hz)');

    ylabel('Power Spectral Density');