wlanHETBConfig

Сконфигурируйте передачу HE TB

Описание

The wlanHETBConfig объект является объектом строения для формата пакета на основе триггеров (HE TB) WLAN HE.

Создание

Описание

пример

cfgHETB = wlanHETBConfig создает объект строения, который инициализирует параметры для IEEE® 802.11™ HE TB uplink PPDU или HE TB feedback null данных packet (NDP). Подробное описание форматов HE WLAN смотрите в [2].

пример

cfgHETB = wlanHETBConfig(Name,Value) устанавливает свойства с помощью одной или нескольких пар "имя-значение". Заключайте каждое имя свойства в одинарные кавычки. Для примера, wlanHETBConfig('ChannelBandwidth','CBW80') задает пропускную способность канала 80 МГц.

Во время выполнения вызывающая функция проверяет настройки объекта на свойства, относящиеся к операции функции.

Свойства

расширить все

HE TB PPDU и HE TB Обратная связь Свойства NDP

Свойства в этом разделе применяются ко всем строениям передачи HE TB.

Сгенерируйте NDP обратной связи HE TB, заданный в качестве одного из следующих значений.

  • 0 (false) - Сгенерируйте HE TB PPDU.

  • 1 (true) - Сгенерируйте NDP обратной связи HE TB.

NDP обратной связи HE TB содержит информацию отчета обратной связи NDP, описанную в процедуре отчета обратной связи NDP.

Для получения дополнительной информации о NDP обратной связи HE TB, смотрите раздел 27.3.17 [2].

Примечание

Чтобы сгенерировать допустимое wlanHETBConfig объект для NDP обратной связи HE TB, используйте getNDPFeedbackConfiguration функция объекта.

Типы данных: logical

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

  • 'CBW20' - Пропускная способность канала 20 МГц

  • 'CBW40' - Пропускная способность канала 40 МГц

  • 'CBW80' - Пропускная способность канала 80 МГц

  • 'CBW160' - Пропускная способность канала 160 МГц

Типы данных: char | string

Коэффициент масштабирования степени полей pree-HE PPDU, заданный в виде скаляра в интервале [1/√2, 1].

Типы данных: double

Количество передающих антенн, заданное как положительное целое число.

Типы данных: double

Значения циклического сдвига, в наносекундах, дополнительных передающих антенн для полей pre-HE формы волны. Первые восемь антенн используют значения циклического сдвига, указанные в таблице 21-10 [1]. Остальные L антенны используют значения, которые вы задаете в этом свойстве, где L = NumTransmitAntennas – 8. Задайте это свойство как одно из следующих значений:

  • Целое число в интервале [-200, 0] - wlanHETBConfig объект использует это значение циклического сдвига для каждой из L дополнительных антенн.

  • A вектора-строки длины L - wlanHETBConfig объект использует k-ю запись в качестве значения циклического сдвига для (k + 8) -й передающей антенны.

    Примечание

    Если вы задаете это свойство как вектор-строка длины N > L, wlanHETBConfig объект использует только первые записи L. Для примера, если вы задаете NumTransmitAntennas свойство к 16, а wlanHETBConfig объект использует только первые L = 16 - 8 = 8 записей этого свойства.

Зависимости

Чтобы включить это свойство, установите NumTransmitAntennas свойство к значению больше 8.

Типы данных: double

Количество пространственно-временных потоков в передаче, заданное в виде целого числа в интервале [1, 8].

Типы данных: double

Запуск индекса потока пространства-времени, в основанной на одном виде, задается в виде целого числа в интервале [1, 8]. В многопользовательском строении multi-input multi-output (MU-MIMO) с многими пользователями на одном и том же RU каждый пользователь должен передавать по отдельному пространственно-временному потоку. В этом случае необходимо задать это свойство и NumSpaceTimeStreams свойство, чтобы гарантировать, что каждый пространственно-временной поток передает не более одного пользователя.

Типы данных: double

Длительность защитного интервала (циклического префикса) для поля данных в пакете, в микросекундах, заданная как 3.2 или 1.6.

Типы данных: double

Режим сжатия HE-LTF в HE PPDU, указанный как 4, 2, или 1. Это свойство указывает тип HE-LTF, где значение 4, 2, или 1 соответствует четырем, двум или одному кратному режиму сжатия длительности HE-LTF, соответственно. В таблице 27-1 [2] перечислены опции типа HE-LTF как:

  • 1 × HE-LTF - длительность 3,2 микросекунды при длительности защитного интервала 0,8 или 1,6 микросекунды

  • 2 × HE-LTF - длительность 6,4 микросекунд при длительности защитного интервала 0,8 или 1,6 микросекунды

  • 4 × HE-LTF - длительность 12,8 микросекунд при длительности защитного интервала 0,8 или 3,2 микросекунды

Для получения дополнительной информации о HE-LTF см. раздел 27.3.10.10 [2].

Типы данных: double

Количество символов HE-LTF в PPDU, заданное как 1, 2, 4, 6, или 8.

Зависимости

  • Если вы задаете TriggerMethod свойство к 'TRS', затем необходимо задать это свойство равным 1.

  • Если вы задаете HighDoppler свойство к 1 (true), затем необходимо задать это свойство равным 1, 2, или 4.

Типы данных: double

Идентификатор цвета основного набора услуг (BSS), заданный в виде целого числа в интервале [0, 63].

Типы данных: double

Значение Пространственного Повторного Использования 1 подполя в поле HE-SIG-A, заданное в виде целого числа в интервале [0, 15]. Для получения дополнительной информации см. таблицу 27-20 [2].

Типы данных: double

Значение Пространственного Повторного Использования 2 подполя в поле HE-SIG-A, заданное в виде целого числа в интервале [0, 15]. Для получения дополнительной информации см. таблицу 27-20 [2].

Типы данных: double

Значение Пространственного Повторного Использования 3 подполя в поле HE-SIG-A, заданное в виде целого числа в интервале [0, 15]. Для получения дополнительной информации см. таблицу 27-20 [2].

Типы данных: double

Значение Пространственного Повторного Использования 4 подполя в поле HE-SIG-A, заданное в виде целого числа в интервале [0, 15]. Для получения дополнительной информации см. таблицу 27-20 [2].

Типы данных: double

Информация о длительности для защиты возможности передачи (TXOP), заданная в виде целого числа в интервале [0, 127]. За исключением первого бита, который задает гранулярность длины TXOP, каждый бит подполя TXOP в поле HE-SIG-A равен значению этого свойства. Поэтому длительность в микросекундах должна быть преобразована в соответствии с процедурой, приведенной в таблице 27-20 [2].

Типы данных: double

Свойства HE TB PPDU

Свойства в этом разделе применяются только тогда, когда FeedbackNDP свойство 0 (false). Используйте эти свойства, чтобы сконфигурировать HE TB PPDU в ответ на триггерную систему координат или систему координат, который содержит подполе управления планирования триггерных ответов (TRS).

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

  • 'TriggerFrame' - Сгенерируйте HE TB PPDU в ответ на триггерную систему координат. Для получения дополнительной информации о системах координат смотрите раздел 9.3.1.22 от [2].

  • 'TRS' - Сгенерируйте HE TB PPDU в ответ на систему координат, который содержит подполе TRS Control. Для получения дополнительной информации см. раздел 9.2.4.6a.1 документа [2].

Примечание

Чтобы сгенерировать допустимое wlanHETBConfig объект для передачи в ответ на систему координат, содержащую подполе TRS Control, используйте getTRSConfiguration функция объекта.

Типы данных: char | string

Размер ресурсного модуля (RU), заданный как 26, 52, 106, 242, 484, 996, или 1992.

Типы данных: double

Индекс RU для распределения поднесущих, заданный в виде целого числа в интервале [1, 74]. Индекс RU определяет местоположение RU в канале. Для примера передача на 80 МГц содержит четыре 242-тональных RU (по одному на каждый подканал 20 МГц). RU номер 242-1 (размер 242, индекс 1) - самая низкая абсолютная частота в канале 80 МГц. Точно так же RU номер 242-4 является самой высокой абсолютной частотой.

Типы данных: double

Схема пространственного отображения, заданная как 'Direct', 'Hadamard', 'Fourier', или 'Custom'.

Зависимости

Значение по умолчанию, 'Direct', применяется только, когда вы устанавливаете NumTransmitAntennas и NumSpaceTimeStreams свойства на то же значение.

Типы данных: char | string

Матрица пространственного отображения, заданная как одно из следующих значений.

  • Комплексный скаляр - это значение применяется ко всем поднесущим.

  • Комплексная матрица размера N STS -by- N T - N STS является количеством пространственно-временных потоков, а N T - количеством передающих антенн. В этом случае матрица пространственного отображения применяется ко всем поднесущим.

  • Комплексный трехмерный массив размера N ST-by N STS-by N T- N ST является количеством занятых поднесущих. The ChannelBandwidth свойство определяет значение N ST. В этом случае каждая занятая поднесущая имеет свою собственную пространственную матрицу отображения.

    Эта таблица показывает значение ChannelBandwidth свойство и соответствующее значение N ST.

    Значение ChannelBandwidthЗначение N ST
    'CBW20'242
    'CBW40'484
    'CBW80'996
    'CBW160'

    1992

Используйте это свойство для поворота и масштабирования выходного вектора отображателя созвездий. Пространственная матрица отображения используется для формирования луча и смешения пространственно-временных потоков над передающими антеннами. Вызывающая функция нормализует матрицу пространственного отображения для каждой поднесущей.

Пример: [0.5 0.3; 0.4 0.4; 0.5 0.8] представляет пространственную матрицу отображения с тремя пространственно-временными потоками и двумя передающими антеннами.

Зависимости

Чтобы включить это свойство, установите SpatialMapping свойство к 'Custom'.

Типы данных: double
Поддержка комплексного числа: Да

Включите пространственно-временное блочное кодирование (STBC) поля HE-Data, заданное как 1 (true) или 0 (false). STBC передает несколько копий потока данных через назначенные антенны.

  • Когда вы устанавливаете это свойство на 0 (false), STBC не применяется к полю HE-Data. Количество пространственно-временных потоков равно количеству пространственных потоков.

  • Когда вы устанавливаете это свойство на 1 (true), STBC применяется к полю HE-Data. Количество пространственно-временных потоков вдвое превышает количество пространственных потоков.

Зависимости

Чтобы включить это свойство, установите NumSpaceTimeStreams свойство к 2 и DCM свойство к 0 (false).

Типы данных: logical

Схема модуляции и кодирования (MCS), используемая при передаче текущего пакета, заданная в виде целого числа в интервале [0, 11]. Эта таблица показывает тип модуляции и скорость кодирования для каждого действительного значения этого свойства.

Значение MCSТип модуляцииМодуляция с двумя несущимиСкорость кодирования
0Двоичная фазовая манипуляция (BPSK)

0 или 1

1/2
1Квадратурная фазовая манипуляция (QPSK)1/2
2

Не применяется

3/4
316-точечная квадратурная амплитудная модуляция (16-QAM)

0 или 1

1/2
43/4
564-QAM

Не применяется

2/3
63/4
75/6
8256-QAM3/4
95/6
101024-QAM3/4
115/6

Типы данных: double

Индикатор модуляции с двумя несущими (DCM), заданный как 1 (true) или 0 (false). Чтобы использовать DCM для поля HE-Data, установите это свойство на 1 (true). В противном случае установите это свойство на 0 (false).

Зависимости

Вы можете задать это свойство как 1 (true) только когда все эти условия удовлетворены.

  • The NumSpaceTimeStreams свойство 1 или 2.

  • The MCS свойство 0, 1, 3, или 4.

  • The STBC свойство 0 (false).

Типы данных: logical

Тип кодирования с прямой коррекцией ошибок (FEC) для поля HE-Data, заданный как 'LDPC' для кодирования или 'BCC' с низкой плотностью проверки четности (LDPC) для двоичного сверточного кодирования (BCC).

Зависимости

Вы можете задать это свойство как 'BCC' только когда все эти условия удовлетворены.

  • The RUSize свойство 26, 52, 106, или 242.

  • The NumSpaceTimeStreams свойство 1, 2, 3, или 4.

  • The MCS свойство не 10 или 11.

Если вы задаете TriggerMethod свойство к 'TRS', можно задать это свойство равным 'LDPC' только когда все эти условия удовлетворены.

Типы данных: char | string

Коэффициент заполнения предварительной коррекции ошибок (pre-FEC), заданный как 1, 2, 3, или 4.

Типы данных: double

Дополнительный индикатор сегмента символа ортогонального частотного разнесения (OFDM), заданный как 1 (true) или 0 (false). Чтобы указать наличие дополнительного сегмента символа OFDM для кодирования LDPC, установите это свойство на 1 (true). В противном случае установите это свойство на 0 (false).

Зависимости

Чтобы включить это свойство, установите ChannelCoding свойство к 'LDPC'.

Типы данных: logical

Значение подполя неоднозначности PE, заданное как 1 (true) или 0 (false). Для получения дополнительной информации см. раздел 27.3.12 документа [2].

Типы данных: logical

Длина поля L-SIG, в символах OFDM, задается в виде целого числа в интервале [1, 4093]. Длина L-SIG должна удовлетворять mod(LSIGLength,3) = 1, где mod(a,m) возвращает оставшуюся часть после деления a по m. Для получения дополнительной информации см. mod.

Зависимости

Чтобы включить это свойство, установите TriggerMethod свойство к 'TriggerFrame'.

Типы данных: double

Количество символов OFDM в поле HE-Data, заданное в виде положительного целого числа.

Зависимости

Чтобы включить это свойство, установите TriggerMethod свойство к 'TRS'.

Типы данных: double

Длительность расширения пакета, в микросекундах, задается как 0, 4, 8, 12, или 16. Для получения дополнительной информации о поле расширения пакета см. Раздел 27.3.12 от [2].

Зависимости

Чтобы включить это свойство, установите TriggerMethod свойство к 'TRS'.

Типы данных: double

Одноточный индикатор HE-LTF, указанный как 1 (true) или 0 (false). Чтобы указать, что HE-LTF использует однопоточные пилоты, установите это свойство на 1 (true). В противном случае установите это свойство на 0 (false).

Типы данных: logical

Индикатор режима High-Doppler, заданный как 1 (true) или 0 (false). Чтобы указать режим высокого Допплера в поле HE-SIG-A, установите это свойство на 1 (true). В противном случае установите это свойство на 0 (false).

Зависимости

Вы можете задать это свойство как 1 (true) только когда TriggerMethod свойство 'TriggerFrame' и NumSpaceTimeStreams свойство 1, 2, 3, или 4 для любого RU.

Типы данных: logical

Периодичность полей HE-Data в количестве символов OFDM, заданная как 10 или 20.

Зависимости

Чтобы включить это свойство, установите HighDoppler свойство к 1 (true).

Типы данных: double

Зарезервированные биты в поле HE-SIG-A, заданные как девятиэлементный двоичный вектор-столбец.

Типы данных: double

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

  • 'mt19937ar with seed' - Сгенерируйте нормально распределенные случайные биты с помощью алгоритма mt19937ar с seed, заданным в PostFECPaddingSeed свойство.

  • 'Global stream' - Сгенерируйте нормально распределенные случайные биты при помощи текущего глобального потока случайных чисел.

  • 'User-defined' - Используйте биты, указанные в PostFECPaddingBits свойство как биты заполнения после FEC.

Типы данных: char | string

Заполнение после FEC бита seed для алгоритма mt19937ar, заданное в виде неотрицательного целого числа.

Зависимости

Чтобы включить это свойство, установите PostFECPaddingSource свойство к 'mt19937ar with seed'.

Типы данных: double

Биты заполнения после FEC, заданные как бинарный скаляр или вектор-столбец.

Чтобы сгенерировать форму волны, wlanWaveformGenerator функция требует n бит, где n зависит от заданного строения. Чтобы вычислить n, используйте getNumPostFECPaddingBits функция объекта с заданным объектом строения в качестве входного параметра и задать это свойство как вектор длины n. В качестве альтернативы задайте этот вход как бинарный скаляр или вектор-столбец произвольной длины. Если длина этого свойства меньше n, генератор формы волны закольцовывает вектор, чтобы создать вектор n длины. Если длина этого свойства больше n, функция использует только первые записи n в качестве бит заполнения после FEC.

Примечание

Для генерации кода C/C + + необходимо задать тип данных этого свойства следующим int8.

Типы данных: single | double | int8

HE Свойства NDP обратной связи по туберкулезу

Свойства в этом разделе применяются только тогда, когда FeedbackNDP свойство 1 (true).

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

  • Когда ChannelBandwidth свойство 'CBW20', установите это свойство в целое число в интервале [1, 18].

  • Когда ChannelBandwidth свойство 'CBW40', установите это свойство в целое число в интервале [1, 36].

  • Когда ChannelBandwidth свойство 'CBW80', установите это свойство в целое число в интервале [1, 72].

  • Когда ChannelBandwidth свойство 'CBW160', установите это свойство в целое число в интервале [1, 144].

Это свойство определяет наборы тональных сигналов выделения поднесущих в высокоэффективном поле длинного обучения (HE-LTF), на котором STA передает NDP обратной связи HE TB.

Типы данных: double

Состояние обратной связи, заданное как 1 (true) или 0 (false). Значение этого свойства указывает значение бита, используемого для тональной модуляции в каждом наборе тональных сигналов, заданном RUToneSetIndex свойство. Состояние обратной связи и индекс набора тональных сигналов RU определяют отображение поднесущей HE-LTF в соответствии с таблицей 27-30 [2].

Типы данных: logical

Функции объекта

getNDPFeedbackConfigurationДействительная обратная связь HE TB NDP PHY строения
getNumPostFECPaddingBitsВычислите необходимое количество бит заполнения после FEC
getPSDULengthВычисление длины PSDU HE
getTRSConfigurationДействительное строение HE TB PHY в ответ на запуск системы координат, содержащего подполе TRS Control
packetFormat Возврат формата пакета WLAN
ruInfoВозвращает информацию о выделении ресурсных модулей в формате HE
showAllocationПоказать выделение ресурсных модулей (RU)

Примеры

свернуть все

Сконфигурируйте и сгенерируйте сигнал WLAN, содержащий пакет восходящего канала HE TB.

Создайте объект строения для восходящей передачи HE TB WLAN.

cfgHETB = wlanHETBConfig;

Получите длину PSDU в байтах от объекта строения с помощью getPSDULength функция объекта.

psduLength = getPSDULength(cfgHETB);

Сгенерируйте PSDU соответствующей длины.

psdu = randi([0 1],8*psduLength,1);

Сгенерируйте и постройте график формы волны.

waveform = wlanWaveformGenerator(psdu,cfgHETB);
figure;
plot(abs(waveform));
title('HE TB Waveform');
xlabel('Time (nanoseconds)');
ylabel('Amplitude');

Figure contains an axes. The axes with title HE TB Waveform contains an object of type line.

Сконфигурируйте восходящую передачу NDP с обратной связью HE TB с четырьмя станциями (STA), пропускной способностью канала 20 МГц и отношением сигнал/шум (ОСШ) 20 дБ.

numSTA = 4;
cbw = 'CBW20';
snr = 20;
cfgSTA = cell(1,numSTA);

Задайте индекс набора тональных сигналов ( RU) ресурсного модуля, стартовый поток пробел-время и состояние обратной связи для всех STA.

ruToneSetIndex = repmat([1 2],1,round(numSTA/2));
startingSTS = repmat([1 2],1,round(numSTA/2));
feedbackStatus = repmat([1 0],1,round(numSTA/2));

Создайте допустимое строение NDP обратной связи HE TB.

cfg = wlanHETBConfig;
cfg = getNDPFeedbackConfiguration(cfg);

Сконфигурируйте канал для передачи, принимая, что нет изменений между STA.

tgax = wlanTGaxChannel('ChannelBandwidth',cbw, ...
    'TransmissionDirection','Uplink', ...
    'SampleRate',wlanSampleRate(cfg));
chanInfo = info(tgax);
awgn = comm.AWGNChannel('NoiseMethod','Signal to noise ratio (SNR)', ...
    'SignalPower',1/tgax.NumReceiveAntennas);

Сконфигурируйте STA и сгенерируйте сигнал NDP обратной связи HE TB.

rx = 0;
for idx = 1:numSTA
    
    % Configure STAs
    
    cfg.RUToneSetIndex = ruToneSetIndex(idx);
    cfg.StartingSpaceTimeStream = startingSTS(idx);
    cfg.FeedbackStatus = feedbackStatus(idx);
    cfgSTA{idx} = cfg;
    
    % Generate transmit waveform
    
    waveform = wlanWaveformGenerator([],cfg);
    
    % Pass waveform through TGax channel
    
    rx = rx + tgax([waveform; zeros(15,size(waveform,2))]);
end

Передайте форму волны через канал AWGN, учитывая энергию шума в нулях, чтобы убедиться, что ОСШ задан для каждой активной и комплементарной поднесущей.

field = 'HE-LTF';
ofdmInfo = wlanHEOFDMInfo(field,cbw,cfg.GuardInterval);
awgn.SNR = snr - 10*log10(ofdmInfo.FFTLength/12);
rx = awgn(rx);

Получите индексы полей и извлеките HE-LTF.

ind = wlanFieldIndices(cfgSTA{1});
offset = chanInfo.ChannelFilterDelay;
heltf = rx(offset+(ind.HELTF(1):ind.HELTF(2)),:);

Демодулируйте HE-LTF.

rxSym = wlanHEDemodulate(heltf,field,cbw,cfg.GuardInterval,cfg.HELTFType);

Восстановите состояние обратной связи для STA.

status = zeros(1,numSTA);
for n = 1:numSTA
    status(n) = wlanHETBNDPFeedbackStatus(rxSym,cfgSTA{n});
end

Сравните состояние переданной и полученной обратной связи для STA.

disp(isequal(feedbackStatus(1:numSTA),status))
   1

Сконфигурируйте и сгенерируйте сигнал HE TB WLAN, который будет передан в ответ на систему координат, содержащий подполе TRS Control.

Создайте объект строения HE TB, задав тип триггерной системы координат.

cfgHETB = wlanHETBConfig('TriggerMethod','TRS');

Сгенерируйте допустимое строение при помощи getTRSConfiguration объект, отображающая результат.

cfgTRS = getTRSConfiguration(cfgHETB)
cfgTRS = 
  wlanHETBConfig with properties:

                FeedbackNDP: 0
              TriggerMethod: 'TRS'
           ChannelBandwidth: 'CBW20'
                     RUSize: 242
                    RUIndex: 1
    PreHEPowerScalingFactor: 1
        NumTransmitAntennas: 1
        NumSpaceTimeStreams: 1
    StartingSpaceTimeStream: 1
             SpatialMapping: 'Direct'
                       STBC: 0
                        MCS: 0
                        DCM: 0
              ChannelCoding: 'BCC'
        PreFECPaddingFactor: 4
             NumDataSymbols: 10
          DefaultPEDuration: 0
              GuardInterval: 3.2000
                  HELTFType: 4
            NumHELTFSymbols: 1
         SingleStreamPilots: 1
                   BSSColor: 0
              SpatialReuse1: 15
              SpatialReuse2: 15
              SpatialReuse3: 15
              SpatialReuse4: 15
               TXOPDuration: 127
                HighDoppler: 0
         HESIGAReservedBits: [9x1 double]
       PostFECPaddingSource: 'mt19937ar with seed'
         PostFECPaddingSeed: 73

Получите длину PSDU в байтах и сгенерируйте PSDU для передачи.

psduLength = getPSDULength(cfgTRS);
psdu = randi([0 1],8*psduLength,1);

Сгенерируйте и постройте график формы волны.

waveform = wlanWaveformGenerator(psdu,cfgTRS);
figure;
plot(abs(waveform));
title('HE TB Waveform');
xlabel('Time (nanoseconds)');
ylabel('Amplitude');

Figure contains an axes. The axes with title HE TB Waveform contains an object of type line.

Подробнее о

расширить все

Ссылки

[1] IEEE Std 802.11-2016 (Редакция IEEE Std 802.11-2012). «Часть 11: Спецификации управления доступом к среде беспроводной локальной сети (MAC) и физического слоя (PHY)». Стандарт IEEE на информационные технологии - телекоммуникации и обмен информацией между системами. Локальные и столичные сети - Особые требования.

[2] P802.11ax/D4.1 IEEE. "Часть 11: Спецификации управления доступом к среде беспроводной локальной сети (MAC) и физического слоя (PHY). Поправка 1: Улучшения для высокоэффективной WLAN ". Проект стандарта на информационные технологии - телекоммуникации и обмен информацией между системами. Локальные и столичные сети - Особые требования.

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

.
Введенный в R2020a