Skip to main content

Function of a Decision Feedback Equalizer (DFE) Equalizer (with MATLAB)

 

Decision Feedback Equalizer is the abbreviation for this. We know that in a typical wireless communication scenario, different multipath cause the signal to arrive at the receiver at different times after transmitting it from the transmitter. Our signal may show a slight spatial frequency shift as a result. By using several taps to receive signals with varying time delays or signals with a slight frequency shift, equalizers solve this problem by changing their tap weights.

Decision feedback equalizers continuously update their tap coefficient vectors by reducing the error between the desired signal and adaptive filter output.

Inter-symbol interference (ISI) happens in a typical wireless communication system when the modulation bandwidth exceeds the radio channel's coherence bandwidth. Equalization reduces the ISI produced by multipath within a time-dispersive channel.

** Coherence bandwidth is the bandwidth (range of frequencies) over which the channel is constant is called coherence bandwidth

Both feed-forward taps and feed-backward taps are used in a DFE equalizer. 

'Input' - Input signal, specified as a column vector
'Desired' - Training symbols (column vector). The vector length of the desired must be less than or equal to the length of the input.
'Train' - Train equalizer flag. It starts training when the value changes from 0 to 1.
'Error' - Error signal (column vector)
'Weight' - Tap weights

The error between the feedforward and feedback signal is used to adjust the tap weights. To recover the original signal, it also converges the tap weights. DFE uses an adaptive algorithm at the receiver side to track the changing channel and modifies the weight of its filter to recover the known pilot signal most of the time. The data bits are then appropriately corrected. Pilot signals are provided at short intervals and are known to the receiver to track the communication channel or medium's frequently changing characteristics.

 


QPSK + Multipath + Decision Feedback Equalizer (DFE)

20 BER Before: 0 | BER After: 0

Simulator Workflow & Mathematics

1 The Signal Path

  1. QPSK Modulation Random bits are grouped into pairs and mapped to complex symbols: s = exp(j * (π/4 + kπ/2)).
  2. Multipath Channel The signal is convolved with a multi-tap impulse response, simulating reflections that cause Inter-Symbol Interference (ISI).
  3. DFE Equalization A Feedforward Filter (FFF) suppresses precursor ISI, while a Feedback Filter (FBF) subtracts post-cursor ISI using previous symbol decisions.

2 The DFE Equations

// 1. Equalizer Output

y[n] = Σ(w_f[k] * x[n-k]) - Σ(w_b[k] * d[n-k])

(Feedforward Output - Feedback Correction)

// 2. Error Calculation

e[n] = d_known[n] - y[n]

// 3. LMS Weight Update

w_f[k] = w_f[k] + μ * e[n] * x*[n-k]

w_b[k] = w_b[k] - μ * e[n] * d*[n-k-1]

Where μ is the step size, x* is the conjugate of the received signal, and d are previous decisions.

Also read about

[2] Adaptive Equalizer to mitigate Channel Distortion (in MATLAB)

[3] Roll of an Equalizer in Channel Estimation




Contact Us

Name

Email *

Message *

Popular Posts

BER vs SNR for M-ary QAM, M-ary PSK, QPSK, BPSK, ...(MATLAB Code + Simulator)

Bit Error Rate (BER) & SNR Guide Analyze communication system performance with our interactive simulators and MATLAB tools. šŸ“˜ Theory 🧮 Simulators šŸ’» MATLAB Code šŸ“š Resources BER Definition SNR Formula BER Calculator MATLAB Comparison šŸ“‚ Explore M-ary QAM, PSK, and QPSK Topics ▼ 🧮 Constellation Simulator: M-ary QAM 🧮 Constellation Simulator: M-ary PSK 🧮 BER calculation for ASK, FSK, and PSK 🧮 Approaches to BER vs SNR Calculation What is Bit Error Rate (BER)? The BER indicates how many corrupted bits are received compared to the total number of bits sent. It is the primary figur...

MIMO Channel Matrix | Rank and Condition Number

MIMO / Massive MIMO MIMO Channel Matrix | Rank and Condition...   The channel matrix in wireless communication is a matrix that describes the impact of the channel on the transmitted signal. The channel matrix can be used to model the effects of the atmospheric or underwater environment on the signal, such as the absorption, reflection or scattering of the signal by surrounding objects. When addressing multi-antenna communication, the term "channel matrix" is used. Let's assume that only one TX and one RX are in communication and there's no surrounding object. Here, in our case, we can apply the proper threshold condition to a received signal and get the original transmitted signal at the RX side. However, in real-world situations, we see signal path blockage, reflections, etc.,  (NLOS paths [↗]) more frequently. The obstruction is typically caused by building walls, etc. Multi-antenna communication was introduced to address this issue. It makes diversity app...

UGC NET Electronic Science Previous Year Question Papers with Solutions

Home / Engineering & Other Exams / UGC NET 2026 PYQ ⬇️ Download Papers and Solutions šŸ“‹ Exam Pattern šŸ’” Preparation Tips ❓ FAQs šŸ“Š Exam Highlights: Electronic Science (88) Feature Details Junior Research Fellowship (JRF) ₹37,000 + HRA per month Eligibility M.Sc/M.Tech in Electronics (55%) Validity of Certificate JRF (3 Years) | Lectureship (Lifetime) šŸ“„ Download UGC NET Electronics PDFs Complete collection of previous year question papers, answer keys and explanations for Subject Code 88. Start Downloading šŸ“‚ View All Question Papers June 2025 - Question Paper Download PDF June 2025 - Solved Paper + Explanation ...

MATLAB Code for OTFS (Orthogonal Time Frequency Space)

MATLAB Code for OTFS (Orthogonal Time Frequency Space) %% Clear workspace clc; clear; close all ; %% Step 1: OTFS Parameters N_delay = 4; % Number of delay bins (rows) N_doppler = 4; % Number of Doppler bins (columns) N_sym = N_delay * N_doppler; modOrder = 4; % QPSK SNR_dB = 20; % Noise level %% Step 2: Generate random data symbols data = randi([0 modOrder-1], N_sym, 1); txSymbols = pskmod(data, modOrder, pi/4); disp( 'Transmitted Delay-Doppler symbols:' ); disp(reshape(txSymbols, N_delay, N_doppler)); %% Step 3: Map Delay-Doppler → Time-Frequency (ISFFT) % ISFFT: Inverse Symplectic Finite Fourier Transform % 1. Take IDFT along Doppler (columns) % 2. Take DFT along Delay (rows) ddSymbols = reshape(txSymbols, N_delay, N_doppler); % Step 3a: IDFT along columns (Doppler) tfGrid = ifft(ddSymbols, N_doppler, 2); %IFFT (accross columns) along Doppler → spreads in time (Delay → Time) %FFT (accross rows)along Delay → spreads in frequency (Delay → Frequency) % Step 3b: DFT along ...

How to Mount Google Drive in Google Colab

How to Mount Google Drive in Google Colab Google Colab provides temporary storage during a session. Any files stored in the /content directory will be deleted when the runtime disconnects. To store datasets, trained models, and results permanently, it is recommended to mount your Google Drive in Colab. Mounting Google Drive allows your notebook to access files directly from your Drive and save outputs there so they remain available even after the Colab session ends. Step 1: Import the Drive Module First import the Google Colab drive module. from google.colab import drive Step 2: Mount Google Drive Run the following command to mount your Google Drive. from google.colab import drive drive.mount('/content/drive') After running the command: A link will appear in the output. Click the link and log in to your Google account. Copy the authentication code provided. Paste the code back into the notebook. Or, a Google authentication page will a...

Online Simulator for ASK, FSK, and PSK Signal Generation

Interactive Digital Signal Processing (DSP) Tutorial and Simulator for ASK, FSK, and BPSK modulation techniques. Try our new Digital Signal Processing Simulator!   •   Interactive ASK, FSK, and BPSK tools updated for 2025. Start Now Digital Modulation Visualizer: ASK, FSK, & BPSK Simulator Learn and visualize binary modulation techniques (ASK, FSK, BPSK) in real-time with adjustable carrier and sampling parameters. Perfect for DSP students and engineers. šŸ“” ASK Simulator šŸ“¶ FSK Simulator šŸŽš️ BPSK Simulator šŸ“š More Topics ASK Modulator FSK Modulator BPSK Modulator More Topics 1. ASK (Amplitude Shift Keying) Simulat...

OFDM Symbols and Subcarriers Explained

This article explains how OFDM (Orthogonal Frequency Division Multiplexing) symbols and subcarriers work. It covers modulation, mapping symbols to subcarriers, subcarrier frequency spacing, IFFT synthesis, cyclic prefix, and transmission. Step 1: Modulation First, modulate the input bitstream. For example, with 16-QAM , each group of 4 bits maps to one QAM symbol. Suppose we generate a sequence of QAM symbols: s0, s1, s2, s3, s4, s5, …, s63 Step 2: Mapping Symbols to Subcarriers Assume N sub = 8 subcarriers. Each OFDM symbol in the frequency domain contains 8 QAM symbols (one per subcarrier): Mapping (example) OFDM symbol 1 → s0, s1, s2, s3, s4, s5, s6, s7 OFDM symbol 2 → s8, s9, s10, s11, s12, s13, s14, s15 … OFDM sym...

QPSK Online Simulator (Signal Generation)

Simulator for QPSK Modulation Quadrature (4-PSK) Bitstream (Even length) Carrier Freq (Hz) Samples Per Symbol Run QPSK Simulation The Math Behind QPSK Quadrature Phase Shift Keying (QPSK) is a form of digital modulation that transmits two bits per symbol by changing the phase of a carrier wave. s(t) = A cos(2Ļ€f c t + Īø n ) Phase (Īø n ): Each pair of bits (dibit) corresponds to a specific phase shift. In Gray coding, we use: "00" → Ļ€/4 (45°) "01" → 3Ļ€/4 (135°) "11" → 5Ļ€/4 (225°) "10" → 7Ļ€/4 (315°) Efficiency: Since 4 phases are used, QPSK carries double the data of BPSK in the same bandwidth. ...