exponenta event banner

шаг

Системный объект: широкополосный TwoRayChannel

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

Синтаксис

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 пути. Сигналы для каждой пары источник-адресат не обязательно должны быть идентичными. Сигналы по двум трактам для любой пары источник-адресат могут иметь разные амплитуды или фазы.

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

Примечание

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

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

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

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

Пример: widebandTwoRayChannel

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

  • Укажите широкополосные неполяризованные скалярные сигналы как

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

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

  • Укажите широкополосные поляризованные сигналы как

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

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

Для неполяризованных полей величина М - количество выборок сигнала, а 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 или 3-by-N матрица с действительным значением. Величина N - количество двухлучевых каналов. Если origin_pos является вектором-столбцом, он принимает вид [x;y;z]. Если origin_pos является матрицей, каждый столбец указывает различное начало сигнала и имеет вид [x;y;z]. Единицы измерения положения - в метрах.

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

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

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

Позиция назначения сигнала или сигналов, заданная как вектор столбца с действительным значением 3 на 1 или 3-by-N матрица с действительным значением. Величина 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 или 3-by-N матрица с действительным значением. Размеры origin_vel должны соответствовать размерам origin_pos. Если origin_vel является вектором-столбцом, он принимает вид [Vx;Vy;Vz]. Если origin_vel является матрицей 3-by-N, каждый столбец задает различную начальную скорость и имеет вид [Vx;Vy;Vz]. Единицы скорости в метрах в секунду.

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

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

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

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

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

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

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

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

    • M-на-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).

Создание и печать передаваемого сигнала

Создание неполяризованного электромагнитного поля, состоящего из двух линейных импульсов ЧМ-сигнала на несущей частоте 100 МГц. Предположим, что длительность импульса составляет 20 мкс, а частота дискретизации - 10 МГц. Полоса пропускания импульса составляет 1 МГц. Предположим, что рабочий цикл составляет 50%, так что длительность импульса равна половине интервала повторения импульса. Создайте двухимпульсную волну. Установите 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).

Создайте линейный ЧМ-сигнал.

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++ с помощью MATLAB ® Coder™

.
Представлен в R2021a