ĆWICZENIE 6/7. NUMERYCZNE MODELOWANIE ZJAWISKA PROPAGACJI ŚWIATŁA. ZAPROJEKTOWANIE I WYKONANIE HOLOGRAMU SYNTETYCZNEGO OBIEKTU TRÓJWYMIAROWEGO Wstęp teoretyczny Celem niniejszego cyklu ćwiczeń laboratoryjnych jest przygotowanie sceny przestrzennej oraz obliczenie tworzonego przez nią rozkładu pola dyfrakcyjnego w płaszczyźnie hologramu Fresnela. Obliczony rozkład pola posłuży do sporządzenia hologramu syntetycznego w dalszej części cyklu. Numeryczna propagacja monochromatycznego pola świetlnego. y y Q x r P x z W celu obliczenia zespolonej amplitudy pola świetlnego u w odległości z od rozkładu wejściowego u należy obliczyć poniższą całkę. Zakładamy parametry typowe dla strefy Fresnela. u ( ikz) [ ] dx + exp ik ( x y ) = u( x, y ) exp ( x x ) ( y y ) d i z + λ z, y () Obliczenia mogą zostać dokonane różnymi sposobami.
Bezpośrednia metoda. Polega na bezpośrednim liczeniu numerycznym całki (). Istnieje tu jednak poważny problem. Parametr z występujący w czynniku Fresnela jest umieszczony w mianowniku ułamka. Stąd przy małej wartości parametru z występują duże zmiany fazy, co z kolei powoduje szybkie oscylacje. Niezbędne jest duża ilość punktów próbkowania w płaszczyźnie x,y. We współrzędnych kartezjańskich całkę () można przepisać do następującej postaci: u + ( x, y ) u exp = iλz ( ikz) ik exp ( x + y ) ik z z ( x, y ) exp ( x + y ) exp ( x x + y y ) dxdy πi zλ () Całka może być liczona przy użyciu standardowych metod numerycznych (np. metodą prostokątów, trapezów itp.). Należy pamiętać, że obliczane wielkości są liczbami zespolonymi. Zaletą metody jest łatwość przeskalowywania współrzędnych x,y oraz x,y. Wadą jest bardzo długi czas obliczeń. Metoda FFT. Metoda bazuje na fakcie, że zespoloną amplitudę w płaszczyźnie wyjściowej można przedstawić w postaci transformacji Fouriera pola wejściowego pomnożonego przez czynnik Fresnelowski: u ( x, y ) exp iλz ( ik z) ik ik exp ( x + y ) u ( x, y ) exp ( x + y ) = (3) z I, gdzie I { } oznacza transformację Fouriera. Podstawową zaletą metody jest szybkość obliczeń. Często za wadę metody uważa się, że współrzędne wejściowe (x,y ) i wyjściowe (x,y ) są przeskalowane przez czynnik, który zależy od odległości z. Płaszczyzna wyjściowa powinna być próbkowana z inną częstotliwością niż płaszczyzna wejściowa. Istotnym mankamentem jest fakt, że parametr z w czynniku Fresnela jest umieszczony w mianowniku ułamka. Małe zmiany parametru z powodują duże zmiany fazy, co z kolei powoduje szybkie oscylacje. Niezbędne jest duża ilość punktów próbkowania w płaszczyźnie x,y. z ν ν x, y SPLOT dwukrotne użycie FFT w celu obliczenia splotu. Metoda bazuje na rozkładzie pola wejściowego na fale płaskie. Warto wspomnieć, że jest to bardziej ogólne podejście do zagadnienia dyfrakcji niż całka (). Jest to praktycznie zupełnie ścisła metoda w ramach skalarnej teorii dyfrakcji.
u exp iλz ( ikz) ik ( ) ( x, y) = u( x, y) h( x, y;, z) ; h( x, y; λ, z) = exp x + y λ (4) Rozkład wyjściowy można przedstawić jako splot rozkładu wejściowego z funkcją odpowiedzi impulsowej swobodnej przestrzeni. H z ( ν ν ) I{ h( x, y) } = exp( ikz) exp[ iπλ z( ν + ν )] x, y = x y (5) Istnieje również następująca interpretacja. Rozkład wejściowy jest rozkładany na fale płaskie o różnych amplitudach i kątach propagacji. Każda fala płaska - niezależnie od innych - doznaje stosownego opóźnienia fazowego. Rozkład wyjściowy jest superpozycją "skorygowanych" fal płaskich. W celu łatwego i szybkiego obliczenia splotu korzysta się z procedury FFT - jako narzędzia metod numerycznych. Pole wejść. u (x,y) FFT Mnożenie zespolone z H FFT - Pole wyjść. u (x,y) Algorytm Do zalet metody można zaliczyć dwa fakty. Wejściowe (x,y ) i wyjściowe (x,y ) współrzędne są identyczne. Faza funkcji przenoszenia H(ν X,ν Y ) liniowo zależy od z. Projekt sceny przestrzennej Ze względu na specyfikę metody używanej do obliczania rozkładów dyfrakcyjnych w strefie Fresnela pochodzących od obiektów przestrzennych, wymagane jest by obiekty te składały się z płaszczyzn równoległych do hologramu. Mogą to być np. przekroje poprzeczne obiektu trójwymiarowego. Ze względu na długi czas obliczeń rozkładu pola od każdej z płaszczyzn, sugerowany jest dobór prostych obiektów, złożonych z nie więcej niż kilku - kilkunastu płaszczyzn. 3
Rys.. Przykładowa scena przestrzenna: prostopadłościan podzielony na płaszczyzny. Uwaga! Wykonujący ćwiczenie powinni przygotować obiekty w ramach przygotowania do zajęć laboratoryjnych (przed zajęciami), w postaci bitmap (format BMP) o rozmiarach 04x04 punkty, w trybie indeksowym 8 bitów na punkt (indeks 0 odpowiada czerni, indeks 55 bieli). Pole dyfrakcyjne pochodzące od zaprojektowanej sceny przestrzennej będzie obliczane przy pomocy programu LS60. Program ten jest dostępny w Pracowni Informatyki Optycznej IF PW. Po uruchomieniu programu LS60 najpierw należy utworzyć nową tablicę w której będzie zapisywany rozkład zespolonej amplitudy poprzez File > New i wybieramy rozmiar tablicy na 04x04. Następnie z menu Options > Configuration ustawiamy w odpowiedniej zakładce długość fali świetlnej ( Lambda ) 0,000638 mm - długość fali generowanej przez laser He-Ne, który będzie używany do rekonstrukcji obrazu zapisanego na wykonanym hologramie. Konieczne jest także zadeklarowanie odległości próbkowania. Proponowana odległość próbkowania wynosi 0,0 µm w obu kierunkach ( Sampling X oraz Sampling Y ), co odpowiada rzeczywistym rozmiarom hologramu 0,48 x 0,48 mm. Import utworzonej sceny do programu LS60 Program LS60 pozwala na stworzenie prostych scen, złożonych z płaszczyzn równoległych do hologramu. W przypadku skomplikowanych scen jest jednak wygodniej zaprojektować je przy użyciu specjalizowanych programów graficznych (np. Adobe Photo Shop, Paint Shop Pro, Photo Styler, Photo Paint, Paint Brush) oraz zapisać jako zestaw bitmap odpowiadających kolejnym płaszczyznom sceny. Program LS60 potrafi zaimportować (przetworzyć na własny format) bitmapy spełniające następujące warunki: a. bitmapa musi być formatu BMP (niekompresowanego), b. musi być w 8 bitowym trybie indeksowym; zakładane jest, że indeks odpowiada jednemu z 56 odcieni szarości, c. bitmapa powinna być rozmiaru N x N punktów, gdzie N jest potęgą liczby. Wszystkie bitmapy wchodzące w skład danej sceny muszą mieć te same rozmiary. 4
Dla celów ćwiczenia najodpowiedniejsze będą bitmapy 04x04 punkty. Elementy sceny powinny mieć odcień szarości równy 55, a tło 0 (czerń). Ze względu na długi czas obliczeń proponowane jest podzielenie sceny przestrzennej na max 0-0 płaszczyzn. Program ls60 zapisuje rozkłady amplitudy zespolonej we własnym formacie: pary liczb typu single, odpowiadające części rzeczywistej i urojonej (po 4 bajty) amplitudy zespolonej w kolejnych punktach kolejnych rzędów, zapisane w pliku z rozszerzeniem TAB. W trakcie ćwiczenia należy zaimportować przyniesione bitmapy jako rozkłady amplitudy (a właściwie części rzeczywiste amplitudy zespolonej) kolejnych płaszczyzn sceny i zapisać jako pliki TAB. Import bitmapy następuje przez wybranie opcji Import from BMP z menu Create. Kompozycja sceny przestrzennej z płaszczyzn Do oświetlania sceny wykorzystywana będzie fala płaska, propagująca się wzdłuż osi układu w kierunku hologramu (zakładamy, że osią układu jest prosta prostopadła do płaszczyzny hologramu, przecinająca go w jego środku). Program LS60 pozwala na wygenerowanie takiego oświetlenia. Stosowane są dwie metody zapisu na hologramie syntetycznym scen składających się z płaskich obiektów, położonych na równoległych płaszczyznach: ) pola w płaszczyźnie hologramu są od każdej z płaszczyzn liczone niezależnie, a następnie sumowane - można uzyskać w ten sposób hologram przenikających się obiektów samoświecących ) liczone jest pole od płaszczyzny położonej najdalej od hologramu, w drugiej co do odległości płaszczyźnie. Następnie pole to jest modyfikowane przez funkcję transmitancji obiektu w leżącego w tej płaszczyźnie (dla obiektów binarnych: pole jest zerowane tam, gdzie obiekt jest nieprzejrzysty i niemodyfikowane tam, gdzie obiekt jest przejrzysty) i podejmowane jest obliczanie pola w kolejnej płaszczyźnie. W ten sposób można uzyskać efekt przesłaniania obiektów. Można oczywiście korzystać zamiennie z obu metod przy wykonywaniu konkretnego hologramu. Cały obiekt należący do zaprojektowanej sceny przestrzennej powinien być umieszczony w odległości nie mniejszej niż 300 mm i nie większej niż 000 mm od płaszczyzny hologramu. Tak więc sam obiekt powinien mieć głębię rzędu kilkuset milimetrów. 5
Nałożenie na sceny przypadkowego rozkładu fazy Na kolejne płaszczyzny sceny (zaimportowane z bitmap i zapisane w plikach typu TAB) należy nałożyć przypadkowe rozkłady fazy (rozpraszacze) - przez wybranie opcji Diffusor z menu Structure. Umożliwiają one zmniejszenie dynamiki rozkładu amplitudy pola dyfrakcyjnego w płaszczyźnie hologramu. W takiej sytuacji można założyć, że amplituda na hologramie jest stała (równa ) i pominąć przy jego zapisie informacje o zmianach amplitudy. Upraszcza to w znaczący sposób kodowanie rozkładu pola i wykonanie hologramu (ale jest to dosyć grube przybliżenie). Propagacja Przy pomocy programu LS60 należy wyznaczyć rozkład pola dyfrakcyjnego w strefie Fresnela w płaszczyźnie hologramu, pochodzącego od każdej z płaszczyzn sceny z nałożonym rozpraszaczem (opcja Propagation on-axis w menu Propagation ). Należy dokonać obliczeń z przepisywaniem danych na wektor podwójnej długości, czyli zastosować okna propagacji. Przewidziany zakres odległości obiektu od płaszczyzny hologramu (od 300 mm do 000 mm) pozwala na policzenie rozkładu pola od każdej z płaszczyzn obiektu w jednym kroku propagacji. Obliczenie sumarycznego pola w płaszczyźnie hologramu Obliczone pola dyfrakcyjne od każdej z płaszczyzn sceny przestrzennej muszą zostać zsumowane (w sposób zespolony). Czynność ta wykonywana jest przy użyciu opcji Mathematical > Addition w menu Operations. Polecenie to dodaje do rozkładu amplitudy zespolonej przechowywanego w pamięci komputera, rozkład zawarty we wskazanym pliku TAB. Należy w ten sposób dodać rozkłady pól pochodzące od wszystkich płaszczyzn sceny. W powyższy sposób otrzymuje się rozkład pola dyfrakcyjnego w płaszczyźnie hologramu obiektu samoświecącego. Generacja wydruku W tym punkcie należy dokonać binaryzacji fazy (opcja Phase conversion w menu Operations. Parametry Intensity CA, Constant Amplitude Level = 0). Następnie należy wykonać ekport bitmapy natężenia (Intensity) do pliku. Plik należy wydrukować (np. wczytując go do MS Word i wydrukować). Wykonanie hologramu syntetycznego Hologram syntetyczny zostanie wykonany poprzez fotograficzne zmniejszenie zakodowanego na wydruku rozkładu fazy. Pomniejszenie najprościej jest wykonać aparatem fotograficznym, który powinien być zaopatrzony w dobrze skorygowany obiektyw, przenoszący 6
wysokie częstości przestrzenne. Aparat należy załadować płytką holograficzną Agfa-Gevaert 0E56 (najlepiej anti-halo) (o rozdzielczości ok. 800 linii/mm), przyciętą do rozmiaru ok. 4x36 mm. Uwaga! Przycinanie, ładowanie do aparatu i obróbka chemiczna ww. płyt holograficznych musi być przeprowadzana przy czerwonym świetle. Wydruk zakodowanej fazy należy zamocować w pozycji pionowej, na stabilnym przedmiocie. Oś optyczna obiektywu aparatu fotograficznego powinna być skierowana prostopadle na centrum płaszczyzny wydruku. Przysłonę obiektywu należy ustawić na 5.6, a czas otwarcia migawki na ręczne sterowanie. Migawka powinna być uruchamiana wężykiem (aby uniknąć poruszenia aparatu fotograficznego). Wydruk ma zostać pomniejszony do rozmiarów 0,48x0,48mm (rozmiar hologramu zadeklarowany w programie LS60 podczas obliczania rozkładu pola dyfrakcyjnego). Do oświetlenia wykorzystane zostaną dwie lampy halogenowe, ustawione w odległości ok. 70 cm od wydruku (Rys. ). Rys.. Układ wykorzystywany do fotograficznego pomniejszania zakodowanego rozkładu fazy, zapisanego na wydruku drukarki laserowej. W aparacie fotograficznym znajduje się fragment płyty holograficznej. Przykładowe parametry naświetlania i obróbki chemicznej Hologram należy naświetlać ok. - sekund, wywoływać 3 minuty w wywoływaczu A-7, utrwalać 6 minut w utrwalaczu U i płukać w bieżącej wodzie ok. 0 minut. Uzyskana płytka jest po wysuszeniu gotowym binarnym hologramem amplitudowym. 7
Obserwacja obrazów tworzonych przez hologram syntetyczy Uzyskany binarny hologram amplitudowy tworzy na osi optycznej dwa obrazy zarejestrowanego obiektu: pozorny i rzeczywisty (- i + rząd ugięcia), w które kieruje tyle samo światła (teoretycznie po ok. 0%). Ponadto tworzone są znacznie słabsze, wyższe rzędy ugięcia. Duża część padającego światła jest pochłaniana przez hologram (ok. 50%), natomiast połowa przechodzącego światła nie jest uginana na hologramie (wiązka rzędu zerowego), tworząc znaczny szum w obszarze formowania obrazów + i - rzędu. Oprócz obrazów na osi optycznej, powstają również obrazy pozaosiowe - szczególnie dobrze widoczne jako obrazy pozorne. Ich istnienie wynika z próbkowania rozkładu amplitudy zespolonej w płaszczyźnie hologramu, prowadzącego do powielania się obrazów sceny. Obserwacja obrazów pozornych tworzonych przez hologram jest możliwa przy użyciu monochromatycznego źródła światła o odpowiednio dużej spójności przestrzennej. Rolę takiego źródła światła może pełnić np. lampa sodowa osłonięta przysłoną z okrągłym otworkiem lub rozszerzona i osłabiona wiązka światła laserowego. Wygodnie jest używać do obserwacji fali kulistej, tworzonej przez pinholę oświetloną laserem He-Ne o małej mocy. W odległości kilku metrów fala ta ma już odpowiednio małe natężenie by nie uszkodzić wzroku i wystarczająco duży promień krzywizny by zniekształcenia wywołane sferycznością wiązki nie były dostrzegalne. W trakcie obserwacji obrazu pozornego należy umieścić hologram w odległości kilku centymetrów od oka. Jeżeli zarejestrowana na hologramie scena ma dużą głębię, będzie można dostrzec paralaksę w obrazie przy ruchach głowy lub hologramu. W trakcie ćwiczenia należy również wykonać zdjęcia kilku płaszczyzn sceny przestrzennej. Do tego celu wykorzystywany będzie obraz rzeczywisty. Do oświetlenia hologramu zostanie wykorzystany laser He-Ne (generujący światło o zadeklarowanej w trakcie obliczeń długości fali 0,638µm), którego wiązka zostanie ukształtowana w falę płaską. Zapewni to uzyskanie odpowiedniej skali i odległości sceny od hologramu (zgodnie z danymi przekazanymi programowi LS60). Rysunek 3 przedstawia układ przeznaczony do wykonywania zdjęć różnych płaszczyzn sceny przestrzennej. 8
Rys. 3. Schemat układu wykorzystywanego do akwizycji obrazów tworzonych przez hologramy. 9
Zadania do wykonania: Przeprowadzenie obliczeń w aplikacji LightSword (LS60) (dostępna w laboratorium) na macierzy 04 x 04 punkty. Próbkowanie 0 µm x 0 µm. Długość fali światła λ=0,638 µm ) Wygenerowanie dwuwymiarowej funkcji circus umieszczonej centralnie (promień R= mm). Obliczyć propagację (on-axis, quality high, DbWindow) na odległość z=360 mm. Zerejestrować rozkład natężenia. ) Wygenerowanie dwuwymiarowej funkcji circus umieszczonej centralnie (promień R= mm). Obliczyć propagację (on-axis, quality normal, NoWindow) na odległość z=360 mm. Zerejestrować rozkład natężenia. 3) Wygenerowanie dwuwymiarowej funkcji circus stycznej do brzegu analizowanego obszaru (promień R= mm). Obliczyć propagację (on-axis, quality high, DbWindow) na odległość z=360 mm. Zerejestrować rozkład natężenia. 4) Wygenerowanie dwuwymiarowej funkcji circus stycznej do brzegu analizowanego obszaru (promień R= mm). Obliczyć propagację (on-axis, quality normal, NoWindow) na odległość z=360 mm. Zerejestrować rozkład natężenia. 5) Wygenerowanie dwuwymiarowej funkcji circus umieszczonej centralnie (promień R= mm). Obliczyć propagację (on-axis, quality high, DbWindow) na odległość z=63 mm. Zerejestrować rozkład natężenia. 6) Wygenerowanie dwuwymiarowej funkcji circus umieszczonej centralnie (promień R= mm). Obliczyć propagację (on-axis, quality normal, NoWindow) na odległość z=63 mm. Zerejestrować rozkład natężenia. 7) Wygenerowanie dwuwymiarowej funkcji circus stycznej do brzegu analizowanego obszaru (promień R= mm). Obliczyć propagację (on-axis, quality high, DbWindow) na odległość z=63 mm. Zerejestrować rozkład natężenia. 8) Wygenerowanie dwuwymiarowej funkcji circus stycznej do brzegu analizowanego obszaru (promień R= mm). Obliczyć propagację (on-axis, quality normal, NoWindow) na odległość z=63 mm. Zerejestrować rozkład natężenia. 9) Przygotowanie bitmap zawierających przekroje obiektów sceny przestrzennej (gotowe bitmapy typu BMP należy przynieść na ćwiczenie). Grubość linii obiektów powinna wahać się w granicach 0 0 pixeli (00 µm - 400 µm). Skrajna, najbliższa płaszczyzna obiektu powinna znajdować się w odległości około 500 mm. Skrajna, najdalsza płaszczyzna obiektu powinna znajdować się w odległości około 000 mm. Maksymalne rozmiary poprzeczne obiektu nie powinny być większe niż -5 mm. 0) Zaimportowanie do programu LS60 przygotowanych bitmap jako rozkładów amplitudy. Na każdą z zaimportowanych bitmap, przed zapisaniem w pliku TAB, należy nałożyć przypadkowy rozkład fazy (rozpraszacz). 0
) Propagacja każdej z płaszczyzn sceny na odległość równą odległości danej płaszczyzny od płaszczyzny hologramu. Proszę wykorzystać okna propagacji (przepisanie na wektor podwójnej długości). ) Zsumowanie uzyskanych w poprzednim punkcie rozkładów pól dyfrakcyjnych od każdej z płaszczyzn sceny do jednego pliku TAB. 3) Dokonanie binaryzacji fazy (opcja Phase conversion w menu Operations. Parametry Intensity CA, Constant Amplitude Level = 0). 4) Ekport bitmapy natężenia (Intensity) do pliku. 5) Dokonanie symulacji odtworzenia hologramu. Obserwacja zjawiska paralaksy. 6) Zestawienie układu do fotograficznego pomniejszania wydruków. 7) Wykonanie hologramu syntetycznego. 8) Obserwacja obrazów pozornych sceny przestrzennej. Obserwacja (rejestracja) zjawiska paralaksy 9) Zestawienie układu do akwizycji obrazu rzeczywistego. 0) Wykonanie zdjęć kilku płaszczyzn sceny przestrzennej. Pracownia Informatyki Optycznej WF PW Maj 008