Merge timing.

This commit is contained in:
Lukas Prause
2023-07-12 16:16:01 +02:00
parent a713b9e262
commit 502de2d864

View File

@@ -123,48 +123,44 @@ if __name__ == "__main__":
serial_df.index = pd.to_datetime(serial_df.index)
serial_df.sort_index()
transmission_df = pd.merge_asof(
transmission_df,
serial_df,
tolerance=pd.Timedelta("1milliseconds"),
right_index=True,
left_index=True,
)
# Select DataFrame rows between two dates
mask = (serial_df.index >= transmission_df.index[0]) & (serial_df.index <= transmission_df.index[-1])
serial_df = serial_df.loc[mask]
transmission_df.index = transmission_df["arrival_time"]
# filter active state
for i in range(1, 5):
transmission_df["LTE_SCC{}_effective_bw".format(i)] = transmission_df[
serial_df["LTE_SCC{}_effective_bw".format(i)] = serial_df[
"LTE_SCC{}_bw".format(i)
]
mask = transmission_df["LTE_SCC{}_state".format(i)].isin(["ACTIVE"])
transmission_df["LTE_SCC{}_effective_bw".format(i)] = transmission_df[
mask = serial_df["LTE_SCC{}_state".format(i)].isin(["ACTIVE"])
serial_df["LTE_SCC{}_effective_bw".format(i)] = serial_df[
"LTE_SCC{}_effective_bw".format(i)
].where(mask, other=0)
# filter if sc is usesd for uplink
for i in range(1, 5):
mask = transmission_df["LTE_SCC{}_UL_Configured".format(i)].isin([False])
transmission_df["LTE_SCC{}_effective_bw".format(i)] = transmission_df[
mask = serial_df["LTE_SCC{}_UL_Configured".format(i)].isin([False])
serial_df["LTE_SCC{}_effective_bw".format(i)] = serial_df[
"LTE_SCC{}_effective_bw".format(i)
].where(mask, other=0)
# sum all effective bandwidth for 5G and 4G
transmission_df["SCC1_NR5G_effective_bw"] = transmission_df[
serial_df["SCC1_NR5G_effective_bw"] = serial_df[
"SCC1_NR5G_bw"
].fillna(0)
transmission_df["lte_effective_bw_sum"] = (
transmission_df["LTE_SCC1_effective_bw"].fillna(0)
+ transmission_df["LTE_SCC2_effective_bw"].fillna(0)
+ transmission_df["LTE_SCC3_effective_bw"].fillna(0)
+ transmission_df["LTE_SCC4_effective_bw"].fillna(0)
+ transmission_df["LTE_bw"].fillna(0))
transmission_df["nr_effective_bw_sum"] = transmission_df["SCC1_NR5G_effective_bw"]
serial_df["lte_effective_bw_sum"] = (
serial_df["LTE_SCC1_effective_bw"].fillna(0)
+ serial_df["LTE_SCC2_effective_bw"].fillna(0)
+ serial_df["LTE_SCC3_effective_bw"].fillna(0)
+ serial_df["LTE_SCC4_effective_bw"].fillna(0)
+ serial_df["LTE_bw"].fillna(0))
serial_df["nr_effective_bw_sum"] = serial_df["SCC1_NR5G_effective_bw"]
transmission_df["effective_bw_sum"] = transmission_df["nr_effective_bw_sum"] + transmission_df[
serial_df["effective_bw_sum"] = serial_df["nr_effective_bw_sum"] + serial_df[
"lte_effective_bw_sum"]
# transmission timeline
@@ -182,8 +178,6 @@ if __name__ == "__main__":
ax00 = ax[1]
snd_plot = ax0.plot(
transmission_df["snd_cwnd"].dropna(),
color="lime",
@@ -204,14 +198,14 @@ if __name__ == "__main__":
)
# sum all effective bandwidth for 5G and 4G
transmission_df["SCC1_NR5G_effective_bw"] = transmission_df["SCC1_NR5G_bw"].fillna(0)
transmission_df["effective_bw_sum"] = (
transmission_df["SCC1_NR5G_effective_bw"]
+ transmission_df["LTE_SCC1_effective_bw"]
+ transmission_df["LTE_SCC2_effective_bw"]
+ transmission_df["LTE_SCC3_effective_bw"]
+ transmission_df["LTE_SCC4_effective_bw"]
+ transmission_df["LTE_bw"]
serial_df["SCC1_NR5G_effective_bw"] = serial_df["SCC1_NR5G_bw"].fillna(0)
serial_df["effective_bw_sum"] = (
serial_df["SCC1_NR5G_effective_bw"]
+ serial_df["LTE_SCC1_effective_bw"]
+ serial_df["LTE_SCC2_effective_bw"]
+ serial_df["LTE_SCC3_effective_bw"]
+ serial_df["LTE_SCC4_effective_bw"]
+ serial_df["LTE_bw"]
)
bw_cols = [
"SCC1_NR5G_effective_bw",
@@ -222,11 +216,10 @@ if __name__ == "__main__":
"LTE_SCC4_effective_bw",
]
serial_df["time_rel"] = serial_df["time"] - serial_df["time"].iloc[0]
serial_df.index = serial_df["time_rel"] / 60
transmission_df.to_csv("{}{}_plot.csv".format(args.save, csv.replace(".csv", "")))
exit()
ax_stacked = transmission_df[bw_cols].plot.area(stacked=True, linewidth=0, ax=ax00)
ax_stacked = serial_df[bw_cols].plot.area(stacked=True, linewidth=0, ax=ax00)
ax00.set_ylabel("bandwidth [MHz]")
#ax.set_xlabel("time [minutes]")
#ax00.set_xlim([0, transmission_df.index[-1]])