add corrected datasets with PMD and dispersion
This commit is contained in:
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:bc02b0099ea3bb136733e3d20817cad79b6c50c2e4b845f0d206455dde188cc4
|
||||
size 615
|
||||
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:d80ff6f2a84acf973fbdf81a05ed0b1902f8bf97856cd5132b646f6b1173f496
|
||||
size 615
|
||||
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:54ac6b6a452aa6b7d312a4c8ab8f7ebe2f96c1c4170cbc56147e8f2f9d934ad6
|
||||
size 615
|
||||
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:bd2c6f4050488b6e857759d48aa1f1f37399d81cee1667d3668145e938d17c83
|
||||
size 615
|
||||
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:c59b8113092459a8751b385a7b1a6f10828626d2ec2f29775512157fd9bbc75c
|
||||
size 615
|
||||
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:04eaa2a29b3302e5de3bf99bf6a57fc8f27361fd3df3cac9245e25ab99324829
|
||||
size 615
|
||||
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:704d3b0b17b9d320f4717b5a5a8bdbc5714f3caa4efa7153e980766429e834f4
|
||||
size 615
|
||||
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:29304f35a88fd777566105f8666fff1c9927beb32756822365bcf9c159feb98e
|
||||
size 615
|
||||
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:4a87488c12e0253b2bb5d1ac7aa1536f69ef569e62c2aab6a10149d753e049b4
|
||||
size 615
|
||||
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:ff47c8d5413881edb03cfadfcde3b550ef7089543615a467c4f0027edaf1455e
|
||||
size 615
|
||||
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:9e05a0a54c7e3aaffeca0ac90cce1b274a544d90b329a93d453392f5df4e91a8
|
||||
size 616
|
||||
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:25e45b06b551ab8031c2159030d658999fcb3d1f0a34538c90768b94c8116771
|
||||
size 616
|
||||
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:707ed73713b6c2d80d4e333b1ccdf4650f50aefefff58ddb471c1d5411954b3d
|
||||
size 616
|
||||
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:a8c3baf878943741d83835c1afed05c1f9780ff3f0df260c0d92706343e59c50
|
||||
size 616
|
||||
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:98878d09510dedc24f1429bbd12cce49c66be6c9d279a28765b120efe820a171
|
||||
size 616
|
||||
3
data/npys/0d56eb7933de7bd4a847eaa1ba4fd2c4.npy
Normal file
3
data/npys/0d56eb7933de7bd4a847eaa1ba4fd2c4.npy
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:73e922310068a66ab1a0c3d39b0b0fd7db798f2637b199a8c4bd113a38bb28c8
|
||||
size 134217856
|
||||
3
data/npys/0fb99fd81fd3076612f6aca9e2926e36.npy
Normal file
3
data/npys/0fb99fd81fd3076612f6aca9e2926e36.npy
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:43e80dc7d21aeff62c73f0ed02b20a4ac9b573d0e131a3ab8d1471077e03634b
|
||||
size 134217856
|
||||
3
data/npys/2a7f021c1c1112554d469b4e7bc3081f.npy
Normal file
3
data/npys/2a7f021c1c1112554d469b4e7bc3081f.npy
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:fb74cfbeec54b4f263c08510312881527fc7e484604fa0a1213b596f175fecc2
|
||||
size 134217856
|
||||
3
data/npys/3f6b6dfaecf6f1c003c6d9dfe950c6d0.npy
Normal file
3
data/npys/3f6b6dfaecf6f1c003c6d9dfe950c6d0.npy
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:447cca0af25e309c8be61216cea4fb2d3a8a967b0522760f1dab8f15e6b41574
|
||||
size 134217856
|
||||
3
data/npys/4365258197699ae6a83e846b9985f606.npy
Normal file
3
data/npys/4365258197699ae6a83e846b9985f606.npy
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:63321906920de825fc7857aa9f2e4944c3b32f3eadf99da06b66f6599924bc4c
|
||||
size 134217856
|
||||
3
data/npys/484ffd154056e75885022c286dbfafa7.npy
Normal file
3
data/npys/484ffd154056e75885022c286dbfafa7.npy
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:92e3fcc41f05380cb7b334fefc0a30bb8c1dfd9ca5c3b2cfaad36b0c7093914e
|
||||
size 134217856
|
||||
3
data/npys/55aac65b78a8181629f963815a7cdf5c.npy
Normal file
3
data/npys/55aac65b78a8181629f963815a7cdf5c.npy
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:0bf671d666d35617edd7bfb58548a5120bd92e5f9cb6edb4b5fc8d3bf5db8987
|
||||
size 134217856
|
||||
3
data/npys/5aaa36769f52738e1fa37f4c79b9eed2.npy
Normal file
3
data/npys/5aaa36769f52738e1fa37f4c79b9eed2.npy
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:bd429a5776555671b19d42e3ae152026dafd5bf95aeed9847df1432ed37f3eba
|
||||
size 134217856
|
||||
3
data/npys/78f8295da779018e431af641e9f3eb76.npy
Normal file
3
data/npys/78f8295da779018e431af641e9f3eb76.npy
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:477365edd696f66610298198257422a017f825e1f8bec4363bdfb0da0d741ebc
|
||||
size 134217856
|
||||
3
data/npys/7a63d865c33ab1bab2697ee5a9c2ce3b.npy
Normal file
3
data/npys/7a63d865c33ab1bab2697ee5a9c2ce3b.npy
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:1814f8ae0e6cdb69c0030741a3c6b35c74f2d6985eed34c0d5b4135384014abc
|
||||
size 134217856
|
||||
3
data/npys/a0ddcc9a8f2fc25a1152ec78d54d9676.npy
Normal file
3
data/npys/a0ddcc9a8f2fc25a1152ec78d54d9676.npy
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:d53bc0fd0897c7372c2f182b84163bcf401ad91f26b6949c6d7a1d70c5dbb513
|
||||
size 134217856
|
||||
3
data/npys/cf33366e5842c443d7e67f89947a380f.npy
Normal file
3
data/npys/cf33366e5842c443d7e67f89947a380f.npy
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:fc882f29530f7d683be631214f6667611e0aba87453a11157d71c50f3548fb3c
|
||||
size 134217856
|
||||
3
data/npys/d30358afa19a86066b4fda6adb74c1b4.npy
Normal file
3
data/npys/d30358afa19a86066b4fda6adb74c1b4.npy
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:0f0bc616c2e581444a6fa658e45ee942c1ef5a4d21f22363518331f8d80cbe62
|
||||
size 134217856
|
||||
3
data/npys/ec3a1c902e17ca5cb5d85398cea182f7.npy
Normal file
3
data/npys/ec3a1c902e17ca5cb5d85398cea182f7.npy
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:ad94f2af43a2a06ebddc78566cbef0ea538c3da9191682e2fde4ecddb061b0f0
|
||||
size 134217856
|
||||
3
data/npys/f4a8fbbeced371651d851440bd565ee4.npy
Normal file
3
data/npys/f4a8fbbeced371651d851440bd565ee4.npy
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:6930349d1ae1479dcb4c9ee9eaefe2da3eae62539cb4b97de873a7a8b175e809
|
||||
size 134217856
|
||||
@@ -146,7 +146,7 @@ class pam_generator:
|
||||
E_x = np.convolve(digital_x, wavelet)
|
||||
|
||||
# convert to pam and set modulation depth (scale and move up such that 1 stays at 1)
|
||||
E_x = np.cumsum(E_x) * self.modulation_depth + 2*(1 - self.modulation_depth)
|
||||
E_x = np.cumsum(E_x) * self.modulation_depth + (1 - self.modulation_depth)
|
||||
|
||||
# cut off the wavelet tails
|
||||
E_x = E_x[self.glova.sps // 2 + len(wavelet) // 2 - 1 : -len(wavelet) // 2]
|
||||
@@ -171,7 +171,7 @@ class pam_generator:
|
||||
E[0]["E"][1] = np.sqrt(np.multiply(np.square(E[0]["E"][1]), E_y))
|
||||
|
||||
# rotate the signal on the y-polarisation by 90°
|
||||
E[0]["E"][1] *= 1j
|
||||
# E[0]["E"][1] *= 1j
|
||||
else:
|
||||
E[0]["E"][1] = np.zeros_like(E[0]["E"][0], dtype=E[0]["E"][0].dtype)
|
||||
return E
|
||||
@@ -243,7 +243,6 @@ def initialize_fiber_and_data(config, input_data_override=None):
|
||||
pulse_shape=config["signal"]["pulse_shape"],
|
||||
fwhm=config["signal"]["fwhm"],
|
||||
seed=config["signal"]["jitter_seed"],
|
||||
single_channel=False,
|
||||
mod_order=config["signal"]["mod_order"],
|
||||
)
|
||||
|
||||
@@ -379,56 +378,32 @@ def save_data(data, config):
|
||||
print("Saved data to", save_dir / save_file)
|
||||
|
||||
|
||||
def length_loop(config, lengths, incremental=False, bireflength=None, save=True):
|
||||
def length_loop(config, lengths, save=True):
|
||||
lengths = sorted(lengths)
|
||||
input_override = None
|
||||
birefsteps_running = 0
|
||||
for lind, length in enumerate(lengths):
|
||||
# print(f"\nGenerating data for fiber length {length}")
|
||||
if lind > 0 and incremental:
|
||||
# set the length to the difference between the current and previous length -> incremental
|
||||
length = lengths[lind] - lengths[lind - 1]
|
||||
if incremental:
|
||||
print(
|
||||
f"\nGenerating data for fiber length {lengths[lind]}m [using {length}m increment]"
|
||||
)
|
||||
else:
|
||||
for length in lengths:
|
||||
print(f"\nGenerating data for fiber length {length}m")
|
||||
config["fiber"]["length"] = length
|
||||
if bireflength is not None and bireflength > 0:
|
||||
config["fiber"]["birefsteps"] = length // bireflength
|
||||
birefsteps_running += config["fiber"]["birefsteps"]
|
||||
# set the input data to the output data of the previous run
|
||||
cfiber, cdata, noise, edfa = initialize_fiber_and_data(
|
||||
config, input_data_override=input_override
|
||||
)
|
||||
|
||||
if lind == 0:
|
||||
cdata_orig = cdata
|
||||
cfiber, cdata, noise, edfa = initialize_fiber_and_data(config)
|
||||
|
||||
|
||||
mean_power_in = np.sum(pypho.functions.getpower_W(cdata.E_in))
|
||||
cfiber()
|
||||
mean_power_out = np.sum(pypho.functions.getpower_W(cdata.E_out))
|
||||
|
||||
|
||||
print(
|
||||
f"Mean power in: {mean_power_in:.3e} W ({pypho.functions.W_to_dBm(mean_power_in):.3e} dBm)"
|
||||
)
|
||||
|
||||
cfiber()
|
||||
|
||||
|
||||
mean_power_out = np.sum(pypho.functions.getpower_W(cdata.E_out))
|
||||
print(
|
||||
f"Mean power out: {mean_power_out:.3e} W ({pypho.functions.W_to_dBm(mean_power_out):.3e} dBm)"
|
||||
)
|
||||
|
||||
if incremental:
|
||||
input_override = (cdata.E_out, noise)
|
||||
cdata.E_in = cdata_orig.E_in
|
||||
config["fiber"]["length"] = lengths[lind]
|
||||
if bireflength is not None:
|
||||
config["fiber"]["birefsteps"] = birefsteps_running
|
||||
|
||||
E_tmp = [{'E': cdata.E_out, 'noise': noise*(-cfiber.params.l*cfiber.params.alpha)}]
|
||||
E_tmp = edfa(E=E_tmp)
|
||||
cdata.E_out = E_tmp[0]['E']
|
||||
|
||||
if save:
|
||||
save_data(cdata, config)
|
||||
|
||||
@@ -646,10 +621,11 @@ if __name__ == "__main__":
|
||||
10000, 20000, 30000, 40000, 50000, 60000, 70000, 80000, 90000,
|
||||
95000, 100000, 105000, 110000, 115000, 120000
|
||||
)
|
||||
lengths = sorted(lengths)
|
||||
|
||||
length_loop(config, lengths, incremental=False, bireflength=1000, save=True)
|
||||
# lengths = (10000,100000)
|
||||
|
||||
length_loop(config, lengths, save=True)
|
||||
# birefringence is constant over coupling length -> several 100m -> bireflength=1000 (m)
|
||||
|
||||
# single_run_with_plot(config, save=True)
|
||||
# single_run_with_plot(config, save=False)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user