step

Системный объект: phased.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, соответственно.

Примечание

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

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

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

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

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

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

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

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

Enabled

X сигнала MATLAB® struct содержа три матрицы fields:X.Xx, 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 structY также 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 метрам. В то время как антенный элемент поддерживает поляризацию, необходимо явным образом включить поляризацию в Системе Излучателя object™.

Создайте антенный элемент короткого диполя, массив 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)')

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

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

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

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

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

Алгоритмы

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

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

(Radar Toolbox) |