KAUNO TECHNOLOGIJOS UNIVERSITETAS FUNAMENTALIŲJŲ MOKSLŲ FAKULTETAS TAIKOMOSIOS MATEMATIKOS KATERA Lina Vaišnoraitė ISKREČIOSIOS AUBECHIES 9/7 TRANSFORMACIJOS SU ALINE BLOKŲ EKORELIACIJA SAVYBIŲ TYRIMAS Maistro darbas Vadovas prof. dr. J. Valantinas KAUNAS,
KAUNO TECHNOLOGIJOS UNIVERSITETAS FUNAMENTALIŲJŲ MOKSLŲ FAKULTETAS TAIKOMOSIOS MATEMATIKOS KATERA TVIRTINU Katedros vedėjas doc. dr. N.Listopadskis 6 6 ISKREČIOSIOS AUBECHIES 9/7 TRANSFORMACIJOS SU ALINE BLOKŲ EKORELIACIJA SAVYBIŲ TYRIMAS Taikomosios matematikos maistro baiiamasis darbas Vadovas prof. dr. J.Valantinas 5 7 Recenzentas Atliko doc. N. Morkevičius FMMM - 9 r. stud. 5 7 L. Vaišnoraitė 5 7 KAUNAS,
KVALIFIKACINĖ KOMISIJA Pirmininkas: Leonas Saulis, profesorius (VGTU) Sekretorius: Eimutis Valakevičius, docentas (KTU) Nariai: Alimantas Jonas Aksomaitis, profesorius (KTU) Vytautas Janilionis, docentas (KTU) Vidmantas Povilas Pekarskas, profesorius (KTU) Rimantas Rudzkis, abil. dr., vyriausiasis analitikas (nb NOR Bankas) Zenonas Navickas, profesorius (KTU) Arūnas Barauskas, dr., vice-prezidentas projektams (UAB Baltic Amadeus )
Vaišnoraitė L. Analysis of properties of te discrete aubecies 9/7 wit partial block decorrelation: Master Tesis work in applied matematics / supervisor prof. dr. J. Valantinas; epartment of Applied matematics, Faculty of Fundamental Sciences, Kaunas University of Tecnoloy. Kaunas,. 5 p. Summary Many kernels ( moter wavelets) can be used for te discrete wavelet transform WT, like tose of aubecies, Morlet, discrete Le Gall transform (LGT) or te discrete Haar transform (HT). Coen-aubecies-Feauveau (CF 9/7) wavelet are te istorically first family of biortoonal wavelets, wic was made popular by Inrid aubecies. Tese are not te same as te ortoonal aubecies wavelets, and also not very similar in sape and properties. However teir construction idea is te same. Te JPEG compression standard uses te biortoonal CF 5/ wavelet (also called te LeGall 5/ wavelet) for lossless compression and a CF 9/7 wavelet for lossy compression. In tis paper, two distinct WT (CF 9/7 and CF 9/7 wit decorrelation) as well as teir computational aloritms are discussed, analyzed and compared. Comparison criteria are cosen to be one dimensional yperbolic filters and smootness level of te diital sinal under processin.
5 TURINYS Summary... Lentelių sąrašas...6 Paveikslų sąrašas...7 Įvadas...8 iskrečiosios banelių transformacijos (BT)...9. Brosios banelių savybės.... Iteracinės BT apskaičiavimo procedūros.... iskrečioji aubecies 9/7 transformacija (CF 9/7): savybės, skaičiavimo aloritmai.... CF 9/7 su daline blokų dekoreliacija... Bazinės CF 9/7 ir CF 9/7 su daline blokų dekoreliacija palyinamoji analizė.... Bra scema..... vimačių iperbolinių filtrų kontekstas..... Filtravimo paklaidų įvertinimas.... Proraminės realizacijos ypatumai... 5 Eksperimento rezultatų analizė...6 Išvados...5 Literatūra...6 Priedai...7. Priedas. Proramų tekstai. Prorama Matlab...7. CF 9/7 spektro radimas vienmačiu atveju.... 7. CF 9/7 vaizdo radimas vienmačiu atveju.... 8. CF 9/7 su daline blokų dekoreliacija vienmačiu atveju, spektro radimas.... 9. CF 9/7 su daline blokų dekoreliacija vienmačiu atveju, vaizdo radimas.....5 CF 9/7 spektro radimas dvimačiu atveju.....6 CF 9/7 vaizdo radimas dvimačiu atveju.....7 CF 9/7 su daline blokų dekoreliacija dvimačiu atveju, spektro radimas.... 6.8 CF 9/7 su daline blokų dekoreliacija dvimačiu atveju, vaizdo radimas.... 8.9 Parindinė prorama naudojama paklaidų radimui iperbolinio filtro kontekste..... 9
6 Lentelių sąrašas. lentelė. Žemo ir aukšto dažnio filtrai.... lentel ė. Suspaudimo koeficiento β reikšmės... 6. lentelė. Palyinamoji. pav. paklaidų lentelė... 7. lentelė. Palyinamoji. pav. paklaidų lentelė... 9. lentelė. Palyinamoji. pav. paklaidų lentelė...
7 Paveikslų sąrašas. pav. Transformacijos scema... 9. pav. Piramidinio tipo aloritmas.... pav. Bazinės CF 9/7 transf ormacijos sinalinis raf as... 9. pav. CF 9/7 su daline blokų dekoreliacija sinalinis rafas, kai m=....5 pav. CF 9/7 su daline blokų dekoreliacija sinalinis rafas, kai m=.... pav. Broji scema.... pav. Hiperbolinių dvimačių skaitmeninių vaizdų filtravimas.... pav. Hiperbolinio vaizdų filtro veikimo scema.... pav. Barbara5.pn... 6. pav. Hill5.pn... 9. pav. Lake5.pn.... pav. CF 9/7 su daline blokų dekoreliacija paklaidų rafikas....5 pav. CF 9/7 su daline blokų dekoreliacija paklaidų rafikas....6 pav. Bazinės CF 9/7 ir CF 9/7 su daline blokų dekoreliacija paklaidų rafikas.
8 Įvadas iskrečiosioms banelių transformacijoms alima panaudoti dauybę motininių banelių, tokių kaip aubecies, Morlet o, Le Gall o arba Haar o. aubecies 9/7 (CF 9/7) banelės istoriškai yra pirmoji banelių šeima, kuri buvo išpopuliarinta Inridos aubecies (987 m. Inrid aubecies suformavo vieną iš parindinių banelių bazių). CF 9/7 banelės yra ypač veiksminos ortoonaliosios banelės, plačiai naudojamos praktikoje (FTB pirštų atspaudų laudinimas, vaizdų kodavimo standartas JPEG ir pan.). Šiame darbe yra aptariamos ir aloritmizuojamos dvi CF 9/7 transformacijos versijos, būtent: bazinė CF 9/7 ir CF 9/7 su daline blokų dekoreliacija. arbo tikslas atlikti palyinamąją bazinės CF 9/7 ir CF 9/7 su daline blokų dekoreliacija analizę vaizde sukauptos enerijos pakavimo spektrinėje banelių srityje savybės kontekste. Palyinimo kriterijumi yra pasirenkamas dvimatis iperbolinis skaitmeninių vaizdų filtras, t.y. apdorojamas vaizdas pervedamas į spektrų banelių sritį, taikant abi CF 9/7 transformacijos versijas. Gautieji spektrai apdorojami fiksuoto lymens iperboliniais filtrais. Po filtravimo įvertinama atkurtų vaizdų kokybė.
9 iskrečiosios banelių transformacijos (BT) iskrečioji banelių transformacija (BT) yra viena naujausių priemonių, leidţiančių įveikti su Furjė transformacija (FT) susijusias problemas (trūkumus), taip pat ir svarbiausią iš jų lokalizavimo erdvėje problemą. Banelių analizėje, apdorojant vieną ar kitą skaitmeninį vaizdą, natūraliai formuojamas kintamo dydţio (mastelio) lanas, kuris slenka išilai laiko (erdvės) ašies, ir kiekvienai lano pozicijai apskaičiuojamas banelių spektras (transformacija). Procesas kartojamas dau kartų. Galutinis rezultatas vaizdo išraiškų (vaizdavimų paal daţnį ir erdvėje) rinkinys. iskrečioji banelių transformacija atliekama skaičiaus laipsnio skalėse ir postūmiais, lyiais skaičiaus laipsniui. Transformacijos koeficientai dalomi į dvi lyias dalis: suvidurkinti koeficientai ir skirtuminiai koeficientai. Suvidurkinti koeficientai didelio mastelio, ţemo daţnio koeficientai. Skirtuminiai koeficientai maţo mastelio, aukšto daţnio koeficientai. BT ali būti ne vieno lyio, o iteracinė, t. y. BT atliekama su autais suvidurkintais koeficientais. Taip auname ţemesnio skirtuminio lyio vaizdo komponentus. Toks aloritmas vadinamas piramidiniu aloritmu. Transformacija ali būti atliekama iki tol, kol suvidurkintus koeficientus sudarys koeficientai.. pav. Transformacijos scema Vaizdo atkūrimo arba sintezės procesas matematiškai vadinamas atvirkštine diskrečiąja banelių transformacija (ABT). ABT atliekama analoiškai BT: suvidurkintus ir spektrinius koeficientus filtruojame, naudojant atitinkamus atkūrimo filtrus. Veiksmai kartojami, kol pasiekiamasis pirmas lyis.
.Brosios banelių savybės Pradėsime nuo tolydţiosios banelių transformacijos (TBT) apibrėţimo, būtent:, (.) kur yra bazinės funkcijos (banelės). Kintamieji s ir τ (atitinkamai mastelis ir poslinkis) yra nauji banelių transformacijos parametrai. Atvirkštinė banelių transformacija uţrašoma taip:. (.) Banelės eneruojamos, panaudojant bazinę ( motininę ) banelę Ψ, t.y.. (.) Pastarojoje išraiškoje, s yra mastelį keičiantis parametras, ir τ poslinkio parametras. auiklis yra normalizavimo parametras, įvertinant skirtinas mastelio parametrų reikšmes. Kaip matome iš (.) išraiškos, vienmatės funkcijos (vaizdo) banelių transformacija yra dvimatė, o dvimatės funkcijos banelių transformacija, akivaizdu, yra keturmatė. Aptarsime kai kurias parindines banelių savybes. Bene svarbiausios iš jų - tinkamumo ir reuliarumo sąlyos. Sakoma, jo interuojama kvadratu funkcija, tenkina tinkamumo sąlyą (savybę), jeiu. (.) Šioje išraiškoje ţymi funkcijos Furjė transformaciją. Iš (.) nelyybės tiesioiai išplaukia, kad Furjė transformacija prilysta nuliui, kai daţnis yra lyus, t.y.. (.5)
Tai reiškia, jo banelės turi turėti daţnių juostą, apribotą paal daţnį. Tuo pačiu banelės (kaip vaizdo) pastovi dedamoji lyi nuliui, t.y.. (.6) Kitaip tariant, turi būti banelė tikrąja to ţodţio prasme. Banelėms (banelių funkcijoms) daţnai keliamos papildomos sąlyos, leidţiančios paerinti banelių skleidinių konveravimo reitį. Šios sąlyos siejamos su banelių reuliarumo savybe. Pastaroji savybė suprantama kaip reikalavimas, jo banelė būtų pakankamai lodi ir sukoncentruota tiek laiko, tiek daţnių srityse. Reuliarumas yra ana sudėtina sąvoka. Jos paaiškinimui ir interpretacijai pasinaudosime nykstančiais pradiniais momentais. Išskleidę banelių transformaciją ((.) išraišką) Teiloro eilute taško t = aplinkoje (paprastumo dėlei, imkime = ), ausime: ; (.7) čia ţymi p-osios eilės (funkcijos f ) išvestinę, o - skleidinio liekamąjį narį. Toliau, paţymėję banelės p-osios eilės pradinį momentą, t.y., (.8) alime (.7) išraišką perrašyti taip:. (.9) Remiantis tinkamumo sąlyą, alime teiti, kad. Tokiu būdu, pirmasis (.9) išraiškos narys lyus nuliui. Jeiu ir dauiau (tarkim, iki n-osios eilės) pradinių momentų prilytų nuliui, skleidinio (banelių transformacijos) koeficientai tolydţiam sinalui
estų reičiu nuliui - pakanka, jo jie būtų artimi nuliui.. Beje, pradiniai momentai nebūtinai turi būti lyūs Apibrinant tai, kas buvo pasakyta, alima teiti, jo tinkamumo sąlyos išpildymas sąlyoja banelės svyravimus, o reuliarumo sąlyos išpildymas bei nykstantys momentai reitesnį banelių skleidinių konveravimą.. Iteracinės BT apskaičiavimo procedūros Kiekvienas diskrečiosios banelių transformacijos (BT) realizavimo ţinsnis (iteracija) panaudoja taip vadinamą mastelio funkciją įvesties duomenims (skaitmeniniam vaizdui) apdoroti. Jeiu pradinis vaizdas X turi N reikšmių, tai mastelio funkcija bus panaudota tam, kad būtų apskaičiuotos N suvidurkintos reikšmės. Gautosios reikšmės sauomos viršutinėje duomenų vektoriaus (iš N elementų) dalyje. Kita (banelių) funkcija, kiekviename BT realizavimo ţinsnyje, taip pat yra panaudojama įvesties duomenims apdoroti. Jei pradinis vaizdas X turi N reikšmių, tai banelių funkcija bus pritaikyta tam, kad apskaičiuoti N skirtumines (atspindinčias informacijos pasikeitimus vaizde X) reikšmes. Šios skirtuminės reikšmės yra sauomos apatinėje duomenų vektoriaus (iš N elementų) dalyje. Kitoje iteracijoje (ţinsnyje) abi funkcijos (mastelio ir banelės) taikomos tiktai suvidurkintų reikšmių vektoriui, autam prieš tai atliktoje iteracijoje. Po baitinio iteracijų (ţinsnių) skaičiaus iš skaitmeninio vaizdo X yra suformuojamas BT spektras Y. BT spektras (vektorius) Y apima vienintelę suvidurkintą reikšmę (autą n-tojoje iteracijoje) ir sutvarkytą skirtuminių reikšmių rinkinį (autą ankstesnėse iteracijose). iteracija iteracija iteracija. pav. Piramidinio aloritmo scema
. iskrečioji aubecies 9/7 transformacija (CF 9/7): savybės, skaičiavimo aloritmai iskrečioji CF 9/7 transformacija realizuojama taikant iteracines procedūras. Tarkime, turime pradinį duomenų vienmatį vaizdą X: (.) Po i tosios iteracijos ( ) auname du tarpinius duomenų vektorius: ir. (.) Pastarųjų vektorių ir avimui panaudojamos CF 9/7 matricos, būtent:, () (.), () (.), () (.)
) ( n. (.5) Aukščiau pateiktoms matricoms sudaryti panaudojame aukšto ir ţemo daţnio filtrų koeficientus, t. y.,,,, ir,,, (. lentelė). Ţemo ir aukšto daţnio filtrai. lentelė. Žemo dažnio filtras Aukšto dažnio filtras,69986579,5875,6686887 -,59776 -,78665898785 -,575569 -,68688795,9776,67878976 - Ir čia, kaip matome, susiduriame su taip vadinama krašto problema, nes matricos elementai išeina uţ jos ribų. Yra keletas krašto problemos sprimo būdų (periodinis ir kt.), tačiau vienas iš šiuo metu esančių efektyviausių krašto problemos įveikimo būdų yra veidrodinio atspindţio taikymas. Tai reiškia, kad per pirmąjį ir paskutinįjį matricos stulpelius taikome veidrodinį atspindį ir elementus išeinančius uţ matricos ribų pridedame prie elementų esančių matricos viduje iš eilės pradedant nuo antrojo ir priešpaskutinio matricos stulpelių (nes per pirmąjį ir paskutinįjį, kaip minėjome, taikome veidrodinį atspindį). Atlikus veiksmus CF9/7 matricos įys tokius pavidalus: (), (.6)
5 (), (.7) (), (.8) Bru atveju: ) ( n. (.9) Atlikus n iteracijų aunamas (suformuojamas) CF 9/7 spektras Y vaizdui X, būtent:. (.) Matome, jo viršutiniuose skliausteliuose įrašyti skaičiai (kintantys nuo iki n) ţymi, kurios iteracijos metu buvo auti atitinkami spektriniai koeficientai. iskrečiąją CF 9/7 transformaciją alima uţrašyti matriciniu pavidalu: X Y, (.) kur yra CF 9/7 transformacijos matrica, nusakoma išraiška
6 n i i * ) (, (.) ) ( () () * n E, (.) ) ( () () * n E, (.) ) ( ) ( ) ( * i n E i i, (.) Su visais,,..., n i,, E() ir ) ( ) ( * n n. (.5) Norint atkurti pradinį vaizdą reikia taikyti atvirkštinę CF 9/7 transformaciją (ACF 9/7). Bru atveju, ACF 9/7 matricos turi tokį pavidalą: () A, (.6) () A, (.7)
7, () A (.8) ) ( n A (.9) Išsprus krašto problemą autume tokią matricą (paţymėkime ją ) ( ˆ n ): ˆ (), (.)
8 ˆ (), (.), ˆ () (.) ) ˆ ( n (.) Pritaikius atitinkamo dydţio matricą autajam vaizdo spektrui, atlikus tam tikrą iteracijų skaičių alime atkurti pradinį vaizdą. Vaizdo atkūrimo procedūra tokia:, ) ( ) ( ) ( ) ( n n n S S (.)
9 S ( n ) ( n ) ( S ) ( n ), (.5) S ( n ) ( n ) ( S ) ( n ), (.6) S ( i) ( i ) ( S n i) ( i ), (.7) S () () S ( n) () X. (.8) Bazinę CF 9/7 transformacijos apskaičiavimo procesą eriausiai iliustruoja jos sinalinis rafas (. pav.). Tarkime, turime duomenų vektorių N=6. Tuomet pirmosios iteracijos metu taikysime () matricą (6x6). Po pirmosios iteracijos ţemo daţnio filtro paalba autam vektoriui jau taikysime () matricą, tuomet po antrosios iteracijos autam duomenų vektoriui taikysime () matricą ir taip toliau, kol aliausiai liks pritaikyti () matricą ir auti spektrą Y. Iteracijų skaičius, savaime aišku, priklauso nuo to, kokio dydţio bus pradinis duomenų vektorius. iteracija iteracija iteracija iteracija. pav. Bazinės CF 9/7 transformacijos sinalinis rafas
. CF 9/7 su daline blokų dekoreliacija Norint rasti CF 9/7 spektrą su daline blokų dekoreliacija visų pirma daliname duomenų vektorių į blokelius po elementų; čia m < n. Tuomet, kiekvienam blokeliui atskirai taikome CF 9/7 matricas (priklausomai nuo pasirinkto blokelio dydţio). Procedūra bus taikoma m kartų. Po to, likusiose (n m) iteracijose panaudojama CF 9/7 matrica () (. pav.) Rezultatas CF 9/7 su daline dekoreliacija spektras vaizdui X. Tarkime turime duomenų vektorių N=6 ir daliname jį į du blokelius. Tuomet, kiekvienam blokeliui taikysime atitinkamai CF 9/7 matricas. Kadani padalinus blokelius į dvi dalis lieka du duomenų vektoriai po 8, tai ir matricas taikysime pirmojoje iteracijoje () abiems blokeliams atskirai. Toliau, antrojoje iteracijoje jau taikysime matricą () ir trečioje bei ketvirtoje iteracijose matricą (). Taikyti dalinę blokų dekoreliaciją yra labai patou, kai reikia ištirti tik dalį duomenų, o nebūtinai visą duomenų masyvą. iteracija iteracija iteracija iteracija. pav. CF 9/7 su daline blokų dekoreliacija sinalinis rafas, kai m=
iteracija iteracija iteracija iteracija.5 pav. CF 9/7 su daline blokų dekoreliacija sinalinis rafas, kai m= Kaip matome (.5 pav.), CF 9/7 su daline blokų dekoreliacija transformacijos realizacija, kai N=6 ir m=. Pirmojoje iteracijoje bus naudojama matrica () (kiekvienam blokui), antrojoje ir likusiose iteracijose jau bus taikoma tik () (kiekvienam blokeliui atskirai) tol, kol bus autas spektras. Bazinės CF 9/7 ir CF 9/7 su daline blokų dekoreliacija palyinamoji analizė. Tam, kad alėtume išsiaiškinti, kaip dalinė blokų dekoreliacija įtakoja kitas CF 9/7 transformacijų savybes (būtent enerijos pakavimo savybę), buvo pasirinkta tyrimo scema, kurioje parindinis vaidmuo tenka iperboliniams vaizdų filtrams (ţr.. skyrelis. pav.). Būtent iperboliniai vaizdų spektrai leidţia daryti išvadas apie tai, kaip reitai ęsta apdorojamą vaizdą sudarančios aukšto daţnio armonikos (tai ir apibūdina enerijos pakavimo savybes).
. Bra scema ~ Y Y X ~ X M ~ Y Y X ~. pav. Broji scema. Tarkime, jo turime kokį nors dvimatį vaizdą X ( m, m )], jam taikome bazinę CF [ 9/7 ir CF 9/7 su daline blokų dekoreliacija, auname spektrus Y ir Y, jiems panaudojame ~ ~ iperbolinį filtrą su fiksuotu lymeniu M, tokiu būdu auname Y ir Y. Kad alėtumėme atkurti vaizdą dar reikia panaudoti atvirkštinę bazinę CF 9/7 ir atitinkamai atvirkštinę CF ~ ~ 9/7 su daline blokų dekoreliacija, taip aliausiai auname X ir X. Gavus atkurtus vaizdus ~ ~ įvertiname vidutines kvadratines paklaidas X, ), X, ). Čia ( X ( X N N m, m ( X ( m, m ) ~ X ( m, m )) (.).. vimačių iperbolinių filtrų kontekstas Teu M yra tam tikras teiiamas skaičius ( M ( N ) ). Tarkime, kad H ) ( M ) {( k, k k k M, t. y. H(M) yra dvimačio masyvo N N eilučių ir stulpelių sutvarkytų eilės numerių porų ( k, k) aibė tokia, kad k k M. Aišku, jo aibės H(M) kraštas plokštumoje turi iperbolės pavidalą. Hiperbolinis vaizdų filtravimas remiasi tuo, jo ţmoaus akis nėra labai jautri aukštoms vaizdą sudarančioms armonikoms. Atliekant iperbolinį dvimačio skaitmeninio vaizdo filtravimą, spektriniai CF 9/7 koeficientai Y k, k ), kurių indeksai k, k ) H ( ), ( ( M yra atmetami. Kadani pašalintų armonikų nereikia išsauoti, aunamas suspaudimo efektas.
Atkuriant pradinį vaizdą X ( m, m )], atmestieji spektriniai koeficientai keičiami nuliais. Tai [ daryti alima ir tikslina dėl dviejų prieţasčių: - atmetami spektriniai koeficientai yra nykstamai maţi, todėl juose kaupiama informacija apie vaizdą X ( m, m )] yra neesminė; [ - šie spektriniai koeficientai atspindi vaizdą X ( m, m )] sudarančias aukšto daţnio [ dedamąsias, kurioms ţmoaus akis maţai jautri. Viena šio metodo ypatybių iperboliniai filtrai ali dirbti tiek vienmatėje, tiek dvimatėje, tiek trimatėje erdvėse. Pastebėsime, jo iperboliniam vaizdo filtravimui ali būti naudojama bet kuri diskrečioji transformacija (T), duodanti kompaktišką nenulinių spektrinių koeficientų išsidėstymą (kosinusinė (KT), Volšo ir Adamaro (VAT), Haaro (HT) bei aubecies 9/7 (CF 9/7)). N- k ( M N ) N- k ( N M ( N ) ) M H(M) H(M) k k M N- N-. Pav. Hiperbolinių dvimačių skaitmeninių vaizdų filtravimas Spektrinių koeficientų keitimo nuliais procedūrą patou realizuoti įvedant M lyio iperbolinius filtrus H M, m m ). Pastarojo filtro dvimatis CF 9/7 spektras uţrašomas taip: (, Hˆ ( M, k, k ),, kai( k, k kai( k, k ) ) H ( M ), H ( M ), t. y. t. y. k k k k M, M. (.) Čia: ki max{ ki,}, i {, }; M - iperbolinio filtro lyis dvimatėje erdvėje, M N. auiamačiams vaizdams diskretieji spektrai apskaičiuojami pakartotinai taikant atitinkamas vienmates transformacijas (paal kiekvieną erdvinę vaizdo koordinatę atskirai).
Imkime dvimatį skaitmeninį vaizdą X ( m, m )], jo dvimatį diskretųjį spektrą [ paţymėsime Y ( k, k )]. Hiperbolinio vaizdų filtro veikimas nusakomas išraiška: [ ~ Y ( k, k ) Y( k, k, k ), k k k d M. M, (.) ~ ~ X ( m, m )] Y ( k, k )] Y ( k, k )] X ( m, m )] [ [ [ [.. pav. Hiperbolinio vaizdų filtro veikimo scema Kaip matome, spektriniai koeficientai, kurių indeksų sandaua didesnė uţ filtro lyį, yra atmetami (suspaudimo efektas). Atkuriant vaizdą, atmestieji spektriniai koeficientai keičiami nuliais aunamas vaizdo įvertis. Aprašytoji iperbolinio vaizdų filtravimo scema ali būti taikoma vienmačiams, dvimačiams bei trimačiams vaizdams atitinkamai parenkant vienmatę, dvimatę ar trimatę diskrečiąsias transformacijas. Hiperbolinis vaizdų filtras leidţia suspausti vaizdą 5- kartų, kartu išsauant ana nebloą atkurto vaizdo (vizualinę) kokybę. Svarbiausias metodo privalumas yra tas, jo alima spausti įvairiamačius vaizdus, ir vaizdo suspaudimo efektyvumas stipriai susijęs su vaizdo lodumu... Filtravimo paklaidų įvertinimas Tarkime, jo turime dvimatį vaizdą X ( m, m )], apskaičiuojame šiam sinalui CF [ 9/7 spektrus. Spektriniai koeficientai (realiems duomenims) absoliutiniu didumu turi tenciją maţėti, didėjant jų eilės numeriams. Šį faktą išnaudojame atlikdami iperbolinį apdorojamo sinalo filtravimą spektrinėje aubecies 9/7 srityje. Hiperbolinio filtravimo esmė tokia prieš taikant vienokią ar kitokią atvirkštinę diskrečiąją transformaciją, tam tikra dalis aukštas armonikas sinale atitinkančių spektrinių koeficientų keičiama nuliais (nufiltruojama). Likusieji spektriniai koeficientai išsauomi. Įvertinus paklaidas, nustatome, kurios diskrečiosios transformacijos (CF 9/7 ir CF 9/7 su daline dekoreliacija) eriau atkuria duomenis.
5 sinalas): Paklaidoms įvertinti naudosime tokias išraiškas (teu Vidutinė kvadratinė paklaida: - pradinis ( ~ N ~ X, X ) ( X ( m, m ) X ( m, m )) (.) N m, m čia - atvirkštinės BT taikymo nufiltruotam diskrečiajam spektrui rezultatas, t.y. - pradinio vaizdo X įvertis. Sinalo ir triukšmo santykio maksimali reikšmė PSNR 55 l( ). (.). Proraminės realizacijos ypatumai Eksperimentas (aprašytas skyrelyje) atliekamas proramos Matlab aplinkoje (proramos tekstai pateikti darbo priede). Prorama suranda: CF 9/7 spektrą vienmačiu ir dvimačiu atvejais; CF 9/7 vaizdą vienmačiu ir dvimačiu atvejais; CF 9/7 su daline blokų dekoreliaciją spektrą vienmačiu ir dvimačiu atvejais; CF 9/7 su daline blokų dekoreliaciją vaizdą vienmačiu ir dvimačiu atvejais; Parindinė prorama apskaičiuoja paklaidas atlikus eksperimentą su bazine CF 9/7 ir su CF 9/7 su daline blokų dekoreliacija iperbolinių filtrų kontekste. Proramoje priklausomai nuo narinėjamo paveiksliuko dydţio naudojami suspaudimo koeficientai (ţr.. lentelę). Proramoje būtent naudojamos M reikšmės, reta parašyta kokio lyio suspaudimas (β). Eksperimente lyinami trys vienodo dydţio paveikslėliai (Barbara5.pn., Hill5.pn. ir Lake5.pn.). Kuomet vaizdas yra kitokio dydţio, jam atitinkamai naudojami kiti suspaudimo koeficientai.. lentelėje pateikti suspaudimo koeficientai paveikslėliams, kurių dydţiai 5 5 ir 56 56. Prorama veiksmus atlieka ana reitai (- sekundės). Kiek iliau uţtrunka atkurdama vaizdus, kai pasirenkamas maţas blokelio dydis (7-5 sekundţių).
6 Suspaudimo koeficiento β reikšmės. lentelė Vaizdo dydis 5 5 Vaizdo dydis 56 56 M β M β 6 655 8687 666 65 7569 9 959 5 99 5 6 6 5 6 898 7 9 7 697 8 79 8 599 9 6 9 55 7...... 55 6 5 6......... PC, kuriuo atliekamas darbas parametrai: Microsoft Windows XP. Eksperimento rezultatų analizė. Pvz.: Eksperimentas atliekamas su paveikslėliu Barbara5.pn.. pav. Barbara5.pn. Atkreipkime dėmesį, kad šis vaizdas lodumo prasme nėra lodus. Viso narinėsime paveikslėlius (Barbara5.pn., Hill 5.pn., Lake5.pn), todėl paklaidas, autas atkuriant vaizdus, vėliau alėsime palyinti ir įvertinti, kokią reikšmę vaizdo atkūrimui turi vaizdo lodumas. Atlikus eksperimentą su aukščiau matomu.. pav. Barbara5.pn. auname tokią paklaidų lentelę:
7 Vaizdo suspaudimo koef. Β CF 9/7 Palyinamoji. pav. paklaidų lentelė. lentelė CF 9/7 su daline dekoreliacija Blokelio dydis, m 5 6 7 8 9,8,775,55,65,,,8,88,76,9,,97,87,88,6,669,6,76,97,88,6 5,885 5,59 5,857 5,69,9797,95,885 6 5, 6,565 5,657 5,67 5,75 5,99 5, 7 5,885 6,8 5,978 5,7 5,6 5,5 5,885 8 5,786 6,775 6,5 6,6 5,9 5,86 5,786 9 6, 7,99 6,77 6,5 6,78 6,8 6, 6,858 7,59 7,68 6,769 6,675 6,567 6,858 Kaip matome iš. lentelės, didinant blokelio dydį m paklaidos maţėja, kol pasidaro lyios bazinės CF 9/7 transformacijos paklaidų reikšmėms (kai m=9). Taip pat atkreipkime dėmesį, kad paklaidos išties nemaţos, taip yra dėl to, kad pasirinktas paveikslėlis lodumo prasme nėra lodus. Taii, kuo maţiau lodų paveikslėlį pasirinksime, tuo paklaidos bus didesnės. Narinėkime atvejį, kai β=5, o m kinta. Kai m=9, bus pasiekiamas vaizdo atkūrimo efektas kaip ir taikant bazinę CF 9/7 transformaciją. β=9, m=, δ=7,9 β=9, m=, δ=7,99 Matome, kad kai suspaudimo koeficientas β=9, o blokelio dydis m= vaizdo atkūrimo kokybė nėra labai era, vaizdas šiek tiek liejasi, tačiau kontūrai aiškūs, pakankamai erai matomi daiktai. Pakeitus blokelio dydį m= vaizdo kokybė paerėja, vaizdas ryškesnis.
8 β=9, m=7, δ=6,78 β=9, m=9, δ=6, Toliau turime atvejį, kai suspaudimo koeficientas β=9, o blokelio dydis m=7. Lyinant su prieš tai autasi vaizdais (kai β=9, m= ir β=9, m=) vaizdo kokybė ţenkliai eresnė. O kai parenkame suspaudimo koeficientą β=9 ir blokelio dydį m=9 atkurto vaizdo kokybė tokia pati kaip ir taikant bazinę CF 9/7 transformaciją. Kitas narinėjamas atvejis, kai suspaudimo koeficientas β=5, o blokelio dydį keičiame. Eksperimentas atliekamas su tuo pačiu paveikslėliu Barbara5.pn. β=5, m=, δ=8,885 β=5, m=, δ=8,88 Padidinus suspaudimo koeficientą akivaizdţiai pabloėja atkurto vaizdo kokybė. Ir nors didinant blokelio dydį vaizdas atkuriamas aiškesnis, kokybiškesnis, tačiau kur kas bloesnės kokybės lyinant su pradiniu vaizdu (ţr.. Pav. Barbara5.pn.). Taii, kuo didesnis suspaudimo koeficientas β, tuo atkuriamo vaizdo kokybė yra bloesnė.
9 β=5, m=7, δ=7,57 β=5, m=9, δ=7,. Pavyzdys. Teu blokelio dydis būna pastovus m = 5, o keiskime suspaudimo koeficientą β. Paveikslėlis Hill5.pn.. pav. Hill5.pn. Vaizdo suspaudimo koef. β CF 9/7 Palyinamoji. pav. paklaidų lentelė. lentelė CF 9/7 su daline dekoreliacija Blokelio dydis, m 5 6 7 8 9,759,,9,87,76,77,759 5,55 5,7889 5,99 5,85 5,5 5,66 5,55 6,968 7, 6,59 6,99 6,857 6,66 6,968 5 6,758 7,8878 7,79 7,99 6,8566 6,7796 6,758 6 7,8 8,695 8, 7,7 7,557 7,75 7,8 7 7,888 9, 8,698 8,8 8,65 7,9 7,888 8 8,9 9,788 9,7 8,75 8,9 8, 8,9 9 8,699, 9,695 9,57 8,95 8,775 8,699 9,77,66,6 9,5969 9,7 9,8 9,77 Čia taip pat matome didinant blokelio dydį paklaidos maţėja, kol pasidaro lyios bazinės CF 9/7 transformacijos paklaidų reikšmėms. Kadani šis paveikslėlis yra kur kas
lodesnis uţ prieš tai narinėtą Barbara5.pn (. pav.), tai ir paklaidos aunamos ţenkliai maţesnės. m=5, β=5, δ=7,79 m=5, β=7, δ=8,698 Čia narinėjamas atvejis, kai blokelio dydis m yra pastovus, o keičiamas suspaudimo koeficientas β. Palyinimui eksperimentas atliekamas su šešiomis suspaudimo koeficiento β reikšmėmis. Akivaizdu, jo didinant suspaudimo koeficientą atkuriamo vaizdo kokybė ţenkliai bloėja. Čia m=5, o. lentelėje alime pamatyti kaip didėja paklaidos keičiant suspaudimo koeficientą β=,...,. Eksperimentas atliktas ir kai β=,,, kad vizualiai taip pat būtų alima įvertinti atkuriamo vaizdo kokybės bloėjimą. m=5, β=9, δ=9,695 m=5, β=, δ=,99
m=5, β=, δ=,99 m=5, β=, δ=,86. Pavyzdys. Narinėjamas paveikslėlis Lake5.pn.. pav. Lake5.pn. Vaizdo suspaudimo koef. β CF 9/7 Palyinamoji. pav. paklaidų lentelė CF 9/7 su daline dekoreliacija Blokelio dydis, m 5 6 7 8 9. lentelė,677 5,76,9,775,7,696,677 6,878 7,9 6,8 6,585 6,986 6,77 6,878 7,9687 9,6 8,57 8,799 8,8 8,5 7,9687 5 8,896,77 9,58 9,86 9,55 8,8698 8,896 6 9,88,7856,869,6,76 9,98 9,88 7,77,958,965,,9,89,77 8,6,59,95,777,56,78,6 9,887,5,,5,565,977,887,596 5,7,9,6,9566,6,596 Šis paveiksliukas lodumu panašus į. pav., todėl ir paklaidos aunamos artimesnės
β=, m=, δ=5,76 β=, m=9 δ=,677 β=7, m=, δ=,958 β=7, m=9, δ=,77 β=5, m=, δ=7,77 β=5, m=9, δ=,7689. Pavyzdys. Ištirkime, kaip kinta CF 9/7 transformacijos su daline blokų dekoreliacija paklaidos priklausomai nuo suspaudimo koeficiento β arba blokelio dydţio m. Imkime atvejį, kai β
pastovus ir kinta blokelio dydis m. Kadani paveiksliuko dydis 5 5, tai m =,...,9. Kada m = 9, tai bazinės CF 9/7 ir CF 9/7 su daline blokų dekoreliacija paklaidos sutampa.. pav. CF 9/7 su daline blokų dekoreliacija paklaidos (β = 5, o m kintantis). Iš rafiko matome, kai m > CF 9/7 su daline blokų dekoreliacija paklaidos labai artimos bazinės CF 9/7 paklaidoms, kitaip sakant, atkuriamo vaizdo kokybė labai panaši tiek taikant bazinę CF 9/7, tiek CF 9/7 su daline blokų dekoreliacija. Taii, alime daryti išvada, kad enerijos pakavimo savybė yra tenkinama. Tirkime atvejį, kai vaizdas yra dar labiau suspaustas β =, m =,...,9..5 pav. CF 9/7 su daline blokų dekoreliacija paklaidos (β=, o m kintantis). Iš rafiko matome, kad kol m < paklaidos didėja, o kai m > paklaidos tencinai maţėja. Kadani suspaudimo koeficientas β dviubai didesnis, nei narinėtame. pav., tai ir
paklaidos didesnės. Tačiau bru atveju, bazinės CF 9/7 transformacijos ir CF 9/7 transformacijos su daline blokų dekoreliacija atkuriamų vaizdų kokybė išlieka panaši, kai blokelio dydis m >. abar palyinkime bazinės CF 9/7 transformacijos ir CF 9/7 tarnsformacijos su daline blokų dekoreliacija (m = 5) paklaidas..6 pav. Bazinės CF 9/7 ir CF 9/7 su daline blokų dekoreliacija paklaidos (m=5, o β kintantis). Vientisa linija žymi paklaidų kitimą esant transformacijai su daline blokų dekoreliacija, o punktyrinė linija bazinis transformacijos atvejis iperbolinio filtro kontekste. Kadani paklaidos autos su daline blokų dekoreliacija didesnės uţ bazinės CF 9/7 paklaidas, tai alima daryti išvadą, jo CF 9/7 su daline blokų dekoreliacija transformacijos enerijos pakavimo savybė pabloėja. Tačiau tai ryškėja tik didėjant suspaudimo koeficientui β. Bru atveju, kai suspaudimo koeficientas β nėra didelis, tai enerijos pakavimo savybė yra išsauoma.
5 Išvados. iskrečiųjų banelių transformacija (BT) praktiniu poţiūriu turi labai svarbią savybę apdorojamame skaitmeniniame vaizde sukaupta informacija išdėstoma ne tik paal daţnį, bet ir erdvėje. eja, pilnas lokalizavimas erdvėje būdinas tik paprasčiausiai BT šeimos narei Haar o transformacijai. Aukštesnės eilės BT pasiţymi daliniu lokalizavimu erdvėje.. Atlikti tyrimai leidţia teiti, jo modifikuota (su daline blokų dekoreliacija) CF 9/7 transformacija šiek tiek pabloina enerijos pakavimo savybę, lyinant ją su bazine CF 9/7 transformacija. Tačiau, kai dekoreliuojami blokai yra santykinai dideli m n n, n, n ; N, minėtoji savybė išlieka praktiškai nepakitusi. Todėl naująją CF 9/7 transformacijos versiją alima, patou ir tikslina taikyti praktikoje.. Tiek bazinės CF 9/7, tiek modifikuotos CF 9/7 transformacijos taikymo efektyvumas (tuo pačiu ir jų savybės) priklauso nuo apdorojamo vaizdo lodumo, t. y. nuo to kaip sparčiai ęsta vaizdą sudarančios aukšto daţnio armonikos. Pastebėta, kad kuo lodesnis vaizdas, tuo efektyviau jos ali būti panaudotos vaizdams laudinti (iperbolinių filtrų kontekste).
6 Literatūra. Jonas Valantinas. iskrečiosios transformacijos (mokomoji knya), Tecnoloija, 9.. Patrick J. Van Fleet. Wavelets and lossless compression in te jpe imae compression standard (mokomoji priemonė), University of St. Tomas, 6.. Interneto enciklopedija Vikipedija. [ţiūrėta--5]. Prieia per internetą: ttp://en.wikipedia.or/wiki/coen-aubecies-feauveau_wavelet.. Zon Guanjun, Cen Lizi, Cen Cuowan. A simple 9/7 tap wavelet filter based on liftin sceme (mokomoji priemonė), Scool of Computer, National University of efence Tecnoloy Cansa, Cina. [ţiūrėta --]. Prieia per internetą: ttp://www.infinitealoritms.com/ocs/videolinks/9-7lowcomplexity.pdf. 5. Interneto enciklopedija Vikipedija. [ţiūrėta--]. Prieia per internetą: ttp://computervision.wikia.com/wiki/aubecies_wavelet.
7 Priedai. Priedas. Proramų tekstai. Prorama Matlab.. CF 9/7 spektro radimas vienmačiu atveju. function spektras = CF97(duom) X = duom; Y = X; n = lo(lent(x)); lp = [.678757 -.6868 -.786659.66868]; a = [lp.69986 fliplr(lp)]; p = [.56588557 -.87776 -.956588557]; b =.*[p.5575569 fliplr(p)]; for i = :n s = zeros(,lent(x)/); d = s; for k = ::^(n-i+) if lent(x) >= 8 if k- == - s(ceil(k/)) = a()*x(5)+a()*x()+a()*x()+a()*x()+a(5)*x(k)+a(6)*x(k+)+a(7)*x(k+)+a(8)*x(k+ )+a(9)*x(k+); d(ceil(k/)) = b()*x()+b()*x()+b()*x(k)+b()*x(k+)+b(5)*x(k+)+b(6)*x(k+)+b(7)*x(k+); if k- == - s(ceil(k/)) = a()*x()+a()*x()+a()*x(k-)+a()*x(k- )+a(5)*x(k)+a(6)*x(k+)+a(7)*x(k+)+a(8)*x(k+)+a(9)*x(k+); d(ceil(k/)) = b()*x(k-)+b()*x(k- )+b()*x(k)+b()*x(k+)+b(5)*x(k+)+b(6)*x(k+)+b(7)*x(k+); if k+ == lent(x)+ s(ceil(k/)) = a()*x(k-)+a()*x(k-)+a()*x(k-)+a()*x(k- )+a(5)*x(k)+a(6)*x(k+)+a(7)*x(k+)+a(8)*x(k+)+a(9)*x(lent(x)-); d(ceil(k/)) = b()*x(k-)+b()*x(k- )+b()*x(k)+b()*x(k+)+b(5)*x(k+)+b(6)*x(k+)+b(7)*x(lent(x)-); if k+ == lent(x)+ s(ceil(k/)) = a()*x(k-)+a()*x(k-)+a()*x(k-)+a()*x(k- )+a(5)*x(k)+a(6)*x(k+)+a(7)*x(lent(x)-)+a(8)*x(lent(x)-)+a(9)*x(lent(x)- ); d(ceil(k/)) = b()*x(k-)+b()*x(k- )+b()*x(k)+b()*x(k+)+b(5)*x(lent(x)-)+b(6)*x(lent(x)-)+b(7)*x(lent(x)- ); if k- > && k+ <= lent(x) s(ceil(k/)) = a()*x(k-)+a()*x(k-)+a()*x(k-)+a()*x(k- )+a(5)*x(k)+a(6)*x(k+)+a(7)*x(k+)+a(8)*x(k+)+a(9)*x(k+); d(ceil(k/)) = b()*x(k-)+b()*x(k- )+b()*x(k)+b()*x(k+)+b(5)*x(k+)+b(6)*x(k+)+b(7)*x(k+); if lent(x) == if k- == - s(ceil(k/)) = a()*x()+a()*x()+a()*x()+a()*x()+a(5)*x(k)+a(6)*x(k+)+a(7)*x(k+)+a(8)*x(k+ )+a(9)*x();
8 d(ceil(k/)) = b()*x()+b()*x()+b()*x(k)+b()*x(k+)+b(5)*x(k+)+b(6)*x(k+)+b(7)*x(); if k- == - s(ceil(k/)) = a()*x()+a()*x()+a()*x(k-)+a()*x(k- )+a(5)*x(k)+a(6)*x(k+)+a(7)*x()+a(8)*x()+a(9)*x(); d(ceil(k/)) = b()*x(k-)+b()*x(k- )+b()*x(k)+b()*x(k+)+b(5)*x()+b(6)*x()+b(7)*x(); if lent(x) == if k- == - s(ceil(k/)) = a()*x()+a()*x()+a()*x()+a()*x()+a(5)*x(k)+a(6)*x(k+)+a(7)*x()+a(8)*x()+a (9)*X(); d(ceil(k/)) = b()*x()+b()*x()+b()*x(k)+b()*x(k+)+b(5)*x()+b(6)*x()+b(7)*x(); X = s; for j = :^(n-i) Y(j+^(n-i)) = d(j); Y(:lent(s)) = s; spektras = Y;. CF 9/7 vaizdo radimas vienmačiu atveju. function duom = ICF97(spektras) Y = spektras; n = lo(lent(y)); lp = [.678757 -.6868 -.786659.66868]; lp = [lp.69986 fliplr(lp)]; p = [.56588557 -.87776 -.956588557]; p =.*[p.5575569 fliplr(p)]; a = p.* [- - - -]; b = lp.* [ - - - - ]; for i = n:-: X = :^(n-i+); X(::lent(X)) = Y(:lent(X)/); X(::lent(X)) = Y(lent(X)/+:lent(X)); s = zeros(,lent(x)/); d = s; for k = ::^(n-i+) if lent(x) >= 8 if k- == - s(ceil(k/)) = b(8)*x()+a(6)*x()+b(6)*x()+a()*x(k)+b()*x(k+)+a()*x(k+)+b()*x(k+); d(ceil(k/)) = b(9)*x()+a(7)*x()+b(7)*x()+a(5)*x(k)+b(5)*x(k+)+a()*x(k+)+b()*x(k+)+a()*x( k+)+b()*x(k+5); if k- == s(ceil(k/)) = b(8)*x()+a(6)*x(k-)+b(6)*x(k- )+a()*x(k)+b()*x(k+)+a()*x(k+)+b()*x(k+); d(ceil(k/)) = b(9)*x()+a(7)*x(k-)+b(7)*x(k- )+a(5)*x(k)+b(5)*x(k+)+a()*x(k+)+b()*x(k+)+a()*x(k+)+b()*x(k+5); if k+5 == lent(x)+
9 s(ceil(k/)) = b(8)*x(k-)+a(6)*x(k-)+b(6)*x(k- )+a()*x(k)+b()*x(k+)+a()*x(k+)+b()*x(k+); d(ceil(k/)) = b(9)*x(k-)+a(7)*x(k-)+b(7)*x(k- )+a(5)*x(k)+b(5)*x(k+)+a()*x(k+)+b()*x(k+)+a()*x(lent(x)- )+b()*x(lent(x)-); if k+5 == lent(x)+ s(ceil(k/)) = b(8)*x(k-)+a(6)*x(k-)+b(6)*x(k- )+a()*x(k)+b()*x(k+)+a()*x(lent(x)-)+b()*x(lent(x)-); d(ceil(k/)) = b(9)*x(k-)+a(7)*x(k-)+b(7)*x(k- )+a(5)*x(k)+b(5)*x(k+)+a()*x(lent(x)-)+b()*x(lent(x)-)+a()*x(lent(x)- )+b()*x(lent(x)-); if k- > && k+5 <= lent(x) s(ceil(k/)) = b(8)*x(k-)+a(6)*x(k-)+b(6)*x(k- )+a()*x(k)+b()*x(k+)+a()*x(k+)+b()*x(k+); d(ceil(k/)) = b(9)*x(k-)+a(7)*x(k-)+b(7)*x(k- )+a(5)*x(k)+b(5)*x(k+)+a()*x(k+)+b()*x(k+)+a()*x(k+)+b()*x(k+5); if lent(x) == if k- == - s(ceil(k/)) = b(8)*x()+a(6)*x()+b(6)*x()+a()*x(k)+b()*x(k+)+a()*x(k+)+b()*x(k+); d(ceil(k/)) = b(9)*x()+a(7)*x()+b(7)*x()+a(5)*x(k)+b(5)*x(k+)+a()*x(k+)+b()*x(k+)+a()*x( )+b()*x(); if k- == s(ceil(k/)) = b(8)*x()+a(6)*x(k-)+b(6)*x(k- )+a()*x(k)+b()*x(k+)+a()*x()+b()*x(); d(ceil(k/)) = b(9)*x()+a(7)*x(k-)+b(7)*x(k- )+a(5)*x(k)+b(5)*x(k+)+a()*x()+b()*x()+a()*x()+b()*x(); if lent(x) == if k- == - s(ceil(k/)) = b(8)*x()+a(6)*x()+b(6)*x()+a()*x()+b()*x()+a()*x()+b()*x(); d(ceil(k/)) = b(9)*x()+a(7)*x()+b(7)*x()+a(5)*x()+b(5)*x()+a()*x()+b()*x()+a()*x()+b( )*X(); for j = :^(n-i) Y(*j) = d(j); Y(*j-) = s(j); Y() = YY() duom = Y;. CF 9/7 su daline blokų dekoreliacija vienmačiu atveju, spektro radimas. function spektras = CF97(duomenys,p) YY = zeros(,size(duomenys,)); nn =lo(size(duomenys,));
pp = nn-p+; for kk = :^(pp-) duom = duomenys((kk-)*^p+:kk*^p); X = duom; n = lo(lent(x)); lp = [.678757 -.6868 -.786659.66868]; a = [lp.69986 fliplr(lp)]; p = [.56588557 -.87776 -.956588557]; b =.*[p.5575569 fliplr(p)]; for i = :n s = zeros(,lent(x)/); d = s; for k = ::^(n-i+) if lent(x) >= 8 if k- == - s(ceil(k/)) = a()*x(5)+a()*x()+a()*x()+a()*x()+a(5)*x(k)+a(6)*x(k+)+a(7)*x(k+)+a(8)*x(k+ )+a(9)*x(k+); d(ceil(k/)) = b()*x()+b()*x()+b()*x(k)+b()*x(k+)+b(5)*x(k+)+b(6)*x(k+)+b(7)*x(k+); if k- == - s(ceil(k/)) = a()*x()+a()*x()+a()*x(k-)+a()*x(k- )+a(5)*x(k)+a(6)*x(k+)+a(7)*x(k+)+a(8)*x(k+)+a(9)*x(k+); d(ceil(k/)) = b()*x(k-)+b()*x(k- )+b()*x(k)+b()*x(k+)+b(5)*x(k+)+b(6)*x(k+)+b(7)*x(k+); if k+ == lent(x)+ s(ceil(k/)) = a()*x(k-)+a()*x(k-)+a()*x(k-)+a()*x(k- )+a(5)*x(k)+a(6)*x(k+)+a(7)*x(k+)+a(8)*x(k+)+a(9)*x(lent(x)-); d(ceil(k/)) = b()*x(k-)+b()*x(k- )+b()*x(k)+b()*x(k+)+b(5)*x(k+)+b(6)*x(k+)+b(7)*x(lent(x)-); if k+ == lent(x)+ s(ceil(k/)) = a()*x(k-)+a()*x(k-)+a()*x(k-)+a()*x(k- )+a(5)*x(k)+a(6)*x(k+)+a(7)*x(lent(x)-)+a(8)*x(lent(x)-)+a(9)*x(lent(x)- ); d(ceil(k/)) = b()*x(k-)+b()*x(k- )+b()*x(k)+b()*x(k+)+b(5)*x(lent(x)-)+b(6)*x(lent(x)-)+b(7)*x(lent(x)- ); if k- > && k+ <= lent(x) s(ceil(k/)) = a()*x(k-)+a()*x(k-)+a()*x(k-)+a()*x(k- )+a(5)*x(k)+a(6)*x(k+)+a(7)*x(k+)+a(8)*x(k+)+a(9)*x(k+); d(ceil(k/)) = b()*x(k-)+b()*x(k- )+b()*x(k)+b()*x(k+)+b(5)*x(k+)+b(6)*x(k+)+b(7)*x(k+); if lent(x) == if k- == - s(ceil(k/)) = a()*x()+a()*x()+a()*x()+a()*x()+a(5)*x(k)+a(6)*x(k+)+a(7)*x(k+)+a(8)*x(k+ )+a(9)*x(); d(ceil(k/)) = b()*x()+b()*x()+b()*x(k)+b()*x(k+)+b(5)*x(k+)+b(6)*x(k+)+b(7)*x(); if k- == - s(ceil(k/)) = a()*x()+a()*x()+a()*x(k-)+a()*x(k- )+a(5)*x(k)+a(6)*x(k+)+a(7)*x()+a(8)*x()+a(9)*x(); d(ceil(k/)) = b()*x(k-)+b()*x(k- )+b()*x(k)+b()*x(k+)+b(5)*x()+b(6)*x()+b(7)*x();
if lent(x) == if k- == - s(ceil(k/)) = a()*x()+a()*x()+a()*x()+a()*x()+a(5)*x(k)+a(6)*x(k+)+a(7)*x()+a(8)*x()+a (9)*X(); d(ceil(k/)) = b()*x()+b()*x()+b()*x(k)+b()*x(k+)+b(5)*x()+b(6)*x()+b(7)*x(); for j = :^(n-i) YY(j+^(nn-i)+(kk-)*size(X,)/) = d(j); X = s; YY(kk) = s; for k = :nn-p Y = zeros(,^(nn-p-k+)); for i = :^(nn-p-k) X = YY(+*(i-):*i); Y(i) = a()*x()+a()*x()+a()*x()+a()*x()+a(5)*x()+a(6)*x()+a(7)*x()+a(8)*x()+a(9 )*X(); Y(^(nn-p-k)+i) = b()*x()+b()*x()+b()*x()+b()*x()+b(5)*x()+b(6)*x()+b(7)*x(); YY(:^(nn-p-k+)) = Y; spektras = YY;. CF 9/7 su daline blokų dekoreliacija vienmačiu atveju, vaizdo radimas. function duom = ICF97(spektras,p) ZZ = []; YY = spektras; nn = lo(lent(yy)); lp = [.678757 -.6868 -.786659.66868]; lp = [lp.69986 fliplr(lp)]; p = [.56588557 -.87776 -.956588557]; p =.*[p.5575569 fliplr(p)]; a = p.* [- - - -]; b = lp.* [ - - - - ]; for k = nn-p:-: Y = zeros(,^(nn-p-k+)); for i = :^(nn-p-k) X = [YY(i) YY(^(nn-p-k)+i)]; Y(+*(i-)) = b(8)*x()+a(6)*x()+b(6)*x()+a()*x()+b()*x()+a()*x()+b()*x(); Y(*i) = b(9)*x()+a(7)*x()+b(7)*x()+a(5)*x()+b(5)*x()+a()*x()+b()*x()+a()*x()+b( )*X(); YY(:^(nn-p-k+)) = Y; n = p; for kk = :^(nn-p) Y = YY(kk); for iii = :p Y = [Y YY(^(nn-p+iii-)+kk+(kk-)*(^(iii-)-):^(nn-p+iii-)+kk+(kk- )*(^(iii-)-)+^(iii-)-)];
for i = p:-: X = :^(n-i+); X(::lent(X)) = Y(:lent(X)/); X(::lent(X)) = Y(lent(X)/+:lent(X)); s = zeros(,lent(x)/); d = s; for k = ::^(n-i+) if lent(x) >= 8 if k- == - s(ceil(k/)) = b(8)*x()+a(6)*x()+b(6)*x()+a()*x(k)+b()*x(k+)+a()*x(k+)+b()*x(k+); d(ceil(k/)) = b(9)*x()+a(7)*x()+b(7)*x()+a(5)*x(k)+b(5)*x(k+)+a()*x(k+)+b()*x(k+)+a()*x( k+)+b()*x(k+5); if k- == s(ceil(k/)) = b(8)*x()+a(6)*x(k-)+b(6)*x(k- )+a()*x(k)+b()*x(k+)+a()*x(k+)+b()*x(k+); d(ceil(k/)) = b(9)*x()+a(7)*x(k-)+b(7)*x(k- )+a(5)*x(k)+b(5)*x(k+)+a()*x(k+)+b()*x(k+)+a()*x(k+)+b()*x(k+5); if k+5 == lent(x)+ s(ceil(k/)) = b(8)*x(k-)+a(6)*x(k-)+b(6)*x(k- )+a()*x(k)+b()*x(k+)+a()*x(k+)+b()*x(k+); d(ceil(k/)) = b(9)*x(k-)+a(7)*x(k-)+b(7)*x(k- )+a(5)*x(k)+b(5)*x(k+)+a()*x(k+)+b()*x(k+)+a()*x(lent(x)- )+b()*x(lent(x)-); if k+5 == lent(x)+ s(ceil(k/)) = b(8)*x(k-)+a(6)*x(k-)+b(6)*x(k- )+a()*x(k)+b()*x(k+)+a()*x(lent(x)-)+b()*x(lent(x)-); d(ceil(k/)) = b(9)*x(k-)+a(7)*x(k-)+b(7)*x(k- )+a(5)*x(k)+b(5)*x(k+)+a()*x(lent(x)-)+b()*x(lent(x)-)+a()*x(lent(x)- )+b()*x(lent(x)-); if k- > && k+5 <= lent(x) s(ceil(k/)) = b(8)*x(k-)+a(6)*x(k-)+b(6)*x(k- )+a()*x(k)+b()*x(k+)+a()*x(k+)+b()*x(k+); d(ceil(k/)) = b(9)*x(k-)+a(7)*x(k-)+b(7)*x(k- )+a(5)*x(k)+b(5)*x(k+)+a()*x(k+)+b()*x(k+)+a()*x(k+)+b()*x(k+5); if lent(x) == if k- == - s(ceil(k/)) = b(8)*x()+a(6)*x()+b(6)*x()+a()*x(k)+b()*x(k+)+a()*x(k+)+b()*x(k+); d(ceil(k/)) = b(9)*x()+a(7)*x()+b(7)*x()+a(5)*x(k)+b(5)*x(k+)+a()*x(k+)+b()*x(k+)+a()*x( )+b()*x(); if k- == s(ceil(k/)) = b(8)*x()+a(6)*x(k-)+b(6)*x(k- )+a()*x(k)+b()*x(k+)+a()*x()+b()*x(); d(ceil(k/)) = b(9)*x()+a(7)*x(k-)+b(7)*x(k- )+a(5)*x(k)+b(5)*x(k+)+a()*x()+b()*x()+a()*x()+b()*x(); if lent(x) == if k- == -
s(ceil(k/)) = b(8)*x()+a(6)*x()+b(6)*x()+a()*x()+b()*x()+a()*x()+b()*x(); d(ceil(k/)) = b(9)*x()+a(7)*x()+b(7)*x()+a(5)*x()+b(5)*x()+a()*x()+b()*x()+a()*x()+b( )*X(); for j = :^(n-i) Y(*j) = d(j); Y(*j-) = s(j); ZZ = [ZZ Y]; duom = ZZ;.5 CF 9/7 spektro radimas dvimačiu atveju. function spektras = CF(duomenys) for dd = : for m = :size(duomenys,) duom = duomenys(:,m); X = duom; Y = X; n = lo(lent(x)); lp = [.678757 -.6868 -.786659.66868]; a = [lp.69986 fliplr(lp)]; p = [.56588557 -.87776 -.956588557]; b =.*[p.5575569 fliplr(p)]; for i = :n s = zeros(,lent(x)/); d = s; for k = ::^(n-i+) if lent(x) >= 8 if k- == - s(ceil(k/)) = a()*x(5)+a()*x()+a()*x()+a()*x()+a(5)*x(k)+a(6)*x(k+)+a(7)*x(k+)+a(8)*x(k+ )+a(9)*x(k+); d(ceil(k/)) = b()*x()+b()*x()+b()*x(k)+b()*x(k+)+b(5)*x(k+)+b(6)*x(k+)+b(7)*x(k+); if k- == - s(ceil(k/)) = a()*x()+a()*x()+a()*x(k-)+a()*x(k- )+a(5)*x(k)+a(6)*x(k+)+a(7)*x(k+)+a(8)*x(k+)+a(9)*x(k+); d(ceil(k/)) = b()*x(k-)+b()*x(k- )+b()*x(k)+b()*x(k+)+b(5)*x(k+)+b(6)*x(k+)+b(7)*x(k+); if k+ == lent(x)+ s(ceil(k/)) = a()*x(k-)+a()*x(k-)+a()*x(k- )+a()*x(k-)+a(5)*x(k)+a(6)*x(k+)+a(7)*x(k+)+a(8)*x(k+)+a(9)*x(lent(x)-); d(ceil(k/)) = b()*x(k-)+b()*x(k- )+b()*x(k)+b()*x(k+)+b(5)*x(k+)+b(6)*x(k+)+b(7)*x(lent(x)-); if k+ == lent(x)+ s(ceil(k/)) = a()*x(k-)+a()*x(k-)+a()*x(k- )+a()*x(k-)+a(5)*x(k)+a(6)*x(k+)+a(7)*x(lent(x)-)+a(8)*x(lent(x)- )+a(9)*x(lent(x)-); d(ceil(k/)) = b()*x(k-)+b()*x(k- )+b()*x(k)+b()*x(k+)+b(5)*x(lent(x)-)+b(6)*x(lent(x)-)+b(7)*x(lent(x)- );
if k- > && k+ <= lent(x) s(ceil(k/)) = a()*x(k-)+a()*x(k-)+a()*x(k- )+a()*x(k-)+a(5)*x(k)+a(6)*x(k+)+a(7)*x(k+)+a(8)*x(k+)+a(9)*x(k+); d(ceil(k/)) = b()*x(k-)+b()*x(k- )+b()*x(k)+b()*x(k+)+b(5)*x(k+)+b(6)*x(k+)+b(7)*x(k+); if lent(x) == if k- == - s(ceil(k/)) = a()*x()+a()*x()+a()*x()+a()*x()+a(5)*x(k)+a(6)*x(k+)+a(7)*x(k+)+a(8)*x(k+ )+a(9)*x(); d(ceil(k/)) = b()*x()+b()*x()+b()*x(k)+b()*x(k+)+b(5)*x(k+)+b(6)*x(k+)+b(7)*x(); if k- == - s(ceil(k/)) = a()*x()+a()*x()+a()*x(k-)+a()*x(k- )+a(5)*x(k)+a(6)*x(k+)+a(7)*x()+a(8)*x()+a(9)*x(); d(ceil(k/)) = b()*x(k-)+b()*x(k- )+b()*x(k)+b()*x(k+)+b(5)*x()+b(6)*x()+b(7)*x(); if lent(x) == if k- == - s(ceil(k/)) = a()*x()+a()*x()+a()*x()+a()*x()+a(5)*x(k)+a(6)*x(k+)+a(7)*x()+a(8)*x()+a (9)*X(); d(ceil(k/)) = b()*x()+b()*x()+b()*x(k)+b()*x(k+)+b(5)*x()+b(6)*x()+b(7)*x(); X = s; for j = :^(n-i) Y(j+^(n-i)) = d(j); Y(:lent(s)) = s; duomenys(:,m) = Y; duomenys = duomenys'; spektras = duomenys;.6 CF 9/7 vaizdo radimas dvimačiu atveju. function duom = ICF(duomenys) for dd = : for m = :size(duomenys,) spektras = duomenys(:,m); Y = spektras; n = lo(lent(y)); lp = [.678757 -.6868 -.786659.66868]; lp = [lp.69986 fliplr(lp)]; p = [.56588557 -.87776 -.956588557]; p =.*[p.5575569 fliplr(p)]; a = p.* [- - - -]; b = lp.* [ - - - - ]; for i = n:-:
5 X = :^(n-i+); X(::lent(X)) = Y(:lent(X)/); X(::lent(X)) = Y(lent(X)/+:lent(X)); s = zeros(,lent(x)/); d = s; for k = ::^(n-i+) if lent(x) >= 8 if k- == - s(ceil(k/)) = b(8)*x()+a(6)*x()+b(6)*x()+a()*x(k)+b()*x(k+)+a()*x(k+)+b()*x(k+); d(ceil(k/)) = b(9)*x()+a(7)*x()+b(7)*x()+a(5)*x(k)+b(5)*x(k+)+a()*x(k+)+b()*x(k+)+a()*x( k+)+b()*x(k+5); if k- == s(ceil(k/)) = b(8)*x()+a(6)*x(k-)+b(6)*x(k- )+a()*x(k)+b()*x(k+)+a()*x(k+)+b()*x(k+); d(ceil(k/)) = b(9)*x()+a(7)*x(k-)+b(7)*x(k- )+a(5)*x(k)+b(5)*x(k+)+a()*x(k+)+b()*x(k+)+a()*x(k+)+b()*x(k+5); if k+5 == lent(x)+ s(ceil(k/)) = b(8)*x(k-)+a(6)*x(k-)+b(6)*x(k- )+a()*x(k)+b()*x(k+)+a()*x(k+)+b()*x(k+); d(ceil(k/)) = b(9)*x(k-)+a(7)*x(k-)+b(7)*x(k- )+a(5)*x(k)+b(5)*x(k+)+a()*x(k+)+b()*x(k+)+a()*x(lent(x)- )+b()*x(lent(x)-); if k+5 == lent(x)+ s(ceil(k/)) = b(8)*x(k-)+a(6)*x(k-)+b(6)*x(k- )+a()*x(k)+b()*x(k+)+a()*x(lent(x)-)+b()*x(lent(x)-); d(ceil(k/)) = b(9)*x(k-)+a(7)*x(k-)+b(7)*x(k- )+a(5)*x(k)+b(5)*x(k+)+a()*x(lent(x)-)+b()*x(lent(x)-)+a()*x(lent(x)- )+b()*x(lent(x)-); if k- > && k+5 <= lent(x) s(ceil(k/)) = b(8)*x(k-)+a(6)*x(k-)+b(6)*x(k- )+a()*x(k)+b()*x(k+)+a()*x(k+)+b()*x(k+); d(ceil(k/)) = b(9)*x(k-)+a(7)*x(k-)+b(7)*x(k- )+a(5)*x(k)+b(5)*x(k+)+a()*x(k+)+b()*x(k+)+a()*x(k+)+b()*x(k+5); if lent(x) == if k- == - s(ceil(k/)) = b(8)*x()+a(6)*x()+b(6)*x()+a()*x(k)+b()*x(k+)+a()*x(k+)+b()*x(k+); d(ceil(k/)) = b(9)*x()+a(7)*x()+b(7)*x()+a(5)*x(k)+b(5)*x(k+)+a()*x(k+)+b()*x(k+)+a()*x( )+b()*x(); if k- == s(ceil(k/)) = b(8)*x()+a(6)*x(k-)+b(6)*x(k- )+a()*x(k)+b()*x(k+)+a()*x()+b()*x(); d(ceil(k/)) = b(9)*x()+a(7)*x(k-)+b(7)*x(k- )+a(5)*x(k)+b(5)*x(k+)+a()*x()+b()*x()+a()*x()+b()*x(); if lent(x) == if k- == - s(ceil(k/)) = b(8)*x()+a(6)*x()+b(6)*x()+a()*x()+b()*x()+a()*x()+b()*x();
6 d(ceil(k/)) = b(9)*x()+a(7)*x()+b(7)*x()+a(5)*x()+b(5)*x()+a()*x()+b()*x()+a()*x()+b( )*X(); for j = :^(n-i) Y(*j) = d(j); Y(*j-) = s(j); duomenys(:,m) = Y; duomenys = duomenys'; duom = duomenys;.7 CF 9/7 su daline blokų dekoreliacija dvimačiu atveju, spektro radimas. function spektras = CF(duomuo,p) for dd = : for m = :size(duomuo,) duomenys = duomuo(:,m); YY = zeros(,size(duomuo,)); nn =lo(size(duomuo,)); pp = nn-p+; for kk = :^(pp-) duom = duomenys((kk-)*^p+:kk*^p); X = duom; n = lo(lent(x)); lp = [.678757 -.6868 -.786659.66868]; a = [lp.69986 fliplr(lp)]; p = [.56588557 -.87776 -.956588557]; b =.*[p.5575569 fliplr(p)]; for i = :n s = zeros(,lent(x)/); d = s; for k = ::^(n-i+) if lent(x) >= 8 if k- == - s(ceil(k/)) = a()*x(5)+a()*x()+a()*x()+a()*x()+a(5)*x(k)+a(6)*x(k+)+a(7)*x(k+)+a(8)*x(k+ )+a(9)*x(k+); d(ceil(k/)) = b()*x()+b()*x()+b()*x(k)+b()*x(k+)+b(5)*x(k+)+b(6)*x(k+)+b(7)*x(k+); if k- == - s(ceil(k/)) = a()*x()+a()*x()+a()*x(k- )+a()*x(k-)+a(5)*x(k)+a(6)*x(k+)+a(7)*x(k+)+a(8)*x(k+)+a(9)*x(k+); d(ceil(k/)) = b()*x(k-)+b()*x(k- )+b()*x(k)+b()*x(k+)+b(5)*x(k+)+b(6)*x(k+)+b(7)*x(k+); if k+ == lent(x)+ s(ceil(k/)) = a()*x(k-)+a()*x(k-)+a()*x(k- )+a()*x(k-)+a(5)*x(k)+a(6)*x(k+)+a(7)*x(k+)+a(8)*x(k+)+a(9)*x(lent(x)-); d(ceil(k/)) = b()*x(k-)+b()*x(k- )+b()*x(k)+b()*x(k+)+b(5)*x(k+)+b(6)*x(k+)+b(7)*x(lent(x)-); if k+ == lent(x)+
7 s(ceil(k/)) = a()*x(k-)+a()*x(k-)+a()*x(k- )+a()*x(k-)+a(5)*x(k)+a(6)*x(k+)+a(7)*x(lent(x)-)+a(8)*x(lent(x)- )+a(9)*x(lent(x)-); d(ceil(k/)) = b()*x(k-)+b()*x(k- )+b()*x(k)+b()*x(k+)+b(5)*x(lent(x)-)+b(6)*x(lent(x)-)+b(7)*x(lent(x)- ); if k- > && k+ <= lent(x) s(ceil(k/)) = a()*x(k-)+a()*x(k-)+a()*x(k- )+a()*x(k-)+a(5)*x(k)+a(6)*x(k+)+a(7)*x(k+)+a(8)*x(k+)+a(9)*x(k+); d(ceil(k/)) = b()*x(k-)+b()*x(k- )+b()*x(k)+b()*x(k+)+b(5)*x(k+)+b(6)*x(k+)+b(7)*x(k+); if lent(x) == if k- == - s(ceil(k/)) = a()*x()+a()*x()+a()*x()+a()*x()+a(5)*x(k)+a(6)*x(k+)+a(7)*x(k+)+a(8)*x(k+ )+a(9)*x(); d(ceil(k/)) = b()*x()+b()*x()+b()*x(k)+b()*x(k+)+b(5)*x(k+)+b(6)*x(k+)+b(7)*x(); if k- == - s(ceil(k/)) = a()*x()+a()*x()+a()*x(k- )+a()*x(k-)+a(5)*x(k)+a(6)*x(k+)+a(7)*x()+a(8)*x()+a(9)*x(); d(ceil(k/)) = b()*x(k-)+b()*x(k- )+b()*x(k)+b()*x(k+)+b(5)*x()+b(6)*x()+b(7)*x(); if lent(x) == if k- == - s(ceil(k/)) = a()*x()+a()*x()+a()*x()+a()*x()+a(5)*x(k)+a(6)*x(k+)+a(7)*x()+a(8)*x()+a (9)*X(); d(ceil(k/)) = b()*x()+b()*x()+b()*x(k)+b()*x(k+)+b(5)*x()+b(6)*x()+b(7)*x(); for j = :^(n-i) YY(j+^(nn-i)+(kk-)*lent(X)/) = d(j); X = s; YY(kk) = s; for k = :nn-p Y = zeros(,^(nn-p-k+)); for i = :^(nn-p-k) X = YY(+*(i-):*i); Y(i) = a()*x()+a()*x()+a()*x()+a()*x()+a(5)*x()+a(6)*x()+a(7)*x()+a(8)*x()+a(9 )*X(); Y(^(nn-p-k)+i) = b()*x()+b()*x()+b()*x()+b()*x()+b(5)*x()+b(6)*x()+b(7)*x(); YY(:^(nn-p-k+)) = Y; duomuo(:,m) = YY; duomuo = duomuo'; spektras = duomuo;
8.8 CF 9/7 su daline blokų dekoreliacija dvimačiu atveju, vaizdo radimas. function duom = ICF(duomenys,p) for dd = : for m = :size(duomenys,) spektras = duomenys(:,m); ZZ = []; YY = spektras'; nn = lo(lent(yy)); lp = [.678757 -.6868 -.786659.66868]; lp = [lp.69986 fliplr(lp)]; p = [.56588557 -.87776 -.956588557]; p =.*[p.5575569 fliplr(p)]; a = p.* [- - - -]; b = lp.* [ - - - - ]; for k = nn-p:-: Y = zeros(,^(nn-p-k+)); for i = :^(nn-p-k) X = [YY(i) YY(^(nn-p-k)+i)]; Y(+*(i-)) = b(8)*x()+a(6)*x()+b(6)*x()+a()*x()+b()*x()+a()*x()+b()*x(); Y(*i) = b(9)*x()+a(7)*x()+b(7)*x()+a(5)*x()+b(5)*x()+a()*x()+b()*x()+a()*x()+b( )*X(); YY(:^(nn-p-k+)) = Y; n = p; for kk = :^(nn-p) Y = YY(kk); for iii = :p Y = [Y YY(^(nn-p+iii-)+kk+(kk-)*(^(iii-)-):^(nn-p+iii- )+kk+(kk-)*(^(iii-)-)+^(iii-)-)]; for i = p:-: X = :^(n-i+); X(::lent(X)) = Y(:lent(X)/); X(::lent(X)) = Y(lent(X)/+:lent(X)); s = zeros(,lent(x)/); d = s; for k = ::^(n-i+) if lent(x) >= 8 if k- == - s(ceil(k/)) = b(8)*x()+a(6)*x()+b(6)*x()+a()*x(k)+b()*x(k+)+a()*x(k+)+b()*x(k+); d(ceil(k/)) = b(9)*x()+a(7)*x()+b(7)*x()+a(5)*x(k)+b(5)*x(k+)+a()*x(k+)+b()*x(k+)+a()*x( k+)+b()*x(k+5); if k- == s(ceil(k/)) = b(8)*x()+a(6)*x(k-)+b(6)*x(k- )+a()*x(k)+b()*x(k+)+a()*x(k+)+b()*x(k+); d(ceil(k/)) = b(9)*x()+a(7)*x(k-)+b(7)*x(k- )+a(5)*x(k)+b(5)*x(k+)+a()*x(k+)+b()*x(k+)+a()*x(k+)+b()*x(k+5); if k+5 == lent(x)+ s(ceil(k/)) = b(8)*x(k-)+a(6)*x(k-)+b(6)*x(k- )+a()*x(k)+b()*x(k+)+a()*x(k+)+b()*x(k+);
9 d(ceil(k/)) = b(9)*x(k-)+a(7)*x(k-)+b(7)*x(k- )+a(5)*x(k)+b(5)*x(k+)+a()*x(k+)+b()*x(k+)+a()*x(lent(x)- )+b()*x(lent(x)-); if k+5 == lent(x)+ s(ceil(k/)) = b(8)*x(k-)+a(6)*x(k-)+b(6)*x(k- )+a()*x(k)+b()*x(k+)+a()*x(lent(x)-)+b()*x(lent(x)-); d(ceil(k/)) = b(9)*x(k-)+a(7)*x(k-)+b(7)*x(k- )+a(5)*x(k)+b(5)*x(k+)+a()*x(lent(x)-)+b()*x(lent(x)-)+a()*x(lent(x)- )+b()*x(lent(x)-); if k- > && k+5 <= lent(x) s(ceil(k/)) = b(8)*x(k-)+a(6)*x(k-)+b(6)*x(k- )+a()*x(k)+b()*x(k+)+a()*x(k+)+b()*x(k+); d(ceil(k/)) = b(9)*x(k-)+a(7)*x(k-)+b(7)*x(k- )+a(5)*x(k)+b(5)*x(k+)+a()*x(k+)+b()*x(k+)+a()*x(k+)+b()*x(k+5); if lent(x) == if k- == - s(ceil(k/)) = b(8)*x()+a(6)*x()+b(6)*x()+a()*x(k)+b()*x(k+)+a()*x(k+)+b()*x(k+); d(ceil(k/)) = b(9)*x()+a(7)*x()+b(7)*x()+a(5)*x(k)+b(5)*x(k+)+a()*x(k+)+b()*x(k+)+a()*x( )+b()*x(); if k- == s(ceil(k/)) = b(8)*x()+a(6)*x(k-)+b(6)*x(k- )+a()*x(k)+b()*x(k+)+a()*x()+b()*x(); d(ceil(k/)) = b(9)*x()+a(7)*x(k-)+b(7)*x(k- )+a(5)*x(k)+b(5)*x(k+)+a()*x()+b()*x()+a()*x()+b()*x(); if lent(x) == if k- == - s(ceil(k/)) = b(8)*x()+a(6)*x()+b(6)*x()+a()*x()+b()*x()+a()*x()+b()*x(); d(ceil(k/)) = b(9)*x()+a(7)*x()+b(7)*x()+a(5)*x()+b(5)*x()+a()*x()+b()*x()+a()*x()+b( )*X(); for j = :^(n-i) Y(*j) = d(j); Y(*j-) = s(j); ZZ = [ZZ Y]; duomenys(:,m) = ZZ; duomenys = duomenys'; duom = duomenys;.9 Parindinė prorama naudojama paklaidų radimui iperbolinio filtro kontekste. function Parindine()