Pārlūkot izejas kodu

Merge timing.

master
Lukas Prause pirms 2 gadiem
vecāks
revīzija
502de2d864
1 mainītis faili ar 28 papildinājumiem un 35 dzēšanām
  1. +28
    -35
      plot_single_transmission_paper.py

+ 28
- 35
plot_single_transmission_paper.py Parādīt failu

serial_df.index = pd.to_datetime(serial_df.index) serial_df.index = pd.to_datetime(serial_df.index)
serial_df.sort_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"] transmission_df.index = transmission_df["arrival_time"]


# filter active state # filter active state
for i in range(1, 5): 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) "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) "LTE_SCC{}_effective_bw".format(i)
].where(mask, other=0) ].where(mask, other=0)


# filter if sc is usesd for uplink # filter if sc is usesd for uplink
for i in range(1, 5): 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) "LTE_SCC{}_effective_bw".format(i)
].where(mask, other=0) ].where(mask, other=0)


# sum all effective bandwidth for 5G and 4G # 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" "SCC1_NR5G_bw"
].fillna(0) ].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"] "lte_effective_bw_sum"]


# transmission timeline # transmission timeline


ax00 = ax[1] ax00 = ax[1]




snd_plot = ax0.plot( snd_plot = ax0.plot(
transmission_df["snd_cwnd"].dropna(), transmission_df["snd_cwnd"].dropna(),
color="lime", color="lime",
) )


# sum all effective bandwidth for 5G and 4G # 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 = [ bw_cols = [
"SCC1_NR5G_effective_bw", "SCC1_NR5G_effective_bw",
"LTE_SCC4_effective_bw", "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]") ax00.set_ylabel("bandwidth [MHz]")
#ax.set_xlabel("time [minutes]") #ax.set_xlabel("time [minutes]")
#ax00.set_xlim([0, transmission_df.index[-1]]) #ax00.set_xlim([0, transmission_df.index[-1]])

Notiek ielāde…
Atcelt
Saglabāt