поэтапный. TwoRayChannel

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

Описание

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

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

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

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

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

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

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

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

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

Примечание

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

Конструкция

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

s2Ray = phased.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 (Pa). Значение по умолчанию этого свойства соответствует одной стандартной атмосфере.

Пример: 101.0e3

Зависимости

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

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

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

Пример: 7.4

Зависимости

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

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

Жидкая водная плотность вуали или облаков, заданных как неотрицательный скаляр с действительным знаком. Модули находятся в g/m3. Типичные значения для жидкой водной плотности 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® Function Block в Simulink® с сигналами переменного размера, необходимо установить параметр MaximumNumInputSamples на '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 импульсный train волны. Установите 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')

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

Поместите источник и получатель на расстоянии приблизительно в 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');
delay = rng/c*fs
delay = 1×2

   33.1926   33.8563

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

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

channel = phased.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')

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

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

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

Примите, что ширина импульса 10μs и уровень выборки составляет 10 МГц. Пропускная способность импульса составляет 1 МГц. Примите 50%-й рабочий цикл, в котором ширина импульса является половиной импульсного интервала повторения. Создайте 2D импульсный train волны. Примите несущую частоту 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 = phased.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')

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')

Больше о

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

Ссылки

[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.

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

Введенный в R2015b

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