Welcome to Power Control Algorithm v2 (PCA.py) documentation!

The presented Power Control Algorithm is dedicated to adjust the transmitting power of Base Transceiver Station (BTS) and Mobile Station (MS) if it is needed. Algorithm is based on measurement reports of BTS and MS. The purpose of PCAv2 is to save power of BTS and MS, reduce the interference of the network and increase the quality of network.

pca.py :
  1. reads sys.stdin
  2. asses if captured input is correct
  3. stores measurement in SQL database locally or remotely
  4. if its desired by operator, checks for MS handover opportunity
  5. evaluates signal correction request for BTS S0 - MS pair
  6. writes response to sys.stdout
The latest version is PCA.py 1.0.0, released July 25th 2017. It is supported on:
  • Ubuntu 16.04 LTS & Python 3.5.2

Quick start

  1. Clone git repository:

    git clone https://bitbucket.org/m_clsr/pca.py.git
    cd pca
    

    or

    wget https://bitbucket.org/m_clsr/pca.py/get/f970a3fcea34.zip && unzip f970a3fcea34.zip
    mv m_clsr-pca.py-f970a3fcea34/ pca
    cd pca
    
  2. Install dependencies:

    pip3 install -r requirements-pca.txt
    
  3. Setup sqlite database localy in current directory:

    python3 database_setup.py
    
  4. Start feeding input of pca.py with measurements:

    your_process_producing_measurements | python3 pca.py
    

Using PCA.py

PCA.py is meant to be used as script, reading input from stdin and providing output to stdout. Workflow and working parameters can be tuned by editing conf_pca.txt. If there is no such file, it will be created with default configuration parameters at first execution of pca.py.

Getting help

Feel free to contact us:

Bug reports are gladly accepted at the Bitbucket issue tracker. Bitbucket also hosts the code repository.