lt 102trang

Upload: baothienbinh

Post on 05-Apr-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/2/2019 LT 102Trang

    1/102

    Phn I: CSL THUYT

    Phn I.I: CBN V MATLAB V LP TRNH TRN MATLAB

    MATLAB l mt cng c tnh ton ton hc. MATLAB c thc sdng tnh ton, n cng cho php chng ta v cc biu , th theo nhiu

    cch khc nhau. ging nh mt chng trnh phn mm, chng ta c th to,thc thi v lu mt dy cc lnh my tnh c th chy tng. Cui cng,MATLAB cng c th c coi nh l mt ngn ng lp trnh, l mt mitrng dng lp trnh hay tnh ton. MATLAB c thit k lm vic vinhng tp d liu c bit chng hn nh ma trn,vector, hnh nh.

    Trong khi chy chng trnh MATLAB, tu theo yu cu ca ngi sdng, MATLAB s to ra mt hoc nhiu ca s trn mn hnh. Ca s quantrng nht l ca s lnh (Command Window), y l ni chng ta giao tip(tng tc) vi MATLAB v cng l ni chng ta nhp vo cc lnh vMATLAB s cho ra kt qu. Du >> l du nhc ca chng trnh MATLAB.Khi MATLAB hot ng, con tr chut s xut hin sau du nhc, lc ny

    MATLAB ang chngi s dng nhp lnh vo. Sau khi nhp lnh v nhnEnter , MATLAB p ng li bng cch in ra cc dng kt qu trong ca slnh hay to ra mt ca s hnh (Figure Window). thot khi chng trnhMATLAB chng ta s dng lnh exit hoc quit.

    MU

    1.1. NHP MT DNG LNH

    MATLAB l mt h thng tng tc, lnh sc thc thi ngay lp tckhi nhn Enter. Nhng kt qu ca mi lnh, nu c yu cu, sc xut

    hin trn mn hnh. Tuy nhin, mt lnh chc thc thi khi lnh c nhpvo ng c php.

    Danh sch cc php ton cbn v cch biu din chng trong chngtrnh MATLAB.

    Bng 1Php ton Lnh MATLAB Php ton Lnh MATLABa + b a + b pia b a b 4.103 4 e3 hay 4*10^3a.b a*b i i hay ja/b a/b hay a\b 3 4i 3 4*i hay 3

    4*jxb x^b e, ex exp(1), exp(x)

    x sqrt(x) hay x^0.5 lnx, logx ln(x), log(x)

    x abs(x) sinx, arctanx, sin(x), atan(x),

    Lu nhp vo mt dng lnh ng Nhng lnh trong MATLAB c thc thi ngay lp tc khi nhn Enter.

    Kt qu ca mi dng lnh sc hin th trn mn hnh ngay lp tc

  • 8/2/2019 LT 102Trang

    2/102

    V d:>> 3 + 7.5ans =

    10.5000 Kt qu ca php tnh cui cng sc gn cho bin ans.

    V d:>> 14/4ans =

    3.5000>>ans^(-6)ans =

    5.4399e-045.4399e-04 l mt cch th hin ca 5.4399*10-4

    Lu : ans lun c cp nht gi tr bi kt qu ca php tnh cuicng. Chng ta c thnh ngha nhng bin mi mt cch trc tip m khng

    cn khai bo. Theo di gi trc lu trong bin a v b.

    V d:>>a = 14/4a =

    3.5000>>b = a^(-6)b =

    5.4399e-04 Khi mt lnh c kt thc bi du ; th kt qu ca n khng c

    xut hin trn nm hnh.V d:>>3 + 4; % Kt qu khng hin th ln mn hnh.

    thc thi nhiu lnh cng mt lc, cc lnh cn c cch nhau bidu , (hin th kt qu) hay cch nhau bi du ; (khng hin th kt qu)V d:>> sin(pi/4), cos(pi); sin(0)ans =

    0.7071ans =

    0Lu : Trong cc kt qu trn gi tr ca cos(pi) khng c hin th.

    Vi mi gi tr, MATLAB mc nh s hin thdng c 5 ch s. Lnhformat long s tng s ch s hin th ln 15 v lnh format short s gim tr

    v 5.V d:>> 312/56ans =

    5.5714>>format long>> 312/56ans =

    5.57142857142857

  • 8/2/2019 LT 102Trang

    3/102

    Kt qu ca mi lnh c th cha vi dng trng, iu ny c thckhc phc bi lnh format compact. Ngc li lnh format loose s thm vonhng dng trng.

    nhp vo mt biu thc qu di ta s dng du xung hngV d:>> sin(1) + sin (2) - sin (3) + sin (4) - sin (5) + sin (6) -

    sin (7) + sin (8) - sin (9) + sin (10) - sin (11) + sin (12) MATLAB phn bit ch hoa vi ch thng Tt c cc k t t sau du %n cui dng ch c tc dng ghi ch.

    V d:>>sin(3.14159) % gn bng sin(pi)

    Ni dung ca lnh thc thi cng c thc ly li bng phm mitn(Ctrl - P) ly li lnh trc (Ctrl - N) gi lnh sau

    thay i ni dung ca lnh ta s dng cc phm mi tn v dichuyn con trn v tr mong mun v sa lnh. Trong trng hp lnh qu

    di, ta s dng Ctrl a (vu dng) v Ctrl e (v cui dng). gi li lnh thc thi bt u bng k t, v dc, ta nhn phmsau khi nhn phm c. iu ny cng ng vi cm t, v d, cos theo sau biphm s tm nhng lnh thc thi bt u bi cos.

    1.2. CNG C GIP

    MATLAB cung cp mt cng c gip trc tip.Lnh help l cch n gin nht gip . bit thm chi tit v lnh

    help ta nh lnh:>> help help

    Nu bit tn mc hay tn mt lnh c th no , ta s dng lnhhelp mt cch c th hn.

    >>help ops % lnh ny cho ta bit thng tin v cc ton t v cc k tc bit trong MATLAB

    Khi s dng lnh help tn mc bn mun gip phi chnh xc vng.

    Lnh lookfor hu dng hn trong trng hp bn khng bit chnh xctn ca lnh hay mc.

    >> lookfor inverse % lnh ny th hin danh sch cc lnh v mt m tngn % gn ca cc lnh m trong phn gip c tinverse

    Ngoi ra, vi lnh lookfor bn c th s dng mt tn khng hon chnh>> lookfor invBn cnh hai lnh trn cn c lnh helpwin, lnh helpwin mra mt ca

    s mi th hin th mc cc mc gip .

  • 8/2/2019 LT 102Trang

    4/102

    1.3. DNG MT LNH HAY CHNG TRNH, NG DN, KHNGGIAN LM VIC

    1.3.1. Dng mt lnh hay chng trnhThnh thong chng ta s gp mt li bn trong lnh hay chng trnh

    ca mnh, li ny c th lm cho lnh hay chng trnh khng th dng li. dng lnh hay chng trnh ny li ta nhn t hp phm Ctrl C hoc Ctrl Break.

    1.3.2. ng dnTrong MATLAB, lnh hay cng trnh c th cha m file, cc file ny

    ch l cc file text v c phn mrng l .m. Cc file ny phi c t trongcc th mc m MALAB thy c. Danh sch cc th mc ny c thclit k bi lnh path. Mt trong cc th mc m MATLAB lun nhn thy lth mc lm vic hin ti, th mc ny c thc xc nh bi lnh pwd. Sdng hm path, addpath, rmpath thm hay xo cc th mc ng dn.Cng vic ny cng c thc thc hin t thanh cng c: File Set path.

    1.3.3. Khng gian lm vic

    Khi lm trong ca s lnh (Command Window), MATLAB s nhtt ccc lnh v tt c cc bin m chng ta to ra. Cc lnh v bin ny chin th trong workspace. Chng ta c th d dng gi li cc lnh ny khi cn.Cc ga tr bin c thc kim tra li bi lnh who, lnh who s cho danhsch cc bin c trong workspace. V lnh who th hin c tn, kch thc vlp ca bin.

    Lnh clear s xo bin ny khi workspace, clear hay clearall s xo tt c cc gi tr bin. Vic xo tt c gi tr bin l cn thit khi ta btu mt chng trnh hay mt bi tp mi.

    >> clear a x>>who

    Your variables are:ans b

    1.4. SAVE V LOAD DLIU

    Cch d nht save hay load cc bin l s dng thanh cng c, chnFile v sau chn Save Workspace as hay Load Workspace.MATLAB cng c lnh save d liu vo file hoc load d liu ra t file.

    Lnh Save s lu cc bin trong workspace mt file nh phn hoc fileASCII, file nh phn tng c phn mrng .mat

    Lnh Load cho php chp cc bin v gi tr ca chng t file vo

    workspace. C php ging nh lnh save. Lnh Loadc s dng khi chngta cn np cc gi tr c khi to trc vo trong chng trnh.

  • 8/2/2019 LT 102Trang

    5/102

    CHNG 1: CBN V C PHP V BIN

    1.1. MATLAB NHL MT CNG C TNH TON.

    Cc kiu s cbn c s dng trong MATLAB l s nguyn, s thcv s phc. MATLAB cng c th biu din cc snon number. C hai dngsnon numbertrong MATLAB, l:

    Inf: l s v cc dng c to bi php chia 1/0. NaN: l sc to ra bi cc php ton chng hn nh 0/0 hay .

    Trong MATLAB c su php ton c bn: +, - , *, /(chia tri) hoc \(chia phi) v ^ (s m).

    Lu : Hai php ton chia tri v chia phi l khc nhauV d:>> 19/3 %19 chia cho 3ans =

    6.3333>>19\3, 3/19 % php chia phi l 3 chia cho 19

    ans = 0.1579ans =

    0.1579Cc hm lng gic v cc hm m, logarith cng c s dng trong

    MATLAB.

    1.2. PHP GN V BIN

    Khng ging nh cc ngn ng lp trnh thng thng, trong MATLABta khng cn phi khai bo bin. Mt bin sc tng to ra trong qu

    trnh gn d liu cho bin .Mi gi tr khi mi to ra th c mc nh c kiu s l double, kiu s32 bit. Chng c th s dng lnh single chuyn kiu s t dng double sangdng single, l kiu s 16 bit.

    >>a = single(a);Lnh single nn c s dng trong trng hp cn x l nhng ma trn

    c kch thc ln. Tuy nhin trong trng hp ch c vi gi trc s dngth ta nn chuyn qua dng double c c s chnh xc hn. S dng lnhdouble thc hin php bin i ny.

    >> a = double (a);Qui nh v tn bin:

    Trong MATLAB, tn ca bin phi c bt u bi mt k t ch, cth l ch thng hay ch in hoa, v theo sau bi cc k t ch, cc k t shoc du gch chn, khng cha du cch.

    Tn bin cha nhiu nht 31 k t.Tn bin phn bit ch hoa v ch thng.K t chm cu khng c php dng v n c nhng ngha c bit.Cc bin c to ra bng cch gn gi tr cho chng. Mt cch khc l

    gn gi tr ca bin ny cho bin khc.

  • 8/2/2019 LT 102Trang

    6/102

    V d:>> b = 10.5 % bin b c gn gi tr l 10.5>> a = b % bin a c gn bng bin b c gi tr 10.5Theo cch ny bin a c tng to ra, nu bin a tn ti th gi tr

    c ca n s b chng ln bi mt gi tr mi.Mt bin cng c thc to ra bi kt qu ca mt php tonV d:>>a = 10.5;>>c = a^2 + sin(pi*a)/4;

    Lu : Mt bin cha c nh ngha th khng c s dng gncho mt bin khc

    V d:>> clear a;>> f = a^2 + sin(pi*a)/4;on lnh trn s khng cho mt kt qung bi v gi tr ca a cha

    c khi to. Biu thc trn c th sa li nh sau:>> a = pi;

    >> f = a^2 + sin(pi*a)/4;Kt qu tr v ca mt hm c thc s dng gn v to ra ccbin mi.

    V d:>>b = 5; c = 7;>>a = min(b,c); % min l tn ca hm tm gi tr nh nht, gi tr

    nh nht ca b v cHm min vi hai bin b v c l hai i s. Kt qu ca hm ny (gi tr

    tr v ca hm) sc gn cho bin a.Lu : Ta khng c s dng tn bin trng vi tn hmChng hn, trong trng hp thc hin cc vng lp lin quan n s

    phc, ta khng s dng bin i hoc j lm bin m bi v cc gi tr ny cs dng lm s phc.S dng lnh who kim tra thng tin v cc binS dng lnh clear xo cc bin khi workspace.S dng lnh help xc nh xem tn bin c trng vi tn hm

    hay khng.Trong MATLAB c nhng sc mc nh to ra v c xem nh l

    cc hng s, chng hn nh pi, esp, hay i, mt s cc gi tr khc cho trongbng

    Bng 2

    Tn bin Gi tr/ nghaans Tn bin mc nh dng lu kt qu ca php tnh cuicng

    pi = 3.14159esp S dng nh nhtinf M t s dng nan hay NaN M t mt not a number, v d 0/0nargin/ nargout Si s input/ output ca hmrealmin/ S thc dng nh nht/ ln nht c th

  • 8/2/2019 LT 102Trang

    7/102

    realmaxflops S ca php ton s thci v j i = j = 1

    1.3. PHP TON VI VECTOR V MA TRN

    Trong MATLAB, tt c cc i tng u c xem l mt ma trn haycn c gi l mng. Mt ch sc xem nh l mt ma trn 1x1 v ma trnch c mt hng hay mt ct c gi l vector.

    1.3.1. VectorTrong qu trnh khi to, cc thnh phn ca mt vector c phn bit

    vi nhau bi khong trng hoc du chm phy ;. chiu di ca mt vector ls phn t tn ti trong n. Tt c cc thnh phn ca mt vector phi c ttrong du ngoc vung ([ ])

    V d>> v = [ - 1 sin(3) 7]

    v =-1.0000 0.1411 7.0000

    Dng lnh length xc nh chiu di ca vector.>> length(v)ans =

    3Ta c th p dng nhiu php tnh cbn khc nhau i vi vector. Mt

    vector c th nhn vi mt h s hoc cng / tr vi mt vector khc c cngchiu di. Trong php cng / tr, tng thnh phn ca hai vector cng / tr vinhau v cho ra mt vector c cng chiu di. Ta cng c th s dng php gni vi vector.

    V d:>> v = [- 1 2 7];>> w = [2 3 4];>> z = v + w % cng tng thnh phn vector vi nhauz =

    1 5 11>> y = v + 2 % 2 c cng vo tng thnh phn ca vector vy =

    1 4 9>> t = [2*v, -w] % to vector t t hai vector v v wans =

    - 2 4 14 - 2 - 3 - 4Mi thnh phn ca vector cng c th c s dng mt cch ring

    bit:V d:>> v(2) = - 1 % thay i gi tr thnh phn th 2 ca vector vv =

    - 1 -1 7>> w(2) % hin th gi tr thnh phn th 2 ca vector v

  • 8/2/2019 LT 102Trang

    8/102

  • 8/2/2019 LT 102Trang

    9/102

    Nhng php tnh i vi vector hng cng c thc s dng vectorct. Tuy nhin, chng ta khng th cng mt vector hng vi mt vector ct. thc hin c php tnh ny, ta cn s dng ton t chuyn v, ton t ny schuyn mt vector hng thnh mt vector ct v ngc li

    V d:>> u % u l vector ct, u s l vector hngans =

    -1 3 5>> v = [-1 2 3]; % v l mt vector hng>> u + v % khng th cng mt vector ct v mt vector hngKhi s xut hin thng bo li??? Error using = =>+Matrix dimensions must agree>> u + vans =

    -2 5 12>> u + v

    ans = -2512

    Nu z l mt vector phc th khi chuyn v ta phi dng ton t., nukhng th khi chuyn v ta s nhn c chuyn v lin hp ca z.

    V d:>> z = [1 + 2i, -1 + i]

    z =1.0000 + 2.0000i -1.0000 + 1.0000i

    >> z % chuyn v lin hp ca zans =1.0000 2.000i

    -1.0000 1.0000i>>z.ans =

    1.0000 + 2.0000i-1.0000 + 1.0000i

    c. Nhn, chia v s m ca vectorChng ta c th nhn hai vector c cng chiu di, =T i i ix y x y theo

    cch n ginV d:>> u = [-1; 3; 5]; % u l vector ct>> v = [-1; 2; 7]; % v l vector ct>> u * v % khng th nhn hai vector ct vi

    nhauKhi xut hin thng bo li??? Error using = =>+Inner matrix dimensions must agree>> u * v % kt qu nhn 2 vector

  • 8/2/2019 LT 102Trang

    10/102

    ans =42

    Khi nhn hai vector to ra mt vector c cng chiu di th ta s dngton t.*. Vi ton t ny th cc thnh phn tng ng ca hai vector sc nhn vi nhau. Cho hai vector x v y c cng chiu di th tch .* cahai vector l [ x1y1, x2y2, , xnyn]

    V d:>> x = u.*v % nhn tng thnh phn tng ngx =

    1635

    >>sum(u.*v) % tng ng php nhn hai vectorans =

    42>> z = [4 3 1]; % z l vector hng>> sum (u.*z) % php nhn hai vector

    ans = 10>> u;*z % tch 2 vectorans =

    10Trong ton hc khng tn ti php chia hai ma trn cho nhau. Tuy nhin

    trong MATLAB ton t./c nh ngha nh l php chia tng thnh phntng ng ca hai ma trn vi nhau. Kt qu cng l mt ma trn c cng kchthc

    V d:>> x = 2: 2: 10

    x = 2 4 6 8 10>> y = 6:10y =

    6 7 8 9 10>>x./yans =

    0.3333 0.5714 0.7500 0.8889 1.0000>> z = -1:3z =

    -1 0 1 2 3

    x./z % 4/0, kt qu l InfWarning: Divide by zero.ans =

    -2.0000 Inf 6.0000 4.0000 3.3333>>z./zWarning: Divide by zero.ans =

    1 NaN 1 1 1Ton t./ cng c thc s dng chia mt s cho mt vector:

  • 8/2/2019 LT 102Trang

    11/102

    >> x = 1:5; x/2 % chng trnh bo li??? Error using = => /Matrix dimensions must agree>> 2./xans =

    2.0000 1.0000 0.6667 0.5000 0.40001.3.2. Ma trn

    Vector hng v vector ct l nhng trng hp c bit ca ma trn. Matrn nk l mt mng gm c n hng v k ct. nh ngha mt ma trn trongMATLAB tng t nhnh ngha mt vector. Cc thnh phn ca hng cphn bit vi nhau bi du , hoc khong trng, cn cc hng c phn bitbi du ;.

    V d:

    Ma trn A =1 2 3

    4 5 6

    7 8 9

    c nh ngha nh sau:

    >> A = [1 2 3; 4 5 6; 7 8 9]A =

    1 2 34 5 67 8 9

    >>A2 = [1:4; -1:2:5]A2 =

    1 2 3 4-1 1 3 5

    >>A3 = [ 1 3-4 7]

    A3 =1 3

    -4 7T nhng v d trn ta nhn thy mt vector l mt ma trn 1k v mt

    vector ct l mt ma trn n1. Php chuyn v s chuyn mt vector hng thnhmt vector ct v ngc li. iu ny c th m rng cho mt ma trn, phpchuyn v s bin cc hng ca ma trn thnh cc ct v ngc li.

    V d:>> A2A2 =

    1 2 3 4-1 1 3 5>>A2 % chuyn v ca ma trn A2ans =

    1 -12 13 34 5

    >> size (A2) % kch thc ca ma trn A2

  • 8/2/2019 LT 102Trang

    12/102

    ans =2 4

    >> size (A2)ans =

    4 2a. Nhng ma trn c bitTrong MATLAB c mt s hm c s dng to ra cc ma trn cbit

    Bng 3Lnh Kt qun = rank (A) S chiu ca ma trn Ax = det(A) nh thc ca ma trn Ax = size (A) Kch thc ca Ax = trace(A) Tng cc thnh phn trn ng cho ca Ax = norm (v) Chiu di Euclide ca vector vC = A + B Tng hai ma trnC = A B Hiu hai ma trn

    C = A * B Tch hai ma trnC = A.*B Tch tng thnh phn tng ng ca hai ma trnC = A^k Ly tha ca ma trnC = A.^k Ly tha tng thnh phn ca ma trnC = A Ma trn chuyn v ATC = A./B Chia tng thnh phn tng ng ca hai ma trnC = inv(A) Nghch o ca ma trn AX = A\B Gii phng trnh AX = BX = B\A Gii phng trnh XA = Bx = linspace(a,b,n) Vector x c n thnh phn phn bu trong khong

    [a,b]

    x= logspace(a,b,n) Vector x c n thnh phn bt u 10a v kt thc vi10b

    A = eye(n) Ma trn ng nhtA = zeros(n,m) Ma trn all 0A = ones(n,m) Ma trn all 1A = diag(v) Ma trn zero vi ng cho l cc thnh phn ca

    vector vX = tril(A) Trch ma trn tam gic diX = triu (A) Trch ma trn tam gic trnA = rand(n,m) Ma trn A vi cc thnh phn l phn bng nht

    gia (0,1)A = randn(n,m) Ging nh trn vi cc thnh phn phn b chunv = max(A) Nu A l mt vector th v l gi tr ln nht ca A

    Nu A l ma trn th v l mt vector vi cc thnhphn l gi tr ln nht trn mi ct ca A

    v = min(A) Nh trn vi gi tr nh nhtv = sum(A) Nh trn vi tng

    V d:>>E = [] % mt ma trn rng 0 hng 0 ct

  • 8/2/2019 LT 102Trang

    13/102

    E =[]

    >>sire(E)ans =

    0 0>> I = eye(3) % ma trn ng nht 3x3I =

    1 0 00 1 00 0 1

    >> x = [2; -1; 7]; I*x %I*x = xans =

    2-17

    >>r = [1 3 -2];>>R = diag(r) % to mt ma trn ng cho

    R = 1 0 00 3 00 0 -2

    >>A = [1 2 3; 4 5 6; 7 8 9];>>diag(A) % trch ra ng cho ca ma trn Aans =

    159

    >> B = ones (3,2)

    B = 1 11 11 1

    >>C = zeros (size(C)) % ma trn all zero vi kch thc ca CC =

    0 0 00 0 0

    >>D = rand(2,3) % ma trn cc gi tr ngu nhin trongkhong (0,1)

    D =

    0.0227 0.9101 0.92220.0299 0.0640 0.3309>> v = linspace(1, 2, 4) % v l mt vector c 4 gi tr cch u nhau

    trong khong [1,2]v =

    1.0000 1.3333 1.6667 2.0000

    b. Xy dng ma trn v trch ra mt ma trn con t mt ma trn ln hnChng ta c th to ra mt ma trn ln t cc ma trn nh hn

  • 8/2/2019 LT 102Trang

    14/102

    V d:>> x = [4; -1], y = [-1 3]x =

    4-1

    y =-1 3

    >> X = [x y] % X bao gm cc ct ca x v yX =

    4 -1-1 3

    >> T = [-1 3 4; 4 5 6]; t = 1:3;>>T = [T; t] % thm mt dng mi bng cch cng t vo TT =

    -1 3 44 5 61 2 3

    >> G = [1 5; 4 5; 0 2]; % G l ma trn 3x2>>T2 = [T G] % kt ni 2 ma trnT2 =

    -1 3 4 1 54 5 6 4 51 2 3 0 2

    >>T3 = [T; G ones (3,1)] % G l ma trn 3x2% T l ma trn 3x3

    T3 =-1 3 44 5 5

    1 2 31 5 14 5 10 2 1

    >>[G diag9%:6); ones(3,2) T] % kt ni nhiu ma trnans =

    1 4 0 5 05 5 2 0 61 1 -1 3 41 1 4 5 61 1 1 2 3

    Cng tng t nh vi vector, chng ta c th trch ra mt s thnh phnca ma trn. Mi thnh phn ca ma trn c nh du bi v tr hng v ct.Thnh phn hng i v ct j c k hiu l Aij, v k hiu trong MATLAB lA(i,j).

    V d:>> A = [1:3; 4:6; 7:9]A =

    1 2 34 5 67 8 9

  • 8/2/2019 LT 102Trang

    15/102

    >>A(1,2), A(2,3), A(3,1)ans =

    2ans =

    6ans =

    7>>A(4,3) % khng ng v A l ma trn 33??? Index exceeds matrix dimensions.>>A(2,3) = A(2,3) + 2*A(1,1) % thay i gi tr ca A(2,3)A =

    1 2 34 5 87 8 9

    Mt ma trn cng c thc mrng theo cch sau y>> A(5,2) = 5 % gn 5 cho v tr A(5,2) v cc thnh phn khc l zeroA =

    1 2 34 5 87 8 90 0 00 5 0

    Cc thnh phn zero ca ma trn A trn cng c thc thay i>> A(4, :) = [2, 1, 2]; % gn vector [2, 1, 2] vo hng th 4 ca A>>A(5,[1,3]) = [4, 4]; % gn A(5,1) = 4 v A(5,3) = 4Nhng phn khc nhau ca ma trn c trch ra theo cch sau y:>>A(3; :) % trch ra hng th 3 ca Aans =

    7 8 9>> A(:; 2) % trch ra ct th 2 ca Aans =

    25815

    >> A(1:2,:) % trch ra hng th 1 v 2 ca Aans =

    1 2 3

    4 5 8>>A([2,5], 1:2) % trch ra mt phn ca Aans =

    4 54 5

    Lu : Khi nim ma trn rng [], chng hn cc hng hay ct ca matrn c thc xa b bng cch gn gi tr ca n bi ma trn rng [].

    >> C = [1 2 3 4; 5 6 7 8; 1 1 1 1];>> D = C; D (:, 2)= [] % xa ct th 2 ca D

  • 8/2/2019 LT 102Trang

    16/102

    >> C = ([1,3],:) = [] % xa ct th 1 v 2 ca Cc. Tnh ton vi ma trn

    Cc hm v php ton thng s dng vi ma trn c cho trong bng1. Lu ton t. trong php nhn ma trn vi ma trn v php nhn ma trnvi vector. Ton t. xut hin trong php nhn, php chia v s m. Khi cton t ny, php ton sc thc hin vi tng phn ca ma trn. C thtrong php nhn/ chia, tng thnh phn tng ng ca 2 ma trn s nhn/ chiavi nhau v kt qu l mt ma trn c cng kch thc vi 2 ma trn ban u.Nh vy trong trng hp s dng ton t ny, 2 ma trn phi c cng kchthc vi nhau

    V d:>> B = [1 -1 3; 4 0 7]B =

    1 -1 34 0 7

    >>B2 = [ 1 2; 5 1; 5 6];>> B = B + B2 % cng 2 ma trn

    B = 2 4 86 1 13

    >> B -2 % tr cc thnh phn ca B cho 2ans =

    0 2 64 -1 11

    >> ans = B./4 % chia cc thnh phn ca B cho 4ans =

    0.5000 1.0000 2.00001.5000 0.2500 3.2500

    >>4/B % sai c php??? Error using = => /Matrix dimensions must agree>> 4./B % tng ng vi 4.*ones(size(B))./Bans =

    2.0000 1.0000 0.50000.6667 4.0000 0.3077

    >> C = [1 -1 4; 7 0 -1];>> B.*C % nhn tng v tr vi nhauans =

    2 -4 32

    42 0 -13>> ans.^3 2 % m 3 cc thnh phn sau tr cho 2ans =

    6 -66 3276674086 -2 -2199

    >>ans./B.^2 % tng v tr chia cho nhauans =

    0.7500 -1.0312 63.9961342.9907 -2.0000 -1.0009

  • 8/2/2019 LT 102Trang

    17/102

    >> r = [1 3 -2]; r *B2ans =

    6 -7Lu : Cc php nhn ma trn ma trn v php nhn ma trn vector>>b = [1 3 -2]>> B = [1 -1 3; 4 0 7]B =

    1 -1 34 0 7

    >>b*B % khng th thc hin c??? Error using = => *Inner matrix dimensions must agree>> b *B % thc hin cans =

    -8 -10>> B*ones (2,1)ans =

    5-110

    >> C = [3 1; 1 -3];>> C*Bans =

    7 -3 16-11 -1 -16

    >>C.^3 % m 3 tng thnh phnans =

    27 1

    1 -27>>C^3 % tng ng vi C * C* Cans =

    30 1010 -30

    >> ones (3,4)./4*diag(1:4)ans =

    0.2500 0.5000 0.7500 1.00000.2500 0.5000 0.7500 1.00000.2500 0.5000 0.7500 1.0000

  • 8/2/2019 LT 102Trang

    18/102

    CHNG II: TH 2D V 3D

    MATLAB c thc s dng th hin cc kt qu di dng th,mi bin s cha tt c cc gi tr ca mt i s trong lnh v th.

    2.1.NHNG THN GIN

    Vi lnh plot chng ta d dng vc nhng thn gin. Chovector y, lnh plot(y) s xc nh nhng im [1, y(1)], [2, y(2)], , [n, y(n)]v ni cc im ny li bng nhng ng thng. Lnh plot (x,y) thc hin mtcng vic tng t nh vy vi nhng im [x(1), y(1)], [x(2), y(2)], , [x(n),y(n)].

    Nhng lnh loglog, semilogx v semilogy c chc nng tng t nhlnh plot, ngoi tr mt hoc hai trc th ca chng c xc nh theologarithm.

    Xt on chng trnh sau:>> x = 0:10;

    >> y = 2.^x; % y = [1 2 4 8 16 32 64 128 256 512 1024]>> plot(x,y) % biu din di dng th>> semilogy(x, y) % v th vi trc y theo logarithmKhi thc hin chng trnh ny th c hai thu c th hin trong

    cng mt ca sFigure No.1. th th nht s b xa b ngay khi th thhai xut hin. v hai th trn hai ca s khc nhau, ta s dng lnh figure to ra mt ca s mi trc khi thc hin lnh v th th hai. Bng cchny chng ta s c hai ca s ring bit th hin 2 th. Chng ta cng cth chuyn n cc ca s khc nhau bng lnh figure(n), lnh ny sa casNo.n ln trn mn hnh.

    Khi on lnh trn c vit li nh sau:

    >> x = 0:10;>> y = 2.^x;>> plot(x,y)>> figure>> semilogy(x, y) v mt th hm tng i chnh xc v p, iu quan trng l

    phi ly mu mt cch thch hpV d:>> n = 5;>> x = 0: 1/n:3; % ly mu khng tt>> y = sin (5*x);

    >> plot(x,y)

    L y m uL y m u khng

  • 8/2/2019 LT 102Trang

    19/102

    Sa li>> n = 25;>> x = 0: 1/n:3; % ly mu tt>> y = sin (5*x);>> plot(x,y)Lnh plot mc nh s v th bng nhng ng nt lin mu en. Ta

    c th thay i kiu cng nh mu sc ca nt vV d:>> x = 0: 0.4: 4;>> y = sin (5*x);>> plot(x, y, r --)

    Hnh 1 th trn sc v bng ng nt t mu . Thng s th ba ca

    lnh plot chnh mu v kiu ng ca nt v.Cc k hiu mu v kiu ng v ca th

    Bng 4K hiu Mu K hiu Kiu vr Red ., o nh du cc im bng du ., og Green * nh du cc im bng du *b Blue x, + nh du cc im bng du x, +y Yellow - V bng ng nt linm Magenta -- V bng ng nt t dic Cyan : V bng ng nt t ngn

    k Black -. V bng ng nt t chm gch

    Tiu ca th, ng k v nhn cho cc trc c xc nh bi cclnh sau:

    >> x = 0: 0.4: 4;>> y = sin (5*x);>> plot(x, y, r --)>> title ( Function y = sin (5*x));>> xlabel(x axis);>> ylabel(y axis);>> grid % loi b cc ng k bng lnh grid off

  • 8/2/2019 LT 102Trang

    20/102

    Hnh 2

    2.2. MT S HM C SDNG TRONG V TH

    C vi cch v nhiu th trong cng mt ca s hnh. Cch u tinl s dng lnh hold on. Sau lnh ny, tt c cc th sc v trn cng

    mt ca s hnh cho n khi c lnh hold off. Khi nhiu hm c v trn cngmt ca s, ta nn s dng mu sc v hnh dng khc nhau cho mi th.V d:>> x1 = 1: .1:3.1; y2 = sin (x1);>>plot(x1, y1, md);>>x2 1: .3: 3.1; y2 = sin (-x2 + pi/3);>> hold on>> plot(x2, y2, k*-.)>> plot(x1, y1, m-)>>hold off

    Hnh 3Cch th hai l v nhiu hm cng mt lc. Vi cch ny, cc hm sc v cng mt lc trn cng mt ca s hnh

    V d:>> x1 = 1: .1:3.1; y2 = sin (x1);>>x2 1: .3: 3.1; y2 = sin (-x2 + pi/3);>> plot (x1, y1, md, x2, y2, k*-., x1, y1, m-)

  • 8/2/2019 LT 102Trang

    21/102

    Hnh 4 xc nh c th di ca mi trc ta s dng lnh axis.V d:

    >> x1 = 1: .1:3.1; y2 = sin (x1);>>x2 1: .3: 3.1; y2 = sin (-x2 + pi/3);>> plot (x1, y1, md, x2, y2, k*-., x1, , m-)>>axis ([0, 4, -2, 2])

    Hnh 5 to ghi ch cho mi th ta s dng lnh legendV d:>> x1 = 1: .1:3.1; y2 = sin (x1);>>x2 1: .3: 3.1; y2 = sin (-x2 + pi/3);

    >> plot (x1, y1, md, x2, y2, k*-., x1, y1, m-)>>axis ([0, 4, -2, 2])>> legend (cos(x), cos(-x + pi/3));

  • 8/2/2019 LT 102Trang

    22/102

    Hnh 6 to ra nhiu ca s con trong cng mt ca s hnh ta s dng lnh

    subplot. Vi lnh subplot, ca s hnh c chia thnh pr ca s con cnh s t 1 n p.r, bt u t ca s trn cng bn tri v m theo tng hng.

    Cc lnh plot, title, grid ch lm vic vi ca s con hin ti.>> x = 1: .1:4;>>y1 = sin(3*x);>>y2 = cos(5*x);>>y3 = sin (3*x).*cos(5*x);>>subplot (1,3,1); plot (x, y1, m-); title(sin(3*x))>>subplot (1,3,2); plot (x, y2, g-); title(cos(5*x))>>subplot (1,3,3); plot (x, y3, k-); title(sin(3*x)*cos(5*x))

    Hnh 7

    2.3. CC THUC TNH KHC CA NG CONG 2D

    MATLAB c mt s hm c thit kc bit s dng vi nhnghnh 2D, v d nh cc hm: fill, polar, bar, barh, pie, hist, errorbar haystem.

  • 8/2/2019 LT 102Trang

    23/102

    V d:>> N = 5; k = -N: N;>> x = sin(k*pi/N);>>y = cos (k*pi/N); % (x, y) l cc nh ca a gic>> fill(x, y,g)>> axis square>> text (-0.7, 0, I am a green polygon)

    Hnh 82.4. IN N

    Trc khi tin hnh in miu t mt cch r rng hn chng ta c ththm mt s thng tin vo th, chng hn nh ta , hay thay i cch trnhby.

    Bng 5:Mt slnh thao tc vi thLnh Kt qugrid on/ off Thm li vo th

    axis([xmin xmax yminymax]) Xc nh gi tr ln nht v nh nht ca th

    box off/on Xa / hin thng vin khung ca thxlabel(text) Nhn ca trc xylabel(text) Nhn ca trc ytitle(text) Ta trn thtext(x, y, text) Thm dng k t vo im (x,y)gtext(text) Thm dng k t vo v tr xc nh bi chutlegend(fun1, fun2) Thm vo tn ca cc hmlegend off Xa tn ca cc hmClf Xa ca s hnh hin ti

    subplot To ra nhng ca s hnh con

    Cch n gin nht tin hnh in l chn File trn thanh cng c v sau chn Print. Lnh printc s dng gi mt thn my in hoc luvo mt file.

    V d:>> print dwinc % s dng my in hin hnh in mn hnh

    ang hin th

  • 8/2/2019 LT 102Trang

    24/102

    >> print fi deps myfile.eps % lu hnh Figure no.1 n file myfile.eps dng en trng

    >> print fi depsc myfile.eps % lu hnh Figure no.1 n file myfile.eps dng mu

    >> print dtiff mufile 1. tiff %lu hnh hin hnh n file myfile1. tiff>> print dpsc myfile1c.ps % lu hnh hin hnh n file myfile1.ps

    dng mu>> print f2 djpeg myfile2 % lu hnh Figure no.2 n file myfile2.jpg

    2.5. TH 3D

    Lnh plot3c s dng v th 3D, lnh ny tng ng lnhplot trong 2D. V hnh thc n ging nh lnh plot tuy nhin lnh plot3cmrng thm cho mt trc ta th 3

    V d: vng cong r c nh ngha r(t) = [tsin(t); tcos(t); t] vi tnm trong khong [-10 ; 10 ]

    >> t = linspace (-10*pi, 10*pi, 200); % chia mt on thnh cc khongchia tuyn tnh>> plot3(t*sin(t), t*cos(t),t, md-); % vng cong mu hng>> title (Curve r(t) = [tsin(t); tcos(t); t]);>>xlabel(x axis); ylable(y = axis); zlable(z axis);>>grid

    Hnh 9

    2.6. B MT TH

    Mt b mt c nh ngha bi mt hm f(x,y), vi MATLAB mi cpgi tr ca (x,y), cao z c tnh z = f(x,y). v mt b mt, vng ly mu

  • 8/2/2019 LT 102Trang

    25/102

    (x,y) nn l mt vng hnh ch nht. H thng cc gi tr x v y c to ra bilnh meshgrid nh sau:

    >> [X, Y] = meshgrid (-1:.5:1, 0:.5:2)X =

    -1.0000 -0.5000 0 0.5000 1.0000-1.0000 -0.5000 0 0.5000 1.0000-1.0000 -0.5000 0 0.5000 1.0000-1.0000 -0.5000 0 0.5000 1.0000-1.0000 -0.5000 0 0.5000 1.0000

    Y =0 0 0 0 00.5000 0.5000 0.5000 0.5000 0.50001.0000 1.0000 1.0000 1.0000 1.00001.5000 1.5000 1.5000 1.5000 1.50002.0000 2.0000 2.0000 2.0000 2.0000

    Vng ly mu trong trng hp ny l [-1, 1][0, 2] v khong ly mul 0.5. b mt th phng hn ta nn ly mu dy c hn.

    >> [X, Y] = meshgrid(-1:.05:1, 0:.05:2);>> Z = sin(5*X).*cos(2*Y);>> mesh (X, Y, Z);>> title (Function z = sin(5x) * cos(2y))

    Hnh 10Lnh close allc s dng ng tt c cc ca s hnh, ng tngca s ta c th s dng lnh close (close 1ng ca s hnh Figure No.1)

    2.7. HNH NG

    Trong MATLAB chng ta c th to ra hnh chuyn ng bng cch tora mt chui cc hnh. hiu cch to ra mt hnh ng, phn tch on

  • 8/2/2019 LT 102Trang

    26/102

    chng trnh sau vi th ca hm f(x) = sin(nx) trong x = [0, 2 ] v n =1, , 5.

    N = 5;M = moviein(N);x = linspace (0, 2*pi);for n = 1:N

    plot (x, cos(n*x), r-);xlabel(x axis)if n > 1,

    ss = strcat(cos(,num1str(n),x));else

    ss = cos(x);endylabel (ss)title(Cosine functions cos(nx),FontSize,12)axis tight % gii hn cc trc theo gi tr.Grid

    M(:,n) = getframe;Pause(1.8)endmovie(M) % chy on film.Cc lnh c t m trn l cc thnh phn chnh to nn mt on

    hnh chuyn ng trong MATLAB.Trong on chng trnh trn, cu trc vng lp forc s dng

    to ra cc khung nh cho oan film. Lnh strcat dng ni cc chui li vinhau.

    Khi chy on film, u tin 5 frame c hin th v sau l 5 framexut hin li vi tc nhanh hn. Lnh moviein (M) bo vi MATLAB rng

    c mt on film gm c M frame sc to ra. Cc frame lin tip nhau sc to ra bn trong vng lp. Vi lnh getgrame, cc frame sc lu vocc ct ca ma trn M. Lnh movie(M) s chy on film va to.

    Lu : vic to ra on film yu cu kh nhiu b nh, do vy khi ktthc cng vic nnclear M ra khi workspace

    CHNG III: BIU THC R NHNH

    Cu trc ca biu thc r nhnh bao gm mt nhm lnh cho php thcthi mt on chng trnh c iu kin hay thc hin mt vng lp.

    3.1. CC TON TLOGIC V BIU THC QUAN H

    thc hin biu thc r nhnh, chng trnh cn thc hin nhng phpton m kt qu ca n l NG hay SAI. Trong MATLAB, kt qu tr v camt ton t logic l 1 nu n ng v kt qu l 0 nu n sai

    Bng 6Lnh Kt qua = (b > c) a l 1 nu b ln hn c. Tng t vi =,

  • 8/2/2019 LT 102Trang

    27/102

    a = ( b = = c) a l mt nu b bng ca = (b ~ = c) a l 1 nu b khng bng ca ~ = b Logic b: a bng 1 nu b bng 0a = (b & c) Logic AND: a l 1 nu a = TRUE v b = TRUE.a = ( b | c) Logic OR: a l 1 nu a = TRUE hoc b = TRUE

    Nhng ton t quan h =, = = v ~ = c thc s dng so snh hai ma trn c cng kch thc ( lu rng mt sthc c xem nhl mt ma trn 1 1).

    Lu rng trong MATLAB cc ton t AND v OR c mc u tinbng nhau, iu ny c ngha l cc ton t ny sc thc thi t tri sangphi.

    V d:>> b = 10;>> 1 | b > 0 & 0 % | l logic OR, & l logic AND.ans =

    0

    >> (1 | b > 0) & 0 % biu thc ny tng ng vi biu thc trnans =

    0>> 1 | ( b > 0 & 0)ans =

    1Lu : trnh cc trng hp nhm ln ta nn sdng du ngoc

    phn bit cc biu thc logic c cp u tin khc nhau.

    3.2. BIU THC IU KIN

    Cu trc iu kin ifc s dng quyt nh nhm lnh no scthc thi. Di y m t tng qut ca cc lnh iu kin.

    Lnh disp dng in ra mn hnh on vn bn gia hai du nhy. Cu trc if end

    C php V difbiu thc logic if(a > 0)

    Lnh th1 b = a;Lnh th1 disp ( a is positive).. end

    end

    Cu trc if else end

    C php V difbiu thc logic if(temperature > 100)

    Cc lnh c thc thi khibiu thc logic TRUE

    disp ( above boiling.);toohigh = 1;

    else else

  • 8/2/2019 LT 102Trang

    28/102

    Cc lnh c thc thi khibiu thc logic FLASE

    disp ( temperature is OK);toohigh = 0;

    end end

    Cu trc if elseif else end

    C php V difbiu thc logic 1 if(height > 190)Cc lnh c thc thi khi biuthc logic 1 TRUE

    disp (very tall);elseif(height > 170)

    elseifbiu thc logic 2 disp (tall)Cc lnh c thc thi khi biuthc logic 2 TRUE

    elseif(height

  • 8/2/2019 LT 102Trang

    29/102

    Vng lp for s thc hin mt nhm cc pht biu trong mt s ln xcnh.

    C php V dforindex = first : step: last sumx = 0;

    nhm cc pht biu for i = 1: length (x)

    end sumx = sumx + x(i);endTrong cu trc vng lp for, step c th l s m, index c th l mt

    vector.V d:

    V d 1 V d 2for = 1: 2: n for = I = n : -1 : 3

    end end

    V d 1 V d 2

    for i = 0: 0.5: 4 for i = [ 25 9 8]disp (x^2); disp (sqrt(x));end end

    Vng lp while thc hin mt nhm cc pht biu cho n khi biu thciu kin l FALSE.

    C php V dwhilebiu thc iu kin N = 100;

    Pht biu 1; iter = 1;Pht biu 2; msum = 0;Pht biu 3; while iter

  • 8/2/2019 LT 102Trang

    30/102

    3.4. TP LNH V HM

    3.4.1. Tp lnh m -file gii quyt nhng vn n gin, s lnh s dng trong chng trnh

    t, cc lnh ca MATLAB c th c nhp trc tip vo ca s lnh. Tuynhin trong trng hp phc tp, s lnh cn c s dng kh nhiu v do vyvic nhp trc tip vo ca s lnh l khng kh thi. Gii php trong trng hpny l s dng tp lnh m file. Ngoi u im trong trng hp chng trnhcn s dng nhiu lnh, tp lnh m file cn hu ch khi chng ta mun thayi mt vi gi tr ca bin hay cho chng trnh thc thi nhiu ln. Trongtrng hp ny, m file l mt tp tin cha mt chui cc lnh hay pht biutrong MATLAB. Tuy nhin do chng khng c cc i s vo v ra nn tp tinm file khng phi l hm, n n gin ch l tp hp ca nhiu lnh c thcthi mt cch trnh t.

    to ra mt m file, u tin chng ta mmt chng trnh son thosau nhp vo tt c cc lnh cn thit ( khng c du nhc sinplot

    3.4.2. Hm m - fileHm m file l mt chng trnh con do chng yu cu cc i s ng

    vo v c th tr vi s ng ra. Cc bin c nh ngha v s dng trong

    hm th ch c gi tr bn trong hm . C php tng qut ca mt hm nhsau:Function [outputArgs] = function_name (inputArgs)outputArgs (i s ng ra) c t trong du []:

    - Tn cc i s ng ra c lit k v cch nhan bi du,.

    - C th khng s dng du [] nu ch c duy nht mti s.

    - Mt hm cng c th khng c i s ng ra.

  • 8/2/2019 LT 102Trang

    31/102

    inputArgs (i s ng vo) c t trong du ():- Tn cc i s ng vo c lit k v cch nhau bi

    du ,.- Mt hm cng c th khng c i s ng vo.

    Cu trc chung ca mt hm trong MATLAB nh sau: Dng u tin l nh ngha ca hm, dng ny bao gm: t kha khai

    bo hm, tn hm v cc i s ng vo v ng ra. Tip theo l cc dng ch thch, cc dng ny c bt u bi du

    %, ni dung ca cc dng ny l gii thch mc ch ca hm cngnh m t ngha cc i s ng vo v ng ra. Cc dng ch thch nys xut hin khi ta s dng lnh help tm hiu v hm chng ta angto ra.

    Cui cng l phn ni dung, y chnh l phn chnh ca hm. Vic thcthi ni dung ca hm s kt thc khi chng trnh gp lnh return hocthc thi xong lnh cui cng. Khi qu trnh thc thi kt thc cc i sng ra sc tr v.V d: hm averagec nh ngha nh sau:

    function avr = average(x)% AVERAGE tnh gi tr trung bnh ca vector x% v gn kt qu vo bin avr.

    %Lu : y l mt v d v cu trc hmn = length(x);avr = sum(x)/n;

    return;

    Lu : Tn ca hm v tn ca file lu phi ging nhau. Trong trng hptrn, hm nn c lu vi tnaverage.m.

    Mt hm m file c th cha nhiu hn mt hm. Trong trng hp mtm file cha nhiu hm th hm xut hin u tin c gi l hm chnh, hmchnh vn c cc tnh cht thng thng ca mt hm: cch hot ng, cc is, tn hm, . Nhng hm cn li c gi l hm con, chng ch c thctruy xut t hm chnh v khng thc truy xut t bt k hm no khc, k

    c t ca s lnh. Cu trc con cn c s dng trong trng hp mt hmqu di hay qu phc tp. Cc hm con cn c s dng trong trng hp mthm qu di hay qu phc tp. V d hm average by gil mt hm con cahm stat.m.

    V d:function [a, sd] = stat(x) % STAT l hm thng k n gin

    % Tnh ton gi tr trung bnh v lchchun ca mt vector x

    n = length(x);

    Dng u tinl dng nh nghahm

    i s ng ra Tn hm i s ng vo

    Ch thch

    Ni dung ca hm

    Dng trng trong ch thch; Mc lu s khng xut hin khi ta s dng lnh helpaverage

  • 8/2/2019 LT 102Trang

    32/102

    a = average(x,n);sd = sqrt(sum((x avr).^2)/n);return;function a = average(x,n) % AVERAGE l mt hm cona = sum(x)/n;return;Trong on chng trnh trn, lnh a = average(x,n)c s dng trong

    ni dung ca hm stat gi mt hm con. Trong trng hp ny stat l hmchnh v average l hm con.

    a. Nhng bin c bit trong hmKhi mt hm c s dng, chng trnh s tng to ra hai bin ni

    l nargin v nargout. Bin nargin l i s ng vo c s dng khi gi hm,nargout l si s ng ra

    V d:function [out1, out2] = checkarg (in1, in2, in3)% CHECKARG Mt v d s dng bin nargin v nargoutif (nargin = = 0)

    disp (no input arguments);return;elseif (nargin = = 1)

    s = in1;p = in1;disp (1 input argument);

    elseif (nargin = = 2)s = in1 + in2;p = in1*in2;disp (2 input arguments);

    elseif (nargin = = 3)

    s = in1 + in2 + in3;p = in1*in2*in3;disp (3 input arguments);

    elseerror(Too many inputs);

    endif (nargout = = 0)

    return;elseif (nargout = = 1)

    out1 = s;else

    out1 = s;out2 = p;endTrong v d trn, chng trnh s cho ra cc kt qu khc nhau ty thuc

    vo c bao nhiu i s ng vo c s dng v c bao nhiu i s ng ra.Trong cc chng trnh ln, mt cch tng qut ngi ta thng hay s dngbin nargin v nargoutiu khin linh hot ni dung ca chng trnh.

    b. Bin ton cc v bin cc b

  • 8/2/2019 LT 102Trang

    33/102

    Mi hm m file truy cp n mt phn ring bit ca b nh trongkhng gian lm vic ca MATLAB. iu ny c ngha l mi hm m file cnhng bin cc b ca ring n, nhng hm khc khng th truy cp n ccbin ny. hiu r hn chng ta hy phn tch s sau y:

    Bng 7MATLAB myfun.m

    >> a = -1; function z = myfun(x,y)>> b = 20; (a, b) (x, y) >> c= myfun(a,b); c z z = x + cos (x y)

    return;

    Cc bin a, b, c xut hin trong khng gian lm vic ca MATLAB,trong khi cc bin x, y, z ch c gi tr bn trong hm myfun. Tuy nhin, nu takhai bo bin dng ton cc th tt c cc hm khc u c th s dng cbin ny.

    Lu : chng ta nn cn thn khi sdng bin ton cc, n dgy nn

    nhng xo trn v nhm ln.c. Cch gi hm gin tip chng trnh trnn tng qut hn ta nn s dng cch gi hm gin

    tip, trong trng hp ny tn hm c coi nh l mt i s ng vo. Ta sdng lnh feval (function evaluation) gi hm gin tip. Cch s dngthng thng ca lnh feval nh sau:

    [y1, , yn] = feval (F, x1, , xn)Vi F l tn ca hm c nh ngha trong MATLAB, x1, , xn l cc

    i s ng vo, y1, , yn l cc i s ng ra.V d:>> x = pi; y = cos(x);

    >> z = feval (cos, x);Lnh sau tng ng vi c hai lnh u tin. Mt cch s dng khcca hm feval

    >> F = cos;>> z = feval(F, x)Cch gi hm gin tip l mt cng c cn thit xy dng chng

    trnh xem hm nh l mt i s.

    3.4.3. Tp tin v hmim khc nhau cbn nht gia tp tin v hm l tt c cc tham s v

    bin s trong tp tin u c thc s dng t bn ngoi (cc tham s v bin

    ny nm trong workspace), trong khi cc bin ca hm ch c gi tr bn tronghm v khng c truy xut hoc s dng bi cc hm khc. Do vy trongtrng hp cn gii quyt mt vn vi cc thng s bt k ta nn s dnghm, cn trong trng hp cn th nghim nhiu ln mt vn ta nn s dngtp tin.

    3.5. VN BN

    3.5.1. Chui k t

  • 8/2/2019 LT 102Trang

    34/102

    Trong MATLAB vn bn c lu dng l chui ca cc k t. Chuil mt vector m cc thnh phn ca n lu tr gi tr ASCII ca cc k ttrong trong chui. Do vn bn l mt vector ca cc k t nn ta cng c th xl vn bn ging nh x l mt vector bt k.

    V d:>> t = This is a character stringt =This is a character string>> size(t)ans =

    1 27>> whos

    Name size Bytes Classt 1x27 54 char array

    >> t (10:19)ans =character

    >> t ([2, 3, 10, 17])ans =hi t miu t chui di dng m ASCII ta s dng lnh double hoc abs

    bin i:>> double (t(1:12))ans =

    84 104 105 115 32 105 115 32 97 32 99 104Hm charc s dng bin i t dng m ASCII sang k t chui:>> t ([16:17])ans =

    ct>> t([16:17]) + 3 % m ASCII c s dngans =

    102 119>> t ([16:17]) 3 % thay i m ASCIIans =

    96 113>> char (t([16:17]) 2) % bin i m ASCII sang k t chui

    ans =ar

    Bng 8 : Cc hm c s dng bin i chuiLnh Kt qu

    findstr Tm mt k t hay mt nhm cc kt xut hin trong chui.

    strcat Ni hai chui vi nhaustrcmp So snh hai chui (tr v 1 nu hai

    chui ging nhau v ngc li l 0)num2str Bin i s thnh chui

  • 8/2/2019 LT 102Trang

    35/102

    str2num Bin i chui thnh sBin i chui thnh vector ca cc s

    V d:>> findstr (t, c) % tm v tr ca c xut hin trong tans =

    11 16>> findstr(t, racter) % tm v tr chui racter trong tans =

    14>>u = t(10:19);>> findstr(t, u) % tm chui u trong chui tans =

    11>> u1 = (9:-1:1)ans =

    retcarahc % y l t character c ngc li

    >> strcat(u,u1) % ni hai chui u v u1 vi nhauans = characterretcarahc>> strcmp(u, u1) % so snh hai chuians =

    0>> q = num2str (34.35) % bin i s thnh chuiq =

    34.35>> z = str2num(7.6) % bin i chui thnh sz =

    7.6

    >> t = str2num(1 -7 2) % bin i chui thnh vector ca cc st =1 -7 2

    >> t = str2num( 1 7 2) % lu cc khong trng xung quanh du% + hoc , trong trng hp ny l

    % [1-7, 2]t =

    -6 2Lu : khi bin i tchui sang shoc tssang chui, cc khong

    trng xung quanh du + hoc mang ngha rt quan trng.3.5.2. Xut v nhp vn bn

    Lnh inputc s dng yu cu ngi dng nhp vo mt s hay mtchui>> myname = input(Enter your neme: , s);>> age = input(Enter your age: );

    Lu : ngha ca hai lnh trn, lnh th nht yu cu nhp vo mtchui v lnh thhai yu cu nhp vo mt s.

    C hai hm c s dng xut vn bn l disp v fprintf. Hm dispch th hin gi tr ca mt i s l mt ma trn hay ma trn chui.

  • 8/2/2019 LT 102Trang

    36/102

    V d:>> disp (This is a statement.) % xut ra mt chuiThis is a statement.>> disp (rand(3)) % xut ra mt ma trn

    0.2221 0.0129 0.85190.4885 0.0538 0.50390.2290 0.3949 0.4239

    Hm fprintfc s dng ghi d liu vo file hay xut ra mn hnhnh dng chnh xc ca i s.

    V d:>> x = 2;>> fprintf (Square root of %g is %8.6f.\n, x, sqrt(x));Square root of 2 is 1.414214.>> str = beginning;>> fprintf (Every %s is difficult.\n, str);Every beginning is difficult.Hm fptintfc kh nng bin i, nh dng v ghi i s ca n vo

    mt file hay th hin chng trn mn hnh theo mt nh dng c bit. c phpsau y c s dng xut ra mn hnh:fprintf (format, a, )Chui format cha cc k t thng thng sc a n ng ra v

    cc chnh bin i, mi chnh bin i s chuyn i mt i s ca hmfprintf thnh chui k t c nh dng tng ng sau in ra mn hnh. a lcc i s ca hm fprintf. Mi chnh bin i bt u bng k t % v ktthc bi mt k tchuyn i. Gia % v k tchuyn i c th l:

    Du : khi c k t ny i s sc in ra vi nh dng canh ltri, trong trng hp ngc li, mc nh l canh l phi.

    S xc nh chiu di ti thiu: l phm vi ti thiu m i s sc in

    ra, trong trng hp chiu di ca i s ln hn chiu di ti thiu thphm vi in ra s bng vi chiu di ca i s. S xc nh cc ch s thp phn Du .: l du dng phn bit hai nh dng trn

    Bng 9:Mt sk tchuyn i v ngha ca chngK t ngha

    d Bin i i s sang kiu s thp phnu Bin i i s sang kiu s thp phn khng duc Bin i i s thnh mt k ts Bin i i s thnh mt chui

    e Bin i s sigle hay double thnh s thp phn c dng[ ]m.nnnnnnE[ ]xx.

    f Bin i s sigle hay double thnh s thp phn c dng[ ]m.nnnnnn

    g nh dng ging trng hp e v f nhng c vit dng ngnhn. Cc s zero khng c ngha s khng c in ra

  • 8/2/2019 LT 102Trang

    37/102

    Cc nh dng \n, \r, \t, \b ln lt c d dng to ra mt dngmi, xung dng, tab v tab ngc (ngc vi phm tab). in ra k t \ tas dng \\, tng t, in ra k t % ta s dng %%.

    Lu : lnh fprintf s dng cc chnh bin i khai bo c baonhiu i stheo sau v kiu ca tng i s. Nu chng ta khng cung cp i shay cung cp i skhng ng kiu th chng ta snhn c mt ktqu khng ng. Do vy, cn cn thn vi vic khai bo i s trong lnh

    fprintf.V d:>> fprintf (My name is %4s. I am %2d. My salary is

    f%7.2f.\n,name,salary);My name is Jonh. I am 6.130500e+03. My salary is f

  • 8/2/2019 LT 102Trang

    38/102

    PHN I.II: NG DNG MATLAB TRONG XL TN HIU

    CHNG IV: TN HIU V H THNG

    M phng mt h thng vin thng l mt qu trnh lm vic vi cc tnhiu: khi to, bin i, thu pht, so snh, x l, . vic m phng ctin hnh thun li v hiu qu, cn phi c y cc cng c x l tn hiu cbn. i vi MATLAB, cc cng c ny c cung cp trong MATLAB SignalProcessing Toolbox. l mt tp hp cc hm c xy dng trn csccgii thut ton hc v h trhu ht cc thao tc x l tn hiu, bao gm: khito tn hiu, phn tch v thit k cc b lc tng t v s, phn tch ph, x ltn hiu thng k, phn tch cc h thng tuyn tnh, .

    4.1. BIU DIN TN HIU TRONG MATLAB

    MATLAB l mt mi trng tnh ton s, do mt tn hiu phi cbiu din thng qua cc mu d liu ri rc ca n (tn hiu c ly mu). Ni

    cch khc mt tn hiu bt kc biu din bng mt vector hng (kch thc1 x n) hoc vector ct (kch thc n x 1)V d:>> x = [1 1.2 1.5 1.2 1 0.8 0.5 0.8]; biu din mt tn hiu a knh, ta s dng dng ma trn. Mt tn hiu

    m knh c chiu di ng vi mi knh u bng n c biu din bng mt matrn kch thc nm, trong mi ct ca ma trn tng ng vi mt knh,mi hng ca ma trn ng vi mt thi im ly mu.

    V d biu din ca mt tn hiu 3 knh:>> y = [x 2*x x/pi]y =

    1.0000 2.0000 0.31831.2000 2.4000 0.38201.5000 3.0000 0.47751.2000 2.4000 0.38201.0000 2.0000 0.31830.8000 1.6000 0.25460.5000 1.0000 0.15920.8000 1.6000 0.2546

    4.2. TO TN HIU: VECTOR THI GIAN

    to mt tn hiu tng t trong MATLAB, cn c mt vector thigian xc nh cc thi im ly mu tn hiu. Tn hiu to ra s l mt vectorm mi phn t ca n chnh l gi tr ca mu tn hiu c ly thi imxc nh bi phn t tng ng ca vector thi gian.

    V d, to tn hiu y = sin (100 t) + 2 sin (240 t), ta ly mu tn hiuti cc thi im cch nhau 0,001s v ta c cc vector thi gian v vector biudin tn hiu y nh sau:

    >> t = (0:0.001:1);>> y = sin(2*pi*50*t) + 2*sin(2*pi*120*t);

  • 8/2/2019 LT 102Trang

    39/102

    >> plot(t(1:100), y(1:100)) % v 100 mu u tin ca y

    Hnh 11Vi phng php trn, ta c th khi to bt k tn hiu no ta mun, ch

    cn xc nh biu thc thi gian ca n.Mt s tn hiu c bit

    Cc tn hiu xung n v, hm nc n v v hm dc n v>> t = (0:0.001:1); %vector thi gian>> y = [1; zeros(99,1)]; %hm xung n v>> y = ones (100,1); % hm nc n v

    >> y = t; % hm dc Cc tn hiu tun hon>> fs = 10000; % tn s ly mu>> t = 0:1/fs:1.5; % vector thi gian>> x = sin (2*pi*50*t); % Tn hiu lng gic (sine)>> y = square (2*pi*50*t); % Tn hiu sng vung>> x = sawtooth (2*pi*50*t); % Tn hiu sng rng ca Cc tn hiu aperiodic:

    o Hm gauspuls (t, fc, bw) to mt xung Gaussian tn s RF cbin bng 1, tn s trung tm fc v bng thng bw.

    o Hm chirp to tn hiu tn s qut, c nhiu phng php qut

    khc nhau: tuyn tnh, bc hai hay logarithm. Ngoi ra, cn c cc hm to tn hiu nh:

    o Hm sawtooth (t, width) to tn hiu rng ca hoc sng tam gicc cc nh 1 , chu k 2 , width l t l thi gian trn tng chuk

    o Hm square (t, width) to tn hiu sng vung c cc mc l 1 ,chu k 2 , width l t l thi gian mc 1 trn tng chu k.

    o Hm plustran: to mt chui cc xung c cng dng vi mtxung gc.

  • 8/2/2019 LT 102Trang

    40/102

    o Hm sinc (x): l bin i Fourier ngc ca xung ch nht cchiu rng bng 2 v chiu cao bng 1.

    ( )( )sin x

    sin c xx

    =

    (4.1)

    x c th l mt vector hay mt ma trn.o Hm Dirichlet: cn gi l hm sinc tun hon hay hm sinc chng

    ln, c nh ngha nh sau:

    ( )

    ( )( )

    ( )

    ( )

    k n 1

    n

    1 x 2k , k Z

    D x sin nx / 2otherwise

    n sin x / 2

    =

    =

    (4.2)

    4.3. PHN TCH V THIT K CC B LC

    Vn phn tch v thit k cc b lc c mt ngha rt quan trngtrong l thuyt x l tn hiu v bt k mt h thng tuyn tnh no cng c thxem nh l mt b lc vi mt p ng xung hoc mt hm truyn t no .

    4.3.1. Cston hc ca qu trnh lc mt tn hiu l php ly tch chp.Nu x(k) l tn hiu ng vo, y(k) l tn hiu ng ra ca mt b lc c p ngxung l h(k) th y(k) chnh l tch chp ca x(k) v h(k).

    ( ) ( ) ( ) ( ) ( )i

    y k h k *x k h k i x i

    =

    = = (4.3)

    Nu x(k) v h(k) c chiu di hu hn th y(k) cng c chiu di hu hnv php ly tch chp ni trn c th thc hin bng cch gi hm conv trongMATLAB

    >> y = conv (h, x)Chiu di ca vector y bng length (x) + length (h) 1.V d:>> x = rand(5,1) % tn hiu ngu nhin chiu di 5>> h = [1 1 1 1]/4 % b lc trung bnh chiu di bng 4>> y = conv (h,x)y =

    0.23750.29530.44700.56850.5538

    0.49600.34430.2228

    4.3.2. Hm truyn t ca b lc: Nu X(z) l bin i z ca tn hiuvo x(k), Y(z) l bin i z ca tn hiu ra y(k) v H(z) l bin i z cah(k) th:

    ( ) ( ) ( )( ) ( ) ( )

    ( ) ( ) ( )( )

    1 n

    1 m

    b 1 b 2 z .... b n 1 zY z H z .X z X z

    a 1 a 2 z .... a m 1 z

    + + + += =

    + + + +(4.4)

    Trong : H(z) gi l hm truyn t ca b lc

  • 8/2/2019 LT 102Trang

    41/102

  • 8/2/2019 LT 102Trang

    42/102

    ng vi mu th m ca ng ra, hm filter thc hin cc php tnh sau:( ) ( ) ( ) ( )

    ( ) ( ) ( ) ( ) ( ) ( )

    ( ) ( ) ( ) ( ) ( ) ( )

    ( ) ( ) ( ) ( ) ( )

    1

    1 2

    n 2 n 2

    n 1

    y m b 1 x m z m 1

    z m b 2 x m z m 1 a 2 y m

    ........................

    z m b n 1 x m z m 1 a n 1 y m

    z m b n x m a n y m

    = +

    = +

    = +

    =

    Dng c php cbn ca hm filter:>> [y, zf] = filter (b, a, x, zi)Trong : zi l vector xc nh cc gi tru ca ng ra cc khi tr

    zf l vector cha cc gi tr ny sau khi thc hin xong hmfilter.

    V d4.1: B lc thng thp tn s ct 0,4= c hm truyn t:

    ( )1 2 3

    1 2 3

    0,1 0,3z 0,3z 0,1zH z

    1 0,58z 0,42z 0,06z

    + + +=

    +

    c dng lc b thnh phn tn s cao trong tn hiu x(n) = sin ( n/5) +

    cos (4 n/5), vi 0 n 100 . Hy xc nh v v tn hiu raChng trnh>> b = [0.1000 0.3000 0.3000 0.1000]; % Cc h s ca a thc t>> a = [1.0000 -0.5800 0.4200 0.0600]; % Cc h s ca a thc mu>> n = (0:100) % vector thi gian>> x = sin(n*pi/5) + cos (4*n*pi/5); % tn hiu x(n)>> y = filter (b, a, x); % tn hiu ng ra b lc y(n)>> subplot (2, 1, 1);>> plot(x); grid; % v tn hiu vo>> title( Tin hieu vao);>> subplot (2, 1, 2);

    >> plot (y); grid % v tn hiu ra>> title (Tin hieu ra);Kt qu chng trnh

    Hnh 13

  • 8/2/2019 LT 102Trang

    43/102

    4.4. CC HM KHC THC HIN B LC

    Ngoi hm filter, thc hin qu trnh lc, trong Signal ProcessingToolbox, MATLAB cn cung cp thm mt s hm khv, bao gm hmupfirdn thc hin b lc FIR c ly mu li, hm filtfilt cho php loi bmo pha trong qu trnh lc, hm fftfilt thc hin qu trnh lc trong min tns, hm lectfilt thc hin b lc theo cu trc mng.

    4.4.1. Thc hin bng lc a tc Cc bng lc a tc c th thc hin bng cch dng hm upfirdn.

    Hm ny cho php thay i tc ly mu tn hiu theo mt t l P/Q vi P, Ql cc s nguyn. C th xem hm ny l kt qu ca s ghp lin tip ba hthng:

    B ly mu ln ( chn thm bit 0) vi h s t l P B lc FIR c p ng xung h B l mu xung vi h s t l Q

    Cu trc ni trn c thc hin bng k thut lc nhiu pha(polyphase). Dng c php ca hm upfirdn

    >> y = upfirdn (x, h, P, Q)4.4.2. Kh mo pha cho b lc IIR

    Trong trng hp b lc FIR, ta c th thit k b lc pha tuyn tnh, dliu ra ch lch so vi d liu vo mt s lng k hiu cnh. Nhng vi blc IIR, mo pha thng c tnh cht phi tuyn cao. Thng thng, ngi ta sdng cc thng tin v tn hiu ti cc thi im trc v sau thi im hin ti

    khc phc hin tng mo pha ny. MATLAB xy dng hm filtfilt thchin gii thut ni trn.dng c php ca hm filtfilt>> y = filtfilt (b, a, x)

    4.4.3. Thc hin b lc trong min tn sDo tnh cht i ngu gia hai min thi gian v tn s, bt k mt thao

    tc no thc hin c trong min ny th u thc hin c trong min cnli.

    Trong min tn s, b lc IIR c thc hin bng cch nhn bin iFourier ri rc (DFT) ca tn hiu vo vi thng s ca cc bin i Fourierca cc h s b lc.

    V d:>> n = length (x);>> y = ifft (fft(x).*)Kt qu tnh ton tng t hm filter, tuy vn khc nhau on qu

    lc u (hiu ng bin). Khi chiu di ca chui vo cng tng, phng phpny cng km hiu qu do phi thm vo nhiu im zero cho cc h s b lckhi tin hnh tnh FFT, ng thi gii thut FFT cng gim hiu qu khi sim n tng.

    |PFIR

    H |Qx(n) y(n)

  • 8/2/2019 LT 102Trang

    44/102

    Ngc li, i vi b lc FIR, ta c th tch mt chui di thnh nhiuchui ngn hn, sau dng phng php chng v cng. Hm fftfilt caMATLAB c xy dng da trn gii thut ny.

    >> y = fftfilt (b,x)>> fftfilt(b,x,n)Trong : x l chui vo, y l chui ra, b l vector cc h s ca b lc, n

    l sim FFT ti thiu. Hm fftfilt (b, x) tng ng vi hm filter (b, 1, x).

    4.5. P NG XUNG

    p ng xung ca b lc l chui tn hiu ng ra ca b lc khi a vob lc mt tn hiu xung n v

    ( )1 n 0

    x n0 n 0

    ==

    (4.5)

    tm p ng xung ca mt b lc, ta c th to mt chui xung n vri dng hm filter.

    >> imp = [1; zeros(49,1)];

    >> = filter (b, a, imp);

    4.6. P NG TN S

    Signal Processing Toolbox cho php thc hin cc php phn tch trongmin tn si vi c b lc tng t ln b lc s.

    4.6.1. Trong min tn sTrong min s, p ng tn sc tnh ton bng gii thut FFT. Hm

    freqz s tr vp ng tn s phc (FFT) p im ca b lc s c cc vector hs l a v b.

    >> [H, W] = ferqz (b, a, p)

    Trong : H l p ng tn s ca b lc c tnh ti p im tn s chobi vector W. Cc im tn sc chn cch u nhau v nm na trn cavng trn n v.

    ( )( ) ( ) ( )

    ( ) ( ) ( )

    j j nj

    j j m

    b 1 b 2 e ... b n 1 eH e

    a 1 a 2 e ... a m 1 e

    + + + +=

    + + + +(4.6)

    Ngoi ra, cn c th cung cp cho hm freqz cc thng s khc nhau.Sau y l c php khc ca hm:

    >> [h, w] = freqz (b, a, n, whole): tnh p ng tn s ti n im phnbu trn ton b vng trn n v.

    >> h = freqz (b, a, w): tnh p ng tn s ti cc im xc nh bi

    vector w>> [h, f] = freqz (b, a, n, fs) hoc [h, f] = freqz (b, a, n, whole, fs): tnhp ng tn s n im ca b lc vi tn s ly mu l fs, n im tn s phn bu trn khong [0, fs/2] (hoc [0, fs] nu dng whole)

    >> h = freqz (b, a, f, fs): tnh p ng tn s ti cc im xc nh bivector f, trong fs l tn s ly mu.

    Nu gi hm freqz m khng yu cu tr v cc thng s ra, hm freqzs vp ng bin v p ng pha ca b lc.

  • 8/2/2019 LT 102Trang

    45/102

    Lu : trong MATLAB thng s dng cc gi tr tn s chun ha,trong tn sn v l tn sNyquist, tc mt na tn s ly mu. Munchuyn t tn schun ha sang tn sgc quanh vng trn n v, chcnnhn vi , mun chuyn t tn schun ha sang tn sHertz th nhn vimt na tn sly mu.

    V d 4.2: Tnh v vp ng tn s 256 im ca b lc Butterworthbc 9, tn s ct 400Hz. Bit tn s ly mu l 2000Hz.

    Chng trnh:>> [b,a] = butter (9, 400/1000); % cc h s ca b lc

    Butterworth>> [h, f] = freqz ( b, a, 256, 2000) % p ng tn s>> freqz (b, a, 256, 2000)Kt qu

    Hnh 144.6.2. Trong min analog

    Hm freqz c th thc hin cc chc nng tng t nh hm freqznhng i vi cc b lc analog

    >> [h,w] = freqz(b,a)>> h = freqz(b, a, w)

    4.6.3. p ng bin v p ng pha:Mun c p ng bin v p ng pha ca mt b lc, ta ch cn xcnh p ng tn s ca n bng cch dng hm freqz hoc freqs, sau dnghm abs ly p ng bin hoc hm angle ly p ng pha.

    MATLAB cn cung cp hm unwrap tr vp ng pha lin tc ti ccv tr 0360 (thng thng gc pha chc tnh trong phm vi 3600n +3600 nn ti cc v tr ny p ng pha s c bc nhy) bng cch thm vocc bi s ca 0360 nu cn thit.

    Magnitude(dB)

    Frequency (Hz)

    Magnitude(dB)

    Frequency (Hz)

  • 8/2/2019 LT 102Trang

    46/102

    Ngoi ra, ta cng c th s dng hm phasez c p ng pha lin tcnh trn. C php ca hm phasez hon ton tng t nh hm freqz, ch khcl kt qu tr v l p ng pha thay v p ng tn s.

    V d 4.3: xc nh v vp ng bin v p ng pha ca b lc FIRbc 25

    Chng trnh>> h = fir 1(25, 0.4);>> [H, f] = freqz (h, 1, 512, 2);>> subplot(3, 1, 1);>> plot (f, abs(H)); grid>> title (Dap ung bien do);>> subplot (3, 1, 2);>> plot (f, angle(H)*180/pi); grid>> title (Dap ung pha (gian doan tai 360 do));>> subplot (3, 1, 3);>> plot (f, unwrap(angle(H))*180/pi);>> title (Dap ung pha (lien tuc));

    Hnh 15

  • 8/2/2019 LT 102Trang

    47/102

    4.6.4. Thi gian tr tr nhm ca mt b lc l mt thng snh gi thi gian tr trung

    bnh ca b lc (l mt hm ca tn s). Nu p ng tn s phc ca b lc lH ( je ) th tr nhm c xc nh bng biu thc:

    ( )( )

    g

    d

    d

    =

    (4.7)

    Trong ( ) l p ng pha ca b lcTrong MATLAB, ta c th xc nh tr nhm bng cch dng hm

    grpdelay vi c php hon ton tng t nh hm freqz.V d:>> [gd, w] = grpdelay(b, a, n)Tr v tr nhm ( )g ca b lc s xc nh bi cc vector h s a

    v b, c tnh ti n im tn s xc nh bi vector w tr pha ca b lc c nh ngha bi:

    ( )( )

    p

    =

    (4.8)

    Tng t vi tr nhm, tr pha cng c thc xc nh bngcch dng hm phasedelay ( vi c php hon ton tng tfreqz )V d 4.4: Xc nh v v tr nhm v tr pha ca b lc

    Butterworth bc 10, tn s ct 200Hz, vi tn s ly mu l 2000HzChng trnh>> fs = 2000;>> n = 128;>> [b,a] = butter (100, 200/1000);>> [gd, f] = grpdelay (b, a, n, fs);>> [pd, f] = phasedelay(b, a, n, fs);>> plot (f, gd, b-, f, pd, r- -); grid; hold on;

    >> legend (Do tre nhom, Do tre pha);

    Hnh 16

  • 8/2/2019 LT 102Trang

    48/102

    4.7. GIN CC - ZERO

    Ngoi cc cch biu din thng qua p ng xung hoc truyn t, mth thng tuyn tnh ni chung hay mt b lc ni ring cng c th biu dindi dng gin cc zero, tc l s phn b cc im cc v im zero cahm tryn t trong mt phng z.

    Hm zplane cho php v gin cc zero ca mt h thng tuyn tnhnu chng ta cung cp cc im cc v zero ca hm truyn hoc cung cp ccvector h s a v b ca h thng.

    >> zplane(z, p): v gin cc zero da vo vector cc zero z vvector cc im cc p.

    >> zplane (b,a): v gin cc zero da vo vector cc h s a v b.Lu : gia m hnh hm truyn v m hnh cc zero c thc

    chuyn i qua li bng cch dng cc hmtf2zp vzp2tf.>> [b, a] = zp2tf(z, p, k)>> [z, p, k] = tf2zp (b,a)Trong k l h s khuch i khi z

    4.8. CC M HNH H THNG TUYN TNH

    Mt h thng tuyn tnh c thc m t bng nhiu m hnh khcnhau nh m hnh hm truyn, m hnh cc zero. Trong MATLAB, SignalProcessing Toolbox cung cp cho ta mt cch y cc m hnh ny. Chngta c th la chn m hnh no thch hp m phng h thng mt cch nhanhchng v chnh xc nht.

    4.8.1. Cc m hnh h thng ri rc theo thi gianCc m hnh h thng ri rc c MATLAB h trbao gm:

    M hnh hm truyn t

    M hnh li cc zero M hnh khng gian trng thi M hnh khai trin hu t (m hnh thng d) M hnh cc khu bc hai (SOS Second Order Sections) M hnh lattice M hnh ma trn chp

    a. M hnh hm truyn tH thng c m t thng qua hm truyn t H(z) trong min z can:

    ( ) ( ) ( )( ) ( ) ( )

    ( ) ( ) ( )

    ( )1 n

    1 m

    b 1 b 2 z .... b n 1 zY z H z .X z X z

    a 1 a 2 z .... a m 1 z

    + + + += =

    + + + +

    Cc h s b(i), a(i) l cc h s ca b lc, bc ca b lc l max {m, n}.trong MATLAB, hm truyn t c biu din bng hai vector a v b lu cch s ca b lc.

    b. M hnh li cc - zeroHm truyn t ca h thng c th vit li di dng nhn t:

    ( )( )

    ( )

    ( )( ) ( )( ) ( )( )( )( ) ( )( ) ( )( )

    z q 1 z q 2 ... z q nq zH z k

    p z z p 1 z p 2 ... z p m

    = =

    (4.9)

  • 8/2/2019 LT 102Trang

    49/102

    MATLAB biu din m hnh bng mt v hng k ch li v haivector z v p m cc phn t ca chng ln lt l cc zero (nghim ca q(z))v cc cc (nghim ca p(z))

    Hm poly: tr v cc h s ca a thc nu bit cc nghim ca nHm roots: tr v cc nghim ca mt a thc ch cn cung cp cc h

    s ca a thc.c. M hnh khng gian trng thiBt k mt b lc s no cng c thc biu din di dng mt h

    thng cc phng trnh sai phn cp mt. C th l mt h thng tuyn tnh rirc c thoc m t bng h sau:

    ( ) ( ) ( )

    ( ) ( ) ( )

    x n 1 Ax n Bu n

    y n Cx n Dy n

    + = +

    = +

    (4.10)Trong : u tn hiu vo; x vector trng thi; y tn hiu ng ra

    A mt ma trn kch thc m x n vi m l bc ca b lcB, C cc vector ct; D mt v hng

    d. M hnh khai trin cc phn thc

    Bt k hm truyn t h(z) no cng c th khai trin thnh tng ca ccphn thc hu t theo dng sau:

    Khi H(z) khng c cc bi (nghim lp li)

    ( )( )

    ( )

    ( )

    ( )

    ( )

    ( )( ) ( ) ( ) ( )

    m n11 1

    b zH z

    a z

    r 1 r n... k 1 k 2 z ... k m n 1 z

    1 p 1 z 1 p n z

    =

    = + + + + + + +

    (4.11)

    Khi H(z) c mt cc r no c lp li sr ln, th h(z) s c cc shng sau:

    ( )

    ( )

    ( )

    ( )( )

    ( )

    ( )( )r

    r2 s1 1 1

    r j r j 1 r j s 1...1 p j z 1 p j z 1 p j z

    + + + + + (4.12)

    M hnh ny c biu din bng ba vector ct; vector p cha cc ccca H(z), vector r cha cc thng d tng ng vi cc cc (tc cc h s r(j)trong cc biu thc (4.11), (4.12)) v vector k cha cc h s k(i).

    Vy length (r) = length (p) = length (a) 1.Hm residuez cho php chuyn i t m hnh hm truyn sang m hnh

    thng d v ngc li>>[r, p, k] = residuez (b, a)>> [b,a] = residuez (r, p, k)b, a l cc h s ca b lc, cn (r, p,k ) biu din m hnh thng d ca

    b lce. M hnh cc khu bc haiHm truyn h(z) cng c th biu din di dng:

    ( ) ( )1 2L L

    0k 1k 2kk 1 2

    k 1 k 1 0k 1k 2k

    b b z b zH z H z

    a a z a z

    = =

    + += =

    + + (4.13)

    Trong L l s khu bc hai trong h thng, mi hm Hk(z) biu dinmt khu bc hai

  • 8/2/2019 LT 102Trang

    50/102

    MATLAB biu din m hnh SOS ca mt h thng bng mt ma trnkch thc L6 vi cc phn tc b tr nh sau:

    01 0111 21 11 21

    02 0212 22 12 22

    0L 0L1L 2L 1L 2L

    b ab b a a

    b ab b a aSOS

    ... ...... ... ... ...

    b ab b a a

    =

    (4.14)

    f. M hnh latticeVi cc b lc ri rc bc n ton im cc hoc ton zero, c biu

    din bi a thc vi cc h s a(i), I = 1, 2, , n+1, ta c th tm c n h stng ng k(i), i = 1, 2, , n, cc h s ny l c s xy dng cu trclattice cho b lc. Cc h s k(i) ny cn gi l cc h s phn x ca b lc.Hnh .. m t cu trc lattice ca cc b lc FIR v IIR vi cc h s phn xk(i) cho trc.

    1: Ng ra pha cc tiu2: Ng ra pha cc i

    1: Ng ra ton cc2: Ng ra ton thng

    Hnh 17: a) B lc FIR cu trc latticeb) B lc IIR cu trc lattice

    Vi b lc IIR tng qut (c c cc ln zero) c cc h s b lc chatrong cc vector a v b, ngoi cc h s k(i) ng vi vector a cn c cc h sv(i), i = 1, 2, , N+1, gi l cc h s bc thang. Cu trc lattice ca b lc xy

    dng trn cc h s k(i) v v(i) c m thnh tm cc h s ca cu trc lattice t cc h s a, b ca b lc, ta dnghm tf2latc:

    >> k = tf2latc (num) hoc k = tf2latc(num,max) hoc k = tf2latc(num,min) tr v cu trc lattice ca b lc FIR hoc b lc FIR pha cc i hoccc tiu.>> k = tf2latc (1, den) tr v cu trc lattice ca b lc IIR ton cc

    >> [k,v] = tf2latc(num, den) tr v cu trc lattice ca b lc IIR tngqut

    Z-1 Z-1

    x(m)

    k(i)

    k(i)

    k(n)

    k(n)

    y(m)1

    2

    a)

    Z-1 Z-1

    x(m) -k(n)

    -k(n)

    -k(i)

    -k(i)

    y(m)1

    2

    b)

  • 8/2/2019 LT 102Trang

    51/102

    Trong : num, den l cc vetor h s ca b lc cn k l vector cc hs lattice, v l vector cc h s bc thang.

    Hnh 18:Cu trc lattice ca b lc ARMA(1): Ng ra ARMA

    Ngc li, t cu trc lattice ca b lc c th suy ra hm truyn t cab lc bng cch dng hm latc2tf.

    >>[num, den] = latc2tf(k,v)>>[num, den] = latc2tf (k,allpole) (k: cu trc lattice ca b lc IIRton cc)

    >>[num, den] = lact2tf (k,aiipass) (k: cu trc lattice ca b lc IIRton thng)

    >>num = lact2tf(k)>>num = lact2tf(k, max) (k: cu trc lattice ca b lc FIR pha cc i)>>num = lact2tf(k, min) (k: cu trc lattice ca b lc FIR pha cc

    tiu)g. M hnh ma trn chpTrong l thuyt x l tn hiu, php ly tch chp hai vector hay hai ma

    trn tng ng vi qu trnh lc mt trong hai vector ny bng mt b lc ch s xc nh bi vector cn li. Trn cs, ta c th m t mt b lc bngmt ma trn chp.

    Vi mt vector b cho trc, hm convmtx s to ra mt ma trn chp saocho tch ca ma trn ny vi mt vector x no s bng vi tch chp cavector cho trc b vi vector x, vi iu kin vector x phi c chiu di thchhp vi kch thc ca ma trn chp php nhn ma trn c ngha.

    V d: Gi s mt b lc FIR c cc h s l b = [1 2 3], ma trn chpca n c xy dng nh sau:

    >> b = [1 2 3]; x = rand (3,1);>> C = convmtx (b, 3)

    C = 1 0 02 1 03 2 10 3 20 0 3

    Nh vy, c hai cch tng ng tnh tch chp ca b v x>> y1 = C*x;>> y2 = conv (b, x);

    Z-1 Z-1Z-1

    x(m)

    g(m)

    k(N)

    k(N)

    v(N+1)

    k(2)

    k(2)

    k(1)

    k(1)

    v(1)

    f(m)

    (1)

  • 8/2/2019 LT 102Trang

    52/102

    4.8.2. Cc m hnh h thng lin tc theo thi gianCc m hnh h thng lin tc theo thi gian dng m t cc b lc

    analog. a s cc m hnh xy dng cho cc h thng ri rc cp trn cng c th p dng cho cc h thng lin tc theo thi gian. C th l ccm hnh sau:

    M hnh khng gian trng thi

    M hnh khai trin phn thc hu t M hnh hm truyn t M hnh li cc zero

    M hnh khng gian trng thi biu din h thng bng mt h ccphng trnh vi phn bc nht:

    x Ax Bu

    y Cx Du

    = +

    = +(4.15)

    Trong : u l vector cc ng vo (chiu di nu), y l vector cc ng ra(chiu di ny), x l vector bin trng thi (chiu di nx). A, B, C, D l cc matrn v MATLAB dng cc ma trn ny biu din m hnh khng gian trngthi ca h thng.

    H thng lin tc cng c thc m t bng m hnh hm truyn tbng Laplace H(s)

    Y(s) = H(s).U(s) (4.16)Gia hm truyn t H(s) vi cc ma trn A, B, C, D c mi lin h:

    H(s) = C(sI A)-1 B + D (4.17)Vi h thng mt ng vo, mt ng ra, hm H(s) c dng:

    ( )( ) ( ) ( )

    ( ) ( ) ( )

    n n 1

    m m 1

    b 1 s b 2 s ... b n 1H s

    a 1 s a 2 s ... a m 1

    + + + +=

    + + + +(4.18)

    MATLAB biu din m hnh hm truyn t Laplace bng hai vector av b lu cc h s a(i) v b(i).

    Hm truyn t Laplace cng c thc biu din di dng nhn t:( )

    ( )

    ( )

    ( )( ) ( )( ) ( )( )( )( ) ( )( ) ( )( )

    s z 1 s z 2 ... s z nz sH s k

    p s s p 1 s p 2 ... s p m

    = =

    (4.19)y chnh l cscho vic xy dng mt m hnh khc cho h thng

    lin tc, l m hnh li cc zero. Tng t nh h thng ri rc,MATLAB biu din m hnh ny bng mt v hng k ch li v hai vectorp v z ca cc cc v zero ca H(s).

    4.8.3. Cc php bin i h thng tuyn tnhBng . Tm tt cc hm MATLAB dng chuyn i gia cc m

    hnh h thng tuyn tnh. chuyn i t mt m hnh (ngun) sang mt mhnh khc (ch), ta xut pht t hng c cha tn m hnh ngun, sau tmn ng vi ct mang tn m hnh ch, ni dung trong ny chnh l tnhm thc hin chuyn i.

  • 8/2/2019 LT 102Trang

    53/102

    Bng 10Hm

    truynt

    Khnggian

    trngthi

    li cc zero

    Phn thchu t

    B lclattice

    SOS Ma trnchp

    Hmtruynt

    tf2sstf2zproots

    residuez tf2latcKhng

    cconvmtx

    Khnggiantrngthi

    ss2tf ss2zpKhng

    cKhng

    css2sos

    Khngc

    li cc zero

    zp2tfpoly

    zp2ssKhng

    cKhng

    czp2sos

    Khngc

    Phnthc hu

    tresiduez

    Khngc

    Khngc

    Khngc

    Khngc

    Khngc

    B lclattice lact2tf

    Khngc

    Khngc

    Khngc

    Khngc

    Khngc

    SOS

    sos2tf sos2ss sos2zp

    Khng

    c

    Khng

    c

    Khng

    c

    4.9. BIN I FOURIER RI RC

    Bin i Fourier ri rc (DFT Discrete Fourier Transform) l cng ccbn nht trong x l s tn hiu. Trong Signal Processing Toolbox, hu htcc hm u c s dng gii thut FFT (mt gii thut tnh DFT nhm gimthi gian thc thi)

    Trong MATLAB c hai hm fft v ifft dng tnh ton bin i DFTthun v ngc bng gii thut FFT. Vi mt chui tn hiu vo x v bin iDFT ca n l X, gii thut FFT c thc hin trn cscc biu thc sau:

    ( ) ( )

    ( ) ( )

    N 1knN

    n 0

    N 1kn

    Nk 0

    X k 1 x n 1 W

    1x n 1 X k 1 W

    N

    =

    =

    + = + + = +

    (4.20)

    Trong ( )j 2 / N

    NW e =

    C php ca cc hm fft v ifft nh sau:>> fft(x)>>ifft(x, N)Trong : x l chui tn hiu vo cn N l sim FFT. Nu x c t hn

    n im, hm fft s tng chn thm zero vo, nu x c nhiu hn N im,hm s tng ct b cc im tha.

    >> ifft(X)>>ifft(X, N)Trong : X l bin i DFT ca tn hiu vo, N l sim FFTV d 4.5: Hy xc nh v v bin v pha ca bin i DFT ca tn

    hiu x(t) = sin(30 t) + sin(80 t), tn s ly mu 100Hz. Dng bin i DFTngc khi phc li tn hiu ban u. So snh vi tn hiu gc.

    Chng trnh

  • 8/2/2019 LT 102Trang

    54/102

    >> t = (0:1/100:10-1/100) % Vector thi gian;>> x = sin (2*pi*15*t) + sin (2*pi*49*t); %Tn hiu x(t)>> y = fft (x); % Bin i DFT ca x>> m= abs(y); p = unwrap(angle(y)); % Bin v pha>> f = (0:length(y) -1)*99/length(y); % Vector tn s>> subplot (1, 2, 1);>> plot (f, m); title(Bien do);>> set (gca, Xtick, [15 40 60 85]);>> subplot(1, 2, 2); plot(f, p*180/pi); title (Pha);>> set(gca, Xtick, [15 40 60 85]);>> xr = real(ifft(y)); % Bin i FFT ngc>> figure;>> plot (t, x,b-,t,xr,r- -);>>legend (Tin hieu goc,Tin hieu khoi phuc);Kt qu:

    Hnh 19: Bin i DFTNgoi hai hm cbn nu trn, trong Signal Processing Toolbox cn c

    mt s hm khc tnh DFT v IDFT:Hm fft2 v ifft2 tnh bin i DFT v IDFT 2 chiu ca ma trn x>> fft2(x);>> fft2(x, M, N); % m, N s hng v ct ca ma DFT>> ifft2(X)

    >>ifft2(X, M, N)Hm goertzel tnh bin i DFT theo gii thut Goertzel>> X = goertzel (x, indvec)Trong : x l tn hiu vo, cn indvec l vector ch s (mc nh l 1:

    N)i khi ta cn sp xp li chui vo sao cho cc im zero trong chui

    ng ra nm khong gia chui. Khi ta dng hm fftshift>> X = fftshift(x)

  • 8/2/2019 LT 102Trang

    55/102

    CHNG V: THIT K CC B LC

    Thit k b lc l mt qu trnh xc nh cc h s ca b lc sao chotha mn mt s yu cu thit k. Thc hin b lc l qu trnh la chn v pdng mt cu trc thch hp cho b lc da trn cc h s xc nh trong qutrnh thit k. y l hai qu trnh cbn cn thc hin trc khi c th s dng

    b lc lc mt tn hiu no .5.1. CC CH TIU THIT K B LC

    Ni chung, mt ch tiu thit k cht chi hi b lc phi tha mnnhng yu cu vp ng tn s bao gm: di thng, di chn, gn sng dithng, suy hao di chn, rng vng chuyn tip. Nhng yu cu chi tit hnc th l: chn b lc c bc ti thiu, chn dng p ng bin hoc yu cus dng b lc FIR.

    Trong min tn s, b lc c c trng bi p ng tn s. Da vop ng tn s ca b lc, ton b di tn s c thc chia thnh ba vng:

    di thng, di chn v di chuyn tip. Trong thc t, p ng bin trong dithng khng phi l hng s m bin thin trong khong (1 1 )H0 vi H0 l p

    ng bin trung bnh. 1 c gi l gn sng di thng. Tng t, p ngbin trong di chn khng phi lun bng 0 m bin thin trong khong t 0n 2 H0 vi 2 l gn sng di chn. B lc c cht lng tt phi c dichuyn tip hp v cc gn sng nh. Hnh .. biu din cc thng s nitrn ca p ng tn s:

    Hnh 20Trong MATLAB, ch tiu gn sng di chn c thay bng mt ch tiu

    tng t, l suy hao di chnVi cc ch tiu p ng tn s chn, phng php thit k cn phthuc vo cht lng mong mun ca b lc. Nu ch cn cht lng thp, ta cth dng cc thit kn gin; nu i hi cht lng cao th phi dng ccphng php phc tp hn.

    Tt c cc hm thit k b lc trong MATLAB u s dng tn s chunha (theo tn n v l tn s Nyquist, tc l tn s ly mu), do khngcn phi cung cp thm thng s tn s ly mu khi gi cc hm ny. Mun

  • 8/2/2019 LT 102Trang

    56/102

    chuyn t tn s chun ha sang tn s gc, ta nhn vi ; mun chuyn sangtn s Herzt, ta nhn vi tn s ly mu

    Cc phng php thit k b lc sc phn thnh hai nhm: thit kb lc IIR v thit k b lc FIR

    5.2. THIT K B LC IIR

    u im: B lc IIR c kh nng tha mn cc ch tiu thit k vi bcca b lc thp hn so vi b lc FIR tng ng

    Nhc im: B lc IIR c tnh cht pha phi tuynKhc phc: Do c im ca qu trnh x l d liu trong MATLAB l

    ton b chui d liu vo c xc nh trc khi thc hin lc, do c thxy dng b lc khng nhn qu, c pha bng 0 (thng qua hm filtfilt) loib mo pha phi tuyn.

    Cc phng php thit k b lc IIR c s dng trong MATLAB gmc:

    Phng php thit k cin da trn cc nguyn mu analog. Bao gm

    cc b lc: Butterworth, Chebychev loi I, Chebychev loi II, elliptic vBessel Phng php thit k trc tip tm mt b lc c p ng bin xp x

    mt hm m ngi thit k mong mun. y cng l mt phng php xy dng mt b lc thng di nhiu bng

    Phng php m hnh thng s Phng php thit k Butterworth tng qut.Bng tm tt cc phng php thit k b lc IIR cng vi cc hm c

    MATLAB cung cp thc hin cc phng php ny.

    Bng 11

    Phng phpthit kM t Cc hm MATLAB tng ng

    Da vo ccb lc analog

    S dng cc ccv zero ca cc blc thng thp cin trong minLaplace (lin tc),chuyn thnh blc s bng ccphp bin i tns v ri rc ha

    b lc

    Cc hm thit k b lc hon chnh:besself, butter, cheby1, cheby2, ellip.B Cc hm c lng bc ca b lc:buttord, cheb1ord, cheb2ord, ellipord. Cc hm to cc b lc thng thp tngt: besselap, buttap, cheb1ap, cheb2ap,ellipap. Cc hm thc hin cc php bin i tns: lp2bp, lp2bs, lp2hp, lp2lp. Cc hm ri rc ha b lc: bilinear,impinvar.

    Thit k trctip

    Thit k b lc strc tip trongmin thi gian rirc bng phngphp tim cnbin

    Yulewalk

  • 8/2/2019 LT 102Trang

    57/102

    Thit kButterworth

    tng qut

    Thit k cc blc thng thpButterworth c szero nhiu hn scc

    Maxflat

    M hnhthng s

    Tm mt b lc sxp x mt png thi gian hocp ng tn snh trc

    Cc hm to m hnh trong min thi

    gian: lpc, prony, stmcb. Cc hm to m hnh trong min tn s:invfreqs, invfreqz.

    By gita xt c th tng phng php thit k c th.5.2.1. Thit k cc b lc IIR cin da trn cc nguyn mu analog

    Nguyn tc thit k b lc IIR cin l da trn s chuyn i t ccb lc thng thp analog thnh cc b lc s tng ng. Qu trnh thit k blc IIR cin bao gm cc bc sau:

    Tm mt b lc thng thp tng t vi tn s ct bng 1 v dng php

    bin i tn s chuyn b lc nguyn mu ny thnh b lc vi cuhnh cc di thng v di chn nh ta mong mun Chuyn b lc ni trn sang min tn s Ri rc ha b lc

    5.2.1.1. Thit k cc b lc nguyn mu analogMATLAB cung cp cc hm khi to cc b lc thng thp tng t

    c tn s ct bng 1, y l bc u tin trong quy trnh thit k b lc IIR cin. C 5 kiu b lc thng thp analog. l:

    Bng 12Kiu b lc C php hm MATLAB tng ng

    Bessel [z, p, k] = besselap (n)Butterworth [z, p, k] = buttap(n)Chebychev I [z, p, k] = cheb1ap (n, Rp)Chebychev II [z, p, k] = cheb2ap (n, Rs)Elliptic [z, p, k] = ellipap (n, Rp, Rs)

    a. B lc Bessel: L b lc ton im cc vi hm h thng:

    ( )( )N

    1H s

    B s= (5.1)

    Trong : BN(s) l a thc Bessel bc N, xc nh bng cng thc truy

    hi: ( ) ( )( ) ( ) ( ) ( )

    0 12

    N N 1 N 2

    B s 1, B s s 1

    B s 2N 1 B s s B s

    = = +

    = +(5.2)

    B lc Bessel c tr nhm phng ti a ti tn s bng 0 v gn nhbng phng trong ton b di thng. Do , b lc Bessel c p ng pha tuyntnh trn ton di thng. c tnh ny cho php tn hiu sau khi lc gi nguyndng sng trong phm vi tn s ca di thng. Tuy nhin c tnh ny b mtkhi ta chuyn sang min tn s. V vy MATLAB ch h trcho thit k b lcBessel analog.

  • 8/2/2019 LT 102Trang

    58/102

    tha mn iu kin suy hao di chn, b lc Bessel cn c bc cao

    hn so vi cc loi b lc khc. Khi 1 = th ( )1

    H j2

    < v gim dn khi bc

    ca b lc tng ln.

    b. B lc Butterworth: L b lc ton im cc, c p ng tn s:

    ( )2

    2N1H 1 = +

    Trong : N l bc ca b lcp ng tn s ca b lc Butterworth bng phng trong cc di thng

    v di chn, l hm n iu trn [0, + )c. B lc Chebychev loi IB lc Chebychev I ti thiu ho tr tuyt i ca sai s gia p ng tn

    s thc t v l tng trn ton b di thng bng cch a vo mt lng gnsng cn bng trong ton di thng Rp (tnh bng dB). y l b lc ton imcc, c p ng gn sng cn bng trong di thng v p ng bng phngtrong di chn. Trong thi gian chuyn tip t di thng sang di chn nhanh

    hn b lc Butterworth. ( )Rp/20

    H j 10 = ti 1 = vi Rp l gn sng dithng.

    p ng bin :

    ( )( )

    2

    2 2N

    1H

    1 T =

    + (5.3)

    Trong : l mt h s ph thuc vo gn sng di thngRp/20

    1 10 =

    ( )

    22

    1

    11

    1 =

    (5.4)

    TN(x) l a thc Chebychev bc N, xc nh bng cc cng

    thc truy hi:( ) ( )

    ( ) ( ) ( )

    0 1

    N 1 N N 1

    T x 1,T x x

    T x 2xT x T x , N 1, 2,...+ -

    = = = - =

    (5.5)

    d. B lc Chebychev IIB lc Chebychev loi II ti thiu ho tr tuyt i ca sai s gia p

    ng tn s thc t v l tng trn ton b di chn bng cch a vo mtlng gn sng cn bng trong ton di chn Rs (tnh bng dB). L b lc c ccc v zero, p ng bng phng trong di thng v gn sng trong di chn.Di chn tin v 0 chm hn so vi b lc Chebychev loi I, thm ch khnghi t v 0 nu N chn. Tuy nhin, u im ca n l di thng bng phng.

    ( ) Rs/202H j 10 = = ti 1 = vi Rs l gn sng di chn.

    ( )( )

    2

    2 2N

    1H

    1 1/ T =

    +

    (5.6)B lc Chebychev i hi t im cc hn so vi b lc Butterwurth c

    cng thng s yu cu.e. B lc elliptic

  • 8/2/2019 LT 102Trang

    59/102

    L b lc gn sng c di thng v di chn, p ng tn s c c ccln zero v c m t bi phng trnh:

    ( )( )

    2

    2N

    1H

    1 U =

    + (5.7)

    Trong : UN(x) hm elliptic Jacobian bc N - mt h s ph thuc vo gn sng di thng

    Rp = 10 log10(1+2

    )Do sai sc tri u trn cc di thng v di chn nn b lc Ellipticl b lc hiu qu nht trn phng din ti thiu ho s bc ca b lc. Nucng thng s bc v cc yu cu khc th b lc elliptic s c di chuyn tipnh nht. ( ) Rp/201H j 10

    = = ti 1 = vi Rp l gn sng di thng.

    V d 5.1: Khi to mt b lc elliptic tng t c bc N = 5, gn sngdi thng Rp = 0.5, gn sng di chn Rs = 10. Vp ng bin ca b lc

    Chng trnh>> [z, p, k] = ellipap (5, 0.5,20);>> w = logspace (-1, 1, 1000);>> h = freqs(k*poly(z), ploy(p),w);>>semilogx(w, abs(h)), grid

    5.2.1.2. Bin i tn sBc th hai trong qu trnh thit k b lc IIR cin l dng cc php

    bin i tn s chuyn t cc nguyn mu b lc thng thp analog c tn sct bng 1 thnh cc b lc analog thng thp, thng cao, thng di, hoc chndi c cc tn s ct nh ta mong mun.

    Danh sch cc hm MATLAB thc hin cc php bin i tn s nitrn cng vi cc c php tng ng ca chng.

    Bng 13: Cc hm thc hin cc php bin i tn s.

    Loi bin i Quy tc bin i Hm thc hin bin iThng thpsang thng

    thp0

    ss =

    [numt, dent] = lp2lp(num,den,W0)[At, Bt, Ct, Dt] = lp2lp(A, B, C, D, W0)

    Thng thpsang thng

    cao

    0ss

    =

    [numt, dent] = lp2hp(num,den,W0)[At, Bt, Ct, Dt] = lp2hp(A, B, C, D, W0)

    Thng thpsang thng

    di

    ( )

    ( )

    02

    0 0

    s /BWs

    s / 1

    =

    +

    [numt, dent] = lp2bp(num,den,W0, Bw)[At, Bt, Ct, Dt] = lp2bp(A, B, C, D, W0,Bw)

    Thng thp

    sang chndi

    ( )

    ( )

    2

    00

    0

    s / 1

    s BW s /

    +

    =

    [numt, dent] = lp2bs(num,den,W0, Bw)

    [At, Bt, Ct, Dt] = lp2bs(A, B, C, D, W0,Bw)

    T bng trn ta thy rng cc php bin i tn s c th thc hin ivi hai dng m hnh h thng tuyn tnh: m hnh hm truyn t v m hnhkhng gian trng thi. M hnh hm truyn t c biu din bng hai vector(num, den) (hoc (numt, dent) sau khi bin i); cn m hnh khng gian trngthi biu din bng 4 ma trn (A, B, C, D) (hoc (At, Bt, Ct, Dt) sau khi bini).

  • 8/2/2019 LT 102Trang

    60/102

    i vi cc b lc thng thp v thng cao, 0 chnh l tn s ct. i

    vi cc b lc thng di v chn di, BW v 0 c xc nh nh sau:

    2 1BW = (5.8)

    0 1 2 = (5.9)

    Trong 1 v 2 l cc tn s ct ca b lc.

    Trong trng hp thng di v chn di, do s dng php bin i bchai nn bc ca b lc mi s gp i bc ca b lc c.V d 5.2: Thit k mt b lc thng di tng t thuc dng Chebychev

    loi I c bc n = 10, gn sng di thng Rp = 3dB, gn sng di chn Rs = 20.

    Cc tn s ct l 1 5

    = v 2 = . Vp ng bin ca b lc.

    Chng trnh>> [z, p, k] = cheb1ap(5,3) % B lc Chebychev loi I bc 5, Rs = 3dB>> [A, B, C, D] = zp2ss(z, p, k) % Chuyn sang dng khng gian trng

    thi>> u1 = 0.1*2*pi; u2 = 0.5*2*pi; % Cc tn s ct on v (rad/s)

    >> Bw = u2 - u1;>> Wo = sqrt(u1*u2);>> [At, Bt, Ct, Dt] = lp2bp(A, B, C, D, Wo, Bw);>> [b, a] = ss2tf(At, Bt, Ct, Dt); % Chuyn sang dng hm truyn t>>w = linspace (0.01, 1, 500)*2*pi; % To vector tn s>> h = freqs (b, a, w); % Tnh p ng tn s.>> semilogy(w/2/pi, abs(h)), grid % Vp ng bin >>xlabel(Frequency(Hz));

    Hnh 215.2.1.3. Ri rc ho b lcBc cui cng trong khu thit k b lc IIR l chuyn b lc t min

    tng t sang min s. C hai lng php thc hin vic ny: Phng phpbt bin xung (impinvar) v Phng php bin i song tuyn tnh (bilinear).

    Bng 14: Cc hm thc hin ri rc ho b lc tng tBin i tng t - s Hm thc hin bin iBt bin xung [numd, dend] = impinvar (num, den, fs)

    [numd, dend] = impinvar (num, den, fs, tol)Bin i song tuyn tnh [zd, pd, kd] = bilinear (a, p, k, fs, Fp)

    [numd, dend] = bilinear (num, den, fs, Fp)[Ad, Bd, Cd, Dd] = bilinear (At, Bt, Ct, Dt, fs, Fp)

    a. Phng php bt bin xung: xy dng mt b lc s m p ng xungca n l cc mu ri rc ca p ng xung ca b lc tng t ban u. TrongMATLAB, phng php ny c thc hin bi hm impinvar. Hm ny chchp nhn m hnh hm truyn t ca b lc.

    t kt qu tt nht, b lc tng t phi khng c thnh phn tn sno ln hn tn s ly mu, v cc thnh phn tn s ny s chng ln vo dithng thp trong qu trnh ly mu (tiu chun Nyquist). Phng php bt binxung c th c tc dng i vi mt s b lc thng thp v thng di nhngkhng thch hp i vi cc b lc thng cao v chn di.

  • 8/2/2019 LT 102Trang

    61/102

    b. Phng php bin i song tuyn tnhPhp bin i song tuyn tnh l mt nh x t min lin tc (min s)

    sang min s (min z). Php bin i ny bin hm truyn Laplace H(s) trongmin s thnh hm truyn t H(z) trong min z theo quy tc sau:

    ( ) ( ) z 1s k

    z 1

    H z H s =

    +

    = (5.10)

    Php bin i song tuyn tnh bin trc o j trong mt phng s thnh

    vng trn n v trong mt phng z. Mt im trn trc o c tung s trthnh im trn vng trn n v c:

    12tank

    =

    (5.11)

    Php bin i song tuyn tnh c thc hin bng hm bilinear. Gi trmc nh ca h s k l (2*Fs) (Fs: tn s ly mu). Nu cung cp thm thngs Fp( gi l tn s phi hp) th:

    ( )p

    p s

    2 fk

    tan f / f

    =

    (5.12)

    Nu c s hin din ca thng s Fp, php bin i song tuyn tnh s

    bin i tn s p2 f = thnh cng tn s trong min z, nhng c chunho theo tn s ly mu Fs:

    p

    s

    2 f

    f

    = (5.13)

    Hm bilinear c th thc hin php bin i tuyn tnh trn ba dng mhnh h thng tuyn tnh: m hnh li - cc zero, m hnh hm truyn tv m hnh khng gian trng thi

    Trong v d trn c th ri rc ho b lc to c bng cch dng hmbilinear vi tn s ly mu 2Hz

    >> [Ad, Bd, Cd, Dd] = bilinear (At, Bt, Ct, Dt, 2, 0.1);

    >>[bz, az] = ss2tf (Ad, Bd, Cd, Dd); % chuyn v m hnh hmtruyn t

    V d 5.3: Hiu chnh li v d trn ng thi p dng php bin i songtuyn tnh thit k b lc s Chebychev loi I, bc 10, di thng 0.1 0.5Hz,tn s ly mu 2Hz.

    Chng trnh>> [z, p, k] = cheb1ap(5,3); % B lc Chebychev loi I bc 5, Rs = 3>> [A, B, C, D] = zp2ss(z, p, k); % Chuyn sang dng khng gian trng thi>> fs = 2; % Tn s ly mu (Hz)>> u1 = 2*fs*tan(0.1*(2*pi/fs)/2); % Tn s ct thp (rad/s)>> u2 = 2*fs*tan(0.5*(2*pi/fs)/2); % Tn s ct cao (rad/s)

    >> Bw = u2 - u1; % Bng thng>> Wo = sqrt(u1*u2); % Tn s trung tm>> [At, Bt, Ct, Dt] = lp2bp(A, B, C, D, Wo, Bw);>> [Ad, Bd, Cd, Dd] = bilinear(At, Bt, Ct, Dt, 2,0.1);>> [bz, az] = ss2tf (Ad, Bd, Cd, Dd); % Chuyn v m hnh hm truyn t.>> [h, f] = freqz (bz, az, 256, 2); % Tnh p ng tn s>> semilogy (f, abs(h)), grid % Vp ng bin >> xlabel(Frequency(Hz));>> title (Dap ung bien do);

  • 8/2/2019 LT 102Trang

    62/102

    Kt qu

    Hnh 225.2.1.4. Cc hm thit k b lc IIR hon chnh thun tin cho ngi s dng khi thc hin qu trnh thit k cc b

    lc IIR cin, MATLAB cng cung cp cc hm thit k hon chnh cc b

    lc IIR thay v phi thc hin tng bc quy trnh thit k nhphn trn. Cchm ny tch hp cc quy trnh cp trn y li, trong bc th baca qu trnh, tc l bc ri rc ha cc b lc tng t, cc hm ny u sdng phng php bin i song tuyn tnh.

    a. B lc Butterworth: dng hm butter:>> [b, a] = butter (n, Wn, form)>> [z, p, k] = butter (n, Wn, form)>> [A, B, C, D] = butter (n, Wn, form)Trong : Wn l vector gm hai phn t xc nh cc tn s ct (vi ccb lc thng thp, thng cao, Wn tr thnh v hng). Wn c chunho theo tn s ly mu.

    form l mt chui xc nh dng b lc: low (b lc thngthp), high (thng cao), stop (chn di). Nu Wn c hai phn t vkhng c thng s form, hm s to ra b lc thng di. to cc b lc tng t, ta thm vo chui s vo danh sch ccthng s.MATLAB cng cung cp hm buttordc lng bc lc ti thiu

    tha mn cc yu cu thit k>> [N, Wn] = buttord (Wp, Ws, Rp, Rs)

  • 8/2/2019 LT 102Trang

    63/102

    Cc thng s nhp ca n bao gm cc tn s ngng ca di thng vdi chn Wp v Ws, cc gi tr mong mun ca gn sng di thng ti a vsuy hao ti thiu ca di chn (Rp, Rs). Hm tr v bc ti thiu ca b lccng vi vector Wn cung cp cho hm butter.

    b. B lc Chebychev loi I: dng hm cheby1>> [b, a] = cheby1 (n, Rp, Wn, form)>> [z, p, k] = cheby2 (n, Rp,Wn, form)>> [A, B, C, D] = cheby1 (n, Rp, Wn, form)Cc thng s nhp tng t hm butter, thm vo thng s gn sng

    di thng Rp (tnh bng dB). c lng bc ca b lc, dng hmcheb1ord.

    c. B lc Chebychev loi II: dng hm cheby2:>> [b, a] = cheby2 (n,Rs, Wn, form)>> [z, p, k] = cheby2 (n, Rs, Wn, form)>> [A, B, C, D] = cheby2 (n, Rs, Wn, form)Trong Rs l gn sng di chn (tnh bng dB). Hm cheb2ord cho

    php c lng bc ca b lc.

    d. B lc elliptic: dng hm ellip:>> [b, a] = ellip (n, Rp, Wn, form)>> [z, p, k] = ellip (n,Rp, Wn, form)>> [A, B, C, D] = ellip (n, Rp, Rs, Wn, form)Hm ellipord cho php c lng bc ca b lc.e. B lc Bessel: dng hm besself( ch thit k b lc tng t)>> [b, a] = besslf (n, Wn, form)>> [z, p, k] = besself (n, Wn, form)>> [A, B, C, D] = besself (n, Wn, form)Khng c hm c lng bc ca b lc.V d 5.4: Thit k mt b lc thng di c bng thng t 1000Hz

    2000Hz, di chn bt u cch cc tn s trn 500Hz, gn sng di thng ti al 1 dB, suy hao di chn ti thiu l 60dB. Tn s ly mu l 10kHz. S dngb lc Butterworth.

    Chng trnh>> [n, Wn] = bttord ([1000 2000]/5000,[500 2500]/5000, 1, 60);

    % c lng bc ca b lc v cc tn s ctn =

    12Wn =

    0.1951 0.4080>> [b, a] = butter (n, Wn); % Thit k b lc.

    5.2.2. Thit k trc tip cc b lc IIR trong min sy l phng php thit k trc tip trong min ri rc da vo mt png tn s mong mun m khng da vo cc b lc analog. Phng php thitk ny khng b b buc trong cc dng cu hnh thng thp, thng cao, thngdi hay chn di m ta c th thit k mt b lc s vi p ng tn s bt k,c th l gm nhiu di tn s.

    Phng php ny c thc hin vi hm yulewalk. Gii thut m hmny s dng l: tm bin i ngc FFT ca ph cng sut l tng mong munv gii h phng trnh Yule Walker s dng cc mu d liu ca hm t

  • 8/2/2019 LT 102Trang

    64/102

    tng quan tm c. B lc IIR c thit k theo phng php ny l b lcIIR quy vi phng php bnh phng cc tiu.

    C php>> [b, a] = yulewalk(n, f, m)Trong : n: l bc ca b lc

    F: l vector tn sM l vector p ng bin tng ng vi F

    Phng php ny khng quan tm n p ng pha. (b, a) l cc vectorh s ca b lc c thit k.

    V d: Dng hm yulewalk thit k mt b lc c hai bng, vp ngtn s thc t v p ng tn s mong mun.

    >> m = [0 0 1 1 0 0 1 1 0 0];>> f = [0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 1];>> [b, a] = yulewalk (10, f, m);>> [h, w] = freqz (b, a, 128)>> plot (f, m, w/pi, abs(h)); grid

    5.2.3. Thit k b lc Butterworth tng qut

    Hm maxflat cho php ta thit k cc b lc Butterwith tng qut, tc lb lc Butterworth vi s cc v s zero khc nhau. iu ny c li trong mts trng hp khi m vic tnh ton cc cc phc tp hn so vi cc zero. Cphp hm maxflat tng t nh hm butter, nhng khc ch ta c th cungcp hai thng s bc ca b lc, mt cho a thc t s v mt cho a thc mus.

    B lc ny c c im l c phng ti a, c ngha n c ti uha sao cho vi mi gi tr ca bc ca cc a thc t s th o hm ca png tn s ti tn s = u bng 0

    >> [b, a] = maxflat (nb, na, wn)

    5.3. THIT K B LC FIRCc b lc FIR l cc b lc c p ng xung hu hn v l b lc ton

    zero. So vi b lc IIR, cc b lc FIR c nhng u im ni bt sau: Pha tuyn tnh Lun lun n nh Phng php thit k ni chung l tuyn tnh C th thc hin mt cch hiu qu bng phn cng p ng qu ch tn ti trong thi gian hu hn

    Tuy nhin, nhc im ln nht ca b lc FIR so vi b lc IIR l bcca b lc FIR phi ln hn nhiu so vi b lc IIR vi cng mt ch tiu cht

    lng. do tr ca b lc FIR cng cao hn.

    Bng 15: Cc phng php thit kb lc FIR c sdng trong MATLABPhng php thit

    kM t Cc hm thit k

    Phng php ca s S dng cc ca s gii hnp ng xung, tc bin i FFTngc ca p ng tn s l tng

    fr1, fir2kaiserord

    Nhiu di tn v cc Gn sng cn bng hoc cc tiu frls, firpm

  • 8/2/2019 LT 102Trang

    65/102

    di chuyn tip ha bnh phng sai scc bngcon ca p ng tn s

    firpmord

    Gii hn bnhphng cc tiu

    Ti thiu ha sai s bnh phngtch ly trn ton di tn s v gitr ti a cho php

    fircls, fircls1

    p ng ty nh Thit k b lc ty theo p ngtn s, k c cc b lc phc v blc c pha phi tuyn. cfirpm

    Raised Cosine p ng ca b lc thng thp vicng chuyn tip c dng sine

    firrcos

    5.3.1. Cc b lc c pha tuyn tnhHu ht cc b lc FIR c thit k trong MATLAB u c pha tuyn

    tnh, tr cc b lc thit k bng hm cfirpm. Dc vo tnh cht i xng cacc h s ca b lc FIR (cn gi l cc tab), ngi ta nh ngha bn loi blc FIR c pha tuyn tnh nh sau:

    Bng 16: Phn loi cc b lc FIR c pha tuyn tnhLoi blc

    Bcblc

    Tnh i xng ca cc h sb lc

    p ng tns ti f = 0

    p ng tns ti f = 1

    Loi I Chn Chn Khng rngbuc

    Khng rngbuc

    Loi II L b(k) = b(n + 2 k), k = 1, 2,, n +1

    Khng rngbuc

    H(1) = 0

    Loi III Chn L: H(0) = 0 H(1) = 0LoiIV

    L B(k) = - b(n + 2 k), k = 1,2, , n+1

    H(0) = 0 Khng rngbuc

    tr nhm v tr pha ca b lc FIR c pha tuyn tnh bng nhau vbng mt hng s trn ton b bng tn ca b lc. Nu bc ca b lc l n th tr nhm s bng n/2, tc l tn hiu sau khi lc s b tri n/2 bc so vitn hiu vo. c im ny gip bo ton dng sng tn hiu trong di thng,ngha l tn hiu khng b mo pha.

    Trong trng hp mc nh, cc hm fi