Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
oeigner
LINK - Forschungsprojekt Repo
Commits
5662a69a
Commit
5662a69a
authored
Jan 14, 2022
by
Fabian Kovac
Browse files
Mean and std attenuation based on dry periods
parent
7231efa1
Changes
3
Hide whitespace changes
Inline
Side-by-side
FHSTP/01_data_preparation/00_Link_dry_attnstats.csv
0 → 100644
View file @
5662a69a
This source diff could not be displayed because it is too large. You can
view the blob
instead.
FHSTP/01_data_preparation/Datenvorverarbeitung.pdf
View file @
5662a69a
No preview for this file type
FHSTP/01_data_preparation/prep.py
View file @
5662a69a
...
...
@@ -2,8 +2,8 @@
# Title: Data Preparation for LINK Configs and Transmissions
# Author: Fabian Kovac <fabian.kovac@fhstp.ac.at>
# Team: University of Applied Sciences St. Pölten
# Version:
3.3
# Last changed: 202
1-12
-1
5
# Version:
4.0
# Last changed: 202
2-01
-1
4
#
import
sys
...
...
@@ -579,18 +579,14 @@ def prep() -> None:
_log
(
'
\n
******************************** CALC POWER LEVELS *************************'
)
# build df with differences of sending and receiving levels
df_diff
=
df_link
[[
'LINKID'
,
'TXLEVEL'
,
'REMOTERXLEVEL'
]].
copy
()
df_diff
[
'ATTENUATIONMEAN'
]
=
df_diff
[
'REMOTERXLEVEL'
]
-
df_diff
[
'TXLEVEL'
]
_log
(
'Built dataframe with mean link attenuations'
)
# load dry LINK attenuation statistics
df_stats
=
pd
.
read_csv
(
'00_Link_dry_attnstats.csv'
,
sep
=
';'
)
# get mean of differences per link
df_diff
=
df_diff
.
groupby
([
'LINKID'
]).
agg
({
'ATTENUATIONMEAN'
:
'mean'
}).
reset_index
()
# merge differences to transmission dataframe
df_link
=
pd
.
merge
(
df_link
,
df_diff
,
how
=
'left'
,
left_on
=
'LINKID'
,
right_on
=
'LINKID'
)
del
df_diff
_log
(
'Merged mean link attenuations back to link dataframe'
)
# merge mean and std attenuation to transmission dataframe
df_link
=
pd
.
merge
(
df_link
,
df_stats
,
how
=
'left'
,
left_on
=
'LINKID'
,
right_on
=
'LINKID'
)
df_link
=
df_link
.
dropna
(
axis
=
0
,
subset
=
[
'ATTENUATIONMEANDRY'
,
'ATTENUATIONSTDDRY'
])
del
df_stats
_log
(
'Merged mean and std of link attenuations to link dataframe'
)
...
...
@@ -599,8 +595,15 @@ def prep() -> None:
_log
(
'Calculated attenuation per transmission'
)
# calculate differences from attenuations and mean attenuations
df_link
[
'ATTENUATIONDIFF'
]
=
df_link
[
'ATTENUATION'
]
-
df_link
[
'ATTENUATIONMEAN'
]
_log
(
'Calculated attenuation differences of daily means'
)
df_link
[
'ATTENUATIONDIFF'
]
=
df_link
[
'ATTENUATION'
]
-
df_link
[
'ATTENUATIONMEANDRY'
]
df_std
=
df_link
.
groupby
([
'LINKID'
]).
agg
({
'ATTENUATION'
:
'std'
}).
reset_index
()
df_std
=
df_std
.
rename
(
columns
=
{
'LINKID'
:
'LINKID'
,
'ATTENUATION'
:
'ATTENUATIONSTD'
})
df_link
=
pd
.
merge
(
df_link
,
df_std
,
how
=
'left'
,
left_on
=
'LINKID'
,
right_on
=
'LINKID'
)
df_link
[
'ATTENUATIONSTDDIFF'
]
=
df_link
[
'ATTENUATIONSTD'
]
-
df_link
[
'ATTENUATIONSTDDRY'
]
del
(
df_std
)
_log
(
'Calculated attenuation differences of dry means'
)
# calculate extinction coefficients for links based on attenuation and lengths of the links based on beer-lambert law
# Coeff = -ln(10) * (Attenuation/PathLength)
...
...
@@ -617,8 +620,10 @@ def prep() -> None:
'PMAX'
:
'RxLevelMax'
,
'TXLEVEL'
:
'TxLevel'
,
'ATTENUATION'
:
'Attn'
,
'ATTENUATIONMEAN'
:
'AttnMean'
,
'ATTENUATIONMEANDRY'
:
'AttnMeanDry'
,
'ATTENUATIONSTDDRY'
:
'AttnStdDry'
,
'ATTENUATIONDIFF'
:
'AttnDiff'
,
'ATTENUATIONSTDDIFF'
:
'AttnStdDiff'
,
'EXTINCTIONCOEFF'
:
'ExtinctionCoeff'
,
'SPEED'
:
'Speed'
,
'CURRRXBITRATE'
:
'RxBitrate'
,
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment