Procházet zdrojové kódy

Merge timing.

master
Lukas Prause před 2 roky
rodič
revize
502de2d864
1 změnil soubory, kde provedl 28 přidání a 35 odebrání
  1. +28
    -35
      plot_single_transmission_paper.py

+ 28
- 35
plot_single_transmission_paper.py Zobrazit soubor

@@ -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]])

Načítá se…
Zrušit
Uložit