Пропустите входной сигнал через многолучевой канал Райса с замираниями
The comm.RicianChannel Система object™ фильтрует входной сигнал через многолучевой канал Райса с замираниями. Для получения дополнительной информации о замираниях при обработке модели см. «Методология симуляции многолучевых каналов с замираниями».
Чтобы фильтровать входной сигнал с помощью многолучевого канала Райса с замираниями:
Создайте comm.RicianChannel Объекту и установите его свойства.
Вызывайте объект с аргументами, как будто это функция.
Дополнительные сведения о работе системных объектов см. в разделе «Что такое системные объекты?».
создает частотно-избирательный или частотно-плоский многолучевой канал Райса с замираниями Системного объекта. Этот объект фильтрует действительный или комплексный входной сигнал через многолучевой канал, чтобы получить сигнал с нарушением канала.ricianlchan = comm.RicianChannel
устанавливает свойства с помощью одного или нескольких аргументов пары "имя-значение". Заключайте каждое имя свойства в кавычки. Для примера, ricianlchan = comm.RicianChannel(Name,Value)comm.RicisChannel ( устанавливает скорость выборки входного сигнала равную 2.'SampleRate',2)
Если не указано иное, свойства являются нетронутыми, что означает, что вы не можете изменить их значения после вызова объекта. Объекты блокируются, когда вы вызываете их, и release функция разблокирует их.
Если свойство настраивается, можно изменить его значение в любой момент.
Для получения дополнительной информации об изменении значений свойств смотрите Разработку системы в MATLAB Использование Системных объектов.
SampleRate - Скорость выборки входного сигнала1 (по умолчанию) | положительная скалярная величинаСкорость выборки входного сигнала в Гц, задается как положительная скалярная величина.
Типы данных: double
PathDelays - Дискретная задержка пути0 (по умолчанию) | скалярный вектор | строкуДискретная задержка пути в секундах, заданная как скаляр или вектор-строка.
Когда PathDelays является скаляром, канал плоский по частоте.
Когда PathDelays является вектором, канал является частотно-избирательным.
Типы данных: double
AveragePathGains - Среднее значение дискретных путей0 (по умолчанию) | скалярный вектор | строкуСреднее усиление дискретных путей в децибелах, заданное как скаляр или вектор-строка. AveragePathGains должен быть того же размера, что и PathDelays свойство.
Типы данных: double
NormalizePathGains - Нормализуйте среднее усиление пути до 0 дБtrue или 1 (по умолчанию) | false или 0Нормализуйте среднее усиление пути до 0 дБ, заданное как логическое 1 (true) или 0 (false).
Когда NormalizePathGains является trueпроцессы затухания нормированы так, что общая степень усилений пути, усредненная с течением времени, составляет 0 дБ.
Когда NormalizePathGains является falseобщая степень усилений пути не нормирована.
Типы данных: logical
KFactor - Райс K -фактор3 (по умолчанию) | положительная скалярная величина | вектор-строка неотрицательных значенийРайс K -фактор, заданный как положительный скаляр или вектор-строка неотрицательных значений. Вектор должен быть такой же длины, как и PathDelays значение свойства.
Когда KFactor является скаляром, первый дискретный путь является процессом Райса с замираниями с Райсом K -фактором KFactor. Любые оставшиеся дискретные пути являются независимыми процессами Релеевского замирания.
Когда KFactor является вектором-строкой, дискретным путем, соответствующим положительному элементу KFactor вектор является процессом Райса с замираниями с Ricis K -factor, заданным этим элементом. Дискретный путь, соответствующий любым нулевым элементам KFactor вектор являются релеевскими замираниями. По крайней мере, одно значение элемента должно быть ненулевым.
Типы данных: double
DirectPathDopplerShift - Доплеровский сдвиг0 (по умолчанию) | скалярный вектор | строкуДопплеровский сдвиг компонентов линии видимости многолучевого канала Райса с замираниями, заданный как скаляр или вектор-строка. Модули указаны в герцах. The DirectPathDopplerShift свойство должно быть того же размера, что и KFactor свойство.
Когда DirectPathDopplerShift является скаляром, значение представляет доплеровский сдвиг компонента линии видимости первого дискретного пути. Этот путь показывает процесс Райса с замираниями.
Когда DirectPathDopplerShift является вектором-строкой, дискретным путем, соответствующим положительному элементу KFactor вектор является процессом Райса с замираниями. Соответствующий элемент DirectPathDopplerShift задает доплеровский сдвиг компонента Doppler линии видимости этого дискретного пути.
Типы данных: double
DirectPathInitialPhase - Начальная фаза0 (по умолчанию) | скалярный вектор | строкуНачальная фаза компонентов линии визирования многолучевого канала Райса с замираниями, заданная как скаляр или вектор-строка. Модули указаны в радианах. The DirectPathInitialPhase свойство должно быть того же размера, что и KFactor свойство.
Когда DirectPathInitialPhase является скаляром, значение представляет начальную фазу компонента линии видимости первого дискретного пути. Этот путь показывает процесс Райса с замираниями.
Когда DirectPathInitialPhase является вектором-строкой, дискретным путем, соответствующим положительному элементу KFactor вектор является процессом Райса с замираниями. Соответствующий элемент DirectPathInitialPhase задает начальную фазу компонента линии видимости этого дискретного пути.
Типы данных: double
MaximumDopplerShift - Максимальный доплеровский сдвиг для всех путей канала0.001 (по умолчанию) | неотрицательной скаляромМаксимальный доплеровский сдвиг для всех путей канала, заданный как неотрицательный скаляр. Модули указаны в герцах.
Максимальный предел доплеровского сдвига применяется к каждому канальному пути. Когда вы устанавливаете это свойство на 0канал остается статическим для всего входа. Вы можете использовать reset функция объекта для генерации новой реализации канала. The MaximumDopplerShift значение свойства должно быть меньше SampleRate/ 10/ f c для каждого пути. f c представляет частотный коэффициент среза пути. Для большинства типов доплеровского спектра значение f c равно 1. Для Гауссова и би-Гауссова типов Допплеровского спектра f c зависит от полей структуры Допплеровского спектра. Для получения дополнительной информации о том, как f c определено, см. Раздел «Частотный коэффициент отсечения».
Типы данных: double
DopplerSpectrum - Форма допплеровского спектра для всех путей по каналамdoppler('Jakes') (по умолчанию) | структуру Допплеровского спектра | массив 1-бай- N P-клеток структур Доплеровского спектраФорма допплеровского спектра для всех путей, заданная как структура допплеровского спектра или массив 1- N P-клеток структур допплеровского спектра. Эти структуры Допплеровского спектра должны быть выходами формы, возвращенной из doppler функция. N P - количество дискретных путей с задержкой, то есть длина PathDelays свойство.
Когда DopplerSpectrum определяется одной структурой Доплеровского спектра, все пути имеют одинаковый заданный Доплеровский спектр.
Когда DopplerSpectrum определяется массив ячеек структур Доплеровского спектра, каждый путь имеет Доплеровский спектр, заданный соответствующей структурой в массив ячеек.
Опции для типа спектра заданы specType вход doppler функция. Если вы задаете FadingTechnique свойство к 'Sum of sinusoids', вы должны задать DopplerSpectrum на doppler('Jakes').
Чтобы включить это свойство, установите MaximumDopplerShift свойство к положительному значению. The MaximumDopplerShift свойство определяет максимальное значение доплеровского сдвига, разрешенное при определении доплеровского спектра.
Типы данных: struct | cell
FadingTechnique - Метод затухания модели канала'Filtered Gaussian noise' (по умолчанию) | 'Sum of sinusoids'Метод затухания модели канала, заданный как 'Filtered Gaussian noise' или 'Sum of sinusoids'.
Типы данных: char | string
NumSinusoids - Количество используемых синусоидов48 (по умолчанию) | положительное целое числоКоличество синусоидов, используемых для моделирования процесса затухания, заданное как положительное целое число.
Чтобы включить это свойство, установите FadingTechnique свойство к 'Sum of sinusoids'.
Типы данных: double
InitialTimeSource - Источник для управления началом процесса затухания'Property' (по умолчанию) | 'Input port'Источник для управления временем запуска процесса затухания, заданный как 'Property' или 'Input port'.
Когда InitialTimeSource установлено в 'Property', используйте InitialTime свойство, чтобы задать начальное смещение времени.
Когда InitialTimeSource установлено в 'Input port', задайте время начала процесса затухания при помощи itime вход в системный объект. Входное значение может изменяться при последовательных вызовах системного объекта.
Это свойство применяется, когда FadingTechnique свойство к 'Sum of sinusoids'.
Типы данных: string | char
InitialTime - Начальное смещение времени0 (по умолчанию) | неотрицательной скаляромНачальное смещение времени, в секундах, для модели с замираниями, заданное как неотрицательный скаляр. InitialTime должно быть больше, чем время окончания последней системы координат. InitialTime округлено до ближайшего положения выборки, когда оно не кратно 1/ SampleRate.
Чтобы включить это свойство, установите FadingTechnique свойство к 'Sum of sinusoids' и InitialTimeSource свойство к 'Property'.
Типы данных: double
RandomStream - Источник потока случайных чисел'Global stream' (по умолчанию) | 'mt19937ar with seed'Источник потока случайных чисел, заданный как 'Global stream' или 'mt19937ar with seed'.
'Global stream' - Текущий глобальный поток случайных чисел используется для нормально распределенной генерации случайных чисел. В этом случае, reset объект сбрасывает только фильтры канала.
'mt19937ar with seed' - Алгоритм mt19937ar используется для нормально распределенной генерации случайных чисел. В этом случае, reset объект сбрасывает фильтры канала и повторно инициализирует поток случайных чисел к значению Seed свойство.
Типы данных: string | char
Seed - Начальное начальное число потока случайных чисел mt19937ar73 (по умолчанию) | неотрицательное целое числоНачальное начальное число алгоритма генератора случайных чисел mt19937ar, заданное как неотрицательное целое число. Когда reset вызывается функция объекта, поток случайных чисел mt19937ar повторно инициализируется в Seedзначение свойства.
Это свойство применяется, когда вы устанавливаете RandomStream свойство к 'mt19937ar with seed'.
Типы данных: double
PathGainsOutputPort - Опция для вывода коэффициентов усиления путиfalse или 0 (по умолчанию) | true или 1Опция вывода коэффициентов усиления пути, заданная как 0 (false) или 1 (true). Установите это свойство на 1 (true) для вывода коэффициентов усиления пути канала базового процесса затухания.
Типы данных: logical
Visualization - Визуализация канала'Off' (по умолчанию) | 'Impulse response' | 'Frequency response' | 'Impulse and frequency responses' | 'Doppler spectrum'Визуализация канала, заданная как 'Off', 'Impulse response', 'Frequency response', 'Impulse and frequency responses', или 'Doppler spectrum'. Для получения дополнительной информации см. раздел «Визуализация канала».
Типы данных: string | char
SamplesToDisplay - Процент выборок'25%' (по умолчанию) | '10%' | '50%' | '100%'Процент выборок, заданный как '25%', '10%', '50%', или '100%'. Отображение меньшего количества выборок улучшает (уменьшает) частоту обновления дисплея за счет уменьшения визуализированной точности.
Чтобы включить это свойство, установите Visualization свойство к 'Impulse response', 'Frequency response', или 'Impulse and frequency responses'.
Типы данных: string | char
PathsForDopplerDisplay - Путь для доплеровского отображения1 (по умолчанию) | положительное целое число Путь для доплеровского отображения, заданный как положительное целое число. Используйте это свойство для выбора дискретного пути, используемого при построении графика Допплеровского спектра. Заданный путь должен быть элементом {1, 2,..., N P}. В этом наборе N P является количеством дискретных путей с задержкой, то есть длиной PathDelays значение свойства.
Чтобы включить это свойство, установите Visualization свойство к 'Doppler spectrum'.
Типы данных: double
x - Входной сигналВходной сигнал, заданный как N вектор S-на-1, где N S - количество выборок.
Типы данных: single | double
Поддержка комплексного числа: Да
itime - Начальное время0 | неотрицательный скалярНачальное время в секундах, заданное как неотрицательный скаляр. The itime вход должен быть больше, чем время окончания последней системы координат. Когда itime не является кратным 1/ SampleRate, он округлен до ближайшего положения образца.
Типы данных: single | double
y - Выходной сигналВыходной сигнал, возвращенный как N вектор S-на-1 комплексных значений с той же точностью данных, что и входной сигнал x. N S - количество выборок.
pathgains - Коэффициент усиления путиКоэффициент усиления пути, возвращенный как N S-by- N P-массив. N S - количество выборок. N P - количество дискретных путей с задержкой, то есть длина PathDelays значение свойства. pathgains содержит комплексные числа с той же точностью, что и входной сигнал x.
Чтобы использовать функцию объекта, задайте системный объект в качестве первого входного параметра. Например, чтобы освободить системные ресурсы системного объекта с именем obj, используйте следующий синтаксис:
release(obj)
comm.RicianChannelinfo | Характеристическая информация о затухающем объекте канала |
Этот пример показывает, как создать один и тот же многолучевой отклик канала Райса с замираниями с помощью двух различных методов для генерации случайных чисел. Многолучевая система 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);


Пример показывает, как состояние канала поддерживается в случаях, когда данные прерывисто передаются. Создайте объект канала Райса и передайте данные через него с помощью метода суммы синусоидов.
Установите свойства канала.
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')

Пример показывает, как использовать 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')

Этот пример использует:
Вычислите и постройте график эмпирического и теоретического 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')

Частотный коэффициент отсечения f c определяется для различных типов допплеровского спектра.
Для любого типа допплеровского спектра, кроме Гауссова и биГауссова, f c равен 1 .
Для doppler('Gaussian') спектральный тип, f c равен NormalizedStandardDeviation.
Для doppler('BiGaussian') спектральный тип:
Если на PowerGains(1) и NormalizedCenterFrequencies(2) оба значения полей 0, затем f c равняется NormalizedStandardDeviation(1).
Если на PowerGains(2) и NormalizedCenterFrequencies(1) оба значения полей 0, затем f c равняется NormalizedStandardDeviation(2).
Если на NormalizedCenterFrequencies значение поля [0,0] и NormalizedStandardDeviation поле имеет два одинаковых элемента, тогда f c равен NormalizedStandardDeviation(1).
Во всех других случаях f c равняется 1.
The comm.RicianChannel Системный объект позволяет визуализировать импульсную характеристику канала, частотную характеристику и Допплеровский спектр.
Примечание
Отображаемые и заданные местоположения усиления пути могут отличаться на целых 5% от входа шага расчета.
Скорость отображения визуализации управляется комбинацией SamplesToDisplay свойство и Playback > Reduce Updates to Improve Performance элемент меню возможностей. Уменьшение процента выборок для отображения и включение сокращенных обновлений может ускорить визуализацию возможностей визуализации.
После закрытия возможностей визуализации вручную вызовы системного объекта выполняются с его нормальной скоростью.
Генерация кода доступна только тогда, когда Visualization для свойства задано значение 'Off'.
Импульсная характеристика
Импульсная характеристика возможностей отображает усиления пути, коэффициенты фильтра канала и интерполированные усиления пути. Усиления пути происходят в образцах времени, которые соответствуют заданному PathDelays свойство и может не совпадать с входным временем дискретизации. Коэффициенты фильтра канала используются для моделирования канала. Они интерполируются из фактических коэффициентов усиления пути и выравниваются со временем входной дискретизации. В случаях, когда усиления пути выравниваются со временем дискретизации, усиления пути перекрывают коэффициенты фильтра. Интерполяция синуса используется, чтобы соединить коэффициенты фильтра канала и показана как интерполированные усиления пути. Эти точки используются исключительно в целях отображения и не используются в последующей фильтрации канала. Для плоского замирающего канала (один путь) кривая интерполяции синуса не отображается. Для всех графиков импульсной характеристики система координат и номера выборок показаны в левом верхнем углу возможностей.
График импульсной характеристики имеет ту же панель инструментов и меню, что и dsp.ArrayPlot Системный объект.
Когда указанные усиления пути совпадают со скоростью дискретизации, усиления пути и коэффициенты фильтра канала перекрываются. На этом рисунке импульсная характеристика показывает, что усиления пути перекрывают коэффициенты фильтра.

Если указанные усиления пути не выравниваются со скоростью дискретизации, усиления пути и коэффициенты фильтра канала не перекрываются. На этом рисунке коэффициенты фильтра распределены одинаково. Усиления пути не перекрываются с коэффициентами фильтра канала, потому что усиления пути не совпадают со скоростью дискретизации.

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

Частотная характеристика
Частотная характеристика возможностей отображает многолучевой Канал с релеевским замиранием спектр путем принятия дискретного преобразования Фурье коэффициентов фильтра канала. График частотной характеристики имеет ту же панель инструментов и меню, что и dsp.SpectrumAnalyzer Системный объект.
Пределы графика по оси Y вычисляются на основе NormalizePathGains и AveragePathGains свойства comm.RicianChannel Системный объект.
В этой таблице показаны другие выбранные настройки спектра по умолчанию. Эти настройки можно изменить с их значений по умолчанию с помощью меню View > Spectrum Settings.
| Настройки спектра | Значение |
|---|---|
| Main options> Type |
|
| Main options> Window length | Длина фильтра канала |
| Main options> NFFT |
|
| Window options> Window |
|
| Trace options> Units |
|
Этот рисунок показывает график частотной характеристики для частотно-избирательного канала.

Допплеровский спектр
График Допплеровского спектра отображает теоретический Допплеровский спектр и эмпирически определенные точки данных. Теоретические данные отображаются как линия для случая нестатических каналов и как точка для статических каналов. Эмпирические данные показаны как символы *. Перед обновлением эмпирического графика внутренний буфер должен быть полностью заполнен фильтрованными Гауссовыми выборками. Эмпирический график является средним значением спектра, рассчитанным из каждого полного буфера. Для нестатических каналов количество входа образцов, необходимых перед следующим обновлением, отображается в левом верхнем углу графика. Количество необходимых выборок зависит от частоты дискретизации и максимального доплеровского сдвига. Для статических каналов текст "Reset fading channel for next update"отображается.


[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.
Указания и ограничения по применению:
Чтобы сгенерировать код С, установите DopplerSpectrum свойство одной доплеровской спектральной структуры.
Генерация кода доступна только тогда, когда Visualization свойство 'Off'.
Смотрите Системные объекты в Генерации кода MATLAB (MATLAB Coder).
comm.AWGNChannel | comm.ChannelFilter | comm.MIMOChannel | comm.RayleighChannel | comm.WINNER2ChannelУ вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.