Warning
This page is located in archive.

Cvičení 7 : Simulace ultrazvuku

V tomto cvičení prozkoumáme generování ultrazvukových vln, jejich vlastnosti a vliv na charakteristiku signálu. Budeme používat simulátor Field II, což 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 akustických 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.

Simulátor FIELD II

Zadání

  1. Vytvořte akustický systém se zadanými parametry (viz. Akustický systém). [0.5b]
  2. Určeme průběh tlaku (viz. Emitované tlakové vlny). Vypočteme a vykreslete simulované tlakové pole. Diskutujte dosažené vlastnosti (axiální, laterální rozlišení) a možné vedlejší efekty v závislosti na konfiguraci akustického systému. [2.5b] (Apodizace - bonus [+1b])
  3. Simulace vlivu scattering prvků na měřenou odezvu (viz. Scattering) [2b]

Pro vypracování úkolů můžete použít připravenou šablonu

Alternativní zadání

Použijte výstupy simulace z archivu a proveďte diskuzi k otázám uvedeným u druhé a třetí části původního zadání [3b]

Oprava: V grafech aktivity detektorů jsou oproti zadání na stránce prohozené pozice bodů, tj. pro Positions 2 je scatter point umístěný na pozici [0 0 30].

Instalace

FIELD II je distribuován jako balík matlabovských funkcí pro různá operační systémy (Win, Unix, …).

  1. Stáhněte si tento soubor obsahující kompletní soubor funkcí simulátoru pro Windows (Matlab 7.10, ale funguje i v Matlabu 7.8). Pokud chcete používat Field v Unixu, nebo narazili na problemy s verzi Matlabu, stáhnete si balík ze stranek autora.
  2. Rozbalte jej do vašeho pracovního adresáře, např. g:\field.
  3. Spusťte Matlab a přidejte cestu: path(path,' g:\field');.
  4. Proveďte inicializaci: field_init;
  1. Pracujte s funkcemi simulátoru
  2. Ukončete používání simulátoru voláním field_end;

Popis funkcí

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

Akustický systém

Vytvoříme akustický systém s následujícími parametry (dejte pozor, v jakých jednotkách se předávají parametry funkcí).

  • Prostředí. Rychlost zvuku: 1540m/s.
  • Vzorkovací frekvence ultrazvukového přístroje (funkce set_sampling): 100MHz.
  • Akustický měnič – vysílač (funkce xdc_linear_array).
    • Počet piezoelektrických elementů: 64.
    • Mezera mezi elementy: 0.5 mm.
    • šířka elementu: 1.0 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.
  • Impulzní odezva vysílače (funkce xdc_impulse).
    • Nechť impulzní odezva piezoelektrického elementu má tvar sinusoidy na centrální frekvenci 7,5MHz modulované Gaussovou křivkou.
    • Poměrnou šířkou pásma 50% na úrovni -6dB. Délku impulzové odezvy zvolte podle čas. okamžiků v nichž obálka signálu klesne pod -40dB oproti maximální amplitudě signálu (funkce gauspuls).
      • cutoff_time = gauspuls('cutoff', f, d, l, k)
        • f je centrální frekvence sinusoidy [Hz],
        • d je šířka pásma (1 pro 100%),
        • l je zvolená úroveň xx dB,
        • k cutoff až klesne pod xx dB
      • odezva = gauspuls(t, f, d, l), 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),
        • f je centrální frekvence sinusoidy [Hz],
        • d je šířka pásma (1 pro 100%),
        • l je zvolená úroveň xx dB.
  • Budicí signál transduceru - nastavte pouze pro vysílač (funkce xdc_excitation). Prozatím zvolte diskrétní Diracův impuls (odezva je 1).

Emitované tlakové vlny

Při přivedení budícího signálu 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í signál, tj. jsme schopni zjistit časově proměnný průběh tlaku v libovolném bodě. Analogický případ je, kdy pomocí hydrofonu (snímač tlaku) měříme tlakový puls vysílaný sondou ultrazvukového přístroje.

Vysílač sestrojený v Akustický systém vyšle ultrazvukový paprsek “rovně” ve směru osy Z. Paprsek je zaostřený na vzdálenost 30mm.

  1. Určete a zobrazte průběh tlaku přes body rovnoměrně rozložené s krokem 0,02mm na přímce, která je rovnoběžná s osou x a prochází ohniskem od -1mm do 1mm. Pro tuto přímku platí, že axiální vzdálenost (souřadnice z) je 30mm, souřadnice y je 0. Souřadný systém, viz. sekce Popis funkcí. Proveďte stejnou simulaci také pro přímku ve vzdálenosti 25mm a 35mm.
  2. Vypočtěte tlakové pole funkcí calc_hp. Zobrazte pole hp, ve kterém jsou uloženy průběhy tlaků zvolenými body.
  3. Zobrazte průběh maxim tlaků v dB pro všechny přímky a porovnejte s tlaky pro přímku ve vzdálenosti 30 mm. Co z toho můžeme vyvodit o zaostření?
  4. Pro určení hodnoty laterálního rozlišení systému je důležitá znalost maxim tlaků v laterálním (x-ovém) směru. Pro každý bod určete maximum absolutní hodnotu tlaku, který v něm byl zjištěn (pro i-ty bod jej označme Pm_i). Zobrazte průběh normalizovaný průběh maxim tlaků v dB. 20*log10[ Pm_i / max(Pm_i) ]
  5. Pro přímku ve vzdálenosti 30mm si všimněte postranních laloků. Jakým způsobem negativně ovlivňují parametry ultrazvukového přístroje?
  6. Jaký vliv má změna centrální frekvence na rozlišení a postranní laloky? Vyzkoušejte pro tři různé frekvence a diskutuje.
  7. BONUS: pokuste se eliminovat postranní laloky pomocí apodizace (funkce xdc_apodization, profil zvolte např. hanning, blackmann), zobrazte průběh tlaku jako u předchozích nastavené, diskutujte vliv na laterální rozlišení.

Scattering

Opět použijeme vysílač sestrojený v první části (Akustický systém), tentokráte budeme sledovat časový průběh měřeného signálu na poli přijímačů. Ohniskovou vzdálenost ponecháme na 30 mm a do signálu budeme vkládat bodové prvky, které budou simulovat odraz (přesněji scattering) vysílané vlny.

  1. Definujte souřadnice bodů, ve kterých budeme simulovat scattering
  2. Pomocí funkce [V, t] = calc_scat_multi (emitter, receiver, positions, amp); nasimulujeme časový průběh měřeného signálu jednotlivých prvků v poli přijímače
  3. Vykreslete normalizované aktivace jednotlivých komponent do jednoho grafu pod sebe (např. postupným vykreslením s přidáváním offsetu pro každou linii:
    for i = 1:nElements
      plot(time_axis, V(:,i) + i), hold on
    end
    hold off;
  4. Vykreslete také časový průběh součtu (přes prvky nElements) normalizovaných aktivací
  5. Diskutujte naměřené aktivace a následující skupiny bodů:
    % Skupina (1)
    positions = [ 0.0 0.0 30; 0.5 0.0 20] / 1000;
    amp = [1; 0.4];
     
    % Skupina (2)
    positions = [-0.7 0.0 30; 0.5 0.0 20] / 1000;
    amp = [1; 0.4];
  6. Jak se změní aktivita na přijímačích pro druhou skupinu bodů pro centrální frekvence 3 a 6 MHz a proč? (Průběh tlaků pro dané frekvence můžete zobrazit pomocí předchozí podúlohy)
  7. (BONUS) Jak se liší výstup pro druhou skupinu při zapnuté/vypnuté apodizaci?
courses/a6m33zsl/lab07_usound2.txt · Last modified: 2018/04/14 09:09 by herinjan