Diffraction de Fraunhofer

  1. Principe de Huygens-Fresnel


  2. La lumière d'une source monochromatique située à gauche du plan opaque (x0y) est diffractée par une ouverture située dans ce plan.

    On observe une image de diffraction sur un écran situé dans le plan (XOY) situé à une distance z du plan de l'ouverture.

    On désigne respectivement par l et par n la longueur d'onde et la fréquence de la source.

    On pose :

    U(x,y) désignant l'amplitude du champ en un point m(x,y) de l'ouverture, l'amplitude du champ V(X,Y) au point M(X,Y) est alors donné par l'expression:


    où:



    D'après le principe de Kirchhoff, U=0
    en dehors de l'ouverture.

    vecteur normal au plan (x0y) et dirigé vers la source

    .

     

     

    2- Approximation de Fresnel

    On ne s'intéresse par la suite qu'à la partie de l'image diffractée située à proximité de l'axe des Z. Ainsi le facteur est à peu près égal à 1. Si bien que :

    .

    D'autre part, on pose:

    .

    On obtient pour h l'approximation dite de Fresnel:

    .

    V(X,Y) apparaît alors au facteur près comme le produit de convolution de U(x,y) et de :

    En développant la partie quadratique de l'intégrale double, on obtient:

    .

    On reconnaît à un facteur près la transformée de Fourier de .

  3. Approximation de Fraunhofer
  4. Si la distance z du plan d'observation est grande relativement aux dimensions de l'ouverture, c'est à dire si pour tout point m(x,y) de l'ouverture on a , alors on peut poser et l'expression de V(X,Y) devient:

    .

    On reconnaît à droite une intégrale qui est à un facteur près la transformée de Fourier de U(x,y).

  5. Diffraction dans une ouverture rectangulaire
  6. On suppose maintenant que l'ouverture est un rectangle centré à l'origine et de dimensions respectives a et b suivant les axes (Ox) et (Oy). Si l'onde lumineuse est monochromatique, d'incidence normale au plan (xOy) et si son amplitude est uniformément égale à 1, alors U est égale à la transmittance en amplitude :

    .

    La transformée de Fourier de étant , on en déduit que :

    .

    L' intensité lumineuse I(X,Y) est alors donnée par:

    .

     



    Vous pouvez modifier le contraste(variable ctr ) et l'intensité lumineuse(variable lumino). Les variables a et b correspondent aux dimensions de l'ouverture. Pour visualiser l'intensité lumineuse sur l'axe des x, supprimez les # du programme pour compiler les lignes suivantes:

    view([xmin,xmax],[-5,130]);
    axes;
    setcolor(0,255,255);
    plot({f2},[xmin,xmax]);

    Modifiez également la définition de la grille avec les variables gridx et gridy.
    Pour des essais choisissez plutôt: gridx=gridy=4.
    Si vous souhaitez visualiser en relief cette image de diffraction, sélectionnez le programme P1(en bas, à droite de la fenêtre du compilateur).


    Je vous souhaite de belles diffractions!

  7. Ouverture circulaire


  8. Consdérons maintenant une ouverture circulaire de diamètre d.
    L'intensité lumineuse sur l'écran de projection est donnée par la formule:



    A l'aide du Copier/Coller, reportez le petit programme suivant dans la fenêtre d'édition du mini-compilateur ou sélectionnez le programme P2. Cliquez sur la touche Compile-Execute.

    Programme Commentaires

    #-----------------------------------------------------
    # Diffraction de Fraunhofer - Ouverture circulaire -
    #
    # par Gérard Chevet le 12/02/98
    #
    # Intruction densityplot en coordonnées polaires
    #-----------------------------------------------------
    var xmin,xmax,ymin,ymax,ctr,dec,lumino,d,z,k;
    var gridR,gridTeta,lambda;

    function bess1(var t,y1,y2);
    begin
    return(y2);
    end;

    function bess2(var t,y1,y2);
    begin
    if t=0 then return(0); else return(-(t*y2+(t*t-1)*y1)/t/t);
    end;

    function J1Bessel(var t);
    begin
    gctrace:=2;
    if t=0 then return(0);
    else
    if t < 0.7 then
    rgk({bess1,bess2},{1,2},{gc1,gc2},[gc0,t],0.0001,2);
    else
    rgk({bess1,bess2},{1,2},{gc1,gc2},[gc0,t],0.001,2);
    return(gc1);
    end;

    function Intens(var r);
    var it;
    begin
    if r<=0 then return(k*k*d*d*d*d/64/z/z); else
    it:=d*J1Bessel(k*d*r/2/z)/2/r;
    return(it*it);
    end;

    function IXY(var x,y);
    begin
    return(Intens(sqrt(x*x+y*y)));
    end;

    function IR(var r);
    begin
    return(IXY(x,0));
    end;

    #-------------------------------------------
    # Programme principal
    begin

    lambda:=0.001;
    k:=2*pi/lambda;
    #Dimensions de l'écran de projection
    xmin:=-1;xmax:=-xmin;
    ymin:=xmin;ymax:=xmax;

    #-------- distance entre le trou et l'écran de projection ------------
    z:=1.5;

    # ----------------Diamètre de l'ouverture circulaire
    d:=0.005;
    #----------------Règlages lumière --------------------
    ctr:=0.42;# Règlage du contraste
    dec:=0;# Choix de la couleur d'affichage: 0=noir et blanc 7=bleu 6=rouge
    lumino:=20000;# Règlage de la luminosit
    #---------------------------------------------
    #Définition de la grille : 1=très fin , 4=moyen
    gridR:=1;
    gridTeta:=2; # à 1 pour ôter l'effet de moire
    #---------------------------------------------
    clear;
    view([xmin,xmax],[ymin,ymax]);
    #axes;

    #----------Variables gc pour initialiser le système diff de Bessel-----------------
    gc0:=0;
    gc1:=0;
    gc2:=0.5;
    writeln(d);
    densityplot({IXY},{gridR,gridTeta},[0,xmax*sqrt(2)],[0,2*Pi],ctr,dec,lumino,2);

    #------------------ Intensité lumineuse ------------------------------------------------------------------------

    view([xmin,xmax],[-0.0002,0.0002]);
    axes;
    setcolor(0,0,255);
    gc0:=0;
    gc1:=0;
    gc2:=0.5;
    plot({IR},[0,xmax]);
    end......







    La fonction J1 de Bessel est obtenue par la résolution d'une équation différentielle du second ordre:


    avec n=1.

    On utilise,ici, une méthode de Runge-Kutta.


    L'intérêt de ce procédé est d'utiliser le calcul pas à pas de la méthode RGK et d'obtenir les valeurs de J1 pour des x croissants.
    A chaque appel de la procédure RGK, on transmet comme conditions initiales les résultats de l'appel précédent.


Pour tout renseignement,toute suggestion, vous pouvez contacter:

  • Gérard Chevet, professeur de Mathématiques : chevet@cict.fr