All Projects → rnissel → Channel-Estimation

rnissel / Channel-Estimation

Licence: GPL-3.0 license
Simulates an FBMC and OFDM transmission over a doubly-selective channel. Allows to reproduce all figures from "Doubly-Selective Channel Estimation in FBMC-OQAM and OFDM Systems", IEEE VTC Fall, 2018

Programming Languages

matlab
3953 projects

Projects that are alternatives of or similar to Channel-Estimation

Pruned-DFT-s-FBMC Python
Simulates pruned DFT spread FBMC and compares the performance to OFDM, SC-FDMA and conventional FBMC. The included classes (QAM, DoublySelectiveChannel, OFDM, FBMC) can be reused in other projects.
Stars: ✭ 22 (-65.62%)
Mutual labels:  signal-processing, multipath, ofdm, wireless-communication, time-varying, fbmc, oqam
pyphysim
Simulation of Digital Communication (physical layer) in Python.
Stars: ✭ 78 (+21.88%)
Mutual labels:  ofdm, wireless-communication, modulation-techniques
pose-estimation-3d-with-stereo-camera
This demo uses a deep neural network and two generic cameras to perform 3D pose estimation.
Stars: ✭ 40 (-37.5%)
Mutual labels:  signal-processing
torchsubband
Pytorch implementation of subband decomposition
Stars: ✭ 63 (-1.56%)
Mutual labels:  signal-processing
FScape-next
Audio rendering software, based on UGen graphs. Issue tracker: https://codeberg.org/sciss/FScape-next/issues
Stars: ✭ 13 (-79.69%)
Mutual labels:  signal-processing
spectrum-analyzer
A real-time spectrum analysis VST plugin
Stars: ✭ 92 (+43.75%)
Mutual labels:  signal-processing
dspfun
Set of *nix utilities for experimentation and learning about spectral analysis of images
Stars: ✭ 21 (-67.19%)
Mutual labels:  signal-processing
Iir1
IIR realtime filter library written in C++
Stars: ✭ 224 (+250%)
Mutual labels:  signal-processing
gr-eventstream
gr-eventstream is a set of GNU Radio blocks for creating precisely timed events and either inserting them into, or extracting them from normal data-streams precisely. It allows for the definition of high speed time-synchronous c++ burst event handlers, as well as bridging to standard GNU Radio Async PDU messages with precise timing easily.
Stars: ✭ 38 (-40.62%)
Mutual labels:  signal-processing
SDR Matlab LTE
📡 Using Software Designed Radio to transmit LTE downlink signals at 2.4 GHz
Stars: ✭ 21 (-67.19%)
Mutual labels:  ofdm
susa
High Performance Computing (HPC) and Signal Processing Framework
Stars: ✭ 55 (-14.06%)
Mutual labels:  signal-processing
CNCC-2019
Computational Neuroscience Crash Course (CNCC 2019)
Stars: ✭ 26 (-59.37%)
Mutual labels:  signal-processing
fpbinary
Fixed point package for Python.
Stars: ✭ 30 (-53.12%)
Mutual labels:  signal-processing
wv
⏰ This R package provides the tools to perform standard and robust wavelet variance analysis for time series (signal processing). Among others, aside from computing the wavelet variance and cross-covariance (classic and robust), the package provides inference tools (e.g. confidence intervals) and plotting tools allowing to perform some visual an…
Stars: ✭ 14 (-78.12%)
Mutual labels:  signal-processing
WearLock
Using Android Watch to unlock Android phone via acoustic tokens.
Stars: ✭ 12 (-81.25%)
Mutual labels:  ofdm
ewtpy
Empirical wavelet transform (EWT) in Python
Stars: ✭ 52 (-18.75%)
Mutual labels:  signal-processing
Derainzoo
DerainZoo for collecting deraining methods, datasets, and codes.
Stars: ✭ 246 (+284.38%)
Mutual labels:  signal-processing
Apollo
Apollo is a Open-Source music player for playback and organization of audio files on Microsoft Windows, built using Python.
Stars: ✭ 13 (-79.69%)
Mutual labels:  signal-processing
bob
Bob is a free signal-processing and machine learning toolbox originally developed by the Biometrics group at Idiap Research Institute, in Switzerland. - Mirrored from https://gitlab.idiap.ch/bob/bob
Stars: ✭ 38 (-40.62%)
Mutual labels:  signal-processing
eidos-audition
Collection of auditory models.
Stars: ✭ 25 (-60.94%)
Mutual labels:  signal-processing

Channel Estimation

This repository simulates an FBMC and OFDM transmission over a doubly-selective channel, including doubly-selective MMSE channel estimation in combination with interference cancellation. All figures from R. Nissel et al. “Doubly-Selective Channel Estimation in FBMC-OQAM and OFDM Systems”, IEEE VTC Fall, 2018, can be reproduced.

Supported Waveforms:

  • OFDM
  • FBMC, channel estimation: auxiliary symbols
  • FBMC, channel estimation: data spreading

Note that I use a matrix based system model. This makes the derivation of the correlation matrices relatively easy but also requires a large memory. If one wants to simulate over a higher bandwidth, either the system model must be split into smaller chunks, or the matrices must be explicitly expressed by summations.

Requirements

We used Windows 7 (64bit) and Matlab R2013b/2016a, but newer versions (and some older) should also work.

Basic Properties

Our doubly-selective channel estimation method performs close to perfect channel knowledge:

The first iteration step greatly improves the BER, which soon saturates:

Reproducible Figures

All figure from “Doubly-Selective Channel Estimation in FBMC-OQAM and OFDM Systems” can be reproduced. The figure numbers are the same as in the paper.

Additional Explanations for Channel Estimation in FBMC

The Matlab code SimpleVersion_DoublyFlat.m simulates an FBMC and OFDM transmission over a doubly-flat channel, including channel estimation. In particular, it illustrates the auxiliary symbol method and the data spreading approach, with much less overhead than for the doubly-selective channel estimation method. The script is based on my paper “On pilot-symbol aided channel estimation in FBMC-OQAM”.

Please Cite Our Paper

@inproceedings{Nissel2018VTC,
	author    = {R. Nissel and F. Ademaj and M. Rupp},
	booktitle = {IEEE Vehicular Technology Conference (VTC Fall)},
	title     = {Doubly-Selective Channel Estimation in {FBMC-OQAM} and {OFDM} Systems},
	year 	  = {2018},
	pages 	  = {1-5}, 
	month 	  = {Aug},
}

References

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].