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 OFDM-modulated 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 64-QAM, and then applies OFDM to the QAM-modulated signal. The OFDM-modulated signal gets filtered through a MIMO Rayleigh fading channel. The model adds a signal delay in samples, and then OFDM-demodulates 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 NS-by-NP-by-T-by-NR array of values.
NS is the number of samples.
NP is the number of paths.
NT is the number of transmit antennas.
NR 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 NP-by-NH matrix of values.
NP is the number of paths.
NH 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 NSC-by-NSymbols-by-NT-by-NR array.
NSC is the number of OFDM subcarriers and equals the length of Active subcarrier indices.
NSymbols is the number of whole OFDM symbols contained in Path gains. Specifically, floor(NS/(NFFT + LCP)).
NS is the number of samples in Path gains
NFFT is the value of FFT length
LCP is the value of Cyclic prefix length.
NT is the number of transmit antennas.
NR 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 OFDM-modulated 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 |
|
Variable-Size 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 time-varying 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)
Asia Pacific
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)