Skip to content

Commit c35104c

Browse files
Add documentation for multiband
Signed-off-by: EstherLerouzic <esther.lerouzic@orange.com> Change-Id: Iadf6d9edd8c67c1389c4a0d482466a8c52198621
1 parent 7b1354e commit c35104c

2 files changed

Lines changed: 353 additions & 24 deletions

File tree

docs/json.rst

Lines changed: 159 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ EDFA
1919
~~~~
2020

2121
The EDFA equipment library is a list of supported amplifiers. New amplifiers
22-
can be added and existing ones removed. Three different noise models are available:
22+
can be added and existing ones removed. Various noise models are available.
2323

2424
1. ``'type_def': 'variable_gain'`` is a simplified model simulating a 2-coil EDFA with internal, input and output VOAs.
2525
The NF vs gain response is calculated accordingly based on the input parameters: ``nf_min``, ``nf_max``, and ``gain_flatmax``.
@@ -35,8 +35,12 @@ can be added and existing ones removed. Three different noise models are availab
3535
A detailed JSON configuration file is required (by default `gnpy/example-data/std_medium_gain_advanced_config.json <https://github.com/Telecominfraproject/oopt-gnpy/blob/master/gnpy/example-data/std_medium_gain_advanced_config.json>`_).
3636
It uses a 3rd order polynomial where NF = f(gain), NF_ripple = f(frequency), gain_ripple = f(frequency), N-array dgt = f(frequency).
3737
Compared to the previous models, NF ripple and gain ripple are modelled.
38+
6. ``'type_def': 'multi_band'`` defines an amplifier type corresponding to an amplification site composed of multiple amplifier elements, where each amplifies a different band of the spectrum.
39+
The ``amplifiers`` list contains the list of single-band amplifier type varieties that can compose such multiband
40+
amplifiers. Several options can be listed for the same spectrum band. Only one can be selected
41+
for the actual :ref:`Multiband_amplifier<multiband_amps>` element.
3842

39-
For all amplifier models:
43+
For all single band amplifier models:
4044

4145
+------------------------+-----------+-----------------------------------------+
4246
| field | type | description |
@@ -55,6 +59,30 @@ For all amplifier models:
5559
| | | be used as a manual input (from JSON or |
5660
| | | Excel template topology files.) |
5761
+------------------------+-----------+-----------------------------------------+
62+
| ``f_min`` | (number) | Optional. In :math:`Hz`. Minimum and |
63+
| and ``f_max`` | | maximum frequency range for the |
64+
| | | amplifier. Signal must fit entirely |
65+
| | | within this range (center frequency and |
66+
| | | spectrum width). |
67+
| | | Default is 191.275e-12 Hz and |
68+
| | | 196.125e-12 (tunable in |
69+
| | | default_edfa_config.json) |
70+
+------------------------+-----------+-----------------------------------------+
71+
72+
73+
For multi_band amplifier models:
74+
75+
+------------------------+-----------+-----------------------------------------+
76+
| field | type | description |
77+
+========================+===========+=========================================+
78+
| ``type_variety`` | (string) | A unique name to ID the amplifier in the|
79+
| | | JSON template topology input file. |
80+
+------------------------+-----------+-----------------------------------------+
81+
| ``allowed_for_design`` | (boolean) | If false, the amplifier will not be |
82+
| | | picked by auto-design but it can still |
83+
| | | be used as a manual input (from JSON or |
84+
| | | Excel template topology files.) |
85+
+------------------------+-----------+-----------------------------------------+
5886

5987
Fiber
6088
~~~~~
@@ -447,14 +475,14 @@ Here is an example:
447475
"uid": "roadm SITE1",
448476
"type": "Roadm",
449477
"type_variety": "detailed_impairments",
450-
"params": {
451-
"per_degree_impairments": [
452-
{
453-
"from_degree": "trx SITE1",
454-
"to_degree": "east edfa in SITE1 to ILA1",
455-
"impairment_id": 1
456-
}]
457-
}
478+
"params": {
479+
"per_degree_impairments": [
480+
{
481+
"from_degree": "trx SITE1",
482+
"to_degree": "east edfa in SITE1 to ILA1",
483+
"impairment_id": 1
484+
}]
485+
}
458486
}
459487
460488
It is not permitted to use a roadm-path-impairment-id for the wrong roadm path type (add impairment only for add path).
@@ -751,6 +779,10 @@ In the simplest case, homogeneous channel allocation can be defined via the ``Sp
751779
+----------------------+-----------+-------------------------------------------+
752780
| field | type | description |
753781
+======================+===========+===========================================+
782+
| ``type_variety`` | (string) | Optional. Default: ``default`` |
783+
| | | A unique name to ID the band for |
784+
| | | propagation or design. |
785+
+----------------------+-----------+-------------------------------------------+
754786
| ``f_min``, | (number) | In Hz. Define spectrum boundaries. Note |
755787
| ``f_max`` | | that due to backward compatibility, the |
756788
| | | first channel central frequency is placed |
@@ -817,6 +849,13 @@ In the simplest case, homogeneous channel allocation can be defined via the ``Sp
817849
| | | transceiver OSNR. |
818850
+----------------------+-----------+-------------------------------------------+
819851

852+
It is possible to define a set of bands in the SI block. In this case, type_variety must be used.
853+
Each set defines a reference channel used for design functions and autodesign processes.
854+
855+
If no spectrum is defined (--spectrum or --services), then the same type of reference channel is
856+
also used for simulation.
857+
858+
820859
.. _mixed-rate:
821860

822861
Arbitrary channel definition
@@ -867,7 +906,7 @@ For example this example:
867906
.. code-block:: json
868907
869908
{
870-
"SI":[
909+
"spectrum":[
871910
{
872911
"f_min": 191.4e12,
873912
"f_max":193.1e12,
@@ -878,7 +917,7 @@ For example this example:
878917
},
879918
{
880919
"f_min": 193.1625e12,
881-
"f_max":195e12,
920+
"f_max": 195e12,
882921
"baud_rate": 64e9,
883922
"delta_pdb": 3,
884923
"slot_width": 75e9,
@@ -1124,6 +1163,8 @@ the maximum achievable total power.
11241163

11251164
The exact layout used by simulation can be retrieved thanks to --save-network option.
11261165

1166+
.. _operational_field:
1167+
11271168
+----------------------+-----------+--------------------------------------------------+
11281169
| field | type | description |
11291170
+======================+===========+==================================================+
@@ -1179,6 +1220,63 @@ The exact layout used by simulation can be retrieved thanks to --save-network op
11791220
}
11801221
}
11811222
1223+
.. _multiband_amps:
1224+
1225+
Multiband_amplifier attributes
1226+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1227+
1228+
+----------------------+-----------+--------------------------------------------------+
1229+
| field | type | description |
1230+
+======================+===========+==================================================+
1231+
| ``type`` | (string) | Mandatory: ``Multiband_amplifier`` |
1232+
+----------------------+-----------+--------------------------------------------------+
1233+
| ``type_variety`` | (string) | Optional, value must be listed in the library |
1234+
| | | to be a valid type. If not defined, autodesign |
1235+
| | | will pick one in the library among the |
1236+
| | | ``allowed_for_design``. |
1237+
+----------------------+-----------+--------------------------------------------------+
1238+
| ``amplifiers`` | (list of | Optional, configuration settings of the |
1239+
| | dict) | amplifiers composing the multiband amplifier. |
1240+
| | | Single band amplifier can be set with the |
1241+
| | | parameters of tables: |
1242+
| | | :ref:`operational_field<operational_field>`: |
1243+
+----------------------+-----------+--------------------------------------------------+
1244+
1245+
Example of Multiband_amplifier element setting:
1246+
1247+
.. code-block:: json
1248+
1249+
{
1250+
"uid": "east edfa in Site_A to Site_B",
1251+
"type": "Multiband_amplifier",
1252+
"type_variety": "std_medium_gain_multiband",
1253+
"amplifiers": [{
1254+
"type_variety": "std_medium_gain_C",
1255+
"operational": {
1256+
"gain_target": 22.55,
1257+
"delta_p": 0.9,
1258+
"out_voa": 3.0,
1259+
"tilt_target": 0.0
1260+
}
1261+
}, {
1262+
"type_variety": "std_medium_gain_L",
1263+
"operational": {
1264+
"gain_target": 21,
1265+
"delta_p": 3.0,
1266+
"out_voa": 3.0,
1267+
"tilt_target": 0.0
1268+
}
1269+
}
1270+
]
1271+
}
1272+
1273+
The frequency band of the element is the concatenation of the bands of each individual amplifier contained in
1274+
the Multiband_amplifier element. Only carriers within these bands are propagated through the Multiband_amplifier
1275+
element. If the user defines a spectrum larger than these bands, carriers that do not match the bands will be
1276+
filtered out. The user can define the bandwidth of the amplifiers in the library. f_min and f_max represent the
1277+
bandwidth of the amplifier (the entire channel must fit). The individual amplifier type_variety must be part of the
1278+
allowed ``amplifiers`` list defined in the library.
1279+
11821280
Roadm
11831281
~~~~~
11841282

@@ -1210,32 +1308,69 @@ Roadm
12101308
| | dict) | defined, it overrides the general values defined |
12111309
| | | by type_variety. |
12121310
+----------------------------------------+-----------+----------------------------------------------------+
1311+
| ``design_bands`` | (list of | Optional. List of bands expressed as dictionnary, |
1312+
| | dict) | e.g. {"f_min": 191.3e12, "f_max": 195.1e12} |
1313+
| | | To be considered for autodesign on all degrees of |
1314+
| | | the ROADM, if nothing is defined on the degrees. |
1315+
+----------------------------------------+-----------+----------------------------------------------------+
1316+
| ``per_degree_design_bands`` | (dict of | Optional. If defined, it overrides ROADM's general |
1317+
| | string, | design_bands, on the degree identified with the |
1318+
| | list of | key string. Value is a list of bands defined by |
1319+
| | dict) | their frequency bounds ``f_min`` and ``f_max`` |
1320+
| | | expressed in THz. |
1321+
+----------------------------------------+-----------+----------------------------------------------------+
1322+
12131323

12141324
Definition example:
12151325

1216-
.. code-block:: json
1326+
.. code-block:: json
12171327
12181328
{
12191329
"uid": "roadm SITE1",
12201330
"type": "Roadm",
12211331
"type_variety": "detailed_impairments",
1222-
"params": {
1223-
"per_degree_impairments": [
1224-
{
1225-
"from_degree": "trx SITE1",
1226-
"to_degree": "east edfa in SITE1 to ILA1",
1227-
"impairment_id": 1
1228-
}],
1229-
"per_degree_pch_out_db": {
1332+
"params": {
1333+
"per_degree_impairments": [
1334+
{
1335+
"from_degree": "trx SITE1",
1336+
"to_degree": "east edfa in SITE1 to ILA1",
1337+
"impairment_id": 1
1338+
}],
1339+
"per_degree_pch_out_db": {
12301340
"east edfa in SITE1 to ILA1": -13.5
1231-
}
1232-
}
1341+
}
1342+
}
12331343
}
12341344
12351345
In this example, all «implicit» express roadm-path are assigned as roadm-path-impairment-id = 0, and the target power is
12361346
set according to the value defined in the library except for the direction heading to "east edfa in SITE1 to ILA1", where
12371347
constant power equalization is used to reach -13.5 dBm target power.
12381348

1349+
.. code-block:: json
1350+
1351+
{
1352+
"uid": "roadm SITE1",
1353+
"type": "Roadm",
1354+
"params": {
1355+
"per_degree_design_bands": {
1356+
"east edfa in SITE1 to ILA1": [
1357+
{"f_min": 191.3e12, "f_max": 196.0e12},
1358+
{"f_min": 187.0e12, "f_max": 190.0e12}
1359+
]
1360+
}
1361+
}
1362+
}
1363+
1364+
In this example the OMS starting from east edfa in SITE1 to ILA1 is defined as a multiband OMS. This means that
1365+
if there is no setting in all or some of the amplifiers in the OMS, the autodesign function will select amplifiers
1366+
from those that have ``multi_band`` ``type_def`` amplifiers.
1367+
1368+
The default ``design_bands`` is inferred from the :ref:`SI<spectral_info>` block.
1369+
1370+
Note that ``design_bands`` and ``type_variety`` amplifiers must be consistent:
1371+
- you cannot mix single band and multiband amplifiers on the same OMS;
1372+
- the frequency range of the amplifiers must include ``design_bands``.
1373+
12391374
Fused
12401375
~~~~~
12411376

@@ -1245,7 +1380,7 @@ A fused element connected to the egress of a ROADM will disable the automatic bo
12451380

12461381
Fused ``params`` only contains a ``loss`` value in dB.
12471382

1248-
.. code-block:: json
1383+
.. code-block:: json
12491384
12501385
"params": {
12511386
"loss": 2

0 commit comments

Comments
 (0)