шаг

Системный объект: поэтапный. FreeSpace
Пакет: поэтапный

Распространите сигнал от одного местоположения до другого

Синтаксис

Y = step(SFS,F,origin_pos,dest_pos,origin_vel,dest_vel)

Описание

Примечание

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

Y = step(SFS,F,origin_pos,dest_pos,origin_vel,dest_vel) возвращает получившийся Y сигнала, когда узкополосный F сигнала распространяет в свободном пространстве от положения или положений, заданных в origin_pos к позиции или положениям, заданным в dest_pos. Для неполяризованных сигналов любой аргументы origin_pos или dest_pos могут задать больше чем одну точку. Используя оба аргумента, чтобы задать несколько точек не позволен. Скорость источника сигнала задана в origin_vel, и скорость места назначения сигнала задана в dest_vel. Размерности origin_vel и dest_vel должны согласиться с размерностями origin_pos и dest_pos, соответственно.

Примечание

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

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

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

Распространитель свободного пространства, заданный как Системный объект.

Узкополосный сигнал, заданный как M - элемент вектор-столбец с комплексным знаком, M-by-N матрица с комплексным знаком или структура, содержащая поля с комплексным знаком.

Поляризация Структура сигнала
Не включенный

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

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

Enabled

X сигнала является MATLAB® struct, содержащий три матрицы fields:X.X, X.Y и X.Z, представляющий x, y и компоненты z поляризованных сигналов.

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

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

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

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

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

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

Y

Распространенный сигнал, возвращенный как M - элемент вектор-столбец с комплексным знаком, M-by-N матрица с комплексным знаком или структура MATLAB, содержащая поля с комплексным знаком.

Если X является вектор-столбцом или матрицей, Y является также вектор-столбцом или матрицей с теми же размерностями.

Если X является struct, Y является также struct с теми же полями. Каждое поле в Y содержит получившийся сигнал соответствующего поля в X.

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

Примеры

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

Вычислите амплитуду распространения сигнала в свободном пространстве от радара в (1000,0,0) к цели в (300,200,50). Примите, что и радар и цель являются стационарными. Частота дискретизации составляет 8 000 Гц, в то время как рабочая частота радара составляет 300 МГц. Передайте пять выборок модульного амплитудного сигнала. Скорость распространения сигнала берет значение по умолчанию скорости света. Исследуйте амплитуду сигнала в цели.

fs = 8e3;
fop = 3e8;
henv = phased.FreeSpace('SampleRate',fs,...
    'OperatingFrequency',fop);
pos1 = [1000;0;0];
pos2 = [300;200;50];
vel1 = [0;0;0];
vel2 = [0;0;0];

Вычислите полученный сигнал в цели.

x = ones(5,1);
y = step(henv,x,...
    pos1,...
    pos2,...
    vel1,...
    vel2);
disp(y)
   1.0e-03 *

   0.0126 - 0.1061i
   0.0129 - 0.1082i
   0.0129 - 0.1082i
   0.0129 - 0.1082i
   0.0129 - 0.1082i

Первая выборка является нулем, потому что сигнал еще не достиг цели.

Вручную вычислите потерю с помощью формулы

L=(4πR/λ)2

R = sqrt( (pos1-pos2)'*(pos1-pos2));
lambda = physconst('Lightspeed')/fop;
L = (4*pi*R/lambda)^2
L = 8.4205e+07

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

disp(1/abs(y(2))^2)
   8.4205e+07

Вычислите результат распространения сигнала в свободном пространстве от радара в (1000,0,0) к цели в (300,200,50). Примите радарные перемещения на уровне 10 м/с вдоль оси X, в то время как цель перемещается в 15 м/с вдоль оси Y. Частота дискретизации составляет 8 000 Гц, в то время как рабочая частота радара составляет 300 МГц. Скорость распространения сигнала берет значение по умолчанию скорости света. Передайте пять выборок модульной амплитуды, сигнализируют и исследуют амплитуду сигнала в цели.

fs = 8000;
fop = 3e8;
sProp = phased.FreeSpace('SampleRate',fs,...
    'OperatingFrequency',fop);
pos1 = [1000;0;0];
pos2 = [300;200;50];
vel1 = [10;0;0];
vel2 = [0;15;0];
y = step(sProp,ones(5,1),...
    pos1,...
    pos2,...
    vel1,...
    vel2);
disp(y)
   1.0e-03 *

   0.0126 - 0.1061i
   0.0117 - 0.1083i
   0.0105 - 0.1085i
   0.0094 - 0.1086i
   0.0082 - 0.1087i

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

disp(1/abs(y(2))^2)
   8.4206e+07

Создайте универсальную линейную матрицу (ULA), состоящую из четырех элементов антенны короткого диполя та поляризация поддержки. Установите ориентацию каждого диполя к z-направлению. Установите рабочую частоту на 300 МГц и интервал элемента массива к 0,4 метрам. В то время как элемент антенны поддерживает поляризацию, необходимо явным образом включить поляризацию в Системном объекте Теплоотвода.

Создайте элемент антенны короткого диполя, массив ULA и Системные объекты теплоотвода. Установите свойство CombineRadiatedSignals на true когерентно комбинировать излученные сигналы от всех антенн и свойства Polarization к 'Combined', чтобы обработать поляризованные волны.

freq = 300e6;
nsensors = 4;
c = physconst('LightSpeed');
antenna = phased.ShortDipoleAntennaElement('FrequencyRange',[100e6 900e6],...
    'AxisDirection','Z');
array = phased.ULA('Element',antenna,...
    'NumElements',nsensors,...
    'ElementSpacing',0.4);
radiator = phased.Radiator('Sensor',array,...
    'PropagationSpeed',c,...
    'OperatingFrequency',freq,...
    'CombineRadiatedSignals',true,...
    'Polarization','Combined',...
    'WeightsInputPort',true);

Создайте сигнал, который будет излучен. В этом случае сигнал состоит из одного цикла синусоиды на 4 кГц. Установите амплитуду сигнала на единицу. Установите частоту дискретизации на 8 кГц. Выберите исходящие углы 0 азимутов степеней и 20 повышений степеней. поляризация, необходимо установить локальную переменную оси - в этом случае выбранный совпадать с глобальными осями. Установите универсальные веса на элементах массива.

fsig = 4000;
fs = 8000;
A = 1;
t = [0:0.01:2]/fs;
signal = A*sin(2*pi*fsig*t');
radiatingAngles = [0;20];
laxes = ones(3,3);
y = radiator(signal,radiatingAngles,laxes,[1,1,1,1].');
disp(y)
    X: [201x1 double]
    Y: [201x1 double]
    Z: [201x1 double]

Излученным сигналом является struct, содержащий поляризованное поле.

Используйте Системный объект FreeSpace, чтобы распространить поле от источника до места назначения.

propagator = phased.FreeSpace('PropagationSpeed',c,...
    'OperatingFrequency',freq,...
    'TwoWayPropagation',false,...
    'SampleRate',fs);

Установите источник сигнала, скорость источника сигнала, предупредите о месте назначения и предупредите о целевой скорости.

origin_pos = [0; 0; 0];
dest_pos = [500; 200; 50];
origin_vel = [10; 0; 0];
dest_vel = [0; 15; 0];

Вызовите объект FreeSpace распространить сигналы.

yprop = propagator(y,origin_pos,dest_pos,...
    origin_vel,dest_vel);

Постройте x-компонент распространенных сигналов.

figure
plot(1000*t,real(yprop.X))
xlabel('Time (millisec)')

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

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

pos1 = [0,0,0]';
vel1 = [0,0,0]';
pos2 = [[700;700;100],[1400;1400;200],2*[2100;2100;400]];
vel2 = zeros(size(pos2));
[rngs,radiatingAngles] = rangeangle(pos2,pos1);

Создайте элемент антенны косинуса, массив ULA и Системные объекты Теплоотвода.

fs = 8000;
freq = 300e6;
nsensors = 4;
sAnt = phased.CosineAntennaElement;
sArray = phased.ULA('Element',sAnt,'NumElements',nsensors);
sRad = phased.Radiator('Sensor',sArray,...
    'OperatingFrequency',freq,...
    'CombineRadiatedSignals',true,'WeightsInputPort',true);

Создайте сигнал быть одним циклом синусоиды амплитудной и наличия частоты 4 кГц.

fsig = 4000;
t = [0:0.01:2]'/fs;
signal = sin(2*pi*fsig*t);

Излучите сигналы в целевых направлениях. Примените универсальное взвешивание к массиву.

y = step(sRad,signal,radiatingAngles,[1,1,1,1].');

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

sFSp = phased.FreeSpace('OperatingFrequency',freq,'SampleRate',fs);
yprop = step(sFSp,y,pos1,pos2,vel1,vel2);

Постройте распространенные значения сигнала для каждой области значений.

figure
plot(1000*t,abs(yprop(:,1)),1000*t,abs(yprop(:,2)),1000*t,abs(yprop(:,3)))
ylabel('Signal Magnitude')
xlabel('Time (millisec)')

Алгоритмы

Когда источник и место назначения являются стационарными друг относительно друга, можно записать выходной сигнал канала свободного пространства как Y(t) = x(t-τ)/Lfsp. Количество τ является задержкой сигнала и Lfsp, является потерей пути свободного пространства. Задержка, которую τ дан R/c, где R является расстоянием распространения и c, является скоростью распространения. Потерей пути свободного пространства дают

Lfsp=(4πR)2λ2,

где λ является длиной волны сигнала.

Эта формула принимает, что цель находится в далеком поле элемента передачи или массива. В близком поле формула пути свободного пространства потерь не допустима и может привести к потере, меньшей, чем одна, эквивалентная усилению сигнала. Поэтому потеря установлена в единицу для значений области значений, R ≤ λ/4π.

Когда у источника и места назначения есть относительное движение, обработка также вводит Доплеровский сдвиг частоты. Сдвигом частоты является v/λ для одностороннего распространения и 2v/λ для двухстороннего распространения. Количество v является относительной скоростью места назначения относительно источника.

Для получения дальнейшей информации см. [2].

Ссылки

[1] Proakis, J. Цифровая связь. Нью-Йорк: McGraw-Hill, 2001.

[2] Skolnik, M. Введение в радиолокационные системы, 3-го Эда. Нью-Йорк: McGraw-Hill, 2001.

Смотрите также

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