Simulátor FIELD II (cvičení pro ZSL2)

Úvod

FIELD II je programové prostředí tvořené souborem matlabovských funkcí, které umožňuje numerickou simulaci ultrazvukového signálu. Program je schopen numerické simulace vyslaného a přijatého akustického tlakového pole pro širokou škálu akustickych měničů (transducerů). Na základě takto nasnímaných dat jsme schopni zrekonstruovat snímek např. struktury měkké tkáně, jaký bychom získali konvenčním ultrazvukovým přístrojem. 

Princip simulace

Simulace je založena na Tupholme-Stepanishenově modelu. Tento model vychází z předpokladu, že se akustický systém chová lineárně.

 

Z terorie signálu víme, že lineární systém lze popsat pomocí impulzní odezvy. V našem případě je vstupem do systému elektrický signál, který rozkmitá piezoelektrické elementy akustického měniče vysílající tlakový puls do prostředí. V určitém, pevně stanoveném bodě můžeme pozorovat změny hodnot tlaku v čase (Obr. 1). Je-li budícím signálem Diracova distribuce můžeme časově proměnné hodnoty tlaku považovat za impulzní odezvu, označme ji h1(t,r1). Hodnota tlaku pro libovolný budicí signál je dána jeho konvolucí se zjištěnou impulzní odezvou. Ovšem impulzní odezva je prostorově závislá, tj. v jiném bodě zjistíme jinou impulzní odezvu. Z tohoto důvodu h1(t,r1) nazýváme prostorovou impulzní odezvou. Pomocí ní jsme schopni určit průběh tlaku v libovolném bodě pro daný budící signál.   

 

Obr. 1 – Akustický system popsaný lineárním modelem.

Analogicky definujeme prostorovou impulzní odezvu h2(t,r1) pro příjem. Ta je rovna příjaté odezvě na kulovou tlakovou vlnu s počátkem v určitém bodě.


Ze znalosti prostorové impulzní odezvy pro vysílání a příjem můžeme určit celkovou impulzní odezvu akustického systému jako konvoluci těchto dvou impulzních funkcí a elektro-mechanické přenosové funkce ultrazvukového měniče. Tato funkce plně popisuje akustický systém a přijatý elektrický signal je určena konvolucí celkové impulzní odezvy a budícího signálu.

 

Podrobnější popis je v tomto dokumentu.

 

Instalace

Popis instalace simulátoru FIELD.

Popis funkcí

Výpis a popis funkcí, které budete potřebovat.

 

Poznámky k tomuto cvičení

Při odevzdávání přiložte zdrojový kód. NEPOPISUJTE jak jste co udělali (to je zde na stránkách). Pouze odpovězte na zadané otázky a zobrazte požadované grafy, obrázky, hodnoty. Modře jsou vyznačeny kroky co máte naprogramovat a červeně věci co mají být ve zprávě.

Část 1

Moderní ultrazvukové sondy jsou tvořeny polem piezoelektrických elementů, ktere slouží zároveň jako zdroje a snímače ultrazvukových pulsů. Existuje několik způsobů jejich fyzického rozmistění (lineární, linerání zakřivené, kruhové). Na tomto cvičení budeme zkoumat vlastnosti sondy složené z lineárního pole piezoelektrických elementů obdélníkového průřezu.

Vytvorili jsme akustický systém (stahnite si tento skript) s následujícími parametry:

  • Prostředí. Rychlost zvuku: 1540 m/s.
  • Vzorkovací frekvence ultrazvukového přístroje (funkce set_sampling): 100 MHz.
  • Austický měnič – vysílač (funkce xdc_linear_array). 
    • Počet piezoelektrických elementů: 128.
    • Mezera mezi elementy: 0,02 mm.
    • Šířka elementu: 0,2 mm.
    • Výška elementu: 5 mm.
    • Souřadnice ohnisko: [0 0 30]  mm.
    • Dělení elementu podél šířky zvolte: 1
    • Dělení elementu podél výšky zvolte: 4.
  • Akustický měnič – přijímač (funkce xdc_linear_array). Stejné parametry jako vysílač.
  • Impulzní odezva akustického měniče – nastavte pro vysílač i přijímač (funkce xdc_impulse).
    • Nechť impulzní odezva piezoelektrického elementu má tvar sinusoidy na centrální frekvenci 7,5 MHz modulované gaussovou křivkou.
    • Poměrnou šířkou pásma 50% na úrovni -6 dB. Délku impulzni odezvy zvolte podle čas. okamžiků v nichž obálka signálu klesne pod -40 dB oproti maximální amplitudě signálu (funkce gauspuls).
      • odezva = gauspuls(t, centrální frekvence sinusiody [Hz], šířka pásma (1 pro 100%), na úrovni xx dB), kde t jsou časy ve kterých je odezva vzorkována (od -cutoff time do cutoff time a krok je 1/vzorkovací frekvence přístroje). Jak získat cutoff time viz níže.
      • cutoff time = gauspuls('cutoff', centrální frekvence [Hz], šířka pásma, na úrovni xx dB, cutoff až klesne pod xx dB).
  • Budicí signál transduceru - nastavte pouze pro vysílač (funkce xdc_excitation). Prozatím zvolte diskrérní Diracův impuls (odezva je 1).

Poznamka:

Nezapomente, ze system FIELD II je treba inicializovat pomoci prikazu: field_init; Po ukonceni prace s treba zavolat funkci: field_end;

Úkol 1-1

Každý z piezoelektrických elementů si můžeme představit jako pásmovou propust s impulzni odezvou, která se v prostředí FIELD II zadává funkcí xdc_impulse.

Úkol 1-2

Při přivedení budícího signalu na piezoelektrické elementy dojde k jejich rozkmitání a transducer vyšle do prostředí akustický puls, následkem něhož dochází ke změnám tlaku. Simulátor FIELD II nám umožňuje stanovit takovéto tlakové pole pro zvolený transducer a budící signal, tj. jsme schopni zjisit časově proměnný průběh tlaku v libovolném bodě. Toto je analogické případu, kdy pomocí hydrofonu (snímač tlaku) měříme tlakový puls vysílaný sondou ultrazvukového přístroje. Vysílač sestrojený v Kroku 1 vyšle ultrazvukový paprsek "rovně" ve směru osy Z. Paprsek je zaostřený na vzdálenost 30mm. Toto  

 [emittedPressureField, startTime] = calc_hp(hndEmitter, hydrophonePoints);

             20*log10[ Pm_i / max(Pm_i) ].

 

Část 2

Po přijetí jsou odražené RF signály zpracovány ultrazvukovým přístrojem způsobem, který je schématicky zobrazen na Obr. 3.

 

  • Filtrace pásmovou propustí – parametry pasmové propusti se volí tak, aby všechny složky mimo frekvenční pásmo sondy byly potlačeny.
  • Detekce obálky – označme r(t) RF signál, pak jeho obálka e(t) je dána vztahem, kde H{r(r)} je Hilbertova transformace signálu r(t) daná vztahem

  • Příklad RF signálu a jeho obálky je na Obr. 4.
  • Logaritmická komprese amplitudy – v této fázi jsou mají hodnoty obálky e(t) velkou dynamiku, která by na snímku zabránila rozpoznat malé detaily. Proto se provádí logaritmická komprese hodnot:

v(t) = log(e(t))    

  • Nyní můžeme hodnoty v(t) zobrazit jako intenzity voxelů.
  • V případě, že RF data byla naměřena v sektorovém módu, musíme ještě provést interpolaci těchto hodnot do pravoúhlé mřížky snímku.

Obr. 3 – Zpracování naměřených RF signálů.

Na výpočet obrázku můžete použít skript  doLinearScanning.m. Skript rovede linearní skenování oblasti a zobrazí výsledek. Projděte si zdrojový kód a identifikujte jednotlivé části: nastavení parametů sondy, inicializece struktury příjímače/vysílače, definice prostředí pomocí pozic diffuzérů a jejich koeficientů odrazu, způsob nastvení směru paprsku / ohniska, zpracování RF dat, konverze dat na snímek ve stupních šedi.

Úkol 2-1

V simulátoru FIELD II budeme používat virtuální diagnostický ultrazvukový přístroj se stejnými parametrami jako v části 1.

V prostředí FIELD se ultrazvukový paprsek směruje a zaostřuje pomocí příkazu xdc_center(Th, A) a xdc_focus(Th, 0, B), kde Th je ukazatel na strukturu ve, které jsou uloženy parametry vysílače / přijímače.  Takto nastavený vysílač vyšle ultrazvukový pulz z bodu A procházející bodem B (souřadnice v [m]). Tento Navíc paprsek bude mít ohnisko v bodu B. Souřadnicový systém, viz. Obr. 6.

 

Zjistíme rozlišení v axiálním a laterálním směru, vykreslíme distribuci energie paprsku pro systém s jedným ohniskem:

  1. Axiální rozlišení – určení axiálního rozlišení v ohnisku pro lineární skenování.
    1. Teoretické axiální rozlišení vypočtěte podle.
    2. Experimentálně určete axiální rozlišení modifikací souboru doLinearScanning.m. Graficky znázorněte průběh intenzity jasu podél paprsku procházející ohniskem v závislosti na vzdálenosti. Axiální rozlišení určete jako délku na ose x, kde hodnota intenzity pulsu je větší než polovina její maximální hodnoty.
  2. Laterální rozlišení – stanovení laterálního rozlišení v ohnisku.
    1. Experimentálně zjistěte laterální rozlišení modifikováním zdrojového kódu doLinearScanning.m a vykreslete průběh intenzity jasu v laterálním směru na úrovni ohniska. Stejně jako v bodě a) ii. určete laterální rozlišení jako délku, kde hodnota pulse je větší než polovina maximální hodnoty.

Úkol 2-2

Proveďte simulaci ultrazvukového snímku měkké tkáně, ve které je vidět struktura cysty. Odpovídající množinu difuzérů spolu s jejich koeficienty odrazu získáte funkcí generateCystPhantom(N), jejímž vstupem je počet difuzérů; N zvolte 1000.

   [phntPoints, phntCoefs] = generateCystPhantom(1000);

 

Modifikujte soubor doLinearScanning.m a zobrazte výsledné obrázky!