HA - Harmonická Analýza



ÚVOD

Harmonická analýza je vědní obor zabývající se rozkladem libovolného periodického signálu na nekonečnou řadu sinových a kosinových průběhů o různé amplitudě a frekvenci, která je celistvým násobkem frekvence rozkládaného signálu. Tento rozklad není jednoduchý a je k němu nezbytné důkladně ovládat potřebný matematický aparát a poněkud hlouběji rozumět elektronice a teorii střídavých periodických signálů.
Řešení harmonické analýzy patří v elektrotechnice k velmi často používaným výpočtům. Pomocí analýzy je možné objasnit změnu tvaru signálu po průchodu nejrůznějšími frekvenčně nelineárními obvody (zesilovačem, integračním nebo derivačním článkem, telefonním vedením). Z výsledku harmonické analýzy je patrné, jak je signál bohatý na vysokofrekvenční složky a jaké kmitočtové pásmo je třeba zvolit, aby byl signál přenesen s co možná nejmenší změnou tvaru a ztrátou vyšších harmonických složek. Analýza střídavého signálu je tedy velmi důležitá, ovšem její vyřešení bez použití počítače je značně zdlouhavé a pravděpodobnost výskytu početní chyby je nepřijatelně vysoká. Například rozklad průběhu na prvních deset harmonických s použitím kalkulačky trvá nejméně jednu hodinu, přičemž je třeba spočítat okolo dvou set výpočtů se sinem, kosinem a dalšími goniometrickými funkcemi. Hlubší analýza po dvacátou a vyšší harmonickou je prakticky nemyslitelná.
Matematicky i fyzikálně je dokázáno, že periodické signály libovolného tvaru, s jejichž nejrozmanitějšími průběhy v elektrotechnice běžně pracujeme, lze nahradit řadou sinových a kosinových průběhů. Jejich amplitudy, kmitočty a vzájemná fázová posunutí lze zjistit výpočtem nebo měřením. V praxi to srozumitelně řečeno znamená, že ať má graf periody signálu tvar obdélníku, pily či úplně jiný tvar, skládá se vždy z řady harmonických sinusových průběhů, jejichž kmitočet je celistvým násobkem frekvence první harmonické. Opačně je také možné říci, že skládáním sinových či kosinových průběhů lze získat jakýkoliv tvar signálu. Dle matematické poučky může být každá jednoznačně určená periodická funkce F(t), která má v intervalu T konečný počet extrémů a nespojitostí prvního druhu, vyjádřena Fourierovou řadou, tj. nekonečnou goniometrickou řadou ve tvaru

F(t) = a0 + a1 cos wt + a2 cos 2 wt + ... + an cos n wt + b1 sin wt + b2 sin 2 wt + ... + bn sin n wt

Je-li průběh křivky analyzovaného signálu souměrný podle počátku, tj. platí-li následující vztah: F(-t) = -F(t) , vyjdou výpočtem všechny součinitele při kosinových složkách nulové. Fourierův rozvoj obsahuje jen složky sinusové.
Je-li křivka souměrná podle osy y, tj. platí-li F(-t) = F(t) , obsahuje Fourierův rozvoj naopak jen složky kosinové.
Opakují-li se hodnoty z první půlperiody v druhé polovině s opačným znaménkem, tj. platí-li F(t + T/2) = -F(t) , obsahuje rozvoj jen liché členy.
Naproti tomu opakují-li se hodnoty funkce v druhé polovině periody se stejným znaménkem, tj platí-li F(t + T/2) = F(t) , obsahuje Fourierova řada pouze členy sudé.
Existuje několik metod pro zjištění harmonických: matematická, numerická, grafická či měřící. Nejsnáze lze Fourierův rozvoj určit numerickou metodou. Tato metoda je však méně přesná než matematická. Její princip spočívá v tom, že periodu rozdělíme na p dílků, minimálně dle vztahu: p = 2n+2, kde n je číslo nejvyšší harmonické, po kterou budeme signál analyzovat.

Výsledek harmonické analýzy není vždy třeba psát formou úplné Fourierovy řady, úspornější a výstižnější je popsat funkci pomocí souboru amplitud An jednotlivých harmonických. Tato posloupnost se nazývá amplitudovým spektrem funkce. Amplitudové spektrum se doplňuje spektrem fázovým a v některých případech se místo něj uvádějí spektra složek sinových a kosinových. Spektrum vypadá tak, že na vodorovné ose jsou vyneseny kmitočty harmonických v násobcích základního kmitočtu f a svisle ke každému kmitočtu se vynese úsečka, jejíž délka je úměrná velikosti amplitudy příslušné harmonické (resp. amplitudě sinové složky, kosinové složky, fázovému úhlu).
Výpočet harmonické analýzy je úkol maximálně vhodný pro užití moderní výpočetní techniky. Současné programy zabývající se tímto problémem jsou však obvykle velmi uživatelsky nepřívětivé, zadání průběhu se provádí číselně a je zdlouhavé, analýza je možná většinou pouze po 20 až 30 harmonických. Tyto jmenované nedostatky jsme se snažili v našem programu eliminovat a zaplnit tak mezeru v oblasti současného softwaru určeného pro elektrotechniku.

ABSTRAKT

Jedná se o program pracující v prostředí Microsoft Windows, určený pro výpočet harmonické analýzy daného průběhu signálu dle Fourierovy transformace. V uživatelsky atraktivním příjemném prostředí programu lze interaktivně zadat vstupní funkci a provést výpočet v multitaskingovém prostředí. Je možné odfiltrovat část spektra harmonických, nebo zjistit šířku pásma pro danou amplitudu. Výsledky jsou prezentovány všemi běžnými formami na monitoru, včetně harmonické syntézy, je možný tisk výsledků. Program umožňuje navíc také frekvenční analýzu zvukových souborů.

METODIKA

Práce probíhala ve čtyřech etapách:
1. Vytvoření prostředí programu - MDI rámcové okno, dědičná okna, zabezpečení základních funkcí - clipboard, práce s okny...
2. Vytvoření funkce pro výpočet, zobrazovací metody jednotlivých oken
3. Tisku , vytvoření kontextově závislé nápovědy, spojení s programem
4. Doladění chyb, doplnění funkcí programu z připomínek uživatelů

Program Harmonická analýza byl naprogramován v Borland Pascalu pro Windows v. 7.0. Typickým znakem tohoto vývojového prostředí je čistě objektový přístup k řešení jakéhokoli problému. Tento přístup, pro který se vžil název objektově orientované programování - dále OOP, v poslední době zažívá prudký vzrůst popularity a do jisté míry vytlačuje standardní konvence psaní programů metodou „od shora dolů". Přitom historie OOP sahá až do roku 1989, kdy se firma Microsoft pokusila implementovat OOP do svého kompilátoru jazyka pascal.
Pro programátora výše uvedená skutečnost znamená, že má v Borland Pascalu k dispozici obvyklé vlastnosti OOP: zapouzdření (encapsulation), dědičnost (inheritance) a mnohotvarost (polymorphism). Zapouzdření představuje ukrytí dat patřících objektu do jeho nitra. Dle takovéhoto principu by mělo být možné k těmto datům přistupovat pouze pomocí metod daného objektu. Toto je jeden ze základních stavebních kamenů OOP - filozofie sjednocení kódu s příslušnými daty. Dědičnost je vlastnost objektů dědit vlastnosti jejich předchůdců, je však možné tyto modifikovat a vytvářet nové. Mnohotvarost je vlastnost OOP provádět metody se stejným jménem různými způsoby, které závisí na objektu, jenž je volá. Dalším jevem úzce souvisejícím s OOP je událostmi řízené programování. Tento styl programování vychází ze skutečnosti, že v paměti je přítomný určitý počet objektů, z nichž každý je schopen samostatné existence a reaguje pouze na určitou událost.
Tyto principy jsou typické pro OOP a nemají nijak zvláště podstatnou souvislost s programováním pro Windows - naprosto stejná koncepce je uplatněna např. již v objektové nadstavbě Turbo Vision Pascalu v. 5.5 for Dos. Co tedy přimělo autory k implementaci programu do prostředí Ms-Windows? Pomineme-li nyní tak zřejmé skutečnosti, jako podstatně vyšší uživatelskou přívětivost, nebo velkou atraktivitu, všimneme si jedné z rozhodujících předností Windows - multitaskingu. Multitasking umožňuje současný běh většího počtu aplikací. Zde je však třeba uvést, že Windows ve verzi 3.1 obsahují nepreemptivní (non-preemptive) multitasking, což znamená, že se o multitasking v podstatě nejedná. Windows totiž nikdy sám nepřeruší běžící program, nýbrž spoléhá na to, že mu program sám vrátí řízení. Nicméně v případě dobře napsaných programů je stále situace lepší, než v Dosu, kde se o něčem jako je multitasking vůbec nedá hovořit (TSR programy a jejich problémy s 640 kB konvenční paměti..). Multitasking byl jedním z hlavních důvodů pro zvolení platformy Ms-Windows, protože výpočet vysokého počtu harmonických složek signálu je i na rychlém počítači poměrně zdlouhavý, a tedy velmi vhodný pro využití multitaskingu. Pro maximální uživatelský komfort, snadnost ovládání a přehlednost je určena norma rozhraní MDI (rozhraní vícenásobných dokumentů - multiple document interface). Programy řídící se touto normou umožňují uživateli souběžnou práci ve více otevřených oknech. Mezi takové programy patří např. Microsoft Excel, Word, Program Manager atd. Rozhraní je jednou z mnoha částí specifikace obecného uživatelského přístupu (common user acces), který tvoří základ uživatelského rozhraní Windows. Vzhledem k těmto výhodám bylo i MDI začleněno do aplikace Harmonická analýza.
Vlastní struktura programu je tedy dána výše nastíněnými fakty. Hlavním stavebním kamenem aplikace je potomek objektu TApplication, který má za úkol provést základní inicializace a deinicializace, zavedení a uvolnění knihoven z paměti a zobrazení hlavního okna programu. Hlavní okno je následník objektu TMDIWindow. Toto okno, někdy nazývané též rámcové okno, obsahuje neviditelné okno tzv. MDI klient, které vlastní dceřinná okna. Rámcové okno obsahuje menu, toolbar a status line - další prvky ze specifikace obecného uživatelského přístupu, které výrazně urychlují a zjednodušují práci s programem (toolbar a status line nejsou mimochodem také nic jiného, než objekty). Dále jsou v rámcovém okně implementovány procedury společné pro celý program (např. výpočet, nastavení počtu harmonických atd.). MDI klient zprostředkovává správu dceřinných oken - uspořádání do dlaždic, kaskády, ikon, překreslování atd. Všechna dceřinná okna (vstupní funkce, spektra atd.) jsou potomkem vlastního objektového typu TOkno, který je potomkem standardního objektu TWindow. Toto je klasický případ dědičnosti, jež je pro dané podmínky velmi vhodná: objekt TOkno definuje procedury a proměnné společné pro všechna dceřinná okna (procedury pro tisk, proměnné zoom...). Vlastní dceřinná okna pak modifikují pouze metody, specifické pro to které okno (překreslování, obsluha myši...). Velmi důležitý je objekt TObj, následník „praotce" všech objektů - objektu TObject. TObj obsahuje data potřebná většinou oken programu. Samostatnou část programu tvoří kontextově závislá nápověda, která akceptuje všechny konvence obecného uživatelského přístupu - počínaje nerolujícími nadpisy oddílů, hypertextovými a hypergrafickými odkazy konče.
Podívejme se nyní blíže na vybrané zajímavé části programu. K interaktivnímu zadávání vstupní funkce se používá vykreslování technikou pružných objektů - metoda používaná ve většině grafických editorů - průběžný výsledek uživatelovy aktivity se zobrazuje a maže pomocí logické funkce XOR (exclusive OR). Jedním z nástrojů k tomuto kreslení určených je i spojitá křivka. Pro interpolaci byla použita Fergusonova kubika. Tato kubika je řízena dvěma krajními body (P0, P1) a vektory v nich (P’0, P’1). Krajní body jsou významné pro polohu křivky - křivka jimi prochází, vektory určují vyklenutí křivky. Matematický zápis má tvar: P(t) = P0F1(t) + P1F2(t) + P’0F3(t) + P’1F4(t), kde F1-4 jsou kubické Hermitovské polynomy tvaru: F1(t) = 2t3 - 3t2 + 1; F2(t) = -2t3 + 3t2; F3(t) = t3 - 2t2 + t; F4(t) = t3 - t2; Pokud uživatel zadává určitý průběh, jsou průběžně počítány a překreslovány vždy dvě tyto kubiky. Další zajímavá část programu je dynamicky linkovaná knihovna (DLL) s filtrační funkcí. Filtrační funkce jsou v dostupné literatuře velmi málo popsány a řada programátorů o nich zřejmě ani neví. Jedná se o funkce zapojené do řetězce distribuce a zpracování zpráv. Tím je umožněno provedení určité akce dříve, než danou zprávu obdrží okno, pro které je určena. V programu Harmonická analýza je takovýto filtr (hook) konkrétně použit pro ošetření uvolnění pravého tlačítka mimo oblast toolbaru. V průběhu výpočtu je cyklicky volána procedura Multitaskuj, která má za úkol „udržet Windows při životě". Podle výše nastíněné funkce multitaskingu ve Windows by se totiž v případě nezavolání procedury Multitaskuj prováděl výpočet a ostatní úlohy by nedostávaly žádné zprávy. Laicky řečeno: po dobu výpočtu by Windows zdánlivě „zamrzl" a funkce by se obnovila až po ukončení výpočtu (ve skutečnosti Windows „žijí" a zprávy se shromažďují do fronty zpráv, pouze je pozastavena distribuce zpráv). Takové chování se však u programů pro Windows objevuje také, zejména u životně důležitých funkcí (např. ukládání souboru...), kdy není bezpečné ponechat uživateli „volnost". Tato situace se objevila i v našem programu - totiž u překreslování okna s harmonickými složkami. Takováto „nečinnost" Windows se standardně dává uživateli najevo změnou kurzoru myši na symbol přesýpacích hodin, což akceptuje i program Harmonická analýza.

VÝSLEDKY

Byl vytvořen program fungující v prostředí Microsoft Windows, což mu dodává atraktivní vzhled a uživatelskou přívětivost. Ovládání použitím myši je velmi snadné a rychle pochopitelné.
Co vlastně program umožňuje? V okénkovém prostředí je uživateli umožněno jednoduché snadno pochopitelné zadání vstupní, analyzované funkce. Po provedení výpočtu má uživatel k dispozici výsledky ve formě spekter, číselných výsledků, harmonických složek a funkce po harmonické syntéze. Dále je možné provést filtraci sinových, kosinových složek, lichých, sudých harmonických, nebo dvou pásem. S touto funkcí souvisí i zjištění šířky pásma, což umožňuje zjistit šířku pásma harmonických složek pro uživatelem zadanou amplitudu.
Uveďme několik příkladů nasazení našeho programu:
a) Signál o známém tvaru periody a určité frekvenci je třeba přenést tak, aby se jeho tvar jen minimálně změnil. Jakou minimální mezní frekvenci musí mít vedení? Po nakreslení tvaru periody a výpočtu z výsledků jednoduše poznáme, jak je signál bohatý na vysokofrekvenční harmonické složky. Čím vyšší je jejich amplituda, tím širší kmitočtové pásmo bude nutné bezchybně přenést. Zde lze použít nástroj šířka pásma. (Největší obsah vyšších harmonických má např. obdélníkový signál a průběhy obsahující četné skokové změny hodnoty.) Limitací hloubky analýzy pouze pro několik prvních harmonických a následném vykreslení syntézy těchto složek uvidíme přibližně do jaké míry se signál změní.
b) Přes digitálně-analogový převodník jsme sejmuli vzorek zvukového signálu. Pomocí našeho programu zjistíme snadno jeho frekvenci, což lze efektivně využít např. pro ladění hudebních nástrojů. Přesnost změření frekvence tónu je mimořádně vysoká. Při vzorkovací frekvenci 44 kHz a délce vzorku 5 sekund se nám podařilo změřit frekvenci 500 Hz s přesností 0.2 Hz. Kmitočet signálu složitějšího tvaru, obsahující vyšší harmonické (např. zvuk kytary) se podařilo změřit s přesností 0.067 Hz, zde jsme vyhledávali druhou harmonickou.

Základní části programu Harmonická analýza:

Menu

Menu je řádek nabídek programu umístěný pod záhlavím aplikace. Je to hlavní prostředek pro přístup k funkcím programu. Lze jej obsluhovat myší, klávesnicí (F10 nebo ALT + kurzorové klávesy), nebo zkratkovými povely (ALT + podtržené písmeno).

Struktura hlavního menu v programu:

Soubor

obsahuje položky určené k práci se soubory, tiskem a ukončení programu: nový, otevřít, uložit, tisk, nastavení tiskárny, konec

Úpravy

obsahuje nástroje pro práci se schránkou (clipboardem). Tyto nástroje jsou určeny pouze pro okno s číselnými výsledky.
Pro ostatní okna je určen nástroj kopírovat, který vloží do schránky bitovou mapu s obsahem aktuálního okna. Položky: zpět, vyjmout, kopírovat, vložit, vymazat, vymazat vše, hledat, hledat další, zaměnit, analyzuj

Nástroje

obsahuje nástroje rozšiřující možnosti programu: filtrace harmonických, zjištění šířky pásma, analýza zvuků.

Volby

obsahuje položky umožňující nastavení různých parametrů výpočtu a zobrazení (počet harmonických, rozměry os atd.): počet harmonických, rozměr osy X, rozměr osy Y, překresli, ukazatel

Okno

obsahuje nástroje pro práci s okny: dlaždice, kaskáda, uspořádat ikony

Nápověda

obsahuje položky pro zobrazení nápovědných informací: obsah, používání nápovědy, o Harmonické analýze

Toolbar

Toolbar je řádek ikon umístěný pod menu. Slouží k rychlému a uživatelsky příjemnému přístupu k nejpoužívanějším funkcím programu. Po stisknutí pravého tlačítka myši na ikoně toolbaru se zobrazí stručná nápověda ve stavovém řádku.

Části toolbaru:

Help

otevře kontextově závislou nápovědu - help na titulní straně.

Načti funkci

zobrazí dialog pro otevření (načtení) souboru z disku. Implicitně je nastavena přípona *.FCE - vlastní formát programu. Soubor *.FCE je binární soubor. Každá hodnota funkce je zde reprezentována dvěma byty ve formátu integer. Před daty není žádná hlavička.

Ulož funkci

zobrazí dialog pro uložení souboru na disk.

Cut

funguje jen v okně s číselnými výsledky. Vyjme označený text a vloží jej do schránky.

Copy

pro okno s výsledky: zkopíruje označený text do schránky, pro ostatní okna: vloží do schránky bitovou mapu s obrázkem v aktuálním okně.

Paste

funguje jen v okně s číselnými výsledky. Vloží na místo kurzoru text ze schránky.

About

otevře dialogové okno s informací o autorech programu.

Exit

ukončí program Harmonická analýza. Vzhledem k tomu, že hlavní účel programu je poněkud odlišný např. od textového editoru, není uživatel upozorněn nebo vyzván k uložení funkce do souboru.

Nástroj čára

přepne aktuální kreslící nástroj na nástroj „čára". O úspěšnosti přepnutí, jakožto o právě aktivním nástroji informuje stavový řádek.
Nástroj „čára" se používá pro kreslení jednotlivých čar. Čára se začne kreslit stlačením levého tlačítka myši, dokud toto tlačítko není uvolněno, čára je dle techniky pružných objektů překreslována. Po uvolnění levého tlačítka je čára uznána za platnou a vstupní funkce překreslena.

Nástroj body

tato ikona přepne aktuální kreslící nástroj na nástroj „ jednotlivé body". O úspěšnosti přepnutí, jakožto o právě aktivním nástroji informuje stavový řádek.
Nástroj „jednotlivé body" se používá pro kreslení velmi krátkých impulzů (o šířce jeden bod na ose X). Bod se nakreslí stlačením a uvolněním levého tlačítka myši. Tento nástroj je spíše demonstrační - v praxi se takto úzké signály vyskytují zřídka.

Nástroj lomená čára

přepne aktuální kreslící nástroj na nástroj „ lomená čára". O úspěšnosti přepnutí, jakožto o právě aktivním nástroji informuje stavový řádek.
Nástroj „lomená čára" se používá pro kreslení lomené čáry. Čára se začne kreslit stlačením a uvolněním levého tlačítka myši. Jednotlivá zalomení jsou realizovatelná stejným způsobem, kreslení lomené čáry se ukončí stlačením pravého tlačítka myši. Po uvolnění tohoto tlačítka je lomená čára uznána za platnou a vstupní funkce překreslena.

Nástroj spojitá křivka

přepne aktuální kreslící nástroj na nástroj „spojitá křivka". O úspěšnosti přepnutí, jakožto o právě aktivním nástroji informuje stavový řádek.
Nástroj „spojitá křivka" se používá pro kreslení spojitého průběhu (spojitost prvních derivací funkce - hladkost). Technika kreslení viz lomená čára.


Princip výpočtu:
Jedná se o interpolační metodu, která pro interpolaci daných min. tří bodů používá Fergusonovu kubiku.

Nástroj skica

přepne aktuální kreslící nástroj na nástroj „ skica". O úspěšnosti přepnutí, jakožto o právě aktivním nástroji informuje stavový řádek.
Nástroj „skica" se používá pro kreslení (skicu) průběhu „od ruky". Kreslit se začne stlačením levého tlačítka myši. Dokud není uvolněno levé tlačítko, probíhá skica. Po uvolnění tohoto tlačítka je kresba uznána za platnou a vstupní funkce překreslena.

Výpočet

spouští výpočet harmonických - harmonickou analýzu funkce. Při výpočtu funguje multitasking - lze se přepnout do jiné úlohy ve Windows. Výpočet je proveden do aktuálně nastaveného počtu harmonických (viz stavový řádek). Výpočet lze zastavit tlačítkem Stop v dialogovém okně. Počet harmonických se nastaví na hodnotu, při které byl výpočet zastaven! Po ukončení výpočtu jsou aktualizována všechna okna.

Kreslit vstupní funkci

funguje jako přepínač - zobrazí, respektive skryje vstupní funkci. O aktuálním stavu informuje stavový řádek.

Kreslit výslednou funkci

opět funguje jako přepínač - zobrazí / skryje funkci získanou harmonickou syntézou daného počtu harmonických. O aktuálním stavu informuje stavový řádek.

Vstupní okno

tato ikona slouží k rychlému přepnutí do vstupního okna (okno s analyzovanou funkcí a funkcí po harmonické syntéze). Pokud je toto okno minimalizováno (je reprezentováno ikonou), dojde k zobrazení ikony - pro obnovení původní velikosti a polohy okna je třeba provést dvojstisk myši.

Okno s harmonickými

slouží k rychlému přepnutí do okna s harmonickými. Pokud je toto okno minimalizováno (je reprezentováno ikonou), dojde k zobrazení ikony - pro obnovení původní velikosti a polohy okna je třeba provést dvojstisk myši.

Okno se spektry an a bn

slouží k rychlému přepnutí do okna se spektry an a bn. Pokud je toto okno minimalizováno (je reprezentováno ikonou), dojde k zobrazení ikony - pro obnovení původní velikosti a polohy okna je třeba provést dvojstisk myši.

Okno se spektry An a jn

tato ikona slouží k rychlému přepnutí do okna se spektry An a jn. Pokud je toto okno minimalizováno (je reprezentováno ikonou), dojde k zobrazení ikony - pro obnovení původní velikosti a polohy okna je třeba provést dvojstisk myši.

Okno s číselnými výsledky

slouží k rychlému přepnutí do okna s číselnými výsledky harmonické analýzy. Pokud je toto okno minimalizováno (je reprezentováno ikonou), dojde k zobrazení ikony - pro obnovení původní velikosti a polohy okna je třeba provést dvojstisk myši.

Stavová řádka

Je poslední řádka na obrazovce. Zobrazuje aktuální souřadnice kurzoru, stav zobrazení, počet harmonických a aktuální nástroj.

Hypertextový help

Po stlačení F1 je v menu ke každé položce k dispozici kontextově závislý help. Po jednotlivých položkách helpu je možné se pohybovat pomocí klávesy TAB, nebo kurzorových kláves.

ZÁVĚR

Podařilo se nám vytvořit výkonnou a velmi užitečnou aplikaci pro Ms - Windows, jejíž praktické uplatnění v oblasti elektroniky je velmi široké. Narozdíl od podobných programů má náš produkt podstatně propracovanější styk s uživatelem. Jeho nasazení neleží jen v ryze výpočetní oblasti, nýbrž také v oblasti výuky, kde názorně demonstruje princip rozkladu periodických průběhů. Neméně významnou roli hraje možnost měření frekvencí digitalizovaného signálu. Využitím programu si mnohonásobně ulehčíme námahu při mechanickém výpočtu analýzy.