-
Notifications
You must be signed in to change notification settings - Fork 88
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
Advanced amp model .dgt vector reversal #390
Comments
@cgkelly, I believe your suspicion is correct that the dgt vector in std_medium_gain_advanced_config.json (the Juniper-BoosterHG.json file seems to have the same problem) was originally given vs. wavelength. The dgt implementation was based on a proposal from Ciena and their original slides had a figure with DGT vs. wavelength. For reference, the first implementation (at least that I could find) is here: About gain tilt when operating in the extended gain regime, it was discussed here: |
@ggrammel, about the dgt values (and gain_ripple) in Juniper-BoosterHG.json, do you know for what frequencies they were measured and specifically whether they are given in increasing or decreasing frequency order? (This file also has another problem: there are 48 dgt values, which I guess were measured on a 100 GHz grid. But still it specifies |
Just to clarify, even though this issue is titled "Advanced amp model ..." and refers to std_medium_gain_advanced_config.json, the same dgt values are used in default_edfa_config.json, which is used by all other amplifiers models. This means all amplifiers will have wrong gain vs. frequency values whenever a non-zero tilt_target is specified. |
@ojnas attached the input data for the HGAmp. Note that the input data was measured in steps of 100GHz, while the converter script required 50GHz steps |
@cgkelly, all, I have pushed three commits to gerrit which address some of the issues: https://review.gerrithub.io/c/Telecominfraproject/oopt-gnpy/+/514993 Please have a look if the changes make sense and let's continue discussing the other remaining issues. |
Hi Jonas, I’m not sure what the proper way of responding to gerrithub review comments is, but these changes appear OK to me, but I do want to make a correction to my understanding of fiber tilt.
I’ve been informed fiber tilt is also considered negative when there is higher loss at higher wavelengths.
Thus, fiber tilt and compensating gain tilt have the same sign. The tilt sign is the direction of the curve slope (whether it’s loss or gain that is being plotted) when the x axis is frequency.
I don’t think this changes the outcome: Gain tilt is normally flat to negative, to offset fiber loss tilt.
Colin
From: Jonas Mårtensson ***@***.***>
Sent: Wednesday, April 21, 2021 10:45 AM
To: Telecominfraproject/oopt-gnpy ***@***.***>
Cc: Kelly, Colin (Nokia - CA/Ottawa) ***@***.***>; Mention ***@***.***>
Subject: Re: [Telecominfraproject/oopt-gnpy] Advanced amp model .dgt vector reversal (#390)
@cgkelly<https://github.com/cgkelly>, all, I have pushed three commits to gerrit which address some of the issues:
https://review.gerrithub.io/c/Telecominfraproject/oopt-gnpy/+/514993
https://review.gerrithub.io/c/Telecominfraproject/oopt-gnpy/+/514994
https://review.gerrithub.io/c/Telecominfraproject/oopt-gnpy/+/514995
Please have a look if the changes make sense and let's continue discussing the other remaining issues.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub<#390 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/ATEPR46LLSC4J7LNKPFZR3TTJ3JFLANCNFSM42TJUPUQ>.
|
As identified in GitHub issue #390, the dgt values (as well as gain and nf ripple values) in example config json files are listed in order of increasing wavelength (decreasing frequency) while the code assumes values listed in the opposite order. This patch reverses the order of values in affected files so that they are consistent with existing use in the code. Also, the f_min value in the Juniper-BoosterHG.json file is updated to match measurement data so that interpolation is performed correctly. Change-Id: I97a9d2f9be81380d1658bee5fa1ef4def3e1c537 Signed-off-by: Jonas Mårtensson <jonas.martensson@ri.se>
As pointed out in GitHub issue #390, the normal convention for the sign of amplifier tilt is to define it with regard to wavelength, i.e. negative tilt means lower gain for longer wavelengths (lower frequencies). Currently GNPy uses the opposite convention, which this patch proposes to change. Signed-off-by: Jonas Mårtensson <jonas.martensson@ri.se> Change-Id: I8f7829a3b0b0b710f7da013c525630a60b22a2b5
@cgkelly, I'm thinking about implementing your suggestion to accommodate amplifiers designed for minimum ripple at non-zero tilt. This would require an additional amplifier parameter in the equipment input file defining this non-zero tilt value. Is there a commonly accepted name for this parameter (I think I've heard pre-tilt and built-in tilt)? Also, do you think the tilt_target defined in the topology input file should be an offset from this non-zero tilt or should it be the actual total tilt? |
Hi Jonas, I’ve called it the “flat gain tilt”, but this is not that obvious, and I don’t know if there is a commonly accepted name. Pre-tilt works for me.
I think the tilt_target should be the actual total tilt, as this value comes directly from the expected span tilt (if precompensating), regardless of the amp’s pre-tilt.
(ie this tilt target does not change if the amp’s pre-tilt is zero or non zero, the impact is just on the amp ripple at the target tilt value).
Thanks,
Colin
From: Jonas Mårtensson ***@***.***>
Sent: Tuesday, April 27, 2021 4:02 AM
To: Telecominfraproject/oopt-gnpy ***@***.***>
Cc: Kelly, Colin (Nokia - CA/Ottawa) ***@***.***>; Mention ***@***.***>
Subject: Re: [Telecominfraproject/oopt-gnpy] Advanced amp model .dgt vector reversal (#390)
@cgkelly<https://github.com/cgkelly>, I'm thinking about implementing your suggestion to accommodate amplifiers designed for minimum ripple at non-zero tilt. This would require an additional amplifier parameter in the equipment input file defining this non-zero tilt value. Is there a commonly accepted name for this parameter (I think I've heard pre-tilt and built-in tilt)? Also, do you think the tilt_target defined in the topology input file should be an offset from this non-zero tilt or should it be the actual total tilt?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub<#390 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/ATEPR44PXIAHHGWVAPUXO3DTKZOMXANCNFSM42TJUPUQ>.
|
Hi Jonas, it just occurred to me that we probably don’t need to introduce another parameter (but it may be clearer if we do).
The advanced model has both the .dvt defined gain ripple that scales with tilt (or more accurately, tilt slope), as well as a fixed gain ripple. If the amp has maximum flatness at a pretilt value,
the .dvt defined ripple at this pretilt value can be subtracted from the defined static gain ripple. Of course, this takes a bit more work to define the amplifier.
Since the code looks at the slope of the .dvt vector, and scales it to the desired tilt slope, I think the .dvt vector can be defined for any (nonzero) slope value. Many of our amps have a pretilt of -1 dB,
and thus I am defining a .dvt vector for a -1 dB tilt. In the absence of any other systematic ripple, the static gain ripple simply becomes the inverse of the dvt vector. This way, at this pretilt setting, gain ripple + .dvt ripple sum = 0.
( I prefer to define these vectors such that the average gain in both vectors is zero, but the code looks for gain offsets from the .dvt vector and adjusts the gain to remove this).
Thanks,
Colin
From: Jonas Mårtensson ***@***.***>
Sent: Tuesday, April 27, 2021 4:02 AM
To: Telecominfraproject/oopt-gnpy ***@***.***>
Cc: Kelly, Colin (Nokia - CA/Ottawa) ***@***.***>; Mention ***@***.***>
Subject: Re: [Telecominfraproject/oopt-gnpy] Advanced amp model .dgt vector reversal (#390)
@cgkelly<https://github.com/cgkelly>, I'm thinking about implementing your suggestion to accommodate amplifiers designed for minimum ripple at non-zero tilt. This would require an additional amplifier parameter in the equipment input file defining this non-zero tilt value. Is there a commonly accepted name for this parameter (I think I've heard pre-tilt and built-in tilt)? Also, do you think the tilt_target defined in the topology input file should be an offset from this non-zero tilt or should it be the actual total tilt?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub<#390 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/ATEPR44PXIAHHGWVAPUXO3DTKZOMXANCNFSM42TJUPUQ>.
|
The example .dgt vector in the Juniper std_medium_gain_advanced_config.json file appears to be reversed.
The documentation on how to use is sparse, and the code does not appear to account for the possible
optimization of the amp design for minimum ripple at a tilt value other than zero.
Current Usage: The .dgt vector appears to define the gain ripple as a function of tilt:
Ripple = .dgt x tilt. To accommodate amplifiers that are designed for minimum ripple at a non zero tilt,
this should be modified to ripple = .dgt x (tilt-flat gain tilt).
The sign convention for amplifier tilt needs to be defined/documented. My assumption is fiber tilt due to SRS is positive (lower loss or positive "gain" at higher wavelengths, thus, to counteract this, amplifiers require a negative tilt).
In trying to understand how to use the .dgt vector, it became apparent that the example vector is reversed.
The attached slides illustrate this, and also help clarify how this vector is derived and its usage.
It also suggests that if unknown, a default set of vector coefficients can be derived, as the expected shape from
simple fixed gain C band EDFA simulations match the (reversed) Juniper .dgt vector quite well, once any intrinsic
tilt within the .dgt vector itself is removed.
GNPY_dgt_v1.pptx
The text was updated successfully, but these errors were encountered: