swapTransmitAndReceive

Противоположное направление ссылки в CDL образовывает канал модель

Синтаксис

Описание

пример

swapTransmitAndReceive(cdl) инвертирует направление ссылки в заданной модели канала кластеризованной линии задержки (CDL) путем свопинга ролей передающих и приемных антенн в канале. Подкачка приводит к взаимной модели канала, но не изменяет исчезновение канала. Отправка форм волны через канал и для направлений ссылки (исходный и для инвертированный) приводит к усилениям пути к каналу, которые отличаются только по подкачанным размерностям передающей и приемной антенны. Вызывание функции снова возвращается канал к своему исходному направлению ссылки путем свопинга назад ролей передающих и приемных антенн.

Можно использовать эту функцию во время симуляции к операции дуплекса деления времени (TDD) модели путем отправки форм волны за каждым направлением ссылки через канал при поддержании взаимности канала.

Функция подкачивает значения этих пар свойства входа cdl отразить изменение направления ссылки.

Функция также переключает TransmitAndReceiveSwapped значение свойства входа cdl между true и false отразить фактическое состояние направления ссылки.

Примеры

свернуть все

Используйте одну модель канала и для нисходящего канала и для восходящей передачи путем свопинга ролей передающих и приемных антенн в канале. Подтвердите, что модель канала является обратной величиной.

Создайте объект настройки поставщика услуг по умолчанию и для нисходящего канала и для восходящей передачи.

carrier = nrCarrierConfig;

Создайте и сконфигурируйте модель канала. Можно задать или модель канала CDL или модель канала TDL.

channel = nrCDLChannel;                  % For TDL channel model, use nrTDLChannel 
channel.MaximumDopplerShift = 0;
ofdmInfo = nrOFDMInfo(carrier);
channel.SampleRate = ofdmInfo.SampleRate;

Создайте сигнал для нисходящей передачи.

channelinfo = info(channel);
txgridDL = nrResourceGrid(carrier,channelinfo.NumTransmitAntennas);
txDL = nrOFDMModulate(carrier,txgridDL);

Объясните максимальную задержку канала.

channelinfo = info(channel);
maxChDelay = ceil(max(channelinfo.PathDelays*channel.SampleRate)) + channelinfo.ChannelFilterDelay;
txDL = [txDL; zeros([maxChDelay size(txDL,2)])];

Отправьте нисходящий сигнал через модель канала.

[rxDL,pathGainsDL] = channel(txDL);

Реконфигурируйте модель канала для восходящей передачи путем свопинга ролей передающих и приемных антенн.

swapTransmitAndReceive(channel);

Создайте сигнал для восходящей передачи.

channelInfoUL = info(channel);
txGridUL = nrResourceGrid(carrier,channelInfoUL.NumTransmitAntennas);
txUL = nrOFDMModulate(carrier,txGridUL);

Объясните максимальную задержку канала.

txUL = [txUL; zeros([maxChDelay size(txUL,2)])];

Отправьте восходящий сигнал через реконфигурированную модель канала.

[rxUL,pathGainsUL] = channel(txUL);

Подтвердите, что канал является обратной величиной, то есть, исчезновение канала является тем же самым в обеих передачах. Восходящее усиление пути к каналу и нисходящее усиление пути к каналу отличаются только по подкачанным размерностям передающей и приемной антенны.

isequal(pathGainsUL,permute(pathGainsDL,[1 2 4 3]))
ans = logical
   0

Входные параметры

свернуть все

Модель канала CDL в виде nrCDLChannel Системный объект. nrCDLChannel возразите реализует уровень ссылки мультивхода мультивыводится (MIMO), исчезающий канал, заданный в Разделе TR 38.901 7.7.1.

Ссылки

[1] 3GPP TR 38.901. “Исследование модели канала для частот от 0,5 до 100 ГГц”. Проект Партнерства третьего поколения; Сеть радиодоступа Technical Specification Group.

Расширенные возможности

Генерация кода C/C++
Генерация кода C и C++ с помощью MATLAB® Coder™.

Введенный в R2021a