step

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

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

Синтаксис

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, распространяет через канал 2D луча от origin_pos положение к dest_pos положение. Любой origin_pos или dest_pos аргументы могут иметь несколько точек, но вы не можете задать обоих как имеющий несколько точек. Задайте скорость источника сигнала в origin_vel и скорость места назначения сигнала в dest_vel. Размерности origin_vel и dest_vel должен согласиться с размерностями origin_pos и dest_pos, соответственно.

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

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

Примечание

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

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

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

Широкополосный канал 2D луча в виде a Системный объект.

Пример: widebandTwoRayChannel

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

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

    • M-by-N матрица с комплексным знаком. Тот же сигнал распространен и вдоль пути угла обзора и вдоль отраженного пути.

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

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

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

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

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

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

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

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

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

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

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

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

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

Скорость мест назначения сигнала в виде вектор-столбца с действительным знаком 3 на 1 или 3 N матрицей с действительным знаком. Размерности 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 N struct массив, содержащий поля с комплексным знаком. Чтобы возвратить этот формат, установите CombinedRaysOutput свойство к true. Каждый столбец массива содержит когерентно объединенные сигналы от пути угла обзора и отраженного пути. Каждый элемент структуры содержит вектор электромагнитного поля (prop_sig.X,prop_sig.Y,prop_sig.Z).

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

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

Примеры

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

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

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

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

Создайте неполяризованное электромагнитное поле, состоящее из двух линейных импульсов формы волны FM в несущей частоте 100 МГц. Примите, что ширина импульса является 20 μs, и частота дискретизации составляет 10 МГц. Полоса пропускания импульса составляет 1 МГц. Примите 50%-й рабочий цикл так, чтобы ширина импульса была половиной импульсного интервала повторения. Создайте 2D импульсную волну, обучаются. Установите 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 object. The axes object 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];

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

Создайте Систему канала распространения 2D луча 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');

Вычислите задержки μs.

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 objects. Axes object 1 with title Direct Path contains an object of type line. Axes object 2 with title Reflected Path contains an object of type line. Axes object 3 with title Combined Paths contains an object of type line.

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

Вычислите результат распространения широкополосного сигнала LFM в среде 2D луча от радара на 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);

Распространение 2D луча модели от положения радара к цели.

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 object. The axes object 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 object. The axes object 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).

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

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

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

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