Skip to content
This repository has been archived by the owner on Sep 1, 2023. It is now read-only.

Commit

Permalink
Add Veins LTE example
Browse files Browse the repository at this point in the history
  • Loading branch information
floxyz authored and sommer committed Dec 1, 2014
1 parent 5e24b4e commit b2d0657
Show file tree
Hide file tree
Showing 34 changed files with 3,937 additions and 0 deletions.
17 changes: 17 additions & 0 deletions Makefile
@@ -0,0 +1,17 @@
.PHONY: all makefiles clean

all:
+make -C inet
+make -C simulte
+make -C veins

makefiles:
make -C inet makefiles
make -C simulte makefiles
cd veins && ./configure --with-inet=../inet --with-simulte=../simulte

clean:
+make -C inet clean
+make -C simulte clean
+make -C veins clean

1 change: 1 addition & 0 deletions README
@@ -1 +1,2 @@
This is Veins LTE.
http://veins.car2x.org/
1 change: 1 addition & 0 deletions veins/.nedfolders
@@ -1,2 +1,3 @@
examples/veins
examples/heterogeneous
src/veins
2 changes: 2 additions & 0 deletions veins/.project
Expand Up @@ -3,6 +3,8 @@
<name>veins</name>
<comment></comment>
<projects>
<project>inet</project>
<project>lte</project>
</projects>
<buildSpec>
<buildCommand>
Expand Down
98 changes: 98 additions & 0 deletions veins/examples/heterogeneous/Highway.ned
@@ -0,0 +1,98 @@
//
// Copyright (C) 2008 Christoph Sommer <christoph.sommer@informatik.uni-erlangen.de>
//
// Documentation for these modules is at http://veins.car2x.org/
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//


import org.car2x.veins.base.connectionManager.ConnectionManager;
import org.car2x.veins.base.modules.BaseWorldUtility;
import org.car2x.veins.modules.mobility.traci.TraCIScenarioManagerLaunchd;
import org.car2x.veins.modules.obstacle.ObstacleControl;
import org.car2x.veins.modules.world.annotations.AnnotationManager;

import inet.networklayer.autorouting.ipv4.IPv4NetworkConfigurator;
import inet.nodes.inet.AdhocHost;
import inet.world.radio.ChannelControl;
import inet.nodes.inet.Router;
import inet.nodes.inet.StandardHost;
import inet.nodes.ethernet.Eth10G;
import inet.networklayer.ipv4.RoutingTableRecorder;

import lte.corenetwork.binder.*;
import lte.corenetwork.nodes.*;

module Highway
{
parameters:
double playgroundSizeX @unit(m); // x size of the area the nodes are in (in meters)
double playgroundSizeY @unit(m); // y size of the area the nodes are in (in meters)
double playgroundSizeZ @unit(m); // z size of the area the nodes are in (in meters)
@display("bgb=732,483");
int numUe = default(100);

submodules:
obstacles: ObstacleControl {
@display("p=261,35");
}
annotations: AnnotationManager {
@display("p=485,35");
}
connectionManager: ConnectionManager {
parameters:
@display("p=146,31;i=abstract/multicast");
}
world: BaseWorldUtility {
parameters:
playgroundSizeX = playgroundSizeX;
playgroundSizeY = playgroundSizeY;
playgroundSizeZ = playgroundSizeZ;
@display("p=34,31;i=misc/globe");
}
manager: TraCIScenarioManagerLaunchd {
parameters:
@display("p=34,206");
}

// needed for INET
channelControl: ChannelControl {
@display("p=361,34");
}
configurator: IPv4NetworkConfigurator {
@display("p=34,97");
}
// LTE stuff
binder: LteBinder {
@display("p=34,152;is=s");
}
eNodeB1: eNodeB {
@display("p=200,200;is=vl");
}
router: Router {
@display("p=247,151;i=device/smallrouter");
}
server: StandardHost {
@display("p=146,152;is=n;i=device/server");
}
routingRecorder: RoutingTableRecorder {
@display("p=34,274;is=s");
}
connections allowunconnected:
router.pppg++ <--> Eth10G <--> eNodeB1.ppp;
server.pppg++ <--> Eth10G <--> router.pppg++;
}

16 changes: 16 additions & 0 deletions veins/examples/heterogeneous/config.xml
@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<root>
<AnalogueModels>
<AnalogueModel type="SimplePathlossModel">
<parameter name="alpha" type="double" value="2.0"/>
<parameter name="carrierFrequency" type="double" value="5.890e+9"/>
</AnalogueModel>
<AnalogueModel type="SimpleObstacleShadowing">
<parameter name="carrierFrequency" type="double" value="5.890e+9"/>
</AnalogueModel>
</AnalogueModels>
<Decider type="Decider80211p">
<!-- The center frequency on which the phy listens-->
<parameter name="centerFrequency" type="double" value="5.890e9"/>
</Decider>
</root>
62 changes: 62 additions & 0 deletions veins/examples/heterogeneous/config_channel.xml
@@ -0,0 +1,62 @@
<?xml version="1.0" encoding="UTF-8"?>
<root>
<!-- Channel Model Type (REAL, DUMMY) -->
<ChannelModel type="REAL">
<!-- Enable/disable shadowing -->
<parameter name="shadowing" type="bool" value="true"/>
<!-- Pathloss scenario from ITU -->
<parameter name="scenario" type="string" value="URBAN_MACROCELL"/>
<!-- eNodeB height -->
<parameter name="nodeb-height" type="double" value="25"/>
<!-- Building height -->
<parameter name="building-height" type="double" value="20"/>
<!-- Carrier Frequency (GHz) -->
<parameter name="carrierFrequency" type="double" value="2.1"/>
<!-- Target bler used to compute feedback -->
<parameter name="targetBler" type="double" value="0.001"/>
<!-- HARQ reduction -->
<parameter name="harqReduction" type="double" value="0.2"/>
<!-- Rank indicator tracefile -->
<parameter name="lambdaMinTh" type="double" value="0.02"/>
<parameter name="lambdaMaxTh" type="double" value="0.2"/>
<parameter name="lambdaRatioTh" type="double" value="20"/>
<!-- Antenna Gain of UE -->
<parameter name="antennaGainUe" type="double" value="0"/>
<!-- Antenna Gain of eNodeB -->
<parameter name="antennGainEnB" type="double" value="18"/>
<!-- Antenna Gain of Micro node -->
<parameter name="antennGainMicro" type="double" value="5"/>
<!-- Thermal Noise for 10 MHz of Bandwidth -->
<parameter name="thermalNoise" type="double" value="-104.5"/>
<!-- Ue noise figure -->
<parameter name="ue-noise-figure" type="double" value="7"/>
<!-- eNodeB noise figure -->
<parameter name="bs-noise-figure" type="double" value="5"/>
<!-- Cable Loss -->
<parameter name="cable-loss" type="double" value="2"/>
<!-- If true enable the possibility to switch dinamically the LOS/NLOS pathloss computation -->
<parameter name="dynamic-los" type="bool" value="false"/>
<!-- If dynamic-los is false this parameter, if true, compute LOS pathloss otherwise compute NLOS pathloss -->
<parameter name="fixed-los" type="bool" value="false"/>
<!-- Enable/disable fading -->
<parameter name="fading" type="bool" value="true"/>
<!-- Fading type (JAKES or RAYGHLEY) -->
<parameter name="fading-type" type="string" value="JAKES"/>
<!-- If jakes fading this parameter specify the number of path (tap channel) -->
<parameter name="fading-paths" type="int" value="6"/>
<!-- if true, enables the inter-cell interference computation -->
<parameter name="extCell-interference" type="bool" value="true"/>
<!-- if true, enables the in-cell interference computation -->
<parameter name="inCell-interference" type="bool" value="true"/>
</ChannelModel>

<!-- Feedback Type (REAL, DUMMY) -->
<FeedbackComputation type="REAL">
<!-- Target bler used to compute feedback -->
<parameter name="targetBler" type="double" value="0.001"/>
<!-- Rank indicator tracefile -->
<parameter name="lambdaMinTh" type="double" value="0.02"/>
<parameter name="lambdaMaxTh" type="double" value="0.2"/>
<parameter name="lambdaRatioTh" type="double" value="20"/>
</FeedbackComputation>
</root>
2 changes: 2 additions & 0 deletions veins/examples/heterogeneous/debug
@@ -0,0 +1,2 @@
#!/bin/sh
../../debug "$@"

0 comments on commit b2d0657

Please sign in to comment.