коммуникация. RayleighChannel

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

Описание

Система RayleighChannel object™ пропускает входной сигнал через Канал с релеевским замиранием. Обработка исчезновения на ссылку на Методологию для Симуляции Многопутевых Исчезающих Каналов

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

  1. Задайте и настройте свой объект канала Рейли. Смотрите Конструкцию.

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

Примечание

При запуске в R2016b, вместо того, чтобы использовать метод step, чтобы выполнить операцию, заданную Системным объектом, можно вызвать объект с аргументами, как будто это была функция. Например, y = step(obj,x) и y = obj(x) выполняют эквивалентные операции.

Конструкция

H = comm.RayleighChannel создает выборочный частотой или плоский частотой многопутевой Системный объект Канала с релеевским замиранием, H. Этот объект пропускает действительный или комплексный входной сигнал через многопутевой канал, чтобы получить сигнал канала, которому повреждают.

H = comm.RayleighChannel(Name,Value) создает многопутевой объект Канала с релеевским замиранием, H, с заданным набором свойства Name к заданному Value. Можно задать дополнительные аргументы пары "имя-значение" в любом порядке как (Name1, Value1..., NameN, ValueN).

Свойства

SampleRate

Частота дискретизации входного сигнала (герц)

Задайте частоту дискретизации входного сигнала в герц как с двойной точностью, действительное, положительная скалярная величина. Значение по умолчанию этого свойства является Гц 1.

PathDelays

Дискретный вектор задержки пути (секунды)

Задайте задержки дискретных путей в секундах как действительный, скалярный или вектор - строка с двойной точностью. Значение по умолчанию этого свойства 0.

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

Когда вы устанавливаете PathDelays на вектор, канал является выборочной частотой.

AveragePathGains

Средний вектор усиления пути (децибелы)

Задайте средние усиления дискретных путей в децибелах как действительный, скалярный или вектор - строка с двойной точностью. Значением по умолчанию этого свойства является 0.

AveragePathGains должен иметь тот же размер как PathDelays.

NormalizePathGains

Нормируйте средние усиления пути к 0 дБ

Установите это свойство на истину нормировать процессы исчезновения, таким образом, что общая степень усилений пути, усредняемых в зависимости от времени, составляет 0 дБ. Значение по умолчанию этого свойства верно.

MaximumDopplerShift

Максимальный эффект Доплера (герц)

Задайте максимальный эффект Доплера для всех путей к каналу в герц как действительный, неотрицательный скаляр с двойной точностью. Значение по умолчанию этого свойства является Гц 0.001.

Эффект Доплера применяется ко всем путям канала. Когда вы устанавливаете MaximumDopplerShift на 0, канал остается статичным для целого входа. Можно использовать метод reset, чтобы сгенерировать новую реализацию канала.

MaximumDopplerShift должен быть меньшим, чем SampleRate/10/fc для каждого пути, где f c представляет фактор частоты среза пути. Для большинства Доплеровских типов спектра значением f c является 1. Для Гауссова и BiGaussian Доплеровские типы спектра, f c зависит от Доплеровских полей структуры спектра. Для получения дополнительной информации о том, как ФК задан, смотрите Фактор Частоты среза.

DopplerSpectrum

Доплеровский объект (объекты) спектра

Задайте Доплеровскую форму спектра для пути (путей) канала. Это свойство принимает одну Доплеровскую структуру спектра, возвращенную в функцию doppler или массив ячейки строки таких структур. Максимальное значение эффекта Доплера, необходимое, чтобы задать Доплеровский спектр/спектры, дано свойством MaximumDopplerShift. Это свойство применяется, когда значение свойства MaximumDopplerShift больше, чем 0. Значением по умолчанию этого свойства является doppler('Jakes').

Если вы присваиваете одну Доплеровскую структуру спектра DopplerSpectrum, все пути имеют заданный Доплеровский спектр того же самого. Если свойством FadingTechnique является Sum of sinusoids, DopplerSpectrum должен быть doppler('Jakes'); в противном случае выберите из следующего:

  • Доплер ('Jakes')

  • ('Плоский') Доплер

  • Доплер ('Округленный'...)

  • Доплер ('Bell'...)

  • Доплер ('Асимметричный Jakes'...)

  • Доплер ('Ограниченный Jakes'...)

  • Доплер ('Гауссов'...)

  • Доплер ('BiGaussian'...)

Если вы присваиваете массив ячейки строки различных Доплеровских структур спектра (который может быть выбран от любого из тех в предыдущем списке) к DopplerSpectrum, каждому пути задала Доплеровский спектр соответствующая структура в массиве ячеек. В этом случае длина DopplerSpectrum должна быть равна длине PathDelays.

Чтобы сгенерировать код С, задайте это свойство к одной Доплеровской структуре спектра. Значением по умолчанию этого свойства является Доплер ('Jakes').

FadingTechnique

Исчезающий метод раньше моделировал канал

Выберите между Filtered Gaussian noise и Sum of sinusoids, чтобы задать путь, которым моделируется канал. Значением по умолчанию является Filtered Gaussian noise.

NumSinusoids

Количество синусоид раньше моделировало процесс исчезновения

Свойство NumSinuoids является положительным целочисленным скаляром, который задал количество синусоид, используемых в моделировании канала, и доступен только, когда свойство FadingTechnique установлено в Sum of sinusoids. Значением по умолчанию является 48.

InitialTimeSource

Источник, чтобы управлять временем начала процесса исчезновения

Задайте начальный источник времени или как Property или как Input port. Это свойство доступно, когда свойство FadingTechnique установлено в Sum of sinusoids. Когда InitialTimeSource установлен в Input port, время начала процесса исчезновения задано с помощью входа INITIALTIME для функции step. Входное значение может измениться в последовательных вызовах функции step. Значением по умолчанию является Property.

InitialTime

Время начала процесса (процессов) исчезновения

Задайте смещение времени процесса исчезновения как действительный неотрицательный скаляр в секундах. Это свойство применяется, когда свойство FadingTechnique установлено в Sum of sinusoids, и свойство InitialTimeSource установлено в Property. Значением по умолчанию является 0.

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

RandomStream

Источник потока случайных чисел

Задайте источник потока случайных чисел как один из Global stream | mt19937ar with seed. Значением по умолчанию этого свойства является Global stream.

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

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

Seed

Начальный seed mt19937ar потока случайных чисел

Задайте начальный seed mt19937ar алгоритма генератора случайных чисел как действительный, неотрицательный целочисленный скаляр с двойной точностью. Значением по умолчанию этого свойства является 73. Это свойство применяется, когда вы устанавливаете свойство RandomStream на mt19937ar with seed. Seed повторно инициализирует mt19937ar поток случайных чисел в методе reset.

PathGainsOutputPort

Включите (логический) вывод усиления пути

Установите это свойство на true выводить усиления пути к каналу базового процесса исчезновения. Значением по умолчанию этого свойства является false.

Visualization

Включите визуализацию канала

Задайте тип визуализации канала, чтобы отобразиться как один из Off | Impulse response | Frequency response | Impulse and frequency responses | Doppler spectrum. Значением по умолчанию этого свойства является Off.

SamplesToDisplay

Задайте процент выборок, чтобы отобразиться

Можно указать, что процент выборок, чтобы отобразиться, начиная с отображения меньшего количества выборок приведет к лучшей производительности за счет более низкой точности. Задайте свойство как один из 10% | 25% | 50% | 100%. Это применяется, когда Visualization установлен в Impulse response, Frequency response или Impulse and frequency responses. Значением по умолчанию является 25%.

PathsForDopplerDisplay

Задайте путь для Доплеровского отображения

Можно задать целочисленный скаляр, который выбирает дискретный путь, используемый в построении Доплеровского графика спектра. Заданный путь должен быть элементом {1, 2..., Np}, где Np является количеством дискретных путей на ссылку, заданную в объекте. Это свойство применяется, когда Visualization установлен в Doppler spectrum. Значением по умолчанию является 1.

Методы

информацияОтобразите информацию об объекте RayleighChannel
сбросСбросьте состояния объекта RayleighChannel
шагПропустите входной сигнал через многопутевой Канал с релеевским замиранием
Характерный для всех системных объектов
release

Позвольте изменения значения свойства Системного объекта

Визуализация

 Импульсный ответ

 Частотная характеристика

 Доплер Спектрум

Примеры

развернуть все

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

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

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

Создайте Рэлеевский Системный объект канала.

rayChan = comm.RayleighChannel(...
    'SampleRate',10e3, ...
    'PathDelays',[0 1.5e-4], ...
    'AveragePathGains',[2 3], ...
    'NormalizePathGains',true, ...
    'MaximumDopplerShift',30, ...
    'DopplerSpectrum',{doppler('Gaussian',0.6),doppler('Flat')}, ...
    'RandomStream','mt19937ar with seed', ...
    'Seed',22, ...
    'PathGainsOutputPort',true);

Отфильтруйте модулируемые данные с помощью Системного объекта канала Рейли, rayChan.

[chanOut1,pathGains1] = rayChan(channelInput);

Используйте глобальный поток для генерации случайных чисел.

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

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

rng(22)

Отфильтруйте модулируемые данные с помощью rayChan во второй раз.

[chanOut2,pathGains2] = rayChan(channelInput);

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

isequal(chanOut1,chanOut2)
ans = logical
   1

isequal(pathGains1,pathGains2)
ans = logical
   1

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

Установите частоту дискретизации на 3,84 МГц и задайте задержки пути и параметры B-канала пешехода ITU использования усилений. Установите максимальный эффект Доплера на 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

Создайте Рэлеевский Системный объект канала с ранее заданными параметрами и установите свойство Visualization на Impulse and frequency responses с помощью пар "имя-значение".

rchan = comm.RayleighChannel('SampleRate',fs, ...
    'PathDelays',pathDelays, ...
    'AveragePathGains',avgPathGains, ...
    'MaximumDopplerShift',fD, ...
    'Visualization','Impulse and frequency responses');

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

x = randi([0 1],1000,1);
y = rchan(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)
numSamples = 1000;        % Number of samples

Создайте Рэлеевский объект канала использование пары "имя-значение", чтобы установить свойство FadingTechnique на Sum of sinusoids.

rchan = comm.RayleighChannel('SampleRate',fs, ...
'PathDelays',pathDelays,'AveragePathGains',pathPower, ...
'MaximumDopplerShift',fD,'FadingTechnique','Sum of sinusoids')
rchan = 
  comm.RayleighChannel with properties:

             SampleRate: 1000
             PathDelays: [0 0.0025]
       AveragePathGains: [0 -6]
     NormalizePathGains: true
    MaximumDopplerShift: 5
        DopplerSpectrum: [1x1 struct]

  Show all properties

Передайте вектор все-единиц через канал Рейли.

y = rchan(ones(numSamples,1));

Постройте значение канала Рейли вывод.

t = (0:numSamples-1)'/fs;
plot(t,20*log10(abs(y)))
xlabel('Time (s)')
ylabel('Amplitude')

Выбранная библиография

[1] Oestges, C. и Б. Клерккс. Радиосвязи MIMO: от реального распространения до пространственно-временного проекта кода, Academic Press, 2007.

[2] Correira, L. M. Мобильные широкополосные мультимедийные сети: методы, модели и инструменты для 4G, Academic Press, 2006.

[3] Kermoal, J. P. Л. Шумахер, К. Ай. Педерсен, П. Э. Модженсен и Ф. Фредериксен. “Стохастическое радио MIMO образовывает канал модель с экспериментальной валидацией". Журнал IEEE на Выбранных областях Коммуникаций. Издание 20, Номер 6, 2002, стр 1211–1226.

[4] Jeruchim, M., П. Балабан и К. С. Шэнмугэн. Симуляция систем связи, Секонд-Эдайшн, Нью-Йорк, академический Kluwer / пленум, 2000.

[5] Pätzold, Мэттиас, Cheng-Сянцзян Ван и Бьорн Олав Хогштанд. “Две Новых Суммы основанных на синусоидах Методов для Эффективной Генерации Нескольких Некоррелированых Форм волны Релеевского замирания”. Транзакции IEEE на Радиосвязях. Издание 8, Номер 6, 2009, стр 3122–3131.

Алгоритмы

развернуть все

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

Введенный в R2013b