# Wireless Signal Processing on FPGAs

### Synopsis

Over the last decade, we have seen an unprecedented move towards wireless technology adoption. Keyboards, mice, television, computers have all moved towards wireless technologies. This course presents the fundamentals of wireless communications, with a lot of focus on theory and applications. Participants will also get to perform several exercises for better understanding of the theory presented. The exercises use DSP theory to implement wireless signal processing systems, and use tools such as VHDL, Sage Math, National Instruments LabView, Mentor Graphics ModelSim / Synopsys VCS-MX, Xilinx Vivado, and Xilinx ChipScopePro.### Course highlights

Participants will learn the fundamentals of digital wireless communications, and have practical design experience using mathematical modelling tools (e.g. Sage or Matlab), industry-standard logic simulators (e.g. Mentor Graphics QuestaSim/ModelSim, Synopsys VCS-MX), hardware design tools (e.g. National Instruments LabView, Xilinx Vivado), VHDL-2008 mathematics and fixed/floating-point packages, and development/test hardware from National Instruments.### What You Will Learn

This course concentrates on the theoretical and practical knowledge to allow participants to achieve the following learning outcomes. Upon completing the course, participants would be able to:- Learn basics of wireless signal processing.
- Mathematically model wireless communications systems using Sage Math or Matlab.
- Design DSP-based systems for wireless communications using VHDL and NI's LabView.
- Physically prove their designs using NI's wireless test platforms such as USRP.

### Who Should Attend

This course is particularly suited for engineers involved in wireless systems design (RF, microwave, RFIC), interested in using the FPGA/ASIC digital design and verification flow for wireless signal processing.### Prerequisites

Participants should have a diploma/degree in electronics (and related) engineering with an understanding of digital systems. Working knowledge on DSP theory is required for this programme.**Participants are strongly encouraged to attend the following course(s) prior to attending this course:**

### Course Methodology

This course is presented in a workshop style with example-led lectures interlaced with demonstrations and hands-on practical for maximum understanding.### Course Duration

Ten (10) days, 0900 to 1700.### Course Structure

**Introduction**- A typical wireless communications block diagram.
- Discussion of which sub-blocks of a wireless system can be implemented with FPGAs using VHDL and DSP concepts.

**Stochastic processes**- When is this concept applied to digital communications systems?
- Revision of stochastic processes.

**Estimation theory**- The likelihood function.
- Maximum-likelihood (ML) estimators.
- Applications of ML estimation: CDR, channel coding, equalisation.

**Modulation techniques**- Inphase-quadrature (I-Q) modulation.
- Constellation diagrams.
*M*-ary frequency shift keying (FSK).*M*-ary phase shift keying (PSK).*M*-ary quadrature amplitude modulation (QAM).- Orthogonal frequency division multiplexing (OFDM).

**Carrier and symbol synchronisation**- Analogies to digital systems: clock and data recovery (CDR).
- ML carrier phase estimation.
- ML timing estimation.

**Source coding**- Coding for discrete sources
- Discrete memoryless sources (DMS): Huffman coding.
- Lempel-Ziv algorithm.
- Lempel-Ziv-Markov chain algorithm (LZMA).

- Coding for continuous (analogue) sources
- Quantisation techniques and analogue-to-digital conversion (ADC)
- Scalar quantisation.
- Vector quantisation.

- Coding techniques
- Temporal waveform coding: PCM, DPCM, adaptive PCM/DPCM, delta modulation (DM).
- Spectral waveform coding
- Subband coding (SBC).
- Adaptive transform coding (ATC)
- Discrete Fourier transform (DFT): fast Fourier transform (FFT) algorithm for DFT computation.
- Discrete cosine transform (DCT).
- Discrete wavelet transform (DWT).

- Model-based source coding
- Linear predictive coding (LPC).

- Quantisation techniques and analogue-to-digital conversion (ADC)

- Coding for discrete sources
**Channel coding**- Stochastic/random channel coding.
- Linear block coding
- Overview of linear block codes, generator and parity-check matrices.
- Hamming codes.
- Hadamard codes.
- Cyclic codes: cyclic Hamming, ML shift-register, Bose-Chaudhuri-Hocquenghem (BCH) codes

- Convolutional coding.
- Overview of convolutional codes.
- Transfer function of a convolutional code.
- Viterbi algorithm: Optimum decoding of convolutional codes.
- Error rate performance (probability of error) of Viterbi algorithm.
- Trellis-coded modulation for bandwidth-limited channels.

**Suboptimum receivers**- Linear equaliser.
- Decision-feedback equaliser (DFE).

**Optimum receivers for AWGN channel**- Maximum-likelihood (ML) sequence estimation - revisit.
- Viterbi algorithm for sequential trellis search.

- Optimum receiver models for infinite-bandwidth AWGN channel (without ISI)
- Demodulators: correlation and matched-filter.
- Optimum detectors.
- Probability of error for QAM.
- Optimum receiver for
*M*-ary orthogonal signals. - Probability of error for envelope detection of
*M*-ary orthogonal signals.

- Optimum receiver designs for band-limited AWGN channel (with ISI)
- Inter-symbol interference in bandwidth-limited channels.
- ML sequence detector.
- Line coding
- Runlength-limiting (RLL): RLL coding for pulse/spectrum shaping, DC balancing, and ISI minimisation.
- Return-to-zero (RZ).
- Non-return-to-zero (NRZ).
- Non-return-to-zero-inverted (NRZI).
- Manchester.
- 8b/10b, 64b/66b, 128b/130b.

- Maximum-likelihood (ML) sequence estimation - revisit.
**Adaptive equalisation**- Adaptive channel estimator using ML sequence detection.
- Recursive least-squares algorithms for adaptive equalisation
- Kalman equaliser / filter (Kalman algorithm).
- Lattice filter (linear prediction algorithm).

**Multiuser communications**- Overview of multiple access techniques.
- Overview of multiple access techniques used for wireless communications.
- Orthogonal frequency division multiple access (OFDMA).