reproduct the example figures and results

Asked by mitsuo sakamoto

Hi,

I would like to re-product the example figures and results on IMTAphy web site.
so I update the config.py in openwns-sdk/modules/phy/imtaphy/testConfigs and run it, however the simulation did not finish correctly. if possible, can you post exact config.py file for each or one of examples?
in addtion, most of parameters are same but only scenarioConfig.xBins and scenarioConfig.yBins are set in two cases. I would like to confirm plot data files are different on the examples.

thank you in advance and best regards,

Mitsuo Sakamoto

Question information

Language:
English Edit question
Status:
Solved
For:
IMTAphy Edit question
Assignee:
No assignee Edit question
Solved by:
mitsuo sakamoto
Solved:
Last query:
Last reply:
Revision history for this message
Jan (jan-ellenbeck) said :
#1

Hi,

I think I listed all the changes to the config.py file that I applied when running the simulations. You can check what is changed vs. the repository version by running "bzr diff".

But what exactly happens when you say the simulation did not finish correctly? Which simulation are you running exactly and are you using the debug "openwns" or release "opt" binary? If you try to reproduce these Geometry/best server scenario maps, then what you should take into account is that the configs produce huge simulations. The xBins/yBins defines a grid over the scenario and the placer routines place a UE at each grid point that is within one of the hexagonal cells. So the simulations create about 50.000 UEs (each pixel is one UE), which is only useful for these plotting purposes. You will need a 32 GB machine to run these simulations successfully. For a "normal simulation", you should therefore set "plotting = False" so that the number of mobiles you configure in the upper part of the config.py file gets randomly placed (i.e., not on this grid) onto the scenario.

Can you check if the simulations just run out of memory or what the error message is otherwise?

Best regards
Jan

Revision history for this message
mitsuo sakamoto (mitsuo-sakamoto) said :
#2

Hi,

thanks for your quick response.
I used "openwns" for first evaluation, I have not read carefully debugging module and "opt" release.
in addition, I thought even debugging module spend all memory and is eating swap space, it will successfully finish in my 8GB PC.
when I set "plotting = False", "opt" binary successfully finished with,

./openwns openwns-sdk/modules/phy/imtaphy/testConfigs$ ./opt

I have another question now. can you let me know how you created the graphs matlab files, e.g. channelGain_scmLinkId0_antennaPair00_max.m?

thanks and best regards,

Mitsuo

Revision history for this message
Jan (jan-ellenbeck) said :
#3

Hi,

OK, with 8 GB you won't be able to reproduce the figure on the web page. Please understand that this is not running in the normal simulation mode (where you have on the order of 57*10 mobiles in the system) but with 100 times as many mobiles. If you want to recreate the scenario plots, try using a smaller number of xBins and yBins. For example setting xBins and yBins to "50" should run fine with your amount of memory but it would give you a figure that is more coarse.

As to your other question. The mentioned files are simulation results that you find in the output directory when the simulator finishes. The channelGain_scmLinkId0_antennaPair00_max.m file (and others for other antenna pairs and link IDs) will be created when you set the "dumpChannel = True" variable. Again, this means running the simulator in a special plotting mode because usually the output to generate these channel gain plots is not generated. These ".m" files are not actually Matlab scripts, they are called "Matlab-readable" by openWNS for some reason. You can use the ./plotChannel.py python script (as shown on the webpage) to plot the channel gain output files.

You should get the same results from running in "opt" and "openwns" (debug) mode but the latter gives you screen output and is much slower because all debugging checks are enabled. To produce actual simulation results, you should always use the "opt" binary. Only when debugging a configuration setup change or a modification of the C++ code, you should test with the debug version first.

Best regards
Jan

Revision history for this message
mitsuo sakamoto (mitsuo-sakamoto) said :
#4

Hi,

thanks for your response.
But still I can run only original test config file, config.ph only. I just turn on the "dumpChannel" and "plotting" switch on, but there was no new files even in output folder.
In addition, I changed xBins and yBins to "50", following error can be seen,

------------------------------------------------------------------------------------------
wns::pyconfig::Parser says:
Couldn't load config file 'config.py'.
PyConfig says:
  File "config.py", line 275
    msPositions = imtaphy.ScenarioSupport.placeMobilesEquallyInCells(bsPositions,
                                                                                ^
IndentationError: unindent does not match any outer indentation level

Backtrace (most recent call last, stack size: 11):
 11) unknown
 10) __libc_start_main
  9) unknown
  8) wns::simulator::IApplication::init()
  7) wns::simulator::Main<wns::simulator::Application>::doInit()
  6) wns::simulator::IApplication::init()
  5) wns::simulator::Application::doInit()
  4) wns::pyconfig::Parser::load(std::string const&)
  3) wns::pyconfig::View::showdown(std::string const&, bool) const
  2) wns::Exception::Exception(std::string const&)
  1) wns::Backtrace::snapshot()
openWNS: Caught wns::Exception:

Couldn't load config file 'config.py'
--------------------------------------------------------------

can you let me know which parameter sets can show the plotting results? just one example is fine for me.

thanks in advance and best regards,

Mitsuo Sakamoto

Revision history for this message
Jan (jan-ellenbeck) said :
#5

Hi,

OK, I will provide you with a link to a config.py file that is modified appropriately.

The error message you are getting comes from the Python interpreter that parses the config.py file. Please note that the config.py file is Python script so that all Python syntax requirements apply. Python uses indentation of lines to denote blocks. It seems that while editing the marked line (or its surroundings) you changed the indentation so that it is not a valid Python program anymore. Please see a Python guide and maybe use an editor that is aware of the Python syntax.

Jan

Revision history for this message
Jan (jan-ellenbeck) said :
#6

Hi,

I just pushed a small script to launchpad that allows you to plot the SINR/best server maps as shown on the webpage.

Follow these steps to reproduce the figures:

1) update and recompile your copy of IMTAphy by running from the openWNS main directory:
openwns-sdk$ ./playground.py upgrade
openwns-sdk$ ./playground.py install && ./playground.py install --flavour=opt

2) Put the demo config I just made available into the testConfigs directory:
openwns-sdk/modules/phy/imtaphy/testConfigs$ wget http://www.lkn.ei.tum.de/personen/jan/imtaphy/scenarioPlotConfig.py

3) Run this config by saying: (this might take half an hour or so)
openwns-sdk/modules/phy/imtaphy/testConfigs$ ./opt -f scenarioPlotConfig.py

4) Make sure you have the plotting tools installed by saying (assuming an Ubuntu system):
sudo apt-get install python-numpy python-matplotlib

5) Run the plotting script from the testConfigs directory. Note that it will automatically use the results from the output directory and place two PDF files there. Have a look at the script to see what it does.
openwns-sdk/modules/phy/imtaphy/testConfigs$ ./plotScenarios.py

Best regards
Jan

Revision history for this message
mitsuo sakamoto (mitsuo-sakamoto) said :
#7

Hi,

it seemed to work until step 2. however i get following messages.
--------------------------------------------------------
sakamoto@Tech-H61H2-M5:~/ns3/openwns-sdk/modules/phy/imtaphy/testConfigs$ ./opt -f scenarioPlotConfig.py
WARNING: Uplink (center frequency=2e+09) and Downlink (2e+09) spectrum (partly) overlapping! The resulting UL/DL interference will *not* be considered!

openWNS: caught signal 11
openWNS: caught signal 'SIGSEGV' (segmentation violation)
Backtrace (most recent call last, stack size: 25):
 25) unknown
 24) __libc_start_main
 23) unknown
 22) wns::simulator::Main<wns::simulator::Application>::doRun()
 21) wns::simulator::Application::doRun()
 20) wns::node::NodeSimulationModel::doStartup()
 19) wns::node::Node::onWorldCreated()
 18) imtaphy::Channel::onWorldCreated()
 17) imtaphy::lsparams::LSCorrelation::generateLSCorrelation()
 16) imtaphy::lsparams::LSCorrelation::performCorrelation(std::vector<imtaphy::Link*, std::allocator<imtaphy::Link*> >, imtaphy::scm::m2135::Parameters const*)
 15) itpp::Mat<double> itpp::operator*<double>(itpp::Mat<double> const&, itpp::Mat<double> const&)
 14) DGEMM
 13) mkl_blas_dgemm
 12) mkl_blas_xdgemm
 11) mkl_blas_xdgemm
 10) mkl_blas_xdgemm_par
  9) mkl_blas_xdgemm_par
  8) mkl_blas_dgemm_get_bufs
  7) mkl_blas_dgemm_get_bufs
  6) mkl_serv_allocate
  5)
  4) wns::simulator::SignalHandler::catchSignal(int)
  3) boost::signal0<void, boost::last_value<void>, int, std::less<int>, boost::function0<void> >::operator()()
  2) wns::simulator::SegmentationViolationHandler::doCall()
  1) wns::Backtrace::snapshot()
sakamoto@Tech-H61H2-M5:~/ns3/openwns-sdk/modules/phy/imtaphy/testConfigs$
----------------------------------------------------

it seems that the plotting scenario did not successfully finish. I would like to review the scenario file. But I'm happy if you give me some advice.

best regards,

Mitsuo Sakamoto

Revision history for this message
Jan (jan-ellenbeck) said :
#8

Hi,

hmm, I'm not seeing this over here. What kind of system (Ubuntu ?) are you running this on?

Could you please start the simulator in the debugger and provide a backtrace. To do so, please say:

gdb ./opt

and then at the prompt:
run -f scenarioPlotConfig.py

and after it segfaults, type
bt

Please paste the backtrace here. Also (or even as a first measure), run with the "debug" binary:
./openwns -f scenarioPlotConfig.py

Are any "assures" triggered?

Thanks
Jan

Revision history for this message
mitsuo sakamoto (mitsuo-sakamoto) said :
#9

Hi,

yes, I'm using Ubuntu. but it is 10.10. I'm afraid there is in-compatible point from long term stable version.
anyway, I did run the suggested commands. still the results say segmentation faults.
--------------------------------------------------------------------
sakamoto@Tech-H61H2-M5:~/ns3/openwns-sdk/modules/phy/imtaphy/testConfigs$ gdb ./opt
GNU gdb (GDB) 7.2-ubuntu
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/sakamoto/ns3/openwns-sdk/modules/phy/imtaphy/testConfigs/opt...(no debugging symbols found)...done.
(gdb) run -f senarioPlotConfig.py
Starting program: /home/sakamoto/ns3/openwns-sdk/modules/phy/imtaphy/testConfigs/opt -f senarioPlotConfig.py
[Thread debugging using libthread_db enabled]
Backtrace (most recent call last, stack size: 0):
  No backtrace available.
  Backtrace is currently only available on systems with glibc, sorry.
openWNS: Caught wns::Exception:

couldn't load senarioPlotConfig.py: No such file or directory

Program exited with code 01.
(gdb) run -f scenarioPlotConfig.py
Starting program: /home/sakamoto/ns3/openwns-sdk/modules/phy/imtaphy/testConfigs/opt -f scenarioPlotConfig.py
[Thread debugging using libthread_db enabled]
[New Thread 0x7fffeb369700 (LWP 3652)]
[New Thread 0x7fffeab68700 (LWP 3653)]
WARNING: Uplink (center frequency=2e+09) and Downlink (2e+09) spectrum (partly) overlapping! The resulting UL/DL interference will *not* be considered!
[New Thread 0x7ffff7ff7700 (LWP 3654)]
[New Thread 0x7fffe71b2700 (LWP 3655)]
[New Thread 0x7fffe6db1700 (LWP 3656)]
[New Thread 0x7fffe69b0700 (LWP 3657)]
[New Thread 0x7fffe65af700 (LWP 3658)]
[New Thread 0x7fffe61ae700 (LWP 3659)]
[New Thread 0x7fffe5dad700 (LWP 3660)]
[New Thread 0x7fffe59ac700 (LWP 3661)]

Program received signal SIGSEGV, Segmentation fault.
0x00007fffecfc9b78 in mkl_serv_allocate () from /opt/intel/composer_xe_2011_sp1.7.256/mkl/lib/intel64/libmkl_core.so
(gdb) bt
#0 0x00007fffecfc9b78 in mkl_serv_allocate () from /opt/intel/composer_xe_2011_sp1.7.256/mkl/lib/intel64/libmkl_core.so
#1 0x00007fffe7ade3bb in mkl_blas_dgemm_get_bufs () from /opt/intel/composer_xe_2011_sp1.7.256/mkl/lib/intel64/libmkl_avx.so
#2 0x00007fffecfd0792 in mkl_blas_dgemm_get_bufs () from /opt/intel/composer_xe_2011_sp1.7.256/mkl/lib/intel64/libmkl_core.so
#3 0x00007fffe7b64af9 in mkl_blas_xdgemm_par () from /opt/intel/composer_xe_2011_sp1.7.256/mkl/lib/intel64/libmkl_avx.so
#4 0x00007fffecfd23a1 in mkl_blas_xdgemm_par () from /opt/intel/composer_xe_2011_sp1.7.256/mkl/lib/intel64/libmkl_core.so
#5 0x00007fffe7b63c5f in mkl_blas_xdgemm () from /opt/intel/composer_xe_2011_sp1.7.256/mkl/lib/intel64/libmkl_avx.so
#6 0x00007fffecfd2299 in mkl_blas_xdgemm () from /opt/intel/composer_xe_2011_sp1.7.256/mkl/lib/intel64/libmkl_core.so
#7 0x00007fffee089238 in mkl_blas_dgemm () from /opt/intel/composer_xe_2011_sp1.7.256/mkl/lib/intel64/libmkl_intel_thread.so
#8 0x00007fffef0a7cc9 in dgemm_ () from /opt/intel/composer_xe_2011_sp1.7.256/mkl/lib/intel64/libmkl_intel_lp64.so
#9 0x00007fffef802155 in itpp::operator*<double> (m1=<value optimized out>, m2=...) at ../../itpp/base/mat.cpp:95
#10 0x00007ffff013044e in imtaphy::lsparams::LSCorrelation::performCorrelation(std::vector<imtaphy::Link*, std::allocator<imtaphy::Link*> >, imtaphy::scm::m2135::Parameters const*) () from /home/sakamoto/ns3/openwns-sdk/sandbox/opt/lib/libimtaphy.so
#11 0x00007ffff0131246 in imtaphy::lsparams::LSCorrelation::generateLSCorrelation() ()
   from /home/sakamoto/ns3/openwns-sdk/sandbox/opt/lib/libimtaphy.so
#12 0x00007ffff007f39c in imtaphy::Channel::onWorldCreated() ()
   from /home/sakamoto/ns3/openwns-sdk/sandbox/opt/lib/libimtaphy.so
#13 0x00007ffff6fda46a in wns::node::Node::onWorldCreated() () from /home/sakamoto/ns3/openwns-sdk/sandbox/opt/lib/libwns.so
#14 0x00007ffff6fe126a in wns::node::NodeSimulationModel::doStartup() ()
   from /home/sakamoto/ns3/openwns-sdk/sandbox/opt/lib/libwns.so
#15 0x00007ffff6f303e0 in wns::simulator::Application::doRun() ()
   from /home/sakamoto/ns3/openwns-sdk/sandbox/opt/lib/libwns.so
#16 0x00000000004036c1 in wns::simulator::Main<wns::simulator::Application>::doRun() ()
#17 0x000000000040264f in main ()
(gdb)

------------------------------------------------------ followings are openwns command results -------
( 0.0000000) [ IP] vDHCP@.LTEARAN SubnetMask is : 255.255.0.0
( 0.0000000) [ IP] vDNS.ip.DEFAULT.GLOBAL New DNS zone for ip.DEFAULT.GLOBAL
( 0.0000000) [ IP] vDNS.ip.DEFAULT.GLOBAL Starting VDNS Service.
( 0.0000000) [ LTEA] eNB1.L2.pdcp eNB1: APUpperConv registered dataHandler
( 0.0000000) [ LTEA] eNB2.L2.pdcp eNB2: APUpperConv registered dataHandler
( 0.0000000) [ LTEA] eNB3.L2.pdcp eNB3: APUpperConv registered dataHandler
( 0.0000000) [ LTEA] eNB4.L2.pdcp eNB4: APUpperConv registered dataHandler
( 0.0000000) [ LTEA] eNB5.L2.pdcp eNB5: APUpperConv registered dataHandler
( 0.0000000) [ LTEA] eNB6.L2.pdcp eNB6: APUpperConv registered dataHandler
( 0.0000000) [ LTEA] eNB7.L2.pdcp eNB7: APUpperConv registered dataHandler
( 0.0000000) [ LTEA] eNB8.L2.pdcp eNB8: APUpperConv registered dataHandler
( 0.0000000) [ LTEA] eNB9.L2.pdcp eNB9: APUpperConv registered dataHandler
( 0.0000000) [ LTEA] eNB10.L2.pdcp eNB10: APUpperConv registered dataHandler
( 0.0000000) [ LTEA] eNB11.L2.pdcp eNB11: APUpperConv registered dataHandler
( 0.0000000) [ LTEA] eNB12.L2.pdcp eNB12: APUpperConv registered dataHandler
( 0.0000000) [ LTEA] eNB13.L2.pdcp eNB13: APUpperConv registered dataHandler
( 0.0000000) [ LTEA] eNB14.L2.pdcp eNB14: APUpperConv registered dataHandler
( 0.0000000) [ LTEA] eNB15.L2.pdcp eNB15: APUpperConv registered dataHandler
( 0.0000000) [ LTEA] eNB16.L2.pdcp eNB16: APUpperConv registered dataHandler
( 0.0000000) [ LTEA] eNB17.L2.pdcp eNB17: APUpperConv registered dataHandler
( 0.0000000) [ LTEA] eNB18.L2.pdcp eNB18: APUpperConv registered dataHandler
( 0.0000000) [ LTEA] eNB19.L2.pdcp eNB19: APUpperConv registered dataHandler
( 0.0000000) [ LTEA] eNB20.L2.pdcp eNB20: APUpperConv registered dataHandler
( 0.0000000) [ LTEA] eNB21.L2.pdcp eNB21: APUpperConv registered dataHandler
( 0.0000000) [ IP] vARP.LTEARAN MAC address -1 has 192.168.254.254
( 0.0000000) [ IP] vDNS.ip.DEFAULT.GLOBAL Domain EPCgw.ltea.wns.org is at 192.168.254.254

openWNS: caught signal 11
openWNS: caught signal 'SIGSEGV' (segmentation violation)
Backtrace (most recent call last, stack size: 41):
 41) unknown
 40) __libc_start_main
 39) unknown
 38) wns::simulator::IApplication::run()
 37) wns::simulator::Main<wns::simulator::Application>::doRun()
 36) wns::simulator::IApplication::run()
 35) wns::simulator::Application::doRun()
 34) wns::simulator::ISimulationModel::startup()
 33) wns::node::NodeSimulationModel::doStartup()
 32) wns::node::Node::onWorldCreated()
 31) std::mem_fun_t<void, wns::node::component::Interface> std::for_each<std::_List_iterator<wns::node::component::Interface*>, std::mem_fun_t<void, wns::node::component::Interface> >(std::_List_iterator<wns::node::component::Interface*>, std::_List_iterator<wns::node::component::Interface*>, std::mem_fun_t<void, wns::node::component::Interface>)
 30) std::mem_fun_t<void, wns::node::component::Interface>::operator()(wns::node::component::Interface*) const
 29) imtaphy::StationPhy::onWorldCreated()
 28) imtaphy::Channel::onWorldCreated()
 27) imtaphy::lsparams::LSCorrelation::generateLSCorrelation()
 26) imtaphy::lsparams::LSCorrelation::performCorrelation(std::vector<imtaphy::Link*, std::allocator<imtaphy::Link*> >, imtaphy::scm::m2135::Parameters const*)
 25) itpp::Mat<double> itpp::operator*<double>(itpp::Mat<double> const&, itpp::Mat<double> const&)
 24) DGEMM
 23) mkl_blas_dgemm
 22) mkl_blas_xdgemm
 21) mkl_blas_xdgemm
 20) mkl_blas_xdgemm_par
 19) mkl_blas_xdgemm_par
 18) mkl_blas_dgemm_get_bufs
 17) mkl_blas_dgemm_get_bufs
 16) mkl_serv_allocate
 15)
 14) wns::simulator::SignalHandler::catchSignal(int)
 13) boost::signal0<void, boost::last_value<void>, int, std::less<int>, boost::function0<void> >::operator()()
 12) void boost::last_value<void>::operator()<boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound0<void>::caller<boost::function0<void> >, boost::signals::detail::named_slot_map_iterator> >(boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound0<void>::caller<boost::function0<void> >, boost::signals::detail::named_slot_map_iterator>, boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound0<void>::caller<boost::function0<void> >, boost::signals::detail::named_slot_map_iterator>) const
 11) boost::detail::postfix_increment_result<boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound0<void>::caller<boost::function0<void> >, boost::signals::detail::named_slot_map_iterator>, boost::signals::detail::unusable, boost::signals::detail::unusable const&, boost::single_pass_traversal_tag>::type boost::operator++<boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound0<void>::caller<boost::function0<void> >, boost::signals::detail::named_slot_map_iterator>, boost::signals::detail::unusable, boost::single_pass_traversal_tag, boost::signals::detail::unusable const&, long>(boost::iterator_facade<boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound0<void>::caller<boost::function0<void> >, boost::signals::detail::named_slot_map_iterator>, boost::signals::detail::unusable, boost::single_pass_traversal_tag, boost::signals::detail::unusable const&, long>&, int)
 10) boost::detail::postfix_increment_proxy<boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound0<void>::caller<boost::function0<void> >, boost::signals::detail::named_slot_map_iterator> >::postfix_increment_proxy(boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound0<void>::caller<boost::function0<void> >, boost::signals::detail::named_slot_map_iterator> const&)
  9) boost::iterator_facade<boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound0<void>::caller<boost::function0<void> >, boost::signals::detail::named_slot_map_iterator>, boost::signals::detail::unusable, boost::single_pass_traversal_tag, boost::signals::detail::unusable const&, long>::operator*() const
  8) boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound0<void>::caller<boost::function0<void> >, boost::signals::detail::named_slot_map_iterator>::reference boost::iterator_core_access::dereference<boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound0<void>::caller<boost::function0<void> >, boost::signals::detail::named_slot_map_iterator> >(boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound0<void>::caller<boost::function0<void> >, boost::signals::detail::named_slot_map_iterator> const&)
  7) boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound0<void>::caller<boost::function0<void> >, boost::signals::detail::named_slot_map_iterator>::dereference() const
  6) boost::signals::detail::unusable boost::signals::detail::call_bound0<void>::caller<boost::function0<void> >::operator()<boost::signals::detail::connection_slot_pair>(boost::signals::detail::connection_slot_pair const&) const
  5) boost::function0<void>::operator()() const
  4) boost::detail::function::void_function_obj_invoker0<wns::simulator::SegmentationViolationHandler, void>::invoke(boost::detail::function::function_buffer&)
  3) wns::simulator::SignalHandlerCallback::operator()()
  2) wns::simulator::SegmentationViolationHandler::doCall()
  1) wns::Backtrace::snapshot()
sakamoto@Tech-H61H2-M5:~/ns3/openwns-sdk/modules/phy/imtaphy/testConfigs$
----------------------------------------------------------
if you have any idea, please let me know.

best regards,

Mitsuo Sakamoto

Revision history for this message
Jan (jan-ellenbeck) said :
#10

Hi,

that looks strange. It seems as if something goes wrong in it++ which is an external library. For some reason it++ seems to be linked against MKL as well. That's fine in general but I don't think this is the default Ubuntu package - have you compiled it yourself?

Could you please try to run the unit test suite by going to openwns-sdk/tests/unit/unitTests where you can start the tests with:
openwns-sdk/tests/unit/unitTests$ ./openwns -tv

What you should see is a long list of tests and after maybe 1-2 minutes a messages saying that all tests completed fine.

I've successfully used the simulator on Ubuntu 10.04, 11.04, 11.10 and 12.04 alpha. I'm not sure about 10.10 but I would be surprised if that was the problem. Are you using the 64 bit version of Ubuntu? I've not tested the 32 bit one and I could imagine that this could be a problem.

Please check if the unit tests run. Have you managed to run the unmodified config.py file?

Cheers
Jan

Revision history for this message
Jan (jan-ellenbeck) said :
#11

Could it be that this is still a memory issue with the simulator dying because it cannot allocate memory?

Revision history for this message
mitsuo sakamoto (mitsuo-sakamoto) said :
#12

Hi,

now I understood current situation by using unit test. I forgot it.
Probably I need to re-install openwns-sdk again and to make sure the unit test.

thanks. Followings are unit test results.

best regards,

Mitsuo Sakamoto

-------------------------------------------------------------------------------
sakamoto@Tech-H61H2-M5:~/ns3/openwns-sdk/tests/unit/unitTests$ ./openwns -tv
Loading...
Library: copper
Module: copper

Loading libcopper.so

Library: ip
Module: ip

Loading libip.so

Library: constanze
Module: constanze

Loading libconstanze.so

Library: tcp
Module: tcp

Loading libtcp.so

Library: dllbase
Module: dll

Loading libdllbase.so

Library: imtaphy
Module: imtaphy

Loading libimtaphy.so

Library: glue
Module: Glue

Loading libglue.so

[TST] N3wns5tests12TypeInfoTestE::equality [OK] 0.000146 s
[TST] N3wns5tests12TypeInfoTestE::assignment [OK] 0.000041 s
[TST] N3wns5tests12TypeInfoTestE::ordering [OK] 0.000033 s
[TST] N3wns5tests12TypeInfoTestE::demangled [OK] 0.000060 s
[TST] N3wns5tests12TypeInfoTestE::stream [OK] 0.000044 s
[TST] N3wns5tests13StopWatchTestE::testConstructor [OK] 0.000042 s
[TST] N3wns5tests13StopWatchTestE::testGetInSeconds [OK] 2.000117 s
[TST] N3wns5tests13BacktraceTestE::testConstructor [OK] 0.000137 s
[TST] N3wns5tests13BacktraceTestE::testFunctionCall [OK] 0.022436 s
[TST] N3wns5tests13BacktraceTestE::testClear [OK] 0.005509 s
[TST] N3wns5probe3bus5tests11ContextTestE::idreg [OK] 0.038989 s
[TST] N3wns5probe3bus5tests25ContextFilterProbeBusTestE::test [OK] 0.004997 s
[TST] N3wns5probe3bus5tests19ContextProviderTestE::constant [OK] 0.000059 s
[TST] N3wns5probe3bus5tests19ContextProviderTestE::variable [OK] 0.000057 s
[TST] N3wns5probe3bus5tests19ContextProviderTestE::container [OK] 0.000044 s
[TST] N3wns5probe3bus5tests19ContextProviderTestE::callback [OK] 0.000054 s
[TST] N3wns5probe3bus5tests29ContextProviderCollectionTestE::constructor [OK] 0.000038 s
[TST] N3wns5probe3bus5tests29ContextProviderCollectionTestE::addProvider [OK] 0.000050 s
[TST] N3wns5probe3bus5tests29ContextProviderCollectionTestE::copyConstructor [OK] 0.000042 s
[TST] N3wns5probe3bus5tests29ContextProviderCollectionTestE::hierarchy [OK] 0.000046 s
[TST] N3wns5probe3bus5tests20ContextCollectorTestE::tupleContext [OK] 0.000087 s
[TST] N3wns5probe3bus5tests20ProbeBusRegistryTestE::measurementSource [OK] 0.000270 s
[TST] N3wns5probe3bus5tests20ProbeBusRegistryTestE::measurementSink [OK] 0.000478 s
[TST] N3wns5probe3bus5tests20ProbeBusRegistryTestE::measurementSinkThrows [OK] 0.005243 s
[TST] N3wns5probe3bus5tests17TableProbeBusTestE::test [OK] 0.001554 s
[TST] N3wns5probe3bus5tests17TableProbeBusTestE::onedimensional [OK] 0.000613 s
[TST] N3wns5probe3bus6detail5tests10SorterTestE::constructor [OK] 0.000175 s
[TST] N3wns5probe3bus6detail5tests10SorterTestE::ranges [OK] 0.000063 s
[TST] N3wns5probe3bus6detail5tests10SorterTestE::lookup [OK] 0.008337 s
[TST] N3wns3ldk4harq13softcombining5tests13ContainerTestE::testGetNumRVs [OK] 0.000051 s
[TST] N3wns3ldk4harq13softcombining5tests13ContainerTestE::testGetEmptyCompoundList [OK] 0.000044 s
[TST] N3wns3ldk4harq13softcombining5tests13ContainerTestE::testAppendAndGetCompoundList [OK] 0.000128 s
[TST] N3wns3ldk4harq13softcombining5tests13ContainerTestE::testGetCompoundListForInvalidTB [OK] 0.030986 s
[TST] N3wns3ldk4harq13softcombining5tests13ContainerTestE::testGetCompoundListForInvalidRV [OK] 0.004383 s
[TST] N3wns3ldk4harq13softcombining5tests13ContainerTestE::testAppendCompoundListForInvalidRV [OK] 0.004351 s
[TST] N3wns3ldk4harq13softcombining5tests13ContainerTestE::testClear [OK] 0.011735 s
[TST] N4glue11RoutingTestE::testNoRouteCompoundWithoutRoutingInformation [OK] 0.002527 s
[TST] N4glue11RoutingTestE::testNoRouteCompoundWithRoutingInformation [OK] 0.001681 s
[TST] N4glue11RoutingTestE::testSetRoute [OK] 0.001708 s
[TST] N4glue11RoutingTestE::testSetSameRouteTwice [OK] 0.001611 s
[TST] N4glue11RoutingTestE::testRouteChangeNotAllowed [OK] 0.001689 s
[TST] N4glue11RoutingTestE::testRouteChangeAllowed [OK] 0.003221 s
[TST] N4glue11RoutingTestE::testIncomingCompoundsPassThrough [OK] 0.001595 s
[TST] N4glue11RoutingTestE::testWakeup [OK] 0.001561 s
[TST] N4glue11RoutingTestE::testCommandSize [OK] 0.001804 s
[TST] N4glue23BERProviderConsumerTestE::testAttachBERConsumer [OK] 0.013930 s
[TST] N4glue23BERProviderConsumerTestE::testAttachBERConsumerAlreadyAttached [OK] 0.013103 s
[TST] N4glue23BERProviderConsumerTestE::testDetachBERConsumer [OK] 0.000053 s
[TST] N4glue23BERProviderConsumerTestE::testDetachBERConsumerNotAttached [OK] 0.002858 s
[TST] N4glue23BERProviderConsumerTestE::testNotifyBERConsumers [OK] 0.000048 s
[TST] N4glue23BERProviderConsumerTestE::testDestroyBERConsumer [OK] 0.000042 s
[TST] N4glue23BERProviderConsumerTestE::testDestroyBERProvider [OK] 0.000040 s
[TST] N4glue27BERMeasurementReportingTestE::testReporting [OK] 0.001477 s
[TST] N4glue27BERMeasurementReportingTestE::testReportingInterval [OK] 0.001181 s
[TST] N4glue27BERMeasurementReportingTestE::testReportingNoMeasurementsAvailable [OK] 0.001164 s
[TST] N4glue27BERMeasurementReportingTestE::testMeasurementAveraging [OK] 0.001177 s
[TST] N4glue27BERMeasurementReportingTestE::testMeasurementReset [OK] 0.001186 s
[TST] N4glue27BERMeasurementReportingTestE::testWakeupNothingToSend [OK] 0.001130 s
[TST] N4glue27BERMeasurementReportingTestE::testWakeupMeasurementReportToSend [OK] 0.001185 s
[TST] N4glue27BERMeasurementReportingTestE::testWakeupTwiceMeasurementReportToSend [OK] 0.001187 s
[TST] N4glue27BERMeasurementReportingTestE::testMeasurementAveragingOnBusyConnection [OK] 0.001219 s
[TST] N4glue27BERMeasurementReportingTestE::testHeaderSize [OK] 0.001182 s
[TST] N4glue27BERMeasurementReportingTestE::testInvalidBER [OK] 0.005616 s
[TST] N4glue27BERMeasurementReportingTestE::testInvalidPacketSize [OK] 0.003458 s
[TST] N4glue5tests9PilotTestE::beacon [OK] 0.008061 s
[TST] N4glue5tests9PilotTestE::timeout [OK] 0.002044 s
[TST] N4glue5tests9PilotTestE::delayedBeacon [OK] 0.002260 s
[TST] N4glue5tests9PilotTestE::observers [OK] 0.002220 s
[TST] N4glue5tests11StamperTestE::noStamp [OK] 0.030453 s
[TST] N4glue5tests11StamperTestE::stamp [OK] 0.001103 s
[TST] N4glue7trigger11TriggerTestE::testSegmentSizeCalculation [OK] 0.001391 s
[TST] N4glue11convergence5tests20UnicastBroadcastTestE::outgoingUnicast [OK] 0.001982 s
[TST] N4glue11convergence5tests20UnicastBroadcastTestE::outgoingBroadcast [OK] 0.001894 s
[TST] N4glue11convergence5tests20UnicastBroadcastTestE::incomingUnicast [OK] 0.001914 s
[TST] N4glue11convergence5tests20UnicastBroadcastTestE::incomingBroadcast [OK] 0.001893 s
[TST] N4glue3mac5tests9AlohaTestE::testBackoff [OK] 0.003557 s
[TST] N4glue3mac5tests11BackoffTestE::onTXrequestDuringBusy [OK] 0.000156 s
[TST] N4glue3mac5tests11BackoffTestE::onTXrequestDuringIdle [OK] 0.000128 s
[TST] N4glue3mac5tests11BackoffTestE::onPostBOFinishedBusyInbeweenPacketAfter [OK] 0.000152 s
[TST] N4glue3mac5tests11BackoffTestE::onPostBOFinishedBusyInbeweenPacketDuring [OK] 0.000156 s
[TST] N4glue3mac5tests11BackoffTestE::onTXrequestDuringCollision [OK] 0.000120 s
[TST] N7imtaphy9receivers5tests16MMSEReceiverTestE::testType1ComputeFilter4U4M
openWNS: caught signal 11
openWNS: caught signal 'SIGSEGV' (segmentation violation)
Backtrace (most recent call last, stack size: 51):
 51) unknown
 50) __libc_start_main
 49) unknown
 48) wns::simulator::IApplication::run()
 47) wns::simulator::Main<wns::simulator::Application>::doRun()
 46) wns::simulator::IApplication::run()
 45) wns::simulator::Application::doRun()
 44) CppUnit::TextTestRunner::run(std::string, bool, bool, bool)
 43) CppUnit::TestRunner::run(CppUnit::TestResult&, std::string const&)
 42) CppUnit::TestResult::runTest(CppUnit::Test*)
 41) CppUnit::TestComposite::run(CppUnit::TestResult*)
 40) CppUnit::TestComposite::doRunChildTests(CppUnit::TestResult*)
 39) CppUnit::TestComposite::run(CppUnit::TestResult*)
 38) CppUnit::TestComposite::doRunChildTests(CppUnit::TestResult*)
 37) CppUnit::TestComposite::run(CppUnit::TestResult*)
 36) CppUnit::TestComposite::doRunChildTests(CppUnit::TestResult*)
 35) CppUnit::TestCase::run(CppUnit::TestResult*)
 34) CppUnit::TestResult::protect(CppUnit::Functor const&, CppUnit::Test*, std::string const&)
 33) CppUnit::ProtectorChain::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&)
 32) CppUnit::DefaultProtector::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&)
 31) CppUnit::TestCaseMethodFunctor::operator()() const
 30) CppUnit::TestCaller<imtaphy::receivers::tests::MMSEReceiverTest>::runTest()
 29) imtaphy::receivers::tests::MMSEReceiverTest::testType1ComputeFilter4U4M()
 28) imtaphy::receivers::MMSEBase::computeFilter(imtaphy::detail::MKLMatrix<std::complex<float> >&, imtaphy::detail::MKLMatrix<std::complex<float> >&, std::multimap<wns::Power, imtaphy::receivers::Interferer, std::greater<wns::Power>, std::allocator<std::pair<wns::Power const, imtaphy::receivers::Interferer> > >&, unsigned int)
 27) void imtaphy::detail::matrixMultiplyCequalsAB<float>(imtaphy::detail::MKLMatrix<std::complex<float> >&, imtaphy::detail::MKLMatrix<std::complex<float> >&, imtaphy::detail::MKLMatrix<std::complex<float> >&)
 26) imtaphy::detail::MKLgemm<float>::execute(CBLAS_ORDER, CBLAS_TRANSPOSE, CBLAS_TRANSPOSE, int, int, int, void const*, void const*, int, void const*, int, void const*, void*, int)
 25) cblas_cgemm
 24) cgemm
 23) mkl_blas_cgemm
 22) mkl_blas_xcgemm
 21) mkl_blas_xcgemm
 20) mkl_blas_xcgemm_par
 19) mkl_blas_xcgemm_par
 18) mkl_blas_cgemm_get_bufs
 17) mkl_blas_cgemm_get_bufs
 16) mkl_serv_allocate
 15)
 14) wns::simulator::SignalHandler::catchSignal(int)
 13) boost::signal0<void, boost::last_value<void>, int, std::less<int>, boost::function0<void> >::operator()()
 12) void boost::last_value<void>::operator()<boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound0<void>::caller<boost::function0<void> >, boost::signals::detail::named_slot_map_iterator> >(boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound0<void>::caller<boost::function0<void> >, boost::signals::detail::named_slot_map_iterator>, boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound0<void>::caller<boost::function0<void> >, boost::signals::detail::named_slot_map_iterator>) const
 11) boost::detail::postfix_increment_result<boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound0<void>::caller<boost::function0<void> >, boost::signals::detail::named_slot_map_iterator>, boost::signals::detail::unusable, boost::signals::detail::unusable const&, boost::single_pass_traversal_tag>::type boost::operator++<boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound0<void>::caller<boost::function0<void> >, boost::signals::detail::named_slot_map_iterator>, boost::signals::detail::unusable, boost::single_pass_traversal_tag, boost::signals::detail::unusable const&, long>(boost::iterator_facade<boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound0<void>::caller<boost::function0<void> >, boost::signals::detail::named_slot_map_iterator>, boost::signals::detail::unusable, boost::single_pass_traversal_tag, boost::signals::detail::unusable const&, long>&, int)
 10) boost::detail::postfix_increment_proxy<boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound0<void>::caller<boost::function0<void> >, boost::signals::detail::named_slot_map_iterator> >::postfix_increment_proxy(boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound0<void>::caller<boost::function0<void> >, boost::signals::detail::named_slot_map_iterator> const&)
  9) boost::iterator_facade<boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound0<void>::caller<boost::function0<void> >, boost::signals::detail::named_slot_map_iterator>, boost::signals::detail::unusable, boost::single_pass_traversal_tag, boost::signals::detail::unusable const&, long>::operator*() const
  8) boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound0<void>::caller<boost::function0<void> >, boost::signals::detail::named_slot_map_iterator>::reference boost::iterator_core_access::dereference<boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound0<void>::caller<boost::function0<void> >, boost::signals::detail::named_slot_map_iterator> >(boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound0<void>::caller<boost::function0<void> >, boost::signals::detail::named_slot_map_iterator> const&)
  7) boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound0<void>::caller<boost::function0<void> >, boost::signals::detail::named_slot_map_iterator>::dereference() const
  6) boost::signals::detail::unusable boost::signals::detail::call_bound0<void>::caller<boost::function0<void> >::operator()<boost::signals::detail::connection_slot_pair>(boost::signals::detail::connection_slot_pair const&) const
  5) boost::function0<void>::operator()() const
  4) boost::detail::function::void_function_obj_invoker0<wns::simulator::SegmentationViolationHandler, void>::invoke(boost::detail::function::function_buffer&)
  3) wns::simulator::SignalHandlerCallback::operator()()
  2) wns::simulator::SegmentationViolationHandler::doCall()
  1) wns::Backtrace::snapshot()
sakamoto@Tech-H61H2-M5:~/ns3/openwns-sdk/tests/unit/unitTests$

Revision history for this message
Jan (jan-ellenbeck) said :
#13

Hi,

yes, please try to re-install or at least make a clean build. Maybe something is going wrong during the compilation because you have some old object files lying around that cause problems. To do a clean build without reinstalling everything, you can remove the ".build" and "sandbox" directories and then run the normal compilation:

openwns-sdk$ rm -rf .build sandbox
openwns-sdk$ ./playground.py install && ./playground.py install --flavour=opt

Afterwards, please check if the unit tests run OK. If it still fails, it might be something with your system. All I can say there is that it runs fine with a fresh installation of a recent 64-bit Ubuntu version and a recent version of Intel MKL.

Best regards
Jan

Revision history for this message
Jan (jan-ellenbeck) said :
#14

Hi Mitsuo Sakamoto,

did you resolve the issue described in posting #12? Some other user is getting the exact same error and I cannot reproduce it over here. If you resolved it, what was the issue?

Thanks
Jan

Revision history for this message
Jan (jan-ellenbeck) said :
#15

We have found a workaround to solve this issue: https://answers.launchpad.net/imtaphy/+question/188540

By changing "multiThreaded = False" in imtaphy/SConscript, IMTAphy is built for single-threaded operation. This seems to avoid the issue.

The problem seems to be caused by an issue with the iomp5 library or some other MKL component which is not handled correctly by the build system.

Revision history for this message
Olan (obaeuropa) said :
#16

Hi Jan,

Sorry to jump on this, when I tried the steps you listed in post #6; I got an error in both the opt and debug mode, please see below.

It seems the parser is not happy with the value of variable numInterferersToProbe in the scenarioPlotConfig.py file.

Any ideas please?

Thanks.
Olan
>>>>>>>>>>>>
(gdb) run -f scenarioPlotConfig.py
Starting program: /home/olan/openwns-sdk/modules/phy/imtaphy/testConfigs/opt -f scenarioPlotConfig.py
[Thread debugging using libthread_db enabled]
wns::pyconfig::Parser says:
Couldn't load config file 'scenarioPlotConfig.py'.
PyConfig says:
Traceback (most recent call last):
  File "scenarioPlotConfig.py", line 149, in <module>
    ueReceiver = imtaphy.Receiver.MRC(imtaphy.Logger.Logger("MRC"), noiseFigure = "7 dB", numInterferersToProbe = params.numInterferersToProbe)
TypeError: __init__() got an unexpected keyword argument 'numInterferersToProbe'

Backtrace (most recent call last, stack size: 0):
  No backtrace available.
  Backtrace is currently only available on systems with glibc, sorry.
openWNS: Caught wns::Exception:

Couldn't load config file 'scenarioPlotConfig.py'

Program exited with code 01.
(gdb) bt
No stack.

Revision history for this message
mitsuo sakamoto (mitsuo-sakamoto) said :
#17

Hi Jan and Olan,

I'm not in office two weeks. When I return to my office, I will check them out.

Best regards,

Mitsuo

Revision history for this message
Jan (jan-ellenbeck) said :
#18

Hi Olan,

that sample config was for the current revision of IMTAphy at that time but by now it is out-dated. The config has changed a little bit in between and among other things this numInterferers.. thing got removed.

I just updated the file and put it on the web server.

I recommend you run it with ./opt -f scenarioPlotConfig.py
On a SandyBridge i7 it runs in under 10 mins but you might need much more time as your simulation runs single threaded.

openwns-sdk/modules/phy/imtaphy/testConfigs$ ./imtaphyViewer/view.py

Choose File->viewScenario and open the scenarioPlotConfig.py file. After a while you should see the positions of all eNBs (red triangles) and UEs (blue dots). On the left hand side you can select different things to plot. Select an item (choose .max ones) and press the Redraw button.

Revision history for this message
Olan (obaeuropa) said :
#19

Hi Jan,

Many thanks for the update. I was able to run the scenarioPlotConfig.py (It took about an hour); below is the dump of the terminal screen:

olan@tm470simulation:~/openwns-sdk/modules/phy/imtaphy/testConfigs$ ./opt -f scenarioPlotConfig.py
WARNING: Uplink (center frequency=2e+09) and Downlink (2e+09) spectrum (partly) overlapping! The resulting UL/DL interference will *not* be considered!

wns::simulator::Application: shutdown complete

However, when I tried to open the scenarioPlotConfig.py file in the IMTAphy viewer, I get the following error within the terminal screen:

olan@tm470simulation:~/openwns-sdk/modules/phy/imtaphy/testConfigs$ ./imtaphyViewer/view.py
/home/olan/openwns-sdk/modules/phy/imtaphy/testConfigs
Traceback (most recent call last):
  File "/home/olan/openwns-sdk/modules/phy/imtaphy/testConfigs/imtaphyViewer/Windows.py", line 422, in on_actionView_Scenario_triggered
    self.p = scenario.plotterFactory.create(self.viewScenarioFilename)
  File "/home/olan/openwns-sdk/modules/phy/imtaphy/testConfigs/imtaphyViewer/scenario/plotterFactory.py", line 70, in create
    inspector = inspect.ConfigInspector(scenarioFilename)
  File "/home/olan/openwns-sdk/modules/phy/imtaphy/testConfigs/imtaphyViewer/scenario/inspect.py", line 116, in __init__
    exec(content,self.config)
  File "<string>", line 31, in <module>
ImportError: No module named node

Any ideas please?

Olan

Revision history for this message
Jan (jan-ellenbeck) said :
#20

Hi Olan,

It seems you are a good bug spotter... ;-)

Let me explain quickly what happens there. The configs are actually Python scripts and the viewer has to execute that script to display the scenario. In the config script, there are a lot of "import .." statements loading additional Python modules. These are installed in openwns-sdk/sandbox/dbg/lib/PyConfig (for the dbg-version) and openwns-sdk/sandbox/opt/lib/PyConfig for the opt version. In line 31 (see your log) of the scenarioPlotConfig.py file it tries to "import openwns.node". So it searches for a node.py in the "openwns" directory of that PyConfig directory. For some reason, that file seems to be missing in your case.

What could have happened is that you have a broken installation of the dbg-mode simulator and a complete installation of the opt-mode simulator. The opt-version must be OK because you successfully run the simulation and it also needs the node.py and a lot of other imports. The viewer automatically searches for a suitable directory. In your case, it first tries /home/olan/openwns-sdk/sandbox/dbg/lib/PyConfig and if that exists, it tries to load the node.py from /home/olan/openwns-sdk/sandbox/dbg/lib/PyConfig/openwns/node.py

Please check, if /home/olan/openwns-sdk/sandbox/dbg/lib/PyConfig/openwns/node.py exists on your system. If it is not there, you need to either remove the /home/olan/openwns-sdk/sandbox/dbg/ directory altogether or do a clean dbg-installation by running "playground.py install".

If the file is there then the viewer fails to find it automatically for some reason. You can help him find it by adding the directory to your Python search path like this:
(assuming you use bash and based on the paths in your output)
export PYTHONPATH=$PYTHONPATH:/home/olan/openwns-sdk/sandbox/opt/lib/PyConfig

Cheers
Jan

Revision history for this message
Olan (obaeuropa) said :
#21

Wow, that solved the problem. Thanks again for your help. I'm glad.

The node.py file was actually in the directory you stated, so I had to add the directory to my Python search path. Strange but solved the problem.

My terminal screen after displaying the scenario and I selected the avgSINR_DL_max.m file is shown below:

olan@tm470simulation:~$ cd openwns-sdk/modules/phy/imtaphy/testConfigs
olan@tm470simulation:~/openwns-sdk/modules/phy/imtaphy/testConfigs$ ./imtaphyViewer/view.py
/home/olan/openwns-sdk/modules/phy/imtaphy/testConfigs
Loading _
IOError
/home/olan/openwns-sdk/modules/phy/imtaphy/testConfigs
Loading /home/olan/openwns-sdk/modules/phy/imtaphy/testConfigs/output/avgSINR_DL_max.m
Loading /home/olan/openwns-sdk/modules/phy/imtaphy/testConfigs/output/avgSINR_DL_trials.m
The map is (52x52)
x entries: 51 y entries: 51

Revision history for this message
Jan (jan-ellenbeck) said :
#22

Hi Olan,

what exactly is your question now? I assume the viewer shows you the scenario in the GUI. It prints some things (like this IOError) to the console but you can ignore that.

If there is another issue with the viewer, I suggest you open a new Question so that Mitsuo is not informed about all the subsequent posts on this issue.

Cheers
Jan

Revision history for this message
Olan (obaeuropa) said :
#23

Hi Jan,

I was only letting you know that it has worked. Many thanks for your help.

Olan.

Revision history for this message
mitsuo sakamoto (mitsuo-sakamoto) said :
#24

Hi all,

thanks for the thread. Now I reached same level. I have solved my question with your help.
I will follow new Olan's thread.

thanks.

Mitsuo

Revision history for this message
Jan (jan-ellenbeck) said :
#25

FYI, the cause for the multi-threading segfault has been detected and has been fixed. It was indeed an MKL linking problem.

To get the fix and compile multi-threaded, do this:

imtaphy$ bzr revert SConscript
openwns-sdk$ ./playground.py upgrade
openwns-sdk$ ./playground.py install && ./playground.py install --flavour=opt

Cheers
Jan

Revision history for this message
mitsuo sakamoto (mitsuo-sakamoto) said :
#26

Hi Jan,

yes, I did same process. and finally it passed all test vectors.
However when I run "./opt", it indicate "WARNING: Uplink (center frequency=2.5e+09) and Downlink (2.5e+09) spectrum (partly) overlapping! The resulting UL/DL interference will *not* be considered!".
I'm trying to find out which part specify the centre frequency as default. I have not found it so far.

in addition, I cannot run any scenario by using The IMTAphy Viewer. regarding this issue, I would like to create another thread.

cheers,

Mitsuo

Revision history for this message
Jan (jan-ellenbeck) said :
#27

Actually, this WARNING is just a warning and I think I might remove it if it is confusing. The message here is that you can configure the uplink and downlink to run on identical or overlapping frequencies but the simulator would ignore this self-interference.

By default UL and DL are configured with the same center frequency because I think it is not really clear, e.g. from ITU-R M.2135, on which frequencies FDD DL and UL should run if the center frequency of the system is, e.g. 2.5 GHz. For example, would the UL be above 2.5 GHz and the DL below? How much bandwidth would separate them?

So in the simulator both are configured to run at 2.5 GHz in that case. But as the system should be FDD, DL transmissions do not interfere with UL transmission because they should actually be on a different frequency band.

Cheers
Jan