How to generate TDL path gains for different subcarriers in a frequency selective channel?

14 views (last 30 days)
I would like to generate different path gains for different subcarriers in order to simulate a frequency selective channel. How can I achieve this by using nrTDLChannel object? I previously used nrCDLChannel and understand frequency-selectivity cannot be achieved by this model. If my goal can be achieved by stting the correlation matrices and xpr of the nrTDLChannel object, how would I need to set these parameters for each subcarrier? Thank you.

Answers (1)

Suraj Kumar
Suraj Kumar on 26 Sep 2024
Hi Elcinur,
To simulate a frequency-selective channel using the ‘nrTDLChannel object in MATLAB, you can refer the following steps and the attached code snippets:
1. Initialize the TDL channel model using the nrTDLChannel function and set the parameters like DelayProfile, DelaySpread, and MaximumDopplerShift to define the channel's characteristics.
% Define the channel
channel = nrTDLChannel;
channel.DelayProfile = 'TDL-C';
channel.DelaySpread = 30e-9;
channel.MaximumDopplerShift = 5;
channel.NumTransmitAntennas = 1;
channel.NumReceiveAntennas = 1;
channel.SampleRate = 15.36e6;
2. Simulate the channel by generating a random signal and passing it through the nrTDLChannel.
% Generate random signal
numSubcarriers = 1024;
txWaveform = randn(numSubcarriers, 1);
% Pass through channel
[rxWaveform, pathGains] = channel(txWaveform);
3. Use the Fast Fourier Transform (FFT) function to convert time-domain path gains to the frequency domain, which helps us analyze frequency selectively.
% Transform path gains to frequency domain
pathGainsFreqDomain = fft(pathGains, numSubcarriers, 1);
4. Examine the frequency-selective nature by displaying path gains for each subcarrier
figure;
plot(1:numSubcarriers, 20*log10(abs(pathGainsFreqDomain)));
xlabel('Subcarrier Index');
ylabel('Path Gain (dB)');
title('Frequency Response of the Channel');
grid on;
You may refer to the output below for better understanding:
To know more about nrTDLChannel object or ‘fft function in MATLAB, kindly refer the following documentations:
Happy Coding!

Categories

Find more on End-to-End Simulation in Help Center and File Exchange

Products


Release

R2023b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!