twoRayChannel

2D излучите канал распространения

Описание

twoRayChannel моделирует узкополосный канал распространения 2D луча. Канал распространения 2D луча является самым простым типом многопутевого канала. Можно использовать канал 2D луча, чтобы симулировать распространение сигналов в гомогенном, изотропном носителе с одним контуром отражения. Этот тип носителя имеет два пути к распространению: угол обзора (прямой) путь к распространению от одной точки до другого и путь к лучу, отраженный от контура. Можно использовать эту Систему object™ для ближнего радара и приложений мобильной связи, где сигналы распространяют вдоль прямых путей, и земля принята, чтобы быть плоской. Можно также использовать этот объект для приложений микрофона и гидролокатора. Для акустических приложений можно выбрать поля, которые будут не поляризованы, и настроить скорость распространения, чтобы быть скоростью звука в воздухе или воде. Можно использовать twoRayChannel к распространению модели от нескольких точек одновременно.

В то время как Системный объект работает на все частоты, модели затухания для атмосферных газов и дождя допустимы для электромагнитных сигналов в частотном диапазоне 1-1000 ГГц только. Модель затухания для вуали и облаков допустима для 10-1000 ГГц. Вне этих частотных диапазонов Системный объект использует самое близкое допустимое значение.

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

Сигналы в канале выход могут быть разделены или объединены — управляемый CombinedRaysOutput свойство. В отдельной опции оба поля прибывают к месту назначения отдельно и не объединены. Для объединенной опции два сигнала в источнике распространяют отдельно, но когерентно суммированы в месте назначения в одно количество. Эта опция удобна, когда различие между датчиком или усилениями массивов в направлениях этих двух путей не является значительным и не должно быть учтено.

В отличие от phased.FreeSpace Системный объект, twoRayChannel Системный объект не поддерживает двухстороннее распространение.

Вычислить задержку распространения заданного источника и точек приемника:

  1. Задайте и настройте свой канал 2D луча с помощью процедуры Конструкции, которая следует.

  2. Вызовите step метод, чтобы вычислить распространенный сигнал с помощью свойств twoRayChannel Системный объект.

    Поведение step характерно для каждого объекта в тулбоксе.

Примечание

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

Конструкция

s2Ray = twoRayChannel создает Системный объект канала распространения 2D луча, s2Ray.

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

Свойства

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

Скорость распространения сигнала в виде положительной скалярной величины. Модули исчисляются в метрах в секунду. Скорость распространения по умолчанию является значением, возвращенным physconst('LightSpeed'). Смотрите physconst для получения дополнительной информации.

Пример: 3e8

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

Рабочая частота в виде положительной скалярной величины. Модули находятся в Гц.

Пример: 1e9

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

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

Установка SpecifyAtmosphere к true, включает Temperature, DryAirPressure, WaterVapourDensity, LiquidWaterDensity, и RainRate свойства.

Типы данных: логический

Температура окружающей среды в виде скаляра с действительным знаком. Модули в градусах Цельсия.

Пример: 20.0

Зависимости

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

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

Атмосферное сухое давление воздуха в виде положительного скаляра с действительным знаком. Модули находятся в pascals (Па). Значение по умолчанию этого свойства соответствует одной стандартной атмосфере.

Пример: 101.0e3

Зависимости

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

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

Атмосферная плотность водяного пара в виде положительного скаляра с действительным знаком. Модули находятся в гр/м3.

Пример: 7.4

Зависимости

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

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

Жидкая водная плотность вуали или облаков в виде неотрицательного скаляра с действительным знаком. Модули находятся в гр/м3. Типичные значения для жидкой водной плотности 0.05 для средней вуали и 0.5 для густого тумана.

Пример: 0.1

Зависимости

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

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

Уровень ливня в виде неотрицательного скаляра. Модули находятся в мм/час.

Пример: 10.0

Зависимости

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

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

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

Пример: 1e6

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

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

Типы данных: логический

Оснуйте отражательный коэффициент для поля в отражательной точке в виде скаляра с комплексным знаком или 1 с комплексным знаком N вектором-строкой. Каждый коэффициент имеет абсолютное значение, меньше чем или равное одному. Количество N является количеством каналов 2D луча. Модули являются безразмерными. Используйте это свойство для неполяризованных сигналов модели. К поляризованным сигналам модели используйте GroundRelativePermittivity свойство.

Пример: -0.5

Зависимости

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

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

Относительная проницаемость земли в отражательной точке в виде положительного скаляра с действительным знаком или 1 N вектором-строкой с действительным знаком из положительных значений. Размерность N является количеством каналов 2D луча. Модули проницаемости являются безразмерными. Относительная проницаемость задана как отношение фактической наземной проницаемости к проницаемости свободного пространства. Это свойство применяется, когда вы устанавливаете EnablePolarization свойство к true. Используйте это свойство для поляризованных сигналов модели. К неполяризованным сигналам модели используйте GroundReflectionCoefficient свойство.

Пример 5

Зависимости

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

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

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

Типы данных: логический

Источник максимального одностороннего расстояния распространения в виде 'Auto' или 'Property'. Максимальное одностороннее расстояние распространения используется, чтобы выделить достаточную память для расчета задержки сигнала. Когда вы устанавливаете это свойство на 'Auto', Системный объект автоматически выделяет память. Когда вы устанавливаете это свойство на 'Property', вы задаете максимальное одностороннее расстояние распространения с помощью значения MaximumDistance свойство.

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

Максимальное одностороннее расстояние распространения в виде положительного скаляра с действительным знаком. Величины в метрах. Любой сигнал, который распространяет больше, чем максимальное одностороннее расстояние, проигнорирован. Максимальное расстояние должно быть больше или быть равно самому большому расстоянию положения-к-позиционному.

Пример: 5000

Зависимости

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

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

Источник максимального количества выборок входного сигнала в виде 'Auto' или 'Property'. Когда вы устанавливаете это свойство на 'Auto', модель распространения автоматически выделяет достаточно памяти, чтобы буферизовать входной сигнал. Когда вы устанавливаете это свойство на 'Property', вы задаете максимальное количество выборок во входном сигнале с помощью MaximumNumInputSamples свойство. Любой входной сигнал дольше, чем то значение является усеченным.

Использовать этот объект с переменным размером сигнализирует в MATLAB® Функциональный блок в Simulink®, установите MaximumNumInputSamplesSource свойство к 'Property' и установленный значение для MaximumNumInputSamples свойство.

Пример: 'Property'

Зависимости

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

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

Максимальное количество выборок входного сигнала в виде положительного целого числа. Входной сигнал является первым аргументом step метод, после самого Системного объекта. Размер входного сигнала является количеством строк во входной матрице. Любой входной сигнал дольше, чем этот номер является усеченным. К сигналам процесса полностью, гарантируйте, что это значение свойства больше любой максимальной длины входного сигнала.

Генерирующие форму волны Системные объекты определяют максимальный размер сигнала:

  • Для любой формы волны, если форма волны OutputFormat свойство установлено в 'Samples', максимальная длина сигнала является значением, заданным в NumSamples свойство.

  • Для импульсных сигналов, если OutputFormat установлен в 'Pulses', длина сигнала является продуктом наименьшей импульсной частоты повторения, количеством импульсов и частотой дискретизации.

  • Для непрерывных форм волны, если OutputFormat установлен в 'Sweeps', длина сигнала является продуктом времени развертки, количеством разверток и частотой дискретизации.

Пример: 2048

Зависимости

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

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

Методы

сбросСбросьте состояния Системного объекта
шагРаспространите сигнал от точки до точки с помощью модели канала 2D луча
Характерный для всех системных объектов
release

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

Примеры

свернуть все

Этот пример иллюстрирует распространение 2D луча сигнала, показывая, как сигналы от угла обзора и отраженного пути прибывают в приемник в разное время.

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

Создайте неполяризованное электромагнитное поле, состоящее из двух импульсов прямоугольного радиоимпульса в несущей частоте 100 МГц. Примите, что ширина импульса составляет 10 мс, и частота дискретизации составляет 1 МГц. Полоса пропускания импульса составляет 0,1 МГц. Примите 50%-й рабочий цикл в том, так, чтобы ширина импульса была половиной импульсного интервала повторения. Создайте 2D импульсную волну, обучаются. Установите GroundReflectionCoefficient к 0,9, чтобы смоделировать отражающую способность веского основания. Распространите поле со стационарного источника на стационарный приемник. Вертикальное разделение источника и приемника составляет приблизительно 10 км.

c = physconst('LightSpeed');
fs = 1e6;
pw = 10e-6;
pri = 2*pw;
PRF = 1/pri;
fc = 100e6;
lambda = c/fc;
waveform = phased.RectangularWaveform('SampleRate',fs,'PulseWidth',pw,...
    'PRF',PRF,'OutputFormat','Pulses','NumPulses',2);
wav = waveform();
n = size(wav,1);
figure;
plot((0:(n-1)),real(wav),'b.-');
xlabel('Time (samples)')
ylabel('Waveform magnitude')

Figure contains an axes object. The axes object contains an object of type line.

Задайте местоположение источника и приемника

Поместите источник и приемник на расстоянии приблизительно в 1 000 метров горизонтально и на расстоянии приблизительно в 10 км вертикально.

pos1 = [1000;0;10000];
pos2 = [0;100;100];
vel1 = [0;0;0];
vel2 = [0;0;0];

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

[rng,ang] = rangeangle(pos2,pos1,'two-ray');

Создайте систему канала 2D луча Object™

Создайте Систему канала распространения 2D луча object™ и распространите сигнал вдоль обоих угол обзора и отраженные пути к лучу.

channel = twoRayChannel('SampleRate',fs,...
    'GroundReflectionCoefficient',.9,'OperatingFrequency',fc,...
    'CombinedRaysOutput',false);
prop_signal = channel([wav,wav],pos1,pos2,vel1,vel2);

Постройте распространенные сигналы

  • Постройте сигнал, распространенный вдоль угла обзора.

  • Затем наложите график сигнала, распространенного вдоль отраженного пути.

  • Наконец, наложите график когерентной суммы двух сигналов.

n = size(prop_signal,1);
delay = 0:(n-1);
plot(delay,abs(prop_signal(:,1)),'g')
hold on
plot(delay,abs(prop_signal(:,2)),'r')
plot(delay,abs(prop_signal(:,1) + prop_signal(:,2)),'b')
hold off
legend('Line-of-sight','Reflected','Combined','Location','NorthWest')
xlabel('Delay (samples)')
ylabel('Signal Magnitude')

Figure contains an axes object. The axes object contains 3 objects of type line. These objects represent Line-of-sight, Reflected, Combined.

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

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

Установите радарные параметры формы волны

Примите, что ширина импульса 10μs и частота дискретизации составляет 10 МГц. Полоса пропускания импульса составляет 1 МГц. Примите 50%-й рабочий цикл, в котором ширина импульса является половиной импульсного интервала повторения. Создайте 2D импульсную волну, обучаются. Примите несущую частоту 100 МГц.

c = physconst('LightSpeed');
fs = 10e6;
pw = 10e-6;
pri = 2*pw;
PRF = 1/pri;
fc = 100e6;
bw = 1e6;
lambda = c/fc;

Настройте необходимые системные объекты

Используйте GroundRelativePermittivity из 10.

waveform = phased.LinearFMWaveform('SampleRate',fs,'PulseWidth',pw,...
    'PRF',PRF,'OutputFormat','Pulses','NumPulses',2,'SweepBandwidth',bw,...
    'SweepDirection','Up','Envelope','Rectangular','SweepInterval',...
    'Positive');
antenna = phased.CrossedDipoleAntennaElement(...
    'FrequencyRange',[50,200]*1e6);
radiator = phased.Radiator('Sensor',antenna,'OperatingFrequency',fc,...
    'Polarization','Combined');
channel = twoRayChannel('SampleRate',fs,...
    'OperatingFrequency',fc,'CombinedRaysOutput',false,...
    'EnablePolarization',true,'GroundRelativePermittivity',10);
collector = phased.Collector('Sensor',antenna,'OperatingFrequency',fc,...
    'Polarization','Combined');

Настройте геометрию сцены

Задайте положения передатчика и приемника, скорости и ориентации. Поместите источник и приемник на расстоянии приблизительно в 1 000 м горизонтально и на расстоянии приблизительно в 50 м вертикально.

posTx = [0;100;100];
posRx = [1000;0;150];
velTx = [0;0;0];
velRx = [0;0;0];
laxRx = rotz(180);
laxTx = rotx(1)*eye(3);

Создайте и излучите сигналы от передатчика

Вычислите углы передачи для двух лучей, перемещающихся к приемнику. Эти углы заданы относительно системы локальной координаты передатчика. phased.Radiator Система object™ использует эти углы, чтобы применить отдельные усиления антенны к двум сигналам.

[rng,angsTx] = rangeangle(posRx,posTx,laxTx,'two-ray');
wav = waveform();

Постройте переданную Форму волны

n = size(wav,1);
plot((0:(n-1))/fs*1000000,real(wav))
xlabel('Time ({\mu}sec)')
ylabel('Waveform')

Figure contains an axes object. The axes object contains an object of type line.

sig = radiator(wav,angsTx,laxTx);

Распространите сигналы к приемнику через канал 2D луча

prop_sig = channel(sig,posTx,posRx,velTx,velRx);

Получите распространенный сигнал

Вычислите углы приема для двух лучей, прибывающих в приемник. Эти углы заданы относительно системы локальной координаты приемника. phased.Collector Система object™ использует эти углы, чтобы применить отдельные усиления антенны к двум сигналам.

[~,angsRx] = rangeangle(posTx,posRx,laxRx,'two-ray');

Соберите и объедините полученные лучи.

y = collector(prop_sig,angsRx,laxRx);

Постройте принятую форму волны

plot((0:(n-1))/fs*1000000,real(y))
xlabel('Time ({\mu}sec)')
ylabel('Received Waveform')

Figure contains an axes object. The axes object contains an object of type line.

Больше о

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

Ссылки

[1] Саакян, A. Основные принципы распространения радиоволны. Норвуд, MA: дом Artech, 2011.

[2] Balanis, C. Усовершенствованный технический электромагнетизм. Нью-Йорк: Wiley & Sons, 1989.

[3] Rappaport, T. Радиосвязи: принципы и практика, 2-й Эд Нью-Йорк: Prentice Hall, 2002.

[4] Сектор радиосвязи Международного союза электросвязи. Рекомендация ITU-R P.676-10: Затухание атмосферными газами. 2013.

[5] Сектор радиосвязи Международного союза электросвязи. Рекомендация ITU-R P.840-6: Затухание из-за облаков и вуали. 2013.

[6] Сектор радиосвязи Международного союза электросвязи. Рекомендация ITU-R P.838-3: Определенная модель затухания для дождя для использования в методах предсказания. 2005.

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

Введенный в R2021a
Для просмотра документации необходимо авторизоваться на сайте