Skip to content
GitLab
Explore
Projects
Groups
Snippets
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
SEAM
seamcat
Commits
0bff5368
Commit
0bff5368
authored
1 year ago
by
Zeljko Tabakovic
Committed by
Stephan Korsholm
1 year ago
Browse files
Options
Download
Email Patches
Plain Diff
#153
ofdma ul imt ul interference power isi
parent
7c2d3e4c
master
#187_FDP
#253_IMT2020_Results_enh
#256_EPP_15_ClutterHeight
119-geo-satellite-down-link-plugin
119-geo-satellite-down-link-system-plugin-as-interferer
119-merge
174-load-relative-positioning-from-file
204-alternative-approaches
204-cpu-time-only-approx-40-is-used
215-compare-tool-improvements-2
221-opening-workspaces-with-embedded-jar
251-add-info-parameter-to-samples
254-extending-event-results-enhancements-to-other-cellular
254-extending-event-results-enhancements-to-other-cellular-ofdma
254_alt
Advanced_EPPTest
5.5.1-loctime-1
5.5.1-ALPHA-5
5.5.1-ALPHA-4
5.5.1-ALPHA-3
5.5.1-ALPHA-2
5.5.0-official
5.5.0-beta-2
No related merge requests found
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
core/src/main/java/org/seamcat/model/systems/imt2020uplink/simulation/IMT2020UpLinkCalculations.java
+10
-4
...s/imt2020uplink/simulation/IMT2020UpLinkCalculations.java
core/src/main/java/org/seamcat/model/systems/imt2020uplink/simulation/VictimImpl.java
+12
-0
...at/model/systems/imt2020uplink/simulation/VictimImpl.java
core/src/main/java/org/seamcat/model/systems/ofdmauplink/OFDMAUpLinkSystemPlugin.java
+3
-0
...at/model/systems/ofdmauplink/OFDMAUpLinkSystemPlugin.java
core/src/main/java/org/seamcat/model/systems/ofdmauplink/simulation/OFDMAUpLinkSimulation.java
+4
-0
...systems/ofdmauplink/simulation/OFDMAUpLinkSimulation.java
core/src/main/java/org/seamcat/model/systems/ofdmauplink/simulation/VictimImpl.java
+15
-0
...mcat/model/systems/ofdmauplink/simulation/VictimImpl.java
with
44 additions
and
4 deletions
+44
-4
core/src/main/java/org/seamcat/model/systems/imt2020uplink/simulation/IMT2020UpLinkCalculations.java
+
10
-
4
View file @
0bff5368
package
org.seamcat.model.systems.imt2020uplink.simulation
;
import
static
org
.
seamcat
.
model
.
plugin
.
system
.
StandardResults
.
FREQUENCY_ALL
;
import
static
org
.
seamcat
.
model
.
systems
.
imt2020uplink
.
IMT2020UpLinkSystemPlugin
.*;
import
java.util.*
;
import
org.seamcat.model.distributions.GaussianDistribution
;
import
org.seamcat.model.factory.Factory
;
import
org.seamcat.model.mathematics.Mathematics
;
...
...
@@ -11,6 +7,11 @@ import org.seamcat.model.simulation.result.*;
import
org.seamcat.model.systems.generic.ui.PathLossCorrelationUI
;
import
org.seamcat.model.types.Unit
;
import
java.util.*
;
import
static
org
.
seamcat
.
model
.
plugin
.
system
.
StandardResults
.
FREQUENCY_ALL
;
import
static
org
.
seamcat
.
model
.
systems
.
imt2020uplink
.
IMT2020UpLinkSystemPlugin
.*;
class
IMT2020UpLinkCalculations
{
public
static
final
VectorDef
BIT_RATE_ACHIEVED_ALL
=
iv
(
ValueName
.
BITRATE_ACHIEVED_ALL
,
Unit
.
kbps
);
public
static
final
VectorDef
RECEIVED_POWER_ALL
=
iv
(
ValueName
.
RECEIVED_POWER_ALL
,
Unit
.
dBm
);
...
...
@@ -186,12 +187,17 @@ class IMT2020UpLinkCalculations {
vi
.
calculateAchievedBitrate
();
double
ach
=
vi
.
getAchievedBitrate
();
totalBitrate
+=
ach
;
vCollector
.
sample
(
INTER_SYSTEM_INTERFERENCE_ALL
,
vi
.
getInterSystemInterference
());
vCollector
.
sample
(
INTERFERENCE_POWER_ALL
,
vi
.
getInterferencePower
());
if
(
vi
.
isConnectedToReferenceCell
())
{
sinrRefCellSum
+=
sinr
;
refCellCount
++;
refCellBitrate
+=
ach
;
dRSS
+=
Mathematics
.
dB2Linear
(
vi
.
getReceivePower
());
ISI
+=
vi
.
getTotalInterferenceWatt
();
vCollector
.
sample
(
INTER_SYSTEM_INTERFERENCE
,
vi
.
getInterSystemInterference
());
vCollector
.
sample
(
INTERFERENCE_POWER
,
vi
.
getInterferencePower
());
}
sinrSum
+=
sinr
;
}
...
...
This diff is collapsed.
Click to expand it.
core/src/main/java/org/seamcat/model/systems/imt2020uplink/simulation/VictimImpl.java
+
12
-
0
View file @
0bff5368
...
...
@@ -11,6 +11,8 @@ public class VictimImpl extends DefaultVictimImpl {
private
Link
connection
;
private
double
achievedSINR
;
private
double
achievedBitrate
;
private
double
interSystemInterference
;
private
double
interferencePower
;
public
VictimImpl
(
Link
connection
)
{
super
(
connection
.
getLinkResult
());
...
...
@@ -34,6 +36,9 @@ public class VictimImpl extends DefaultVictimImpl {
double
extIntWatt
=
Mathematics
.
fromdBm2Watt
(
getTotalInterferenceBlocking
())
+
Mathematics
.
fromdBm2Watt
(
getTotalInterferenceUnwanted
());
interferencePower
=
Mathematics
.
fromWatt2dBm
(
totalInterferenceWatt
+
extIntWatt
);
interSystemInterference
=
Mathematics
.
fromWatt2dBm
(
totalInterferenceWatt
);
double
v
=
rPowerWatt
/
(
totalInterferenceWatt
+
extIntWatt
);
achievedSINR
=
Mathematics
.
linear2dB
(
v
);
}
...
...
@@ -54,6 +59,11 @@ public class VictimImpl extends DefaultVictimImpl {
public
double
getTotalInterferenceWatt
()
{
return
connection
.
getUserTerminal
().
getTotalInterferenceWatt
();
}
public
double
getInterferencePower
()
{
return
interferencePower
;
}
public
double
getAchievedSINR
()
{
return
achievedSINR
;
}
...
...
@@ -74,6 +84,8 @@ public class VictimImpl extends DefaultVictimImpl {
return
connection
.
getUserTerminal
().
getFrequency
();
}
public
double
getInterSystemInterference
()
{
return
interSystemInterference
;}
@Override
public
boolean
isSameRx
(
SystemLink
other
)
{
if
(
other
instanceof
VictimImpl
)
{
...
...
This diff is collapsed.
Click to expand it.
core/src/main/java/org/seamcat/model/systems/ofdmauplink/OFDMAUpLinkSystemPlugin.java
+
3
-
0
View file @
0bff5368
...
...
@@ -67,6 +67,7 @@ public class OFDMAUpLinkSystemPlugin implements SystemPlugin<SystemModelOFDMAUpL
public
VectorDef
SINR_REF
;
public
VectorDef
FREQUENCY
,
CURRENT_TRANSMIT_POWER
,
EFFECTIVE_PATH_LOSS
,
PATH_LOSS
;
public
VectorDef
SINR_ACHIEVED
,
BIT_RATE_ACHIEVED
,
RECEIVED_POWER
;
public
VectorDef
INTERFERENCE_POWER
,
INTER_SYSTEM_INTERFERENCE
;
private
RadioSystem
victim
;
private
RadioSystem
interferer
;
...
...
@@ -255,6 +256,8 @@ public class OFDMAUpLinkSystemPlugin implements SystemPlugin<SystemModelOFDMAUpL
SINR_ACHIEVED
=
iv
(
ValueName
.
SINR_ACHIEVED
,
Unit
.
dB
);
BIT_RATE_ACHIEVED
=
iv
(
ValueName
.
BITRATE_ACHIEVED
,
Unit
.
kbps
);
RECEIVED_POWER
=
iv
(
ValueName
.
RECEIVED_POWER
,
Unit
.
dBm
);
INTERFERENCE_POWER
=
iv
(
ValueName
.
INTERFERENCE_POWER
,
Unit
.
dBm
);
INTER_SYSTEM_INTERFERENCE
=
iv
(
ValueName
.
INTER_SYSTEM_INTERFERENCE
,
Unit
.
dBm
);
INITIAL_VICTIM_OUTAGE
=
v
(
ValueName
.
NON_INTERFERED_BITRATE
,
Unit
.
kbps
);
INTERFERED_BIT_RATE_REF
=
v
(
ValueName
.
INTERFERED_BITRATE
,
Unit
.
kbps
);
...
...
This diff is collapsed.
Click to expand it.
core/src/main/java/org/seamcat/model/systems/ofdmauplink/simulation/OFDMAUpLinkSimulation.java
+
4
-
0
View file @
0bff5368
...
...
@@ -200,6 +200,8 @@ public class OFDMAUpLinkSimulation implements SimulationInstance {
double
ach
=
vi
.
getAchievedBitrate
();
vCollector
.
sample
(
BIT_RATE_ACHIEVED_ALL
,
ach
);
totalBitrate
+=
ach
;
vCollector
.
sample
(
INTERFERENCE_POWER_ALL
,
vi
.
getInterferencePower
()
);
vCollector
.
sample
(
INTER_SYSTEM_INTERFERENCE_ALL
,
vi
.
getInterSystemInterference
());
if
(
vi
.
isConnectedToReferenceCell
())
{
sinrRefCellSum
+=
sinr
;
refCellCount
++;
...
...
@@ -208,6 +210,8 @@ public class OFDMAUpLinkSimulation implements SimulationInstance {
ISI
+=
vi
.
getTotalInterferenceWatt
();
vCollector
.
sample
(
plugin
.
BIT_RATE_ACHIEVED
,
ach
);
vCollector
.
sample
(
plugin
.
SINR_ACHIEVED
,
Mathematics
.
linear2dB
(
sinr
));
vCollector
.
sample
(
plugin
.
INTERFERENCE_POWER
,
vi
.
getInterferencePower
()
);
vCollector
.
sample
(
plugin
.
INTER_SYSTEM_INTERFERENCE
,
vi
.
getInterSystemInterference
());
}
sinrSum
+=
sinr
;
}
...
...
This diff is collapsed.
Click to expand it.
core/src/main/java/org/seamcat/model/systems/ofdmauplink/simulation/VictimImpl.java
+
15
-
0
View file @
0bff5368
...
...
@@ -8,6 +8,9 @@ public class VictimImpl extends DefaultVictimImpl {
private
Link
connection
;
private
double
achievedSINR
;
private
double
achievedBitrate
;
private
double
receivePower
;
private
double
interferencePower
;
private
double
interSystemInterference
;
public
VictimImpl
(
Link
connection
)
{
super
(
connection
.
getLinkResult
());
...
...
@@ -41,11 +44,15 @@ public class VictimImpl extends DefaultVictimImpl {
public
void
calculateAchievedSINRWatt
()
{
double
rPowerWatt
=
Mathematics
.
fromdBm2Watt
(
connection
.
getUserTerminal
().
getServingLink
().
getCurrentReceivePower
());
receivePower
=
Mathematics
.
fromWatt2dBm
(
rPowerWatt
);
double
totalInterferenceWatt
=
getTotalInterferenceWatt
();
double
extIntWatt
=
Mathematics
.
fromdBm2Watt
(
getTotalInterferenceBlocking
())
+
Mathematics
.
fromdBm2Watt
(
getTotalInterferenceUnwanted
());
interferencePower
=
Mathematics
.
fromWatt2dBm
(
totalInterferenceWatt
+
extIntWatt
);
interSystemInterference
=
Mathematics
.
fromWatt2dBm
(
totalInterferenceWatt
);
double
v
=
rPowerWatt
/
(
totalInterferenceWatt
+
extIntWatt
);
achievedSINR
=
Mathematics
.
linear2dB
(
v
);
}
...
...
@@ -63,6 +70,14 @@ public class VictimImpl extends DefaultVictimImpl {
return
connection
.
getUserTerminal
().
getTotalInterferenceWatt
();
}
public
double
getInterferencePower
()
{
return
interferencePower
;
}
public
double
getInterSystemInterference
()
{
return
interSystemInterference
;
}
public
double
getNonInterferedAchievedSINR
()
{
return
connection
.
getUserTerminal
().
getAchievedSINR
();
}
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new 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
Menu
Explore
Projects
Groups
Snippets