Coder Social home page Coder Social logo

uav-ris_eh_ddpg's Introduction

Long-Lasting UAV-aided RIS Communications based on SWIPT

Introduction

  • This repository is the implementation of "Long-Lasting UAV-aided RIS Communications based on SWIPT" in 2022 IEEE Wireless Communications and Networking Conference (WCNC). [Paper] [Slides] [Video]
  • The implementation of DDPG is based on this tutorial.
  • The architecture of actor and critic nets are implemented via using a MLP (3 layers of 64 neurals).

There are some limitations to this work. If you have any questions or suggestions, please feel free to contact me. Your suggestions are greatly appreciated.

Citing

Please consider citing our paper if this repository is helpful to you. Bibtex:

@INPROCEEDINGS{peng1570767WCNC,
  author={Peng, Haoran and Wang, Li-Chun and Li, Geoffrey Ye and Tsai, Ang-Hsun},
  booktitle={Proc. IEEE Wireless Commun. Netw. Conf. (WCNC)}, 
  title={Long-Lasting {UAV}-aided {RIS} Communications based on {SWIPT}},
  address={Austin, TX},
  year={2022},
  month = {Apr.}
}

Requirements

  • Python: 3.6.13
  • Pytorch: 1.10.1
  • gym: 0.15.3
  • numpy: 1.19.2
  • matplotlib
  • pandas

Usage

Descriptions of folders

  • The folder "DDPG-SingleUT-Time" is the source code for the time-domain EH scheme using DDPG.
  • The folder "DDPG-SingleUT-Time-and-Space" is the source code for the two-domain (Time and Space) EH scheme using DDPG.
  • The folder "Exhaustive-SingleUT-Time" is the source code for the time-domain EH scheme using Exhaustive Algorithm.
  • The folder "Exhaustive-SingleUT-Time-and-Space" is the source code for the two-domain (Time and Space) EH scheme using Exhaustive Algorithm.

Descriptions of files

  • For the Exhaustive Algorithm, the communication environment is impletemented in 'ARIS_ENV.py'.
  • For the DDPG, the communication environment is impletemented in 'gym_foo/envs/foo_env.py'.
  • You can change the dataset in 'gym_foo/envs/foo_env.py'.

Training phase

  1. In the main.py, the switch of "Train" must be 'True' such as
14 Train = True # True for tranining, and False for testing.
  1. python main.py

Testing phase

  1. In the main.py, the switch of "Train" must be 'False' such as
14 Train = False # True for tranining, and False for testing.
  1. python main.py
  2. The harvest energy of each step and overall steps are saved in 'Test_Rewards_Records.csv' and 'Total_Reward_Test.txt', respectively.

The EH efficiency

The EH efficiency for each step can be calculated by:

 reward of each step / 0.02275827153828275

uav-ris_eh_ddpg's People

Contributors

haoran-peng avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.