SC311 Wireless Communications

From Nicolas Barbot website
Revision as of 08:37, 20 August 2021 by Nico (talk | contribs) (Created page with "The objective of this course is to understand how we can transmit a message in-between a transmitter and a receiver spatially separated. Especially, how we can use signal proc...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

The objective of this course is to understand how we can transmit a message in-between a transmitter and a receiver spatially separated. Especially, how we can use signal processing operations to adapt (i.e. modulate and demodulate) the message to realize the transmission over wired or wireless channels. This course describes the processes realized at a signal level and can be related to MA331 Information Theory and Channel Coding (which presents the general problem at a higher level).

Slides of the course can be downloaded here.

Exercises can be downloaded here.

The following of this page corresponds to the labs.


In this labs, we will realize different modulations and demodulations used to transmit and receive analog and digital messages. Spectrum (or power spectral density) will also be determined. Finally, performance, in term of Sinal to Noise Ratio (SNR) or Bit Error Rate (BER) will be estimated in each case.

These labs are based on GNU Radio which is a free software that provides a large number of software blocks to perform most signal processing operations. The blocks are mostly written in C ++. It is possible to use these blocks directly from Python to create telecommunication systems. In addition, to make it easier to get started, GNU Radio also provides a utility called <syntaxhighlight lang="text" inline>gnuradio-companion</syntaxhigllight> to assemble blocks graphically and to generate the corresponding python script. This subject have been written for GNU Radio, but it can be equivalently realized using Octave, or IT++ library.

Getting Started

  • Open a terminal
  • Create a working directory in which you will place your scripts.
  • Run <syntaxhighlight lang="text" inline>gnuradio-companion</syntaxhigllight>.