step

Системный объект: widebandTwoRayChannel

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

Синтаксис

prop_sig = step(channel,sig,origin_pos,dest_pos,origin_vel,dest_vel)

Описание

Примечание

Кроме того, вместо использования step метод для выполнения операции, заданной Системной object™, можно вызвать объект с аргументами, как если бы это была функция. Для примера, y = step(obj,x) и y = obj(x) выполнять эквивалентные операции.

prop_sig = step(channel,sig,origin_pos,dest_pos,origin_vel,dest_vel) возвращает результирующий сигнал, prop_sig, когда широкополосный сигнал, sig, распространяется через двухлучевой канал от origin_pos положение в dest_pos положение. Либо origin_pos или dest_pos аргументы могут иметь несколько точек, но вы не можете задать обе как имеющие несколько точек. Задайте скорость источника сигнала в origin_vel и скорость назначения сигнала в dest_vel. Размерности origin_vel и dest_vel должен согласиться с размерностями origin_pos и dest_pos, соответственно.

В двухлучевом окружении два сигнальных пути соединяют каждую пару источника и назначения сигнала. Для N источников сигнала (или N пунктов назначения сигнала) существует 2N путей. Сигналы для каждой пары origin-destination не должны быть идентичными. Сигналы вдоль двух путей для любой пары источник-адресат могут иметь различные амплитуды или фазы.

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

Примечание

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

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

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

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

Пример: widebandTwoRayChannel

Электромагнитные поля, распространяемые через двухлучевой канал, могут быть поляризованы или неполяризированы. Для неполяризованных полей, таких как акустическое поле, поле распространяющегося сигнала, sig, является вектором или матрицей. Когда поля поляризованы, sig - массив структур. Каждый элемент структуры содержит массив векторов электрического поля в декартовой форме.

  • Задайте широкополосные неполярные скалярные сигналы как

    • M -by N комплексно-значимую матрицу. Один и тот же сигнал распространяется как вдоль линии видимости, так и вдоль отраженного пути.

    • M -by 2N комплексно-значимую матрицу. Каждая смежная пара столбцов представляет другой канал. Внутри каждой пары первый столбец представляет сигнал, распространенный вдоль линии видимости, а второй столбец представляет сигнал, распространенный вдоль отраженного пути.

  • Задайте широкополосные поляризованные сигналы как

    • 1-by- N struct массив, содержащий комплексные поля. Каждый struct элемент содержит вектор-столбец M-на-1 компонентов электромагнитного поля (sig.X,sig.Y,sig.Z). Один и тот же сигнал распространяется как вдоль линии видимости, так и вдоль отраженного пути.

    • 1-by- 2N struct массив, содержащий комплексные поля. Каждая пара столбцов массива представляет другой канал источника-приемника. Первый столбец пары представляет сигнал вдоль линии визирования, а второй столбец представляет сигнал вдоль отраженного пути. Каждый элемент структуры содержит вектор-столбец компонентов электромагнитного поля M (sig.X,sig.Y,sig.Z).

Для неполяризованных полей M величины является количеством выборок сигнала, а N - количеством двухлучевых каналов. Каждый канал соответствует паре источник-адресат.

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

Для поляризованных полей struct элемент содержит три M -by-1 вектора-столбца с комплексным значением, sig.X, sig.Y, и sig.Z. Эти векторы представляют x, y, и z Декартовские компоненты поляризованного сигнала.

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

Пример: [1,1;j,1;0.5,0]

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

Источник сигнала или сигналов, заданное как вектор-столбец с реальным значением 3 на 1 или матрица N реальным значением 3 байта. Величина N является количеством двухлучевых каналов. Если origin_pos является вектор-столбец, принимает форму [x;y;z]. Если origin_pos является матрицей, каждый столбец задает разный источник сигнала и имеет вид [x;y;z]. Позиционные модули указаны в метрах.

Вы не можете задать оба origin_pos и dest_pos как матрицы. По крайней мере, один должен быть вектором-столбцом 3 на 1.

Пример: [1000;100;500]

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

Положение назначения сигнала или сигналов, заданное как вектор-столбец с реальным значением 3 на 1 или матрица N реальным значением 3 байта. Величина N является количеством двухлучевых каналов, распространяющихся от или до N источников сигнала. Если dest_pos является вектор-столбец 3 на 1, принимает форму [x;y;z]. Если dest_pos является матрицей, каждый столбец задает разное назначение сигнала и принимает форму [x;y;z] Позиционные модули указаны в метрах.

Вы не можете задать оба origin_pos и dest_pos как матрицы. По крайней мере, один должен быть вектором-столбцом 3 на 1.

Пример: [0;0;0]

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

Скорость источника сигнала, заданная как вектор-столбец с реальным значением 3 на 1 или матрица с реальным N 3 байта. Размерности origin_vel должен совпадать с размерностями origin_pos. Если origin_vel является вектор-столбец, принимает форму [Vx;Vy;Vz]. Если origin_vel является 3-бай- N матрицей, каждый столбец задает разную начальную скорость и имеет вид [Vx;Vy;Vz]. Модули скорости указаны в метрах в секунду.

Пример: [10;0;5]

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

Скорость назначения сигнала, заданная как вектор-столбец с реальным значением 3 на 1 или матрица N реальным значением 3 байта. Размерности dest_vel должен совпадать с размерностями dest_pos. Если dest_vel является вектор-столбец, принимает форму [Vx;Vy;Vz]. Если dest_vel является 3-бай- N матрицей, каждый столбец задает разную скорость назначения и имеет вид [Vx;Vy;Vz] Модули скорости указаны в метрах в секунду.

Пример: [0;0;0]

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

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

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

  • Широкополосный неполярный скалярный сигнал, возвращаемый как:

    • M -by N комплексно-значимую матрицу. Чтобы вернуть этот формат, установите CombinedRaysOutput свойство к true. Каждый матричный столбец содержит когерентно объединенные сигналы от линии видимости и отраженного пути.

    • M -by 2N комплексно-значимую матрицу. Чтобы вернуть этот формат, установите CombinedRaysOutput свойство к false. Альтернативные столбцы матрицы содержат сигналы от пути линии видимости и отраженного пути.

  • Широкополосный поляризованный скалярный сигнал, возвращаемый как:

    • 1-by- N struct массив, содержащий комплексные поля. Чтобы вернуть этот формат, установите CombinedRaysOutput свойство к true. Каждый столбец массива содержит когерентно объединенные сигналы от линии видимости и отраженного пути. Каждый структурный элемент содержит вектор электромагнитного поля (prop_sig.X,prop_sig.Y,prop_sig.Z).

    • 1-by- 2N struct массив, содержащий комплексные поля. Чтобы вернуть этот формат, установите CombinedRaysOutput свойство к false. Альтернативные столбцы содержат сигналы от пути линии видимости и отраженного пути. Каждый структурный элемент содержит вектор электромагнитного поля (prop_sig.X,prop_sig.Y,prop_sig.Z).

Область выхода prop_sig содержит выборки сигнала, поступающие в пункт назначения сигнала в течение текущей входной системы координат времени. Иногда это может занять больше времени, чем текущая система координат времени, чтобы сигнал распространился от источника до места назначения, выход может не содержать всех вкладов от входа текущей временной системы координат. В этом случае выход не должен содержать все вклады от входа текущей временной системы координат. Оставшиеся выходы появляются при следующем вызове step.

Примеры

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

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

Примечание: Можно заменить каждый вызов функции эквивалентным step синтаксис. Для примера замените myObject(x) с step(myObject,x).

Создайте и постройте график переданной формы волны

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

c = physconst('LightSpeed');
fs = 10e6;
pw = 20e-6;
pri = 2*pw;
PRF = 1/pri;
fc = 100e6;
lambda = c/fc;
bw = 1e6;
waveform = phased.LinearFMWaveform('SampleRate',fs,'PulseWidth',pw,...
    'PRF',PRF,'OutputFormat','Pulses','NumPulses',2,'SweepBandwidth',bw,...
    'SweepDirection','Down','Envelope','Rectangular','SweepInterval',...
    'Positive');
wav = waveform();
n = size(wav,1);
plot([0:(n-1)]/fs*1e6,real(wav),'b')
xlabel('Time (\mu s)')
ylabel('Waveform Magnitude')

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

Укажите местоположение источника и приемника

Разместите источник и приемник на расстоянии около 1 км друг от друга по горизонтали и приблизительно 5 км по вертикали.

pos1 = [0;0;100];
pos2 = [1e3;0;5.0e3];
vel1 = [0;0;0];
vel2 = [0;0;0];

Создайте широкополосный двухлучевой канал Системного объекта

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

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

[rng2,angs] = rangeangle(pos2,pos1,'two-ray');

Вычислите задержки в мкс.

tm = rng2/c*1e6;
disp(tm)
   16.6815   17.3357

Отобразите вычисленные пути распространения азимута и углов возвышения в степени.

disp(angs)
         0         0
   78.4654  -78.9063

Постройте график распространенных сигналов

  1. Постройте график действительной части сигнала, распространяемой вдоль пути видимости.

  2. Постройте график действительной части сигнала, распространенной вдоль отраженного пути.

  3. Постройте график действительной части когерентной суммы двух сигналов.

n = size(prop_signal,1);
delay = [0:(n-1)]/fs*1e6;
subplot(3,1,1)
plot(delay,real([prop_signal(:,1)]),'b')
grid
xlabel('Time (\mu sec)')
ylabel('Real Part')
title('Direct Path')

subplot(3,1,2)
plot(delay,real([prop_signal(:,2)]),'b')
grid
xlabel('Time (\mu sec)')
ylabel('Real Part')
title('Reflected Path')

subplot(3,1,3)
plot(delay,real([prop_signal(:,1) + prop_signal(:,2)]),'b')
grid
xlabel('Time (\mu sec)')
ylabel('Real Part')
title('Combined Paths')

Figure contains 3 axes. Axes 1 with title Direct Path contains an object of type line. Axes 2 with title Reflected Path contains an object of type line. Axes 3 with title Combined Paths contains an object of type line.

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

Вычислите результат распространения широкополосного сигнала LFM в двухлучевом окружении от радара на 10 метра высокого источника (0,0,10) до цели на (3000,2000,2000) метрах. Предположим, что радар и цель являются стационарными и что передающая антенна изотропна. Объедините сигнал от двух путей и сравните сигнал с сигналом, распространяющимся в свободном пространстве. Система работает на частоте 300 МГц. Установите CombinedRaysOutput свойство к true для объединения сигналов прямого пути и отраженного пути при формировании сигнала выхода.

Примечание.Этот пример выполняется только в R2016b или более поздней версии. Если вы используете более ранний релиз, замените каждый вызов функции на эквивалентный step синтаксис. Для примера замените myObject(x) с step(myObject,x).

Создайте линейную FM-форму волны.

fop = 300.0e6;
fs = 1.0e6;
waveform = phased.LinearFMWaveform();
x = waveform();

Задайте целевое положение и скорость.

posTx = [0; 0; 10];
posTgt = [3000; 2000; 2000];
velTx = [0;0;0];
velTgt = [0;0;0];

Моделируйте распространение свободного пространства.

fschannel = phased.WidebandFreeSpace('SampleRate',waveform.SampleRate);
y_fs = fschannel(x,posTx,posTgt,velTx,velTgt);

Моделируйте распространение двух лучей от положения радара до цели.

tworaychannel = widebandTwoRayChannel('SampleRate',waveform.SampleRate,...
    'CombinedRaysOutput',true);
y_tworay = tworaychannel(x,posTx,posTgt,velTx,velTgt);
plot(abs([y_tworay y_fs]))
legend('Wideband two-ray (Position 1)','Wideband free space (Position 1)',...
    'Location','best')
xlabel('Samples')
ylabel('Signal Magnitude')
hold on

Figure contains an axes. The axes contains 2 objects of type line. These objects represent Wideband two-ray (Position 1), Wideband free space (Position 1).

Переместите радар на 10 метров по горизонтали во второе положение.

posTx = posTx + [10;0;0];
y_fs = fschannel(x,posTx,posTgt,velTx,velTgt);
y_tworay = tworaychannel(x,posTx,posTgt,velTx,velTgt);
plot(abs([y_tworay y_fs]))
legend('Wideband two-ray (Position 1)','Wideband free space (Position 1)',...
    'Wideband two-ray (Position 2)','Wideband free space (Position 2)',...
    'Location','best')
hold off

Figure contains an axes. The axes contains 4 objects of type line. These objects represent Wideband two-ray (Position 1), Wideband free space (Position 1), Wideband two-ray (Position 2), Wideband free space (Position 2).

Потери распространения свободного пространства одинаковы как для первого, так и для второго положения радара. Двухлучевые потери различаются из-за интерференционного эффекта двухлучевых путей.

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

Генерация кода C/C + +
Сгенерируйте код C и C++ с помощью Coder™ MATLAB ®

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