comm.RicianChannel

Пропустите входной сигнал через многолучевой канал Райса с замираниями

Описание

The comm.RicianChannel Система object™ фильтрует входной сигнал через многолучевой канал Райса с замираниями. Для получения дополнительной информации о замираниях при обработке модели см. «Методология симуляции многолучевых каналов с замираниями».

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

  1. Создайте comm.RicianChannel Объекту и установите его свойства.

  2. Вызывайте объект с аргументами, как будто это функция.

Дополнительные сведения о работе системных объектов см. в разделе «Что такое системные объекты?».

Создание

Описание

ricianlchan = comm.RicianChannel создает частотно-избирательный или частотно-плоский многолучевой канал Райса с замираниями Системного объекта. Этот объект фильтрует действительный или комплексный входной сигнал через многолучевой канал, чтобы получить сигнал с нарушением канала.

пример

ricianlchan = comm.RicianChannel(Name,Value) устанавливает свойства с помощью одного или нескольких аргументов пары "имя-значение". Заключайте каждое имя свойства в кавычки. Для примера, comm.RicisChannel ('SampleRate',2) устанавливает скорость выборки входного сигнала равную 2.

Свойства

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

Если не указано иное, свойства являются нетронутыми, что означает, что вы не можете изменить их значения после вызова объекта. Объекты блокируются, когда вы вызываете их, и release функция разблокирует их.

Если свойство настраивается, можно изменить его значение в любой момент.

Для получения дополнительной информации об изменении значений свойств смотрите Разработку системы в MATLAB Использование Системных объектов.

Скорость выборки входного сигнала в Гц, задается как положительная скалярная величина.

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

Дискретная задержка пути в секундах, заданная как скаляр или вектор-строка.

  • Когда PathDelays является скаляром, канал плоский по частоте.

  • Когда PathDelays является вектором, канал является частотно-избирательным.

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

Среднее усиление дискретных путей в децибелах, заданное как скаляр или вектор-строка. AveragePathGains должен быть того же размера, что и PathDelays свойство.

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

Нормализуйте среднее усиление пути до 0 дБ, заданное как логическое 1 (true) или 0 (false).

  • Когда NormalizePathGains является trueпроцессы затухания нормированы так, что общая степень усилений пути, усредненная с течением времени, составляет 0 дБ.

  • Когда NormalizePathGains является falseобщая степень усилений пути не нормирована.

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

Райс K -фактор, заданный как положительный скаляр или вектор-строка неотрицательных значений. Вектор должен быть такой же длины, как и PathDelays значение свойства.

  • Когда KFactor является скаляром, первый дискретный путь является процессом Райса с замираниями с Райсом K -фактором KFactor. Любые оставшиеся дискретные пути являются независимыми процессами Релеевского замирания.

  • Когда KFactor является вектором-строкой, дискретным путем, соответствующим положительному элементу KFactor вектор является процессом Райса с замираниями с Ricis K -factor, заданным этим элементом. Дискретный путь, соответствующий любым нулевым элементам KFactor вектор являются релеевскими замираниями. По крайней мере, одно значение элемента должно быть ненулевым.

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

Допплеровский сдвиг компонентов линии видимости многолучевого канала Райса с замираниями, заданный как скаляр или вектор-строка. Модули указаны в герцах. The DirectPathDopplerShift свойство должно быть того же размера, что и KFactor свойство.

  • Когда DirectPathDopplerShift является скаляром, значение представляет доплеровский сдвиг компонента линии видимости первого дискретного пути. Этот путь показывает процесс Райса с замираниями.

  • Когда DirectPathDopplerShift является вектором-строкой, дискретным путем, соответствующим положительному элементу KFactor вектор является процессом Райса с замираниями. Соответствующий элемент DirectPathDopplerShift задает доплеровский сдвиг компонента Doppler линии видимости этого дискретного пути.

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

Начальная фаза компонентов линии визирования многолучевого канала Райса с замираниями, заданная как скаляр или вектор-строка. Модули указаны в радианах. The DirectPathInitialPhase свойство должно быть того же размера, что и KFactor свойство.

  • Когда DirectPathInitialPhase является скаляром, значение представляет начальную фазу компонента линии видимости первого дискретного пути. Этот путь показывает процесс Райса с замираниями.

  • Когда DirectPathInitialPhase является вектором-строкой, дискретным путем, соответствующим положительному элементу KFactor вектор является процессом Райса с замираниями. Соответствующий элемент DirectPathInitialPhase задает начальную фазу компонента линии видимости этого дискретного пути.

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

Максимальный доплеровский сдвиг для всех путей канала, заданный как неотрицательный скаляр. Модули указаны в герцах.

Максимальный предел доплеровского сдвига применяется к каждому канальному пути. Когда вы устанавливаете это свойство на 0канал остается статическим для всего входа. Вы можете использовать reset функция объекта для генерации новой реализации канала. The MaximumDopplerShift значение свойства должно быть меньше SampleRate/ 10/ f c для каждого пути. f c представляет частотный коэффициент среза пути. Для большинства типов доплеровского спектра значение f c равно 1. Для Гауссова и би-Гауссова типов Допплеровского спектра f c зависит от полей структуры Допплеровского спектра. Для получения дополнительной информации о том, как f c определено, см. Раздел «Частотный коэффициент отсечения».

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

Форма допплеровского спектра для всех путей, заданная как структура допплеровского спектра или массив 1- N P-клеток структур допплеровского спектра. Эти структуры Допплеровского спектра должны быть выходами формы, возвращенной из doppler функция. N P - количество дискретных путей с задержкой, то есть длина PathDelays свойство.

  • Когда DopplerSpectrum определяется одной структурой Доплеровского спектра, все пути имеют одинаковый заданный Доплеровский спектр.

  • Когда DopplerSpectrum определяется массив ячеек структур Доплеровского спектра, каждый путь имеет Доплеровский спектр, заданный соответствующей структурой в массив ячеек.

Опции для типа спектра заданы specType вход doppler функция. Если вы задаете FadingTechnique свойство к 'Sum of sinusoids', вы должны задать DopplerSpectrum на doppler('Jakes').

Зависимости

Чтобы включить это свойство, установите MaximumDopplerShift свойство к положительному значению. The MaximumDopplerShift свойство определяет максимальное значение доплеровского сдвига, разрешенное при определении доплеровского спектра.

Типы данных: struct | cell

Метод затухания модели канала, заданный как 'Filtered Gaussian noise' или 'Sum of sinusoids'.

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

Количество синусоидов, используемых для моделирования процесса затухания, заданное как положительное целое число.

Зависимости

Чтобы включить это свойство, установите FadingTechnique свойство к 'Sum of sinusoids'.

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

Источник для управления временем запуска процесса затухания, заданный как 'Property' или 'Input port'.

  • Когда InitialTimeSource установлено в 'Property', используйте InitialTime свойство, чтобы задать начальное смещение времени.

  • Когда InitialTimeSource установлено в 'Input port', задайте время начала процесса затухания при помощи itime вход в системный объект. Входное значение может изменяться при последовательных вызовах системного объекта.

Зависимости

Это свойство применяется, когда FadingTechnique свойство к 'Sum of sinusoids'.

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

Начальное смещение времени, в секундах, для модели с замираниями, заданное как неотрицательный скаляр. InitialTime должно быть больше, чем время окончания последней системы координат. InitialTime округлено до ближайшего положения выборки, когда оно не кратно 1/ SampleRate.

Зависимости

Чтобы включить это свойство, установите FadingTechnique свойство к 'Sum of sinusoids' и InitialTimeSource свойство к 'Property'.

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

Источник потока случайных чисел, заданный как 'Global stream' или 'mt19937ar with seed'.

  • 'Global stream' - Текущий глобальный поток случайных чисел используется для нормально распределенной генерации случайных чисел. В этом случае, reset объект сбрасывает только фильтры канала.

  • 'mt19937ar with seed' - Алгоритм mt19937ar используется для нормально распределенной генерации случайных чисел. В этом случае, reset объект сбрасывает фильтры канала и повторно инициализирует поток случайных чисел к значению Seed свойство.

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

Начальное начальное число алгоритма генератора случайных чисел mt19937ar, заданное как неотрицательное целое число. Когда reset вызывается функция объекта, поток случайных чисел mt19937ar повторно инициализируется в Seedзначение свойства.

Зависимости

Это свойство применяется, когда вы устанавливаете RandomStream свойство к 'mt19937ar with seed'.

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

Опция вывода коэффициентов усиления пути, заданная как 0 (false) или 1 (true). Установите это свойство на 1 (true) для вывода коэффициентов усиления пути канала базового процесса затухания.

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

Визуализация канала, заданная как 'Off', 'Impulse response', 'Frequency response', 'Impulse and frequency responses', или 'Doppler spectrum'. Для получения дополнительной информации см. раздел «Визуализация канала».

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

Процент выборок, заданный как '25%', '10%', '50%', или '100%'. Отображение меньшего количества выборок улучшает (уменьшает) частоту обновления дисплея за счет уменьшения визуализированной точности.

Зависимости

Чтобы включить это свойство, установите Visualization свойство к 'Impulse response', 'Frequency response', или 'Impulse and frequency responses'.

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

Путь для доплеровского отображения, заданный как положительное целое число. Используйте это свойство для выбора дискретного пути, используемого при построении графика Допплеровского спектра. Заданный путь должен быть элементом {1, 2,..., N P}. В этом наборе N P является количеством дискретных путей с задержкой, то есть длиной PathDelays значение свойства.

Зависимости

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

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

Использование

Описание

y = rayleighchan(x) фильтрует входной сигнал x через многолучевой канал Райса с замираниями и возвращает выходной сигнал в y.

[y,pathgains] = rayleighchan(x) возвращает коэффициент усиления канального пути базового многолучевого процесса Райса с замираниями в pathgains. Чтобы включить этот синтаксис, установите PathGainsOutputPort значение свойства установлено в 1 (true).

___ = rayleighchan(x,itime) передает данные через многолучевой канал Райса с замираниями, начиная с начального времени, заданного как itime. Чтобы включить этот синтаксис, установите FadingTechnique свойство к 'Sum of sinusoids' и InitialTimeSource свойство к 'Input port'.

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

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

Входной сигнал, заданный как N вектор S-на-1, где N S - количество выборок.

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

Начальное время в секундах, заданное как неотрицательный скаляр. The itime вход должен быть больше, чем время окончания последней системы координат. Когда itime не является кратным 1/ SampleRate, он округлен до ближайшего положения образца.

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

Выходные аргументы

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

Выходной сигнал, возвращенный как N вектор S-на-1 комплексных значений с той же точностью данных, что и входной сигнал x. N S - количество выборок.

Коэффициент усиления пути, возвращенный как N S-by- N P-массив. N S - количество выборок. N P - количество дискретных путей с задержкой, то есть длина PathDelays значение свойства. pathgains содержит комплексные числа с той же точностью, что и входной сигнал x.

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

Чтобы использовать функцию объекта, задайте системный объект в качестве первого входного параметра. Например, чтобы освободить системные ресурсы системного объекта с именем obj, используйте следующий синтаксис:

release(obj)

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

infoХарактеристическая информация о затухающем объекте канала
stepЗапуск алгоритма системного объекта
releaseОтпустите ресурсы и допустите изменения в значениях свойств системного объекта и входных характеристиках
resetСброс внутренних состояний Системного объекта

Примеры

свернуть все

Этот пример показывает, как создать один и тот же многолучевой отклик канала Райса с замираниями с помощью двух различных методов для генерации случайных чисел. Многолучевая система object™ канала Райса с замираниями включает в себя два способа генерации случайных чисел. Можно использовать текущий глобальный поток или алгоритм mt19937ar с заданным seed. При взаимодействии с глобальным потоком системный объект может получить те же выходы от двух методов.

Создайте Системный объект модулятора PSK, чтобы модулировать случайным образом сгенерированные данные.

pskModulator = comm.PSKModulator;
channelInput = pskModulator(randi([0 pskModulator.ModulationOrder-1],1024,1));

Создайте многолучевой системный объект канала Райса с замираниями, задав метод генерации случайных чисел как алгоритм my19937ar и начальное число случайных чисел как 73.

ricianchan = comm.RicianChannel(...
    'SampleRate',1e6,...
    'PathDelays',[0.0 0.5 1.2]*1e-6,...
    'AveragePathGains',[0.1 0.5 0.2],...
    'KFactor',2.8,...
    'DirectPathDopplerShift',5.0,...
    'DirectPathInitialPhase',0.5,...
    'MaximumDopplerShift',50,...
    'DopplerSpectrum',doppler('Bell', 8),...
    'RandomStream','mt19937ar with seed', ...
    'Seed',73, ...
    'PathGainsOutputPort',true);

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

[RicianChanOut1, RicianPathGains1] = ricianchan(channelInput);

Установите Системный объект, чтобы использовать глобальный поток для генерации случайных чисел.

release(ricianchan);
ricianchan.RandomStream = 'Global stream';

Установите глобальный поток таким же seed, которое было задано при создании многолучевого канала Райса с Системным объектом.

rng(73)

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

[RicianChanOut2,RicianPathGains2] = ricianchan(channelInput);

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

isequal(RicianChanOut1,RicianChanOut2)
ans = logical
   1

isequal(RicianPathGains1,RicianPathGains2)
ans = logical
   1

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

Установите частоту дискретизации 3,84 МГц. Задайте задержки и усиления пути при помощи строения ITU пешеходного B-канала. Установите коэффициент Райса К равным 10, и максимальный доплеровский сдвиг равный 50 Гц.

fs = 3.84e6; % Hz
pathDelays = [0 200 800 1200 2300 3700]*1e-9; % sec
avgPathGains = [0 -0.9 -4.9 -8 -7.8 -23.9]; % dB
fD = 50; % Hz

Создайте многолучевой системный объект канала Райса с замираниями путем использования ранее определенных свойств и визуализации графиков импульсной характеристики и частотной характеристики.

ricianChan = comm.RicianChannel('SampleRate',fs, ...
    'PathDelays',pathDelays, ...
    'AveragePathGains',avgPathGains, ...
    'KFactor',10, ...
    'MaximumDopplerShift',fD, ...
    'Visualization','Impulse and frequency responses');

Сгенерируйте случайные двоичные данные и передайте их через многолучевой канал Райса с замираниями. График импульсной характеристики позволяет вам идентифицировать отдельные пути и соответствующие им коэффициенты фильтра. График частотной характеристики показывает частотно-избирательный характер пешеходного B-канала ITU.

x = randi([0 1],1000,1);
y = ricianChan(x);

Figure Frequency Response contains an axes and other objects of type uiflowcontainer, uimenu, uitoolbar. The axes contains 2 objects of type text, line. This object represents Channel 1.

Figure Impulse Response contains an axes and other objects of type uiflowcontainer, uimenu, uitoolbar. The axes contains 3 objects of type stem, text. These objects represent Path Gain, Channel Filter Coefficient.

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

Установите свойства канала.

fs = 1000; % Sample rate (Hz)
pathDelays = [0 2.5e-3]; % Path delays (s)
pathPower = [0 -6]; % Path power (dB)
fD = 5; % Maximum Doppler shift (Hz)
ns = 1000; % Number of samples
nsdel = 100; % Number of samples for delayed paths

Задайте общее время симуляции и три временных сегмента, для которых должны быть переданы данные. В этом случае канал моделируется в течение 1 с со частотой дискретизации 1000 Гц. Одна непрерывная последовательность данных с 1000 дискретизацией передается во время 0. Три пакета данных со 100 отсчетами передаются в моменты времени 0,1 с, 0,5 с и 0,8 с, соответственно.

to0 = 0.0;
to1 = 0.1;
to2 = 0.5;
to3 = 0.8;
t0 = (to0:ns-1)/fs;      % Transmission 0
t1 = to1+(0:nsdel-1)/fs; % Transmission 1
t2 = to2+(0:nsdel-1)/fs; % Transmission 2
t3 = to3+(0:nsdel-1)/fs; % Transmission 3

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

d0 = randi([0 1],ns,1);
d1 = randi([0 1],nsdel,1);
d2 = randi([0 1],nsdel,1);
d3 = randi([0 1],nsdel,1);

Создайте плоский по частоте многолучевой канал Райса с замираниями Системного объекта, задавая метод суммирования синусоидов с замираниями. Чтобы результаты могли быть повторены, задайте начальное значение. Используйте InitialTime по умолчанию настройка свойства таким образом, чтобы канал с замираниями моделировался с момента 0. Включите выход коэффициента усиления пути.

ricianchan1 = comm.RicianChannel('SampleRate',fs, ...
    'MaximumDopplerShift',5, ...
    'RandomStream','mt19937ar with seed', ...
    'Seed',17, ...
    'FadingTechnique','Sum of sinusoids', ...
    'PathGainsOutputPort',true);

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

ricianchan2 = clone(ricianchan1);
ricianchan2.InitialTimeSource = 'Input port';

Передайте случайные двоичные данные через первый многолучевой канал Райса с замираниями Системного объекта, ricianchan1. Данные передаются за все 1000 временных выборок. В данном примере требуется только комплексное усиление пути.

[~,pg0] = ricianchan1(d0);

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

[~,pg1] = ricianchan2(d1,to1);
[~,pg2] = ricianchan2(d2,to2);
[~,pg3] = ricianchan2(d3,to3);

Сравните количество выборок, обработанных двумя каналами с помощью info функция объекта. The ricianchan1 объект обработал 1000 выборки, в то время как ricianhan2 объект обработал только 300 выборки.

G = info(ricianchan1);
H = info(ricianchan2);
[G.NumSamplesProcessed H.NumSamplesProcessed]
ans = 1×2

        1000         300

Преобразуйте коэффициент усиления пути в децибелы.

pathGain0 = 20*log10(abs(pg0));
pathGain1 = 20*log10(abs(pg1));
pathGain2 = 20*log10(abs(pg2));
pathGain3 = 20*log10(abs(pg3));

Постройте график коэффициентов усиления пути для непрерывных и прерывистых случаев. Усиления для трех сегментов совпадают с усилением для непрерывного случая. Выравнивание двух подсвечивает, что метод суммирования синусоидов подходит для симуляции пакетированных данных, поскольку характеристики канала поддерживаются, даже когда данные не передаются.

plot(t0,pathGain0,'r--')
hold on
plot(t1,pathGain1,'b')
plot(t2,pathGain2,'b')
plot(t3,pathGain3,'b')
grid
xlabel('Time (sec)')
ylabel('Path Gain (dB)')
legend('Continuous','Discontinuous','location','nw')
title('Continuous and Discontinuous Transmission Path Gains')

Figure contains an axes. The axes with title Continuous and Discontinuous Transmission Path Gains contains 4 objects of type line. These objects represent Continuous, Discontinuous.

Пример показывает, как использовать ChannelFilterCoefficients свойство, возвращенное info функция объекта comm.RicianChannel Системный объект для воспроизведения многолучевого выхода канала Райса с замираниями.

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

ricianchan = comm.RicianChannel('SampleRate',1000,'PathDelays',[0 1e-3], ...
    'AveragePathGains',[0 -2],'PathGainsOutputPort',true)
ricianchan = 
  comm.RicianChannel with properties:

                SampleRate: 1000
                PathDelays: [0 1.0000e-03]
          AveragePathGains: [0 -2]
        NormalizePathGains: true
                   KFactor: 3
    DirectPathDopplerShift: 0
    DirectPathInitialPhase: 0
       MaximumDopplerShift: 1.0000e-03
           DopplerSpectrum: [1x1 struct]

  Show all properties

data = randi([0 1],600,1);

Передайте данные через канал. Назначьте ChannelFilterCoefficients значение свойства переменной coeff.

[chanout1,pg] = ricianchan(data);
chaninfo = info(ricianchan)
chaninfo = struct with fields:
           ChannelFilterDelay: 0
    ChannelFilterCoefficients: [2x2 double]
          NumSamplesProcessed: 600

coeff = chaninfo.ChannelFilterCoefficients;

Вычислите дробный задержанный входной сигнал в местах задержки пути, сохраненных в coeff.

Np = length(ricianchan.PathDelays);
fracdelaydata = zeros(size(data,1),Np);
for ii = 1:Np
    fracdelaydata(:,ii) = filter(coeff(ii,:),1,data);
end

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

chanout2 = sum(pg .* fracdelaydata,2);

Сравните вывод многолучевого канала Райса с выходным Системным объектом, воспроизведенным с помощью коэффициентов усиления пути и ChannelFilterCoefficients свойство многолучевого канала Райса с замираниями Системного объекта.

isequal(chanout1,chanout2)
ans = logical
   1

Вычислите и постройте график эмпирического и теоретического CDF для канала Райса с одним путем.

Инициализируйте параметры и создайте Системный объект для канала Райса.

Ns = 1.92e6;
Rs = 1.92e6;
dopplerShift = 2000;
KFactor = -3;                  % dB
KFactorLin = 10.^(KFactor/10); % linear

chan = comm.RicianChannel( ...
    "SampleRate",Rs, ...
    "PathDelays",0, ...
    "KFactor",KFactorLin, ...
    "AveragePathGains",0, ...
    "MaximumDopplerShift",dopplerShift, ...
    "FadingTechnique","Sum of sinusoids", ...
    "PathGainsOutputPort",true);

Вычислите и постройте график эмпирического и теоретического CDF для канала Райса. Вычислите эмпирический CDF при помощи коэффициентов усиления пути.

% Empirical CDF plot
[~, g] = chan(ones(Ns,1));
ecdf(abs(g));
hold on;
% Theoretical CDF plot
r = 0:.1:3;
s = sqrt(KFactorLin)/sqrt(KFactorLin+1);
sigma = sqrt(1/2)/sqrt(KFactorLin+1);
exp_cdf_amplitude = cdf('Rician',r,s,sigma);
plot(r,exp_cdf_amplitude')   
legend('Emp','Theor')

Figure contains an axes. The axes contains 2 objects of type stair, line. These objects represent Emp, Theor.

Вычислите и постройте график эмпирического и теоретического PDF для канала Райса с одним путем.

Инициализируйте параметры и создайте Системный объект для канала Райса.

Ns = 1.92e6;
Rs = 1.92e6;
dopplerShift = 2000;
KFactor = -3;                  % dB
KFactorLin = 10.^(KFactor/10); % linear
sig = complex(randn(Ns,1),randn(Ns,1));

chan = comm.RicianChannel( ...
    "SampleRate",Rs, ...
    "PathDelays",0, ...
    "KFactor",KFactorLin, ...
    "AveragePathGains",0, ...
    "MaximumDopplerShift",dopplerShift, ...
    "FadingTechnique",'Sum of sinusoids', ...
    "PathGainsOutputPort",true);

Вычислите и постройте график эмпирического и теоретического PDF для канала Райса.

figure;
hold on;
% Empirical PDF plot
[~, gain] = chan(sig);
pd = fitdist(abs(gain),'Kernel','BandWidth',.01);
r = 0:.1:3;
y = pdf(pd,r);
plot(r,y)
% Theoretical PDF plot
s = sqrt(KFactorLin)/sqrt(KFactorLin+1);
sigma = sqrt(1/2)/sqrt(KFactorLin+1);
exp_pdf_amplitude = pdf('Rician',r,s,sigma);
plot(r,exp_pdf_amplitude')
legend('Empirical','Theoretical')

Figure contains an axes. The axes contains 2 objects of type line. These objects represent Empirical, Theoretical.

Подробнее о

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

Ссылки

[1] Oestges, Claude, and Bruno Clerckx. MIMO Wireless Communications: от распространения в реальном мире до проекта кода пространства-времени. 1st ed. Boston, MA: Elsevier, 2007.

[2] Коррея, Луис М., и Европейское сотрудничество в области научно-технических исследований (Организация), эд. Мобильные широкополосные мультимедийные сети: Методы, модели и инструменты для 4G. 1-й эд. Амстердам; Бостон: Elsevier/Академическая пресса, 2006.

[3] Кермоал, Дж. П., Л. Шумахер, К. И. Педерсен, П. Е. Могенсен, и Ф. Фредериксен. Stochastic MIMO Radio Channel Model with Experimental Validation (неопр.) (недоступная модель). IEEE Journal on Selected Areas in Communications 20, no. 6 (август 2002): 1211-26. https://doi.org/10.1109/JSAC.2002.801223.

[4] Jeruchim, Michel C., Philip Balaban, and K. Sam Shanmugan. Симуляция систем связи. Второе издание. Бостон, Массачусетс: Спрингер, США, 2000.

[5] Patzold, M., Cheng-Xiang Wang, and B. Hogstad. «Два новых метода на основе суммы синусоидов для эффективной генерации нескольких некоррелированных Релеевских замираний волн». Транзакции IEEE по беспроводной связи 8, № 6 (июнь 2009 г.): 3122-31. https://doi.org/10.1109/TWC.2009.080769.

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

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