OFDM Channel Response
Libraries:
Communications Toolbox /
Channels
Description
The OFDM Channel Response block calculates the OFDM channel response in the frequency domain by using perfect information from the channel. For more information, see OFDM Channel Response.
This icon shows the block with all ports enabled.
Examples
OFDM Equalization
Apply equalization to an OFDMmodulated QAM signal that has been filtered through a Rayleigh MIMO channel.
The cm_ofdm_equalization
model initializes simulation variables and computes path filters in the InitFun
callback function. For more information, see Model Callbacks (Simulink).
The model generates random integer data, applies 64QAM, and then applies OFDM to the QAMmodulated signal. The OFDMmodulated signal gets filtered through a MIMO Rayleigh fading channel. The model adds a signal delay in samples, and then OFDMdemodulates the signal. In a parallel path, an OFDM Channel Response block computes the perfect OFDM channel response and an OFDM Equalizer block equalizes the received signal.
The value of the constant block labeled Fading Channel Delay equals the delay of the MIMO Fading Channel block. Since the discrete path delays of the MIMO Fading Channel block are set to [3 9 15]/Fs
, the first nonzero value of the channel impulse response has a delay of 3 samples and the Fading Channel Delay value can be any integer in the range [0,3] samples. If the Fading Channel Delay value is greater than 3, intersymbol interference will occur.
The delay block labeled Signal Delay is equal to (fftLen+cpLen
) – Fading Channel Delay samples. This removes the MIMO Fading Channel block delay and adds a delay of one OFDM symbol. Each OFDM symbol has (fftLen+cpLen
) samples.
The delay blocks labeled Delay1 and Delay2 each add a delay of one OFDM symbol to match the one OFDM symbol delay introduced by the Signal Delay block. Delay1 ensures that the right OFDM Modulator input is used as a reference to calculate the maximum error. Delay2 ensures that the OFDM Demodulator output and the OFDM Channel Response output correspond to the same OFDM symbol.
A constellation diagram displays the unequalized and equalized signals. The model computes and displays the maximum error between the transmitted QAM signal and the equalized signal on the receive side.
The maximum computed error is 0.000558.
Ports
Input
Path gains — Channel path gains
array
Channel path gains, specified as an N_{S}byN_{P}by_{T}byN_{R} array of values.
N_{S} is the number of samples.
N_{P} is the number of paths.
N_{T} is the number of transmit antennas.
N_{R} is the number of receive antennas.
The channel path gains follow the definition of channel path gains as calculated and output by the fading channel System objects. For example, see MIMO Fading Channel or SISO Fading Channel. This block assumes that the path gains sample rate matches the OFDM sample rate.
Data Types: single
 double
Complex Number Support: Yes
Path filters — Channel path filter coefficients
matrix
Channel path filter coefficients, specified as an N_{P}byN_{H} matrix of values.
N_{P} is the number of paths.
N_{H} is the number of impulse response samples.
The channel path filter coefficient matrix is used to convert path gains to
channel filter tap gains for each sample and each pair of transmit and receive
antennas. The channel path filter coefficients follow the definition of channel path
filter coefficients as calculated by the info
object function of the fading channel System objects.
The channel path gains follow the definition of channel path gains as calculated and output by the fading channel System objects. For example, see MIMO Fading Channel or SISO Fading Channel.
Data Types: single
 double
Complex Number Support: Yes
Offset — Timing offset
scalar
Timing offset in samples, specified as a nonnegative, integer scalar.
Dependencies
To enable this input port, select the Enable timing offset input port parameter.
Data Types: double
 single
Output
hEst — Frequency response
array
Frequency response, returned as an N_{SC}byN_{Symbols}byN_{T}byN_{R} array.
N_{SC} is the number of OFDM subcarriers and equals the length of Active subcarrier indices.
N_{Symbols} is the number of whole OFDM symbols contained in Path gains. Specifically, floor(N_{S}/(N_{FFT} + L_{CP})).
N_{S} is the number of samples in Path gains
N_{FFT} is the value of FFT length
L_{CP} is the value of Cyclic prefix length.
N_{T} is the number of transmit antennas.
N_{R} is the number of receive antennas.
The returned frequency response corresponds to an OFDM symbol timing alignment at the receiver that uses the timing offset:
Provided by the Offset port when Enable timing offset input port is selected
Between the OFDM transmitter and the OFDM receiver as computed by the
channelDelay
function using Path gains and Path filters as inputs when Enable timing offset input port is not selected
Parameters
To edit block parameters interactively, use the Property Inspector. From the Simulink^{®} Toolstrip, on the Simulation tab, in the Prepare gallery, select Property Inspector.
FFT length — FFT length
512
(default)  positive integer
FFT length, specified as a positive, integer scalar. The FFT length must align with that of the OFDMmodulated signal.
Cyclic prefix length — Cyclic prefix length of one OFDM symbol
16
(default)  nonnegative integer
Cyclic prefix length of one OFDM symbol, specified as a nonnegative, integer scalar with a value less than FFT length.
Active subcarrier indices — Number of active subcarriers
1:512
(default)  positive integer  column vector
Number of active subcarriers, specified as a positive, integer scalar or column
vector of values in the range [1
, FFT
length].
Enable timing offset input port — Option to add input port for timing offset
off
(default)  on
Select this parameter to add an input port to input timing offset.
on
— Adds the Offset input port to specify the timing offset for channel response estimation.off
— The block uses the Path gains and Path filters inputs to estimate the timing offset for OFDM channel response estimation.
Simulate using — Type of simulation to run
Interpreted execution
(default)  Code generation
Type of simulation to run, specified as Interpreted
execution
or Code generation
.
Interpreted execution
— Simulate the model by using the MATLAB^{®} interpreter. This option requires less startup time, but the speed of subsequent simulations is slower than with theCode generation
option. In this mode, you can debug the source code of the block.Code generation
— Simulate the model by using generated C code. The first time you run a simulation, Simulink generates C code for the block. The model reuses the C code for subsequent simulations unless the model changes. This option requires additional startup time, but the speed of the subsequent simulations is faster than with theInterpreted execution
option.
For more information, see Interpreted Execution vs. Code Generation (Simulink).
Block Characteristics
Data Types 

Multidimensional Signals 

VariableSize Signals 

Algorithms
OFDM Channel Response
The OFDM channel response algorithm uses an FFT to compute the channel estimates by using the path gains and path filter coefficients available after you pass data through a MIMO channel. Use channel path gains returned by the MIMO channel object, and the path filters and timing offset returned by the info
object function, to estimate the OFDM channel response.
This figure shows one OFDM symbol in addition to the input channel impulse and the output channel impulse response. The algorithm ignores samples outside the OFDM symbol.
For a timevarying channel, such as most fading channels, the impulse response depends on the location of the impulse at the channel input.
Extended Capabilities
C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.
Version History
Introduced in R2023a
See Also
Functions
Blocks
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
 América Latina (Español)
 Canada (English)
 United States (English)
Europe
 Belgium (English)
 Denmark (English)
 Deutschland (Deutsch)
 España (Español)
 Finland (English)
 France (Français)
 Ireland (English)
 Italia (Italiano)
 Luxembourg (English)
 Netherlands (English)
 Norway (English)
 Österreich (Deutsch)
 Portugal (English)
 Sweden (English)
 Switzerland
 United Kingdom (English)