system_settings/optic_input_example_lidar.py

changeset 26
28b5510492ba
parent 23
ef8a64173c96
child 28
79fa4a41420f
--- a/system_settings/optic_input_example_lidar.py	Mon Feb 20 15:16:58 2017 +0100
+++ b/system_settings/optic_input_example_lidar.py	Wed Nov 15 12:34:36 2017 +0100
@@ -25,19 +25,19 @@
 RotE, dRotE, nRotE 	= 0., 	1.0, 	0	# beta: Rotation of optical element in degrees
 
 # +++ MO Receiver optics including telescope 
-DiO,  dDiO, nDiO 	= 0.0, 	0.1,    1
-TiO 				= 1.0 				
-RetO, dRetO, nRetO 	= 0., 	180., 	0 
-RotO, dRotO, nRotO 	= 0., 	0.5, 	0	#gamma: Rotation of optical element in degrees
+DiO,  dDiO, nDiO 	= 0.0, 	0.1,    1	# Diattenuation
+TiO 				= 1.0   	# Unpolarized transmittance 				
+RetO, dRetO, nRetO 	= 0., 	180., 	0	# Retardance in degrees  
+RotO, dRotO, nRotO 	= 0., 	0.5, 	0	#gamma: Rotation of the optical element in degrees
  
 # +++++ PBS MT Transmitting path defined with TS, TP, PolFilter extinction ratio ERaT, and +-Uncertainty
 #   --- Polarizing beam splitter transmitting path
-TP,   dTP, nTP	 	= 0.95,	0.01,   1
-TS,   dTS, nTS	 	= 0.02,	0.01,   1
+TP,   dTP, nTP	 	= 0.95,	0.01,   1 # transmittance of the PBS for parallel polarized light
+TS,   dTS, nTS	 	= 0.02,	0.01,   1 # transmittance of the PBS for cross polarized light
 RetT, dRetT, nRetT	 = 0.0,	180., 	0 # Retardance in degrees
 #   --- Pol.Filter behind transmitted path of PBS
 ERaT, dERaT, nERaT	 = 0.001, 0.001, 1 # Extinction ratio
-RotaT, dRotaT, nRotaT = 0.,   1.,    1 # Rotation of the Pol.-filter in degrees; usually 0° because TP >> TS, but for PollyXTs it can also be 90°
+RotaT, dRotaT, nRotaT = 0.,   1.,    1 # Rotation of the Pol.-filter in degrees; usually close to 0° because TP >> TS, but for PollyXTs it can also be close to 90°
 #   --
 TiT = 0.5 * (TP + TS)
 DiT = (TP-TS)/(TP+TS)
@@ -52,9 +52,9 @@
     RP, dRP, nRP        = 1-TP,  0.00, 0    # do not change this
     RS, dRS, nRS        = 1-TS,  0.00, 0    # do not change this
 else:
-    RP, dRP, nRP        = 0.05,  0.01, 1    # change this if RS_RP_depend_on_TS_TP = False
-    RS, dRS, nRS        = 0.98,  0.01, 1    # change this if RS_RP_depend_on_TS_TP = False
-RetR, dRetR, nRetR	    = 0.0,   180., 0
+    RP, dRP, nRP        = 0.05,  0.01, 1    # change this if RS_RP_depend_on_TS_TP = False; reflectance of the PBS for parallel polarized light
+    RS, dRS, nRS        = 0.98,  0.01, 1    # change this if RS_RP_depend_on_TS_TP = False; reflectance of the PBS for cross polarized light
+RetR, dRetR, nRetR	    = 0.0,   180., 0    # Retardance in degrees
 #   --- Pol.Filter behind reflected path of PBS
 ERaR, dERaR, nERaR	  = 0.001, 0.001, 1 # Extinction ratio
 RotaR, dRotaR, nRotaR = 90.,   1.,    1  # Rotation of the Pol.-filter in degrees; usually 90° because RS >> RP, but for PollyXTs it can also be 0°
@@ -64,7 +64,9 @@
 DaR = (1-ERaR)/(1+ERaR)
 TaR = 0.5*(1+ERaR)
 
-# +++ Parallel signal detected in the transmitted channel => Y = +1, or in the reflected channel => Y = -1
+# +++ Orientation of the PBS with respect to the reference plane (see Polarisation-orientation.png and Polarisation-orientation-2.png in /system_settings)
+#    Y = +1: polarisation in reference plane is transmitted, 
+#    Y = -1: polarisation in reference plane is reflected. 
 Y = +1.
 
 # +++ Calibrator Location
@@ -73,37 +75,37 @@
 TypeC = 3	#Type of calibrator: 1 = mechanical rotator; 2 = hwp rotator (fixed retardation); 3 = linear polarizer; 4 = qwp; 5 = circular polarizer; 6 = real HWP calibration +-22.5°
 # --- MC Calibrator parameters
 if TypeC == 1:  #mechanical rotator
-	DiC, dDiC, nDiC 	= 0., 	0., 	0
+	DiC, dDiC, nDiC 	= 0., 	0., 	0	# Diattenuation
 	TiC = 1.
-	RetC, dRetC, nRetC 	= 0., 	0., 	0
-	RotC, dRotC, nRotC 	= 0., 	0.1, 	1	#constant calibrator offset epsilon
+	RetC, dRetC, nRetC 	= 0., 	0., 	0	# Retardance in degrees
+	RotC, dRotC, nRotC 	= 0., 	0.1, 	1	#constant calibrator rotation offset epsilon
 	# Rotation error without calibrator: if False, then epsilon = 0 for normal measurements	
 	RotationErrorEpsilonForNormalMeasurements = True	# 	is in general True for TypeC == 1 calibrator
-elif TypeC == 2:   # HWP rotator
-	DiC, dDiC, nDiC 	= 0., 	0., 	0
+elif TypeC == 2:   # HWP rotator without retardance!
+	DiC, dDiC, nDiC 	= 0., 	0., 	0	# Diattenuation; ideal 0.0
 	TiC = 1.
-	RetC, dRetC, nRetC 	= 180., 0., 	0
+	RetC, dRetC, nRetC 	= 180., 0., 	0	# Retardance in degrees
 	#NOTE: use here twice the HWP-rotation-angle
-	RotC, dRotC, nRotC 	= 0.0, 	0.1, 	1	#constant calibrator offset epsilon
+	RotC, dRotC, nRotC 	= 0.0, 	0.1, 	1	#constant calibrator rotation offset epsilon
 	RotationErrorEpsilonForNormalMeasurements = True	# 	is in general True for TypeC == 2 calibrator
 elif TypeC == 3:   # linear polarizer calibrator. Diattenuation DiC = (1-ERC)/(1+ERC); ERC = extinction ratio of calibrator
-	DiC, dDiC, nDiC 	= 0.9998, 0.0001, 1	# ideal 1.0
+	DiC, dDiC, nDiC 	= 0.9998, 0.0001, 1	# Diattenuation; ideal 1.0
 	TiC = 0.4	# ideal 0.5
-	RetC, dRetC, nRetC 	= 0., 	0., 	0
-	RotC, dRotC, nRotC 	= 0.0, 	0.1, 	0	#constant calibrator offset epsilon
+	RetC, dRetC, nRetC 	= 0., 	0., 	0	# Retardance in degrees
+	RotC, dRotC, nRotC 	= 0.0, 	0.1, 	0	#constant calibrator rotation offset epsilon
 	RotationErrorEpsilonForNormalMeasurements = False	# 	is in general False for TypeC == 3 calibrator
 elif TypeC == 4:   # QWP calibrator
-	DiC, dDiC, nDiC 	= 0.0, 	0., 	0	# ideal 1.0
+	DiC, dDiC, nDiC 	= 0.0, 	0., 	0	# Diattenuation; ideal 0.0
 	TiC = 1.0	# ideal 0.5
-	RetC, dRetC, nRetC 	= 90., 	0., 	0
-	RotC, dRotC, nRotC 	= 0.0, 	0.1, 	1	#constant calibrator offset epsilon
+	RetC, dRetC, nRetC 	= 90., 	0., 	0	# Retardance in degrees
+	RotC, dRotC, nRotC 	= 0.0, 	0.1, 	1	#constant calibrator rotation offset epsilon
 	RotationErrorEpsilonForNormalMeasurements = False	# 	is  False for TypeC == 4 calibrator
-elif TypeC == 6:   # real half-wave plate calibration at +-22.5°  => rotated_diattenuator_X22x5deg.odt
-	DiC, dDiC, nDiC 	= 0., 	0., 	0
+elif TypeC == 6:   # real half-wave plate rotator calibration at +-22.5°  => rotated_diattenuator_X22x5deg.odt
+	DiC, dDiC, nDiC 	= 0., 	0., 	0	# Diattenuation; ideal 0.0
 	TiC = 1.
-	RetC, dRetC, nRetC 	= 180., 0., 	0
+	RetC, dRetC, nRetC 	= 180., 0., 	0	# Retardance in degrees
     #Note: use real HWP angles here
-	RotC, dRotC, nRotC 	= 0.0, 	0.1, 	1	#constant calibrator offset epsilon
+	RotC, dRotC, nRotC 	= 0.0, 	0.1, 	1	#constant calibrator rotation offset epsilon
 	RotationErrorEpsilonForNormalMeasurements = True	# 	is in general True for TypeC == 6 calibrator
 else:
     print ('calibrator not implemented yet')

mercurial