Luận Văn Tìm Hiểu Một Số Phương Pháp Nhận Dạng Tiếng Nói Và Xây Dựng Hệ Nhận Dạng Tiếng Nói Các Chữ Số Tiếng Việt Bằng Mạng Nơron Trên Môi Trường Matlab

You might also like

You are on page 1of 53
LOT NOI DAU Ngay khi phat minh ra may tinh, con ngudi da mo ude may tinh c6 thé ndi chuyén véi minh. Yéu cdu don gian nhdt a may cé thé xde dinh duge tir ngit ma ching ta n6i véi may. Dé la myc tiéu cia nginh nan dang tiéng néi, Déi véi con ngudi, viée nghe, nhit 1a nghe tiéng me dé 1 mot van 48 kha don gin. Con déi véi may tinh, xéc dinh mot chudi tin higu ém than la sy phat 4am eiia m@t tir ndo hoan todn khéng dom gin, khé khin cling nhur vige hoc nghe ngoai ngit cia ching ta. Linh vue nhgn dang tiéng néi da durge nghién citu hon 4 thp ki va hign nay méi chi cé mét sé thanh céng. Co <é dén hé théng nhan dang tiéng Anh (vi dy: phin mém Via Voice cua IBM, hé théng nhan dang tiéng ndi tich hgp cia OfficeXP...). Cae hg thing nay hoat dng kha tt (cho d9 chinh xéc khoang 90 - 95%) nhung cdn xa méi dat dén mite mo ude cla ching ta: cO mét hé théng cd thé nghe chin xéc va hiéu hodn ton nhimg digu ta néi Riéng vi tiéng Viét, linh vue nhan dang tiéng néi con khé méi mé. Chua hé thay xuat hign m6t phan mém nhén dang tiéng Viét hoan chinh trén thj trang. 6 cng trinh nghién ciru vé nhdn dang tiéng néi tiéng Viet due céng bé rat hiém hoi, va két qua con han ché vé b6 tir vung, d6 chinh xéc.... Tiéng Vigt c6 ahidu dic tinh khée véi cic ngén ngit d& durge nghién ettu nhan dang nhiéu nhu tiéng Anh, tiéng Phép. Do dé viée nghién ciru nhan dang tiéng Viét 1a rit cin thidt, Vi nhimng li do trén, tdi chon dé tai “Tim hiéu mét sé phicong phap nhgn dang tiéng néi va xy dung h¢ nhgn dang tiéng néi céc chit sé tiéng Vigt bing ‘mang novon trén moi trwéng Matlab”, nhiim nghién ciru cic phuong phip nhain dang tiéng noi 46i voi tiéng Vigt va thir nghi¢m xy dyng mét hé théng nhan dang cdr nh. Khod lun gom cé 5 chong: 1. Chuong 1 trinh bay téng quan vé nhan dang tiéng ndi, nhan dang tiéng. néi tiéng Vigt va mét sé phurong phap nhén dang phé bién. 2. Chuong 2 trinh bay vé moi truong Matlab. 3. Chuong 3 tinh bay vé trfch chon die trung cho nh§n dang. 4. Chuong 4 trinh bay so luge vé mang noron va toolbox NetLab cho ‘mang noron trén méi truémg Matlab, 5. Chuong 5 trinh bay qué trinh tién hanh va mét sé két qua nghién ctu xdiy dung hé nhin dang tiéng ndi céc chit sé tiéng Vigt trén mai trudng, Matlab Mic dai hét site cé ging nhung do kha ning cén han ché cong véi nhing théi gian, phuong tign, cOng cu... nén két qui nghién citu cdm khé khiém tin. Hy vong ring trong tuong lai tdi sé cé diéu kign hon dé tiép tuc nghién ciru dé tai nay. Em xin chan thinh cam on thdy Dang Vin Chuyét (khoa CNTT DHBK Ha. N@i), ¢6 Hé Cam Ha, thay Nguyén Tan An, thay Lé Minh Hoang, thay Dao Viét Cuimg, thy Trin Ding Hung cing e4e thy e6 giéo khoa CNTT DHSP Ha Noi 43 tin tinh chi bao, g6p ¥ va gidp 49, tao diéu kign cho em trong qué trinh nghién ‘Cam on anh Nguyén Tién Ding (Vign CNTT), em Dinh Ngoe Thing va cdc ban 6 trung tim FYT, cde ban cing Ip, cing khoa da ding vién va gidp 43 tai ligu, phwrong tign 48 t0i hoan thinh nghién eiru nay. LOT NOT DAU nee MYCLYC.. CHONG 1. NHAN DANG TIENG NO 1.1, NHAN DANG TIENG NOI VA MOT SO PHUONG PHAP NHAN DANG LLL Nh dang tng 26, aa 1.1.2, Mgtsé prong php nbn dng téng ni ph én, 1.12.1 Phong pip gto - An v ge (Acoutie-phoetic approach), 1.1.2.2 Phuong phi mhin dang miu (patter ecogiton approach). 7 1.12.3. Phawng pip uu aa go (rua ineligence approse). a 1.2, NHAN DANG TIENG VIET. 1.2.1, Mt be di ng ining Vie 1.2.2. Nhing than lo vi ho kin Bi vi nhin doe én nine Viet 1221, Thun Ii 1222. Khi kin CHONG 2. MOLTRUONG MATLAB... 2.1, GIAO DIEN VA CAC THANH PHAN CO BAN CUA MATLAB... 2.1, LENH TRONG MATLAB. 22, BIEN TRONG MATLAB 221, Sir dng bin trong Mat 222 Nhip Umport) vault Export). a 23. MA TRAN TRONG MATLAB... 2.31, Mate marin, vet vst vv ug Cela. 23.2, Motsé ma tn, vector de ig 23.3. Che phép tain wi vO bing... 234, Che php ton wi vector, 23.5. Che phep toin wi ma uta... 2.4. CAC HAM THONG DUNG TRONG MATLAB... 2.4.1. Mots him adn hoe tg dang. 2.42 Mots ham veer 243. Motsé him xr tanh 2.44, Che phip tatn ol pte 25. LAP TRINH MATLAB... te 2.5.1, Choon inh ago (se am vs. 252 Che elute du Mile. ms 252.1. Linh gn 252.2 Léahreahanh 2523. Linh ip. 253 Big thie logic 25.3.1 Che php tain quan bd, aa 2532. Cée php in logic 25.3.3. Mies hi quan hiv Logie CHUONG 3. TRICH CHON DAC TRUNG TIN HIEU TIENG NObseonnnnnnnen 29 3.1, TRICH CHON DAC TRUNG MECC. cee 3.11, Sa 8 Kh ea gui ah inh MFC. 3:12, Chin Kung va ci 6h, sense’ » 30 20 3.13. Bid i Fourier ie 30 3.14, Loe qua cc bloc mel sale 31 315. Logarit vi bin bi Fourier gue. 31 3.16, Tinh oda ng hae 2 3.17, Tinh oka de mg dea a "2 32, TOOLBOX VOICEROX TRONG MATLAB, 3 CHUONG 4. MANG NORON NHAN TO vnunet 4.1, MO HINH MANG NO RON ... sania 34 441.1. Méhinh mot noon perceptron. M 4412. M6 hinh mang noon MLP. 35 413. Hanya mang noroa MP... - 36 415. Vadim va ahuge dtm cia mang nero a 38 42. SU DUNG MANG NORON TRONG NHAN DANG MAU. 38 442.1 Mot phuong pip pcm da vo xde su phn ip. 4422, Nhave diém cia mang MLP rng a dang én ni 442.3. Mocsépuong php peda Kh... 43. MANG NORON TREN MOI TRUONG MATLAB. 43.1. Khoi to mgug MLP. 443.2. Han hyn nang MLP 433. Sirdyngmang ML? CHUONG 5. XAY DUNG HE NHAN DANG CHO'SO TIENG VIET. 5.1. XAY DUNG HE THONG NHAN DANG. nsssnsnnsnnnnnninnninnsnnnnnin dd $5.11. M6 t chung wh thing Z wl 5.12, Sud8 ki cia be tng. 5.1.3. Tha thw tn iin i ng ns S.A. Phin chia ia va pha ip. 44 515. Trich ehgn dc trmg MFCC rn 5.1.6, Tih di vo cho mang vl 46 46 S17. Xiy dang vi hud ay hi hin me 5.18, Sidyng mang trong nnn dng, 5119, Gia dia phn mim demo. 52. KET QUA THU NGHIEM .. 5.3. HUNG MG RONG CUA DE TAL 50 531, Xi dima bo iguana 30 4332. Xfy dng pln nn a dng di rn tg gic, 0 533, Nghien icf pong pe in etme Ke x0 534 Nehin cee phon php nin dang Ke st PHY LUC 1, DANH MYC TAL LIEU THAM KHAO verrmnnnrnncnn 82 PHY LUC 2. BANG CAC THUAT NGU VA TU VIET TAT, 33 1.1. NHAN DANG TIENG NOI VA MOT SO PHUONG PHAP NHAN DANG PHO BIEN 1.1.1, Nhan dang tiéng néi Hiéu mét cich don gin, nhfn dang tiéng néi (speech recognition by machine) la ding may tinh chuyén ddi tin higu ng6n ngi tir dang 4m thanh thanh dang van bin, Néi m6t céch chinh xac hon: nh@n dang tiéng néi la phan chia (segmentation) va dinh nhin ngén ngit (labeling) cho tin hiéu tiéng néi. Nhan dang tiéng néi c6 nhigu img dung: © Doe chinh ti. La tng dung duge sir dung nhiéu nhdt trong cic hé nhgn dang. Thay vi nhap ligu bing tay thong qua bin phim, ngudi sit dung néi véi may qua micro va may xae dinh cée tir duage néi trong 6, * Diéu khién - giao tiép khong diiy. Ching han hé théng cho phép may tinh nhan Ignh diéu khién bing giong néi cia con ngudi nhu: “chay chuong trinh", “tit may”... M§t sé wu diém ciia vige sit dung tiéng noi thay cho eéc thiét bi vio chudn nhu ban phim, con chudt li: thuin tign, tée 46 cao, Khdng bj anh huémg ca cp, khong céch, khong doi hoi hud luyén sir dung... thogi-lién Igc. Mét s6 hé thong (chang han 6 may dign thogi di d9ng) cho phép ngudi sir dung doc tén nguéi trong danh sich thay vi bam sé. Mot sé hé théng khdc (6 ngdn hang, trung tam chimg Khodn...) thye hién vige tra lai ty déng di vei cdc cde cude goi hoi vé tai khoan, Tuy nhién van dé nhén dang tiéng néi gp rit nhiéu kh6 khin. Mot sé khé- hain chit yéu la © Tiéng ndi la tin higu thay ddi theo thdi gian. Mai ngudi cd mot gigng ni, céch phat Am khée nhau... Tham chi mot ngudi phét ém cing mot tit mami lan khée nhau cing khéng giéng nhau (ching han vé toc 49, Am hugng...) * Céc phuong phap nbn dang hign tai cha méy tinh kha “may méc”, cdn xa méi dat dén mire d6 tu duy cla con ngudi. * Nhiéu la thanh phan luén gap trong méi trigng hoat d6ng ciia cdc hé thdng nhan dang va anh hudng rit nhiéu dén két qua nhén dang. Do nhiing khé khiin dé, nhan dang tiéng néi cn tri thie tir rdt nhidu tir gin khoa hoe lién quan: hiéu céc phuong phap tich cdc théng tin dac trung, i tiéng néi, giam anh hug cua nhiéu va sy thay 441 theo théi gian cia tiéng ndi, ¢ Am hge: tim hiéu méi quan hé giita tin higu tiéng ndi vat li voi cde co ché sinh Ii hge eta vige phat am va vige nghe cia con ngudi. * Nhan dang miu: nghién ctru cdc thuat todn dé phan lép, hudn luyén va so sfnh cfc miu dit ligu, © Li thuyét thong tin: nghién ctru cde mé hinh théng ké, xc sudt; cde ‘thuat toan tim kiém, ma hod, gidi ma, wée Iugng cae tham s6 cia mo hinh © Ng6n ngit hge: tim hiéu méi quan hé gitta ngi am va ngit nghia, ng phap, ngit canh cia tiéng néi, © Tam-sinh li hge: tim hiéu cac co ché bac cao cia hé théng noron cia 6 no nguisi trong cae hoat dong nghe va néi ‘© Khoa hge miy tinh: nghién citu ede thudt ton, ede phuong php cai dat va sir dung higu qua cae hé théng nhin dang trong thu t8. 1.1.2. M6t sé phuong phap nhan dang tiéng néi pho bién 1.1.2.1, Phuong php ngir 4m - Am vj hge (acoustic-phonetic approach) Phuong phap ngit am - 4m vi hoc dya trén ly thuyét 4m vi: li thuyét nay khing djnh sy tn tai hitu han va duy nhat cic don vj ngi 4m co ban trong ng6n ngt di goi li am vi, duge phan chia thinh: nguyén 4m - phy 4m, v6 thanh-hitu thanh, am vvang -Am bet... Céc dim vj c6 thé xéc dinh bai tip cfc de trmg trong phd ciia tin higu tiéng néi theo théi gian (dc gia co thé tham khao thém 6 [10]). ‘Dic trang quan trong nhat ciia 4m vj la formant. Dé 1a cdc ving tin sé cé Ong hudng cao nbdt cia tin higu. Ngoai ra con mét sé dc tung khdc nhu am vue (cao dé - pitch), am lyon; H@ théng nin dang dya trén phuong phip ndy s® tich e4e de trumg tir tin higu tiéng néi va xéc dinh ching twong tmg voi 4m vj nao. Sau 46, dya vio mét tir dién phién am, may sé xéc dinh chudi cdc dm vj 46 ¢6 kha nang 1a phat am ciia tir nao nbat, Xét khia canh nguyén li, phuong phap cé vé rat don gian. Tuy nhién céc thir nghigm trong thyc té cho thay phuong php cho két qua nhan dang khéng cao. ‘Neuyén nbén ti nhiing vin 48 sau: © Phuong phép can rat nhiéu tri thite vé ngit dm hoe, nhat 1a ede tri thite lign quan dén de tinh 4m hgc cia cdc Am vj. Ma nhiing tri thire nay hin chung con chua duge nghién ciru d& ‘© formant chi én dinh déi vai céc nguyén Am, voi phy Am formant rat ‘khé xae dinh va khéng 6n djnh. Hon nita vige xic dinh cic formant cho 49 chinh xéc khOng cao, Bae biét khi chu anh hudng cia nhigu (la van dé thurémg xay trong thuc té). © Rat khé phan bigt cde 4m vj dya trén phd, nhat 1 cde phy 4m vo ‘thanh. C6 mét s6 phy 4m rit giéng nhigu (vi du: /s/, /W/). 1.1.2.2. Phuong phép nhjn dang miu (pattern recognition approach) Phuong php nhan dang miu dua vao ly thuyét xc suit - théng ké dé nhan dang dya trén y tuéng: so sdinh déi teong can nhdn dang voi cée méu diege thu thap truéc dé dé tim mau "giéng" déi tugng nhat. ‘Nhu vay hg théng nhén dang sé tréi qua 2 giai doan: 1) Giai doan hudn Iuyén thye hign cde nhigm vu: thu thap mau, phan lop a luyén hé théng ghi nhé céc mau 46. —) -—> 3| Th is : Minh hog: So dB giai dogn hun luygn cia phwong phap déi sénh mau 2) Giai doan nbn dang: vao déi tugng cin nhfn dang, so sinh véi cde mau va dua ra két qua 1a mau gidng déi tugng nhat. 3 a 5 8 | : H ZI : Thu thap, tién xt z an (2 u thap, tién xi 5 Nguén \2\0 P. 37 y eee] Minh hoa: So a giai doan nhan dang cia phurong php aéi sanh mau Phan lén cdc hé nhan dang thanh céng trén thé giéi 1a sir dung phuong phap nay. Phuong phap c6 nhimg wu diém sau: 1. Sit dung don gin, d& hiéu, mang tinh toan hoe cao (ly thuyét xde suat théng ké, ly thuyét may hoe, ...) 2. ft bj anh huémg cia nhimg bién thé vé b6 tir vung, tap dc trung, don vj hn dang, mOi treéng xung quanh. 3. Cho két qua cao. Didu nay da duge kiém chimg trong thye té. Trich chon ac 1.1.23, Phurong phép er tug nha tpo(artifactial intelligence approseh) oq Phuong phép tri tug nhan tgo nghién etru cach hoe néi va hoc nghe cia con ngudi, tim hiéu cde quy lut ngit am, ngit php, ngtt nghia, ng can... va tich hop chiing bé sung cho céc phurong phap khée dé nang cao két qua nhan dang. Ching han c6 thé thém cdc hé chuyén gia (expert system), cdc ludt logic mo (fuzzy logic) vé ngit am, am vj... vao céc hé nhin dang tiéng néi dya trén phuong phép ngit 4m-dm vj hgc dé ting d@ chinh xée cho vige xc dinh ed &m vi (van dé da duge dé cap 1a rit khé néu chi sir dung céc théng tin vé am phé ). Hay tugng cin nhan dang, hé théng sé chon ra mot sé miu “ sau d6 sé kiém chimg tiép cdc két qua dé bang céc lat ngit phap, ngit nghia, ngir canh,.. dé xc dinh mau pha hgp nhat. Hign nay dang c6 mét phuong phép tri tug nhan tao trong nhfin dang tiéng néi duge nghién ciru rong rai ld mang noron. Tuy vao cach sit dyng, mang noron 6 thé coi 1a mé rng cia phwong phép nhn dang miu ho’c phuong phép ng im-Am vj hoc. Do nhimg dic tinh cia minh (duge trinh bay ki 6 phan 2), mang noon duge hi vong sé ting cuting higu qué cia céc hé nn dang tiéng noi. Mang noton la phurong phép durge chiing t6i nghién ciru xay dyng hé nhén dang trinh bay trong khod lun nay. 1.2. NHAN DANG TIENG VIET 1.2.1. MOt s6 dic diém ngir Am tiéng Viét 14 ng6n ngtt don am (monosyltable - mi tir don chi e6 mt 4m tit), khong bién hinh (cdch doc, eich ghi 4m khong thay déi trong bit ctr tinh hudng ngit phap nao). Tiéng Viét hoan ton khéc véi cde ngén ngit An-Au nhw tiéng Anb, tiéng Phap 1a cdc ng6n ngit da am, bién hinh, Theo théng ké trong tiéng Vigt ¢6 khodng 6000 am tiét, Nhin vé mat ghi Am: dm tit tiéng Vigt c6 edu tao chung la: phy m-van, Vi dum rin e6 phy am t, van in. Phy am la m6t am vi va am vj nay lién két rat long 1éo voi phin cén Iai cila Am tiét (hign tugng néi lai), ‘Van trong tiéng Viét lai durge cau tao tir cdc dm vj nhé hon, trong d6 cd mot am vi chin la nguyén am. Hinh sau 1a phé tin higu cia am tiét “ba”. Ching ta c6 thé quan sat va phan. bigt r mién nhiéu nén, phé cia phy am b va nguyén 4m a (mién dim hon 1a 06 mat 46 nang hong lin hon). ving ling (silence) 66 mién nhiéu nén (silence), min tin higu bl va nguyén &m Jal (mién dm hon la ¢6 mat a nang lreng lin hor rit ra két Iudin: cdc phy ‘véi nhau rit r qua sy phan bé nang luong tai Quan sat phé cae am tiét tuong ty ching ta cé tI Am va nguyén am déu phan bigt ce min tin s6, vi du: phy am 6 tin s6 thép, nding lung nho, nguyén dm c6 ning long lon 6 cd ving tin s6 eno, Ving khong ¢6 tin higutiéng noi (nhiéu nén va khoding ling) cé ning lugng thip va chi t§p trung 6 céc tn s6 rat thép. "fe nguyén am cé tin phd (spectrum) khiée nhau khé 1. Hinh sau minh hoa sy khdc nhau vé phé cia 5 nguyén 4m co ban. Mién dim 1a mién c6 mat 46 ning Iugng cao. Theo tac gid Doan Thign Thuat ([3)), xét tiéng Viét c6 luge dé nhu sau: Thanh digu m dau Vin ‘Am dm ‘Am chink Am eudi Luge dé cho thay am tiét tiéng Vigt c6 cau trac 16 ring, én dinh. Luge 43 cOn cho thay tiéng Vigt 14 ngén ngir c6 thanh digu. Hé théng thanh digu gdm 6 thanh; bing, huyén, sac, héi, nga, nfing, ‘Thanh digu trong am tiét la am vj siéu dogn tinh (thé hién trén toan b6 am tiét), Do dé dic trang vé thanh digu thé hign trong tin higu tiéng noi khong rd nét hu cdc thinh phan khdc cia am tiét. Su khéc bigt vé céch phat am tiéng Viét rit 13 rét theo gi bigt la theo vj tri dia li (giong mién Bac, mién Trung va mién Nam khéc nhau rit ). i, Mra tudi va di 0 1.2.2, Nhimg thudn Igi va khé khan d6i v6i nhan dang tiéng noi tiéng Vigt 1.2.2.1. Thugn loi Nhimg dac diém ngit am tiéng Vigt cho thay nhén dang tiéng noi tiéng Viét 6 mot s6 thudin loi sau: © Tiéng Viét 1a ngén ngit don Am, sé lugng am tiét khong qua lon. Didu nay s@ gitip hg nhin dang xéc dinh ranh gidi cdc am tiét d8 ding hon nhiéu. Déi voi hé nhjin dang cic ngén ngit An-Au (tiéng Anh, tiéng Php...) xéc dinh ranh giéi 4m tiét (endpoint detection) 1a van dé rat khé va anh huéng lén dén két qua nhan dang. © Tiéng Viét 1a ngén ngit khéng bién hinh tir. Am tiét tigng Vigt én dink, c6 cdu tric 18 ring. ie bigt KhOng c6 2 Am tiét ndo doe giéng nhau ma viét khéc nhau. Diéu nay sé dé ding cho vigc xay dung céc ‘mé hinh am tiét trong nhan dang; ding thai viée chuyén tir phién am sang tir vung (lexical decoding) sé dom giin hon so véi cée ngon ngit An-Au. Theo [10], viée chuyén tir phién 4m sang tir vung cing 1a mot ‘yan dé khé khan trong nhén dang céc ng6n ngit An-Au. 1.2.2.2. Khé khin Ngoai nhiing thudn Igi trén, nhdn dang tiéng néi tiéng Viét cing gap rit nhidu khé khan nher sau: * Tiéng Vigt 18 ngon ngt c6 thanh digu (6 thanh). Thanh digu 18 Am vi siéu doan tinh, dic trang vé thanh digu thé hién trong tin higu tiéng ‘noi khéng rd nét nhu céc thinh phan khac cita am tiét. © Céch phat am tiéng Viét thay ddi nhiéu theo vi tri dia li. Giong dia phuong trong tiéng Viét rat da dang (mdi mién cé mét giong dic trum). © Hé théng ngit php, ngit nghia tiéng Viét rit phite tap, rit kho dé ap dung vao hé nhan dang visi muc dich tang higu nang nhan dang. Hé théng phién am cing chua théng nhit. © Cac nghién ciu vé nhan dang tiéng Viét cing chua nhiéu va it phd bién, D§e bigt khé khin ln nhdt Ia hign nay chua cé mOt b dir ligu chudn cho vige hudn luyén va kiém tra ce h¢ théng ohdn dang tiéng Viét. " MA TLAB. Matlab (Matrix Laboratory) la mét mdi trudmg tro giip tinh todn va hién thi rit manh duge hing MathWorks phat trién. Mite phat trién cia Matlab ngay nay. 43 ching t6 Matlab 1a mdt phan mém cé giao dign cue manh cling nhiéu Igi thé trong ki thuat lap trinh dé giai quyét nhimg van dé da dang trong nghién ciru KHKT tir tinh todn co bin cia Matlab 1a cde ma tn. Giao dign co sé cia Matlab 1a cdc dong Ignh, Ngoai thr vign céc ham tinh toan, vao-ra, dé hoa... eo ban, Matlab cn cé cdc toolbox 1a cac thu vign cho timg linh vue cy thé. Vi dy co toolbox cho xir Ii tin higu (Signal Processing), m6 phong mo hinh (SimulLink), logic mo (Fuzzy Logic), mang noron (NNet), ... thm chi cho ca thiét ké may bay (Aerospace) hay gidi phucmg trinh vi phén (PDE). Matlab ciing hé trg Igp trinh va cho phép tich hgp thr vign do nguti ding, xdy dymg. Cau lénh cia Matlab duge viét rit sat cde mé ta ki thudt nén Lp tink trén Matlab nhanh va don gidn hon so voi cde ngén ngit thong dung nhu Pascal, Fortran... Cit phap Ip trinh cia Matlab giéng C nén khOng qua khé hc. De bigt Matlab cén 6 céc giao thire dé lign két véi cde méi trudmg 1p trinh khée, 4 VC++, ching han cho phép dich cdc him trong Matlab thinh cae chong trinh nguén C/C++ hoae hé trg cae thir vin DLL tir bén ngoai. Do nhimg diém manh nhw vay ciia Matlab, ching toi quyét dinh s¢ ding Matlab dé phat trién hé nbn dang eiia minh. 2 2.1, GIAO DIEN VA CAC THANH PHAN CO BAN CUA MATLAB Giao dign lam vige thuémg gp cia Matlab nur saw: Ls fle Eat Yew Web Window Help De] 6 oo | me 2 lourenDredoy:fewanaBicsmek da) a = [| | | see w] fp> viet 21 b> pasts als >> vespe-pls >> denorm(ve) [denorm (vt) Z| Asx] Gidng nhu céc méi traéng khdc nhur AutoCAD, dé thao tac véi Matlab, ta g6 lénh trén cita sé Iénh hode sir dung menu, Phin tiép theo cia chuong sé tinh bay vé céch sir dung lénh trong Matlab. 2.1. LENH TRONG MATLAB Lénh trong Matlab cé thé phan loai theo chite nang nhu sau: ‘© Lénh thye hign chite nang co ban cua Matlab. Vi dy: lénh help dé goi trg gitip, mee dé goi trinh bién dich ctia Matlab... ‘© Lénh goi ham va goi seript. ‘© Lénh thao tac bién (hién thi, gan tri...). Sau day la vi dy mét sé Iénh trong Matlab. Doan Iénh sau thie tinh toan khong cach 2 diém: Spl = 1 217 pp2 = [3 4]; pov = p2 - pli ood = norm(vt) B Sau khi Matlab thye hign xong dogn Iénh (xem hinh minh hoa), ta rit ra mot s6 nha xét: © Cfu Ignh Matlab 6 déu nic 1 >>. Dau nhic ndy do Matlab sinh ra, ta khong edn phai g6 vio. Sau niy dé don gin trong ede phin sau cfu Iénh Matlab ching ti sé thém khéng phan déu nl * Céu Ignh Matlab c6 thé két thie bing dau ; ho’c khéng c6. Sau dé Khi g6 Ignh xong, go phim Enter thi Ignh sé durge thye hign. Néu khéng cé dau ; thi Matlab hién thi két qua tinh toan (d6i khi rit dai va Jam chm hé théng), con néu c6 dau ; thi Matlab khéng hién thi, © Ki php ma trn trong Matlab Ia ep [ ]. Ma trin durge mé ta timg dong mdt, gita cdc ding cach nhau béi déu ; gitta cdc phn tir trén cing mét dong cach nhau boi déu phan tich niu du céich, tab... Vi dy mé ta ma tran [1 2; 3 4]. (Cha ¥ mdi dong phai c6 s6 phan tir bang nhau), Trong doan trinh nay pl, p2 ki 2 ma tran 1x2 m6 ta tog 46 2 diém, v=p2-p1 1A vector tao bai 2 pl, p2. © Cau lgnha = norm(vt) la cau Kénh gan tri, ding thai la cau lénh goi ‘him: norm 1a ham lay chudn cia vector. nia. Bang sau ligt ké m6t s6 Iénh co ban ciia Matlab: Lénh Y¥ ngl ele Xod cita s6 len, cle Xo cia 56 8 hoa. exit, quit ‘Thoat khéi Matlab. help ‘Trg gidp vé tén Ken, hm. pause Tam dimg, in phim bat ki dé tigp tue disp Hign thi bién hose xau cerl+c Thoat khoi Iénh dang thuc thi (trong truéng hop chay qué liu hoe lp trinh sai nén khéng thost duge), a: Goi lai cde Iénh & phia trén. 2.2. BIEN TRONG MATLAB 2.2.1, Sit dung bién trong Matlab tir khdng thé trong Matlab, cing nhur trong céc ngén ngi lap trinh la bién, Bién thuong ding dé cung cp dau vo, nhn csc gid tri trung gian va ghi nhé két qua. “ Bién trong Matlab duge dat ten nhw quy tic cia ngén ngir C: chi gom. chit cai, chit s6, ddu gach dudi, dai khong qua 19 ki ty, phn biét chit hoa, chit thuring. Dé khai béo va khéi tao bién, ta ding lénh gan. Khi gan bién cho mét ma tran, néu bién chya tén tai, Matlab sé tao ra bién méi cé kich thude bing ma tran. 6 va gan gid trj cia ma trin cho bién. Thuong ta hay ding céc Ignh x=) ; hay x=zeros (m,n) dé khdi tgo bién (Xem thém phn 2.3.2.vé céc ma trin dic bigt é hiéu téc dung cia mi Iénh). Ta cé thé nhap gid tri true tiép cho bién théng qua Iénh gn va ham input. ‘Dé hign thj gia tr] ciia bién ta gd Kgnh chi cé tén bién, khéng c6 dau ; 6 cudi. 2.2.2 Nhap (Import) va xudt (Export) Toan b§ cac bién dang sir dung duge goi la khéng gian lam vige (workspace) ctia Matlab, Sau khi thodt khoi Matlab thi ching bi xod. Bé lam vige ‘v6i dit ligu duge nhiéu lan ta phai ghi (save) va nap (load) cdc bién 46. Ngoai ra ta cn cé nhu cau chia xé dit ligu gidta Matlab va cic méi trréng khic. Matlab ‘cung cp chite nang Save va Load dé thyc hign cdc yéu cdu nay. Matlab ghi cdc bién (khéng nhit thiét la ton bé khdng gian lam vigc) ra cde file c6 céu tric khiie nhau: file text ASCII va file nhj phn MAT. Thuong ching ta ghi duéi dang file nhj phan, trong trudng hgp can trao ddi dit ligu chung ta sé ahi durdi dang text. Matlab e6 kha ning ngp dir ligu tir nhiéu khudn dang, ngodi kiéu file text va file MAT, Matlab con c6 thé doc céc file anh, file am thanh, file CSDL, file Excel dé ldy ra cdc thong tin can thiét. Ghi va doc dit ligu qua file trong Matlab cé thé thyc hign qua 2 Ignh save va load, ciing cé thé thye thi biing chon menu, Trong trudng hgp ta chic chin duge cdi trée cia file dit ligu thi nén ding lénh cho nhanh, trong truéng hop khéng 15 (thumg xay ra khi nhdp tir file ciia cfc mdi trummg khéc) ta nén ding menu vi may can chung ta cung cp va xéc dinh cau trac file. Ci phap cia Ignh save, load: [Save | Ghi ton b6 khing gian lim vige vio file| -MAT cé tén la Save x Ghi bign x vao file MAT cé tén la Save x y z Ghi cdc bién x,y,z vao file MAT cé tén Load vio khéng gian lim vige- oad x Doe gid tri ciia bién x ti file MAT e6 tén I Load x y z Doc gid tri cic bién x,y,z tir file MAT cé tén 1a Néu Iénh Load, Save 6 tham s6 ASCII thi Matlab doc/ghi file theo cdu tric text. 2.3. MA TRAN TRONG MATLAB 2.3.1. Ma trfin (matrix), veeto (vector) vA vO huéng (scalar) Trong Matlab m@t bing m dong, n ct goi li mt ma trin mxn, Vector la ‘ma tr mot dong hoe mot e6t. V6 hurémg ki ma trin 1x1 (tuong dong v6i mot gid trj). Matlab hé tre cdc kiéu v6 huéng: thye, phite, ki ty. Xu (chudi - string) trong Matlab 1 mét vector cé cde phan tir kiéu ki ty. ‘Ngoai ma trin 2 chiéu nhu trén, Matlab cdn hé trg ma tn nbiéu chiéu (méi phan tir cia ma trin khi d6 khong phai la mOt v6 hung ma la mot vector hay mt ma trin). Tuy mhién tit ca cde phan tir cia ma trgn phai cé cing mot kiéu. Do cé thé coi vector va v6 huéng 1a cac ma tran die biét nén tir day néu chi néi “ma tran”, ta ngim hiéu 6 cé thé 1a vector, v6 hung. Dé cho dé thdy hon, trong khod luan nay, tén bién v6 huéng thedng dugc viét turing, tén vector, ma tran thuedmg duege viét hoa. Ki phap dinh nghia ma tran trong Matlab 1a cap [ ]. Ma tran duge mé ta timg dong mét, gitta céc ding cich nhau béi dau ; gitta cdc phan tir trén cing mbt dong cdch nhau béi dau phan tich nhu déu cach, tab... 125 Vidymatrin 4 5 6) durge m6 ti trong Matlab la [1 2.3; 45 6; 789]. 788 Phin tir dong i, ct j cia ma tran A viét 1a A(ij). Néu chi viét A(i) thi Matlab hiéu 46 1a A(L.i). Con dé xac dinh vector dong i eiia ma tran A thi phai vidt 1 A(i,:); tuong ty dé xde dinh vector ct j ca A thi vidt 1a A(.,j). Ki higu : day hiéu 1a “tit 0a”. 2.3.2. Mot sb ma tr§n, vector diie bigt 6 ‘Viét trong Matlab | Y nghia a Ma tran rong eye(n) Ma tran don vi cdp n zeros (m,n) ‘Ma tran toan phan ti 0c mxn ones (m,n) ‘Ma tran toan phan ti 1 cd mxn arb Vector céc phan ti tit a dén b, d6 léch 1a 1 hay -1 tuy thudc aon hom hay nh hom b. Vi dy 1:5 sinh ra vector (1 2 3 4 5]; 3.6:2 sinh ra vector [3.6 2.6] a:d:b Vector cde phan tir thye tir a dén b, véi khoang chia d. Vi dy1:0.5:3.1 sinh ra vector [1.0 1.5 2 2.5 3.0] 2.3.3. Cac phép toan véi vo huéng Bing sau mo ta céc phép tofn thyc hign véi 2 gid tri v6 hudng. C6t két qui :m6t td cho truémg hop a=3; b=1.2 ‘Viét trong Matlab | Y nghia Két qua ath Cong 2 gid tri | 4.2 ab Trt 2 gid) | 2.8 atb Nhan 2 gid tri | 3.6 a/b Chia 2 git) [2.5 a‘b Luythira a’. | 3.7372 ‘Thir tr wu tién todn tir trong Matlab gidng nhur cic ng6n ngit ip trinh: ww tién cao nhdt la déu ngode, tiép dén la phép lug thita réi nhén chia trude, céng trie sau tie tréi sang phi. Cée phép todn trén (ngoai trir phép luy thira) con thye hign duge déi v6i mot ma tran va m9t vo huéng (vector 1a trubng hop die bigt cia ma trdn), Khi d6 két qua sé 1a mt ma tran cing cd ma mdi phin tir cia ma trfn nay I két qua cia phép toan giira vo huéng va phan tir tong img cia ma tran ban dau. Vi du: néu gin Bea*3; A 1 mOt ma tran eG mxn thi B cing Li mot ma trin c& mxn vB (4, 9) =A (4, 4) 93. 2.3.4. Céc phép toan véi vector "7 Céc phép ton véi vector thyc hign véi 2 vector cing ed, két qui li mot ‘vector cing 3, trong dé mdi phan tir cia vector két qua la két qua cia phép toan gitta 2 phan tir tuong img ciia 2 vector ban dau. Tite la néu C=a. “B thi (4) =a (4) “B(4) Trong bang sau c6t két qua img véi A=[4 3]; B=[2 1] Viét trong Matlab | Y nghi Két qua AB Céng vector | [64] AB Tritveetor | [22] ASB Nhén vector | [8 3] aL/B Chia vector | [2.03.0] a8 Luj thi — | [163] ‘Ngoai ra ta cdn thyc hign duge cdc phép toan 46 gitta Gt vector vi mgt vo huéng (nhu da trinh bay & phan vé cdc phép toan vGi v6 huéng). 2.3.5. Cac phép toan voi ma tran ‘Voi 2 ma tran cing c@, ta c6 thé thyre hign cde phép todn nhur cée phép toan ‘vai vector & trén (két qua cing 1a mét ma trin cing c3, mdi phan tir la két qua ca phép todn véi 2 phan ti trong img). ‘Viét trong Matlab | ¥ nghia AB Cong, tri, nhin, chia, lay luy thira 2 AB ma ten cling kich meee thuée nh phép A./B todn vector. AB ‘Ngoai ra ta con thye hign duge cde phép todn dé gitta mot ma trdn va mot ‘v6 hung (nhu da trinh bay & phan vé céc phép todn voi v6 hudng).. Matlab cdn e6 eéc phép toan sau déi voi cée ma tran: ‘Viét trong Matlab Y nghia ANB Nhan 2 ma trin A(m,n) va B(n,p), durge ma trin C(m,p) ma cde phan tir xc dinh bai: 8 C6.) =YAGH)* BE.) eH ASB’ Tich v6 huéng 2 vector dong A,B cé cing sé phan tir. a Ma trin chuyda vi ein A. Néu gin Baa’ vi A o@ mx thi Bcé cd nxm va B(4, 5) =A(5,4). Vector dong i. AG 3) Vector ebtj. A(x,y) Trich ma trfn con: x,y la 2 vector mé ta chi sO dong va Ot. A(xy) la ma tran con trong dé cae phan tir 1a cde phan tr ciia A e6 chi sé ding va e6t mé ti trong x va y. Tite la néu gin Bea (x,y) thi B(4, 5) =A (x(4) -¥G)). C6 thé ding thém ki higu : dé lay toan b6 dong hode c6t. eshape(A,m,n) ‘Djnh dang Iai ma tran A thinh ma tran m dong, n c6t rot90(A,k) Quay ma trin A 90°, nguge chiéu kim déng ho k Ian. ak Luy thita ma tran: tinh ma tran A* (nhan A k lin), chi ap ‘dyng véi ma tran vuéng. inv (A) ‘Cho ma triin nghich dio cia A. Chi 4p dung véi ma trin vudng triu(a), tril (a) Cho ma tran tam gide trén/dudi cia A. 2.4. CAC HAM THONG DUNG TRONG MATLAB 2.4.1. Mét sé ham toan hgc théng dung Matlab c6 céic ham todin hoc thong dung nhu lugng gidc, logarit... 18 tinh ton, Déi sé cila him 1a vd hung hoc ma trin (vector la trudng hop de biét ciia ma tri). Néu d6i s6 la ma tran thi két qua 1 mét ma tran cing c& ma méi phan tir cla ma tran nay cé gid tri twong (mg véi cdc phan tir ma tran da cho. Viét trong Matlab Y nghia abs (x) Cho gid tri tuyét déi ciia x. x la 86 phite thi cho médun ca x. sart (x) Cain bac 2. Néu mudn ldy edn bac n thi viét x.*(1/a) 9 round(x), £4x(x), Cho két qua la s6 nguyén tuong img: gin floor (x), ceil (x) x, gin 0, gin 0 va gin +20 nb rem(x,y) Cho phan dur cia phép chia x/y, tite 1A x mod y.x div y chinh la floor (x/y) exp (x) e log (x), 1ogi0 (x) Inx, Igx (tong img). sin(x), cos(x), tan(x) Cac ham Iugng gide sin, cos, tg. x lay don vi radian, asin (x), acos (x) | Céc him hong gide aresin, arccos, arctang atan (x) atan2 (x,y) Cho aretg cia y/x trong khoang -x dén 7, tuy thude vao dau cia x,y 2.4.2. M6t s6 ham vector Cac ham sau thye hign cho vector, néu d6i s6 la ma trin thi két qua la ‘vector ma mdi phan tir tinh toan tuong img véi cc cSt cia ma tran. Viét trong Matlab Y nghia sum (X) ‘Tinh ting cde phan tir tia vector X. mean (X) ‘Tinh trung binh eng ede phan tir cita vector X. Gan ia] =max(X); | Tim phan tir Ion nhdvnho nhét cia X. xm 1a gi [xm ia] =min(x); | id la chi so. norm(X, p) ‘Tinh chudn bac p cla ma tran hay vector X, mic inh 1a bae 2. length (x) ‘Cho 86 phan tir cia X. im al= size(Aa) Cho kich thuge ma trin A. 2.4.3. Mot s6 ham xir li am thanh Matlab c6 mt s6 ham xir Ii am thanh sau: Viét trong Matlab Y nghia y oe tin higu Am thanh tir file wav cho bai xéu fel-wavread(wavfile) | wavfile, y la vector mé ti tin higu am thanh | (€é gid tri thye tir 0 dén 1), fs 1a tin sé ay mau | (eid tri nguyen) wavwrite(y,£s,wavfile ) Ghi tin higu 4m thanh tir file wav cho boi x4u_ wavfile, y la vector m6 ta tin higu am thanh, f la tan s6 lay mau, sound (y) Phat ém thanh ra loa, y la vector m6 ta tin higu 4m thanh. yewavrecord(n, fs) Ghi am (tir micro) v6i tan s6 lay mau fs van miu. Két qua la vector y. Doan Iénh sau ghi am trong 2 gidy véi tin sé lay miu 8kHz, phat Iai ri ghi vao file: yewavrecord(16000, 8000); sound (y) + wavwrite (y, 8000, ‘temp.wav’) 7 2.4.4. Cac phép toan sd phite Khac véi cdc ngén ngit lap trinh théng dung, Matlab cho phép tinh todn truc tigp vai s6 phite. Ngoai cdc phép todn thong thudng gidng s6 thye nhu cng, trir, nhan, chia, véi s6 phite cdn cé mt sé phép toan va him sau, Cot két qua viét vi dy déi véi x=a+bi. ‘Viét trong Matlab Y¥ nghia ‘Két qua TG) Phin thye a imag (x) Phan ao b conj (x) S6 phite lién hop | a-bi ‘abs (x) ‘médun Vea? angle (x) argument arctg(b/a) ad Ki higu don bi do. ‘Cach viét phép ton va goi him véi sé thue va sé phitc hoan toan giéng hau, Cac phép tofn hay him nao thyc hign duge véi sé phite cho két qua la sé phire tuong ting 2 2.5. LAP TRINH MATLAB. 2.5.1. Churong trinh ngudn (m-file), ham vA script Matlab hd trg 2 ché 4 hogt déng: hogt dng theo giao dign ding Iénh hoe theo chuong trinh. Giao dign ding Ignh cho phép ngudi ding gd Iénh va may hién thj két qua trong cira s6 lénh (cé thé tham khao mot s6 lénh 6 phan 1.3). Tuy hin dé nding cao higu qia sir dung Matlab thi phai lap trinh. Chuong trinh trong Matlab e6 2 dang: script (kich bin) hoi function (him). Chuong trinh nguén Matlab duge luu vao céc file text 6 phn mé réng la 1m ( goi ld ede m-file) va tén chuong trinh durge xe dinh qua tén file. Script va function du li day céc Iénh Matlab. Cé mét khic bigt cor bin: ham cé thé nh§n déi sé va tra lai két qua, cdn script thi khong. Khi g6 lénh chita tén ham hay kich bin, may s® thu thi day cde Iénh trong img trong chwong trinh nguén nhu IA chang duge gé trong cita sé Iénh (néu 1a Iénh goi ham thi con them cae thao tac truyén tham sé vao-ra, tgo va huy bién dja phuong...) Sau day la vi du v la dtev.m, thye hign tinh ton dign tich va chu vi hinh chit nhat v6i tham s6 vio la 2 canh ab. function (2, pl = dtev(a,b) % Ham tinh dien tich va chu vi hinh chu nhat vim dtev, duge liu trong chuong trinh ngudn dat tén seatb; p= 2*(a4b): Cée quy tie viét ham: 1. Ham phai duge bit dau bing tir khod function, sau dé lan luot 1 tham 86 dau ra, dau =, tén ham, dau (, céc 46i s6 (tham s6 dau vaio) va diu ). ‘Néu cé nhiéu tham sé dau vao thi ching phai viét céich nhau bing dau , ‘Néu cé nhiéu tham sé dau ra thi chang cing phai viét cach nhau bing dau , ‘ya 06 cp dau [ ] bao ngoai. 2. Chi thich trong Matlab 1a chu thich trén dong. Bat dau bing ki ty %, sau dé cho dén hét dong 1a ni dung chai thich. ‘Néu chi thich viét ngay sau khai béo ham thi khi ding Iénh help , ndi dung phan chi thich dé sé durge Matlab hién thi. 3. Céc két qua cia him duge xée dinh qua céc tham s6 dau ra. Vi vay trong thin him phai c6 cdc déng lénh gin gid tri cho ching, 4, Ngoai trir cc tham sé vao/ra, tit ca cdc bién bén trong him déu La bién dia phuong. Ching duge tao khi c6 Iénh gan dau tién va bi xéa sau khi két thic ham. Nguge lai, bién trong script thi ludn 1a bién toan cuc. 5. Loi goi him: Lénh goi ham cé dang nhu khai béo him, chi khéc la khéng duge ¢6 dau ; gitta cac tham 6 dau ra. Teede than 06 diu ra>]= (cdc tham #6 diu vao) Tuy nhién Matlab cho phép sé tham sé dau vao, dau ra it hon sé tham hinh thir, Ngudi lap trinh cn ding 2 ham nargin va nargout dé xc dinh s6 dau vao, dau ra thyc sy trong lai goi ham (chi y: Ching han ta cé thé ding Idi goi him sau dé tinh dign tich va chu vi hinh_ chit nhat kich thude 4x3: Tae ev] = dtve(4,3) ‘Néu chi quan tam dén dién tich ta c6 thé goi: at = atve 3) Tuy nhién wink te ruyén tham s6 ctia ham wong Matlab la ti tat sang, vi vay néu chi can két qua li chu vi, khong quan tim én dign tich ta van phai goi ham nhu edu Iénh dau tién, khdng thé diing cdu Iénh sau. ev = deve (4,3) Vi néu goi nhu vay, ev sé bj gan gia trj 12 cua dign tich. So sinh véi céc ngén ngit khéc chiing ta cé mot s6 nbn xét © Matlab cho phép ham tra lai nhiéu két qua. ‘© Matlab cho phép sé tham sé thyc sy it hon sé tham sé hinh thite. © Matlab khong xée dinh kiéu ciia tham s6 hinh thire va kiém tra kiéu cia tham sé thye sy. Ngudi lip trinh phai ty xac dinh lay. 2.5.2. Cae cau tric digu khién chung giéng Pascal, ngoai trir dc tric khéi begin end nén thudng cdc céu tric digu khién trong Matlab cho phép c6 nhiéu céu Ignh con va két thic bing end. 2.5.21. Lénh gan Lénh gin trong Matlab la =cbigu thée> Khi thye hign lénh gan, néu chua tn tai thi Matlab sé tao ra bién cd kidu va kich thude tring ve bién. O day: c6 thé 1a: ki phap dinh nghia ma tran, 10i goi ham, bién, phép todn véi cdc biéu thite khac... ‘sau dé gan gia tri cia cho. 2.5.2.2, Lénh ré nhénh Matlab 6 mét s6 Ignh r8 nhénh sau: 1/ Lénh if don Ca php: if end; Thue thi: Lénh nay kiém tra gid tri cla , néu két qua ld ding (khée 0) thi thye hign , 2/ Lénh if else Cli php: Tf else ends Thye thi: Lénh nay kiém tra gid tri cla , nguye Iai thi thyc hign . 3/Lénh if elseif’ Ca phip, Tf elseif cbidu thie logic 2> 28 end; Thy thi: Ding elseif thi tong ty nhur ding else sau 46 6 mét cfu Iénh iff Tf else 1€ cbidu thge logic 2> Tuy nhién ding elseif thi chuong trinh sing sta hon, khong phai thém cde tir hod end & cud 2.5.2.3. Len lip Matlab 6 2 loai lénh ip: Iénh for va lénh while, 1/ Lanh for Cai phap: for = ends Trong dé la m@t bién, li vector, ma tran hofc gid trj vo huéng. Quy tic sir dung: ‘ la ma trin rong thi vong for khng thyc hign. © Néu la gid tr vo hudng (ma tran 1x1) thi duge gn bing gid trj vo huéng 6 va thye hign ding mét lan. © Néu la mét vector (ma tran nx1 hogc xn) thi thye hign n lan, mdi lan nh§n mét phan tir cua vector (ir trai sang phi). 25 © Néu 1 mét ma tran (ma tran mxn) thi thye hign m Lin, mdi lin nhan mot vector cOt cla ma tran (tir trdi sang pha). 2/ Lénh while Ca phap: while end: Thy thi: © Néu ding thi thye hién . © Thye hign xong Iai quay Igi kiém tra va thye hign cho dén khi nhém lénh sai. * Trong vong lip for, while c6 thé sir dung Iénh break dé ngat. Khi gp Ignh break Matlab sé két thie vong lip ngay Ip tite. 2.5.3 Biéu thie logic ‘Nhu & myc trén ta thy trong cde cdu trie diéu khién, ta ludn cin cdc bidu thite logic. Trong Matlab gid tr} 0 durge coi la sai (false) cin moi gid trj khéc 0 durge coi la ding (true) (giéng nhu trong C). G cée ngén ngit lap trinh thong thuring ta chi gip cae biéu thire logic co gid trj la mot v6 hurég (chi 1 diimg/sai), nhung trong Matlab thi biéu thite logic c6 aia tri JA mot ma tran (ma gid tr] vo huéng Li mot trudmg hop dc bigt: ma tran 1x1). 2.5.3.1 Cée phép toan quan hé Matlab c6 cae phép toan quan hé sau v6i 2 ma trén cing 08: ‘Todn tir | ¥ nghia ‘Vi du cach vide < Nhé hon ACB Nhé hon hodc bing A(1,2) Lén hon A>3 ‘Lén hon hode bang Bang nhau (cha ¥: khae voi dau = 1a todn tir = Khac nhau Phép so sinh ma tin véi v6 hudng c6 két qua li mdt ma trin cing &@, trong dé mdi phan tir ciia ma trén nay la két qiia so sanh tuong img phan tir ca. ma tran véi v6 huéng: 1a 1 néu ding, 1a 0 néu sai. Vi dy: néu viét Ifnh C=A>3; trong d6 A,C 1a cde ma trén mxn thi ¢ eiing ki mot ma tran mxn, C(i,j)=1 néu A(ij)>3 va bing 0 trong trudng hgp nguge lai. Phép so sinh 2 ma trn cing c& (2 gif trj v6 huréng la 2 ma tran 1x1) c6 két qua 1A m6t ma tran cing 6, trong dé mdi phn tr ld két qa so sénh tuong tmg 2 phan tir cua 2 ma tran: la 1 néu ding, 1a 0 néu si ‘Vi du: néu viét Ignh C=A>B; trong dé A,B 1a cdc ma train mxn thi C cfing A mét ma tran mxn, C(ij)=I néu AGij)>B(ij) va bing 0 trong trudng hop nguge Iai. 2.5.3.2. Cae phép todn logic Phép todn logic trong Matlab hgp 1¢ néu két hgp 2 tran cling kich thuée chi toan céc phan tir 0 va 1. Két qua cia phép toan logic 14 mét ma tran cing kich thude ma méi phan tir li két qua phép toan logic tuong tig cita timg phan tir 2 ma trén ban dau. Todn tir | Y nghia ‘Vi dy cach viét & Phép and logic | a>=0 & ace3 | Phép or logic | a>b | ace 7 Phép not logic | ~(a>=0 & ac=3) Bang két qua phép toan logic ( fi vO huéng) a > -ajalb. [asb false |false [true |falee | false false |true [true [true | false true |false |false [true | talee true |true | false |true | true 2.53.3. Mot sé ham quan hg va logic a Matlab hé try nhiéu ham cho gid trj logic. Sau day 1a mt s6 ham: Loi goiham =| ¥ nghia any (x) Chi cho gid tri true (1) néu tn tai m6t phan tir cla x khdc 0 all (x) Chi cho gid trj true (1) néu tat a cdc phan ti cita x khdc 0. isempty (x) | Tra lai true (1) néu x la ma tran rong. isstr(x) ‘Tra lai true (1) néu x Li mot xdu (ma tran ki ty). find (x) Két qua la m6t vector o6t chira chi s6 cac phan tir khéc 0 ctia x. ‘Néu x 1a mOt ma tran thi Qué trinh nhan dang mu (ca 6 pha hudin luyén hay pha nhan dang) déu trai qua bude giai dogn 1a trich chon dje trumg (feature extraction). Bude nay thye hign cdc phan tich phd (spectral analysis) nhiim xdc dinh cdc thong tin quan trong, trung, dn djnh cita tin 1g ndi, ti thigu hod anh hudng ciia nhigu; xite cam, trang thai, eich phat am cia ngudi ndi; gidm khéi Ingng dit ligu edn xir Mie di khong mang tinh quyét dinh nhung giai doan trich chon de trmg, nh huréng rét lon dén higu ning nbn dang. Vi vay vige Iya chon dic trmg cho tin hiéu tiéng néi rit quan trong. Cé nhigu phuong phép trich chon dec trumg da va dang duge sir dung (FBA, MFCC, LPC, PLP...). Méi phuong php cé nhiing uu diém va nhuge diém riéng. Hign nay MFCC (Mel-scale Frequency Cepstral Coefficient) duge sit dung pho bién nhat. Vi vay ching t6i sir dyng MFCC lim dic trumg cia hé nh§n dang duge trinh bay trong khod tuan nay. ‘N6i dung tigp theo cia chuomg nay trinh bay vé phuong phap tinh dc trung MECC va toolbox VoiceBox cita Matlab ding trong xt It tiéng néi 3.1. TRICH CHON DAC TRUNG MFCC Cac hé nhgn dang tiéng néi thutng téch dic trung tir tin higu bing c: chia tin higu thinh céc doan d6 dai 5-15 ms, mdi dogn goi la mot Khung (frame), Trong khoang thi gian ngin nhw vay, phé cua tin higu dit én dinh 4é tién hanh_ tach dic trung. MGi frame sé cho dje trung la m6t vector va dic trmg cita toan, 6 tin higu sé Li m6t dy vector. MFCC Ia phuong phap trich dic trung dya trén dic diém cam thy tin sé cia tai nguvvi: seyén tinh adi voi tin sé nho hon [kHz va phi tuyén adi voi tin sO trén Ik (theo thang tin sé mel, khéng phéi theo Hz). MECC Ii phuong php tich die trung dya trén sy cim thy cia con nguvi nén thwong cho két qua nhn dang cao nhiit (theo [12]). Vi 18 dé rit nhiéu hé théng nhan dang tiéng néi str dyng MFCC lam dic trumg. 3.1.1. So dé khdi cita qua trinh tinh MFCC ‘Déi véi phuong phap MFCC, viée tinh dc trang c6 so dé nhw sau: [ni ea ei Nang ware ‘a MCE Bi ab Fourier ravoc} Minh hoa: So 4 khéi cia qua trinh trich chon dc trung MFCG (Qua trinh tinh todn nhur sau: du tién tin higu tiéng néi duoe chia thanh cée frame €6 d6 dai 10ms. MBi frame s® durge nhin véi mot ham cita s6, thudng 1a etta s6 Hamming sau 46 dirge chuyén sang mién tan s6 nhé bién déi Fourier. Tin higu & mién tin sé duge nhan véi cdc bd Ige mel-scale, ly logarit rdi bién adi Fourier nguge (dé chuyén sang mién cepstral) sé due cdc hé sh MFCC. ‘Mot sé hé théng c6 tinh thém ning long (cing ly logarit) va de tung delta (dao ham réi rac theo théi gian cia MFCC) nhim thém théng tin cho cdc ppha sau ciia qua trinh nhén dang. ‘Cée mye sau trinh bay timg bude qué trinh tinh todn dic trang MFC. 3.1.2. Chia khung va cira sé hoa Tin higu tiéng n6i x[n] gdm L mau durge sau khi duge chia thanh cde khung. 46 rng 10ms (ing véi f3*0.01 miu) sé duge cita s6 hoa bang cach nhan tin higu voi mét him cita s6 46 rong N. x(n) =x, (n)*w(n)n = 0.N=1 ‘Ham cita sd thudng duge ding li ham cita sé Hamming: .N-L w(n) = 054-046 e087") 3.1.3. Bién ddi Fourier rdi rac Tin higu (cia mét frame) sau khi nhan véi him cia s6, durge chuyén sang é 6 bing bién déi Fourier réi rac:

You might also like