Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Input power #363

Open
indayara opened this issue Oct 13, 2020 · 16 comments
Open

Input power #363

indayara opened this issue Oct 13, 2020 · 16 comments

Comments

@indayara
Copy link

Hello,

I created a topology with 3 nodes ( trx 1, connected in a roadm/fiber/trx 2; and trx2 connected in a roadm/fiber/trx 3).
I would like to apply differents input power for each transceivers.
Trx1 working in 0 dbm
Trx 2 working in -1 dBm
Trx 3 working in 1 dBm.
Is it possible?

Tks,

@ojnas
Copy link
Contributor

ojnas commented Oct 14, 2020

I'm not sure what you want to do but GNPy does not currently model impact of different input powers to a transceiver. Note that the (main) output from GNPy is OSNR/GSNR, which does not depend on transceiver input power. Also, as long as the transceiver input power is "high enough", the final BER normally does not depend on this input power. However, if the input power is close to the receiver sensitivity, it will have an impact on BER. This is sometimes modeled with an OSNR penalty but such a model is currently not implemented in GNPy.

@indayara
Copy link
Author

indayara commented Oct 14, 2020 via email

@ojnas
Copy link
Contributor

ojnas commented Oct 14, 2020

It is possible to set different power in different spans by explicitly setting the gain of the EDFA in front of each span. If you could attach your topology json file I could try and help you with the necessary modifications.

@indayara
Copy link
Author

indayara commented Oct 21, 2020 via email

@ojnas
Copy link
Contributor

ojnas commented Oct 21, 2020

Hmm, I don't see any attachment. Maybe github does not support attaching json files. Try to zip them or change extension to .txt.

@jktjkt
Copy link
Collaborator

jktjkt commented Oct 21, 2020

@indayara , you'll have to visit GitHub's web interface and attach these files from there. E-mail attachments are not picked up on GitHub.

@indayara
Copy link
Author

indayara commented Oct 21, 2020 via email

@ojnas
Copy link
Contributor

ojnas commented Oct 21, 2020

First of all, the only way to have full control of the power levels in every span (as fas as I know) is to set "power_mode":false under Span in the equipment configuration file. Then you have to manually calculate and set the gain of each Edfa in the topology file to have the desired power out (depending on power in). You also have to make sure the resulting gain and power level are within the Edfa range specified in the equipment configuration file.

@Tobelightbeam
Copy link

hi @ojnas and @indayara ,
maybe we can do this in power mode through the "delta_p" of EDFA rather than target gain. In this way, the gain of a EDFA will be set according to the "delta_p" of EDFA and power_dbm of SI.

@ojnas
Copy link
Contributor

ojnas commented Oct 26, 2020

@Tobelightbeam, you are right, thanks. Somehow I overlooked the possibility of setting delta_p manually in the topology file (it's not a well documented feature).

@indayara, this is probably the easiest way to achieve what you want. In this case you set "power_mode": true (as you already had in your eqpt config). The reference Edfa output power per channel is then defined by the "power_dbm" parameter under "SI" in the equipment configuration file (at least if you're running the gnpy-transmission-example script). For all the Edfas in the network that should use this reference power level you can either explicitly set "delta_p": 0 in the topology file or you can leave it as "delta_p": null if you also set "delta_power_range_db": [0,0,0] under "Span" in the equipment configuration file (I think you already had this). If you want an Edfa to have 2 dB lower output power than the reference you just set "delta_p": -2 in the topology file for this Edfa (the "gain_target" parameter for every Edfa in the topology file is overwritten in power_mode so you can remove it or leave it as is, it doesn't matter). Note however that the power will be "clamped" during propagation if the resulting total power is higher than the "p_max" for this Edfa type_variety specified in the equipment configuration file. So for example, for the Edfa in POP Mnaheim it could look something like this:

     {
      "uid": "edfa Pop Mnaheim",
      "metadata": {
        "location": {
          "city": "Pop Mnaheim",
          "region": "RLD",
          "latitude": 2.0,
          "longitude": 3.0
        }
      },
      "type": "Edfa",
      "type_variety": "EK_ILHCS1",
      "operational": {
         "delta_p": -2,
         "tilt_target": 0,
         "out_voa": 0
      }
    },

@indayara
Copy link
Author

indayara commented Oct 26, 2020 via email

@indayara
Copy link
Author

indayara commented Oct 27, 2020 via email

@ojnas
Copy link
Contributor

ojnas commented Oct 27, 2020

Let me know if it is possible to implement Raman Fiber - Corning LEAF -
G655 in eqpt_config.json.

Yes, I think it should be possible but as for what Raman parameters to use, I'll refer the question to someone else. @AndreaDAmico, @aleFerrari?

@indayara
Copy link
Author

indayara commented Oct 28, 2020 via email

@ojnas
Copy link
Contributor

ojnas commented Oct 28, 2020

Again, I don't see any attachment. Also, your message ended after "I don't know..." Did you mean to write what it is that you don't know?

Anyway, to simulate Raman amplification you need to supply the "raman_efficiency" parameter for the desired fiber type (G.655 in your case) in the eqpt config file. The default eqpt_config.json currently only includes the Raman efficiency for SSMF fiber type but there is an ongoing effort to obtain and include it also for other fiber types.

@indayara
Copy link
Author

indayara commented Oct 29, 2020 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants