Skip to content

FBMC Transmitter and Receiver with Synchronization in Frequency Domain and adaptive Spectrum Usage

Notifications You must be signed in to change notification settings

maxpenner/gr-fbmc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Filter Bank Multicarrier (FBMC) Transmitter and Receiver

This project contains code for a transmitter and receiver which

  • use GNU Radio as a framework
  • transfer packetized data analogous to IEEE 802.11a WLAN
  • use Filter Bank Multicarrier (FBMC) as a modulation scheme
  • synchronize to data packets in frequency domain
  • can adapt their spectrum usage to coexisting, independent wireless systems.

Presentation

The system was presented at SDRA 2018: YouTube Video

Installation of gr-fbmc

This OOT-module requires GNU Radio 3.7.x, which is best installed on Ubuntu 16.04.x LTS.

git clone https://github.com/maxpenner/gr-fbmc.git
cd gr-fbmc
mkdir build
cd build
cmake ../
make
sudo make install
sudo ldconfig

Usage

Most parameters for system configuration can be found in lib/utils.

Install hierarchical blocks

Open the files examples/frame_extractor_hier_block.grc and examples/afb_hier_block.grc and compile them. By that you install the hierarchical blocks. Restart GNU Radio companion to see the change.

Run in Simulation

The system can be started in a simulation environment without using any radio hardware. To start a simulation with a transmitter and a receiver in the same flowgraph, the files examples/freq_sync/freq_simulation.grc (frequency domain sync) or examples/time_sync/time_simulation.grc (time domain sync) can be used. To feed data to the transmitter (127.0.0.1 : 8888) the file examples/udp_source.grc is provided.

Run on Hardware

The system was tested with two USRPs N210 and an Intel i7-4770 at the receiver side.

On one computer connected to an USRP N210, start examples/transmitter.grc. The transmitter opens a socket (127.0.0.1 : 8888) which can be used to feed a binary video stream to the modulation chain. VLC player can be used for this purpose.

On a second computer also connected to an USRP N210, start examples/freq_sync/freq_receiver.grc or examples/time_sync/time_receiver.grc. If data arrives at the receiver and decoding is successful, the decoded data is output through a socket (127.0.0.1 : 8889).

Publications

An overview of the testbed https://ieeexplore.ieee.org/document/9606255 (FBMC Testbed with Frequency Domain Synchronization and Adaptive Bandwidth).

A complete description of the algorithms used for frequency synchronization can be found here https://link.springer.com/article/10.1186/1687-6180-2014-83 (Analysis of frequency domain frame detection and synchronization in OQAM-OFDM systems).

Troubleshooting

After installation, the simulations should run without further adjustments. If radio hardware is used the N210 should be prefered due to its precise crystal oscillator. Otherwise, too many packets will be lost during transmission to enable a stable video transmission.

If no N210 is available, the packet size at both the transmitter and the receiver must be reduced to not more than 20 symbols. This way the negative influence of the carrier frequency offset is mitigated.

About

FBMC Transmitter and Receiver with Synchronization in Frequency Domain and adaptive Spectrum Usage

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages