This web page is also available on English. Your browser is configured to use English as the default locale. Would you like to view this page in English? • Yes pleaseNo, thanks

Centro de Scripts y Funciones de Usuario

Diseño de una lente dieléctrica usando Funciones de Usuario

Este documento muestra un ejemplo de cómo usar funciones de usuario. El caso específico detalla el proceso de diseño de una lente circular dieléctrica con newFASANT. La antena formará parte de la combinación de una antena de bocina corregida con una lente por su apertura.

Thumb geo seconddesign Thumb mesh seconddesign Thumb 3dradiationpattern seconddesign
double getLensThickness2(double step) {
  // Find the distance of phase2
  // Phase = (distance / lambda) * 2 * PI
  double z0 = 0.0562;          //Distance of initialPhase1
  double zPlane = 1;           //ZPosition of Observation Plane
  double freq = 8E9;           //Frequency in Hz
  double epsReal = 2.7;        //Dielectric constant
  double lambda = 3E8 / freq;  //Lambda_0
  double lambdaMaterial = (lambda / Math.sqrt(epsReal)); //Lambda_m
  double initialThickness = 0.02;
  double minimumThickness = 0.005;
  double error = 1E-6;
  // Calculate Initial Phase
  double initialPhase1 = (z0 / lambda) * 2 * Math.PI;
  double initialPhase2 = (initialThickness / lambdaMaterial) * 2 * Math.PI;
  double initialPhase3 = ((zPlane - initialThickness - z0) / lambda) * 2 * Math.PI;
  double initialPhaseTotal = initialPhase1 + initialPhase2 + 	initialPhase3;
  // Calculate Initial Thickness
  double phase1 = (Math.sqrt(Math.pow(z0,2)+Math.pow(step,2)) / lambda) * 2 * Math.PI;
  double phase3 = initialPhase3;
  double phase2 = initialPhaseTotal - phase3 - phase1;
  double thickness = lambdaMaterial * (phase2 / (2*Math.PI));
  // Find the correct thickness
  double diff = Double.MAX_VALUE;
  while (Math.abs(diff)>error) {
    phase3 = ((zPlane - thickness - z0) / lambda) * 2 * Math.PI;
    phase2 = (thickness/lambdaMaterial) * 2 * Math.PI;
    diff = initialPhaseTotal - (phase1 + phase2 + phase3);
    thickness = thickness + lambdaMaterial * diff / (2 * Math.PI);
    if (thickness < minimumThickness) {
      thickness += lambdaMaterial;
      initialPhaseTotal += 2*Math.PI;
    }
  }
  return thickness; 
}

¿Te ha sido útil esta información?

Usamos cookies en este sitio web para mejorar tu experiencia al navegar por esta página. Si continúas usando este sitio, aceptas nuestra política de cookies.

Aceptar