GithubHelp home page GithubHelp logo

abdulkarimgizzini / enhancing_least_square_channel_estimation_using_deep_learning Goto Github PK

View Code? Open in Web Editor NEW
42.0 1.0 7.0 33 KB

This repository includes the source code of the LS-DNN based channel estimators proposed in "Enhancing Least Square Channel Estimation Using Deep Learning" paper that is published in the proceedings of the 2020 IEEE 91st Vehicular Technology Conference (VTC2020-Spring) virtual conference.

MATLAB 78.67% Python 21.33%
channel-estimation deep-learning dnn least-sqaure-method lmmse frequency-selective-channel

enhancing_least_square_channel_estimation_using_deep_learning's Introduction

This repository includes the source code of the LS-DNN based channel estimators proposed in "Enhancing Least Square Channel Estimation Using Deep Learning" paper that is published in the proceedings of the 2020 IEEE 91st Vehicular Technology Conference (VTC2020-Spring) virtual conference. Please note that the Tx-Rx OFDM processing is implemented in Matlab (Matlab_Codes) and the LSTM processing is implemented in python (Keras) (Python_Codes).

Matlab_Codes

  1. Main_Simulation: includes the implementation of the OFDM Rx-Tx communications, as well as the LS and LMMSE channel estimation schemes. it is used to generate datasets.

  2. Channel_functions: includes different channel models definitions.

  3. Estimation_functions: includes LS, MMSE, Rh_calculation, W_MMSE_calculation functions.

  4. Process_Training_Data: Convert generated datasets from complex domain to real domain.

  5. DNN_Results_Processing: use it to process the DNN results, just you need to choose which DNN model you want to show by setting the DNN_index variable. Forexample if DNN_index = 30, then the results for the tranied DNN model on SNR = 30dB will be shown.

Python_Codes

  1. LS_DNN_Training: this file is used to train the LS_DNN model according to a specific SNR value, after that the trained LS_DNN is saved to be used later in the testing phase.

  2. LS_DNN_Testing: this file is used to test the trained LS_DNN model perfromance on the whole datasets for all the whole SNR range.

enhancing_least_square_channel_estimation_using_deep_learning's People

Contributors

abdulkarimgizzini avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

enhancing_least_square_channel_estimation_using_deep_learning's Issues

The dataset for DNN training cannot generate normally

I just find the dataset required by the DNN for training is generated from "Process_Training_Data.m".

In "Process_Training_Data.m", it needs to load the original complex dataset ''Data\DNN_Dataset\HLS_''.

However, I cannot find the way to generate the dataset: ''Data\DNN_Dataset\HLS_''. And in "Main_simulation.m", there is no dataset output.

Sir, thank you for the code, however following error arises while running the code

Error using comm.RayleighChannel/step
Changing the complexity (from real to complex) on input 1 of System object comm.RayleighChannel is not allowed without first calling
the release() method.

Error in Channel_functions/ApplyChannel (line 62)
y = step(rchan, X(:));

Error in Main_Simulation (line 49)
[ h, y ] = ch_func.ApplyChannel( rchan, xp_cp, K_cp); - Show complete stack trace

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.