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

14 vues (au cours des 30 derniers jours)
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.

Réponses (1)

Suraj Kumar
Suraj Kumar le 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!

Catégories

En savoir plus sur End-to-End Simulation dans Help Center et File Exchange

Produits


Version

R2023b

Community Treasure Hunt

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

Start Hunting!

Translated by