mirror of
				https://github.com/Telecominfraproject/oopt-gnpy.git
				synced 2025-10-30 17:47:50 +00:00 
			
		
		
		
	Management of lumped losses along a fiber span
The lumped losses are used in the computation of the loss/gain profile through the fiber whether the Raman effect is considered or not. The computed power profile is used to calculate the related NLI impairment. Using the 'gn_model_analytic' method, the lumped losses are taken into account as the contribution of an additional total loss at the end of the fiber span. In case the 'ggn_spectrally_separated' is selected, the method uses the computed power profile according to the specified z and frequency arrays. The lumped losses are so considered within the NLI power evolution along the fiber. Change-Id: I73a6baa321aca4d041cafa180f47afed824ce267 Signed-off-by: Jan Kundrát <jan.kundrat@telecominfraproject.com>
This commit is contained in:
		 Giacomo Borraccini
					Giacomo Borraccini
				
			
				
					committed by
					
						 Jan Kundrát
						Jan Kundrát
					
				
			
			
				
	
			
			
			 Jan Kundrát
						Jan Kundrát
					
				
			
						parent
						
							5e50ffbbf6
						
					
				
				
					commit
					aaf0480e9c
				
			| @@ -156,6 +156,7 @@ class FiberParams(Parameters): | ||||
|             else: | ||||
|                 self._loss_coef = asarray(kwargs['loss_coef']) * 1e-3  # lineic loss dB/m | ||||
|                 self._f_loss_ref = asarray(self._ref_frequency)  # Hz | ||||
|             self._lumped_losses = kwargs['lumped_losses'] if 'lumped_losses' in kwargs else [] | ||||
|         except KeyError as e: | ||||
|             raise ParametersError(f'Fiber configurations json must include {e}. Configuration: {kwargs}') | ||||
|  | ||||
| @@ -188,6 +189,10 @@ class FiberParams(Parameters): | ||||
|     def con_out(self): | ||||
|         return self._con_out | ||||
|  | ||||
|     @property | ||||
|     def lumped_losses(self): | ||||
|         return self._lumped_losses | ||||
|  | ||||
|     @con_out.setter | ||||
|     def con_out(self, con_out): | ||||
|         self._con_out = con_out | ||||
| @@ -240,6 +245,8 @@ class FiberParams(Parameters): | ||||
|         dictionary = super().asdict() | ||||
|         dictionary['loss_coef'] = self.loss_coef * 1e3 | ||||
|         dictionary['length_units'] = 'm' | ||||
|         if not self.lumped_losses: | ||||
|             dictionary.pop('lumped_losses') | ||||
|         if not self.raman_efficiency: | ||||
|             dictionary.pop('raman_efficiency') | ||||
|         return dictionary | ||||
|   | ||||
		Reference in New Issue
	
	Block a user