exponenta event banner

шаг

Системный объект: поэтапный. 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 метод разблокирования объекта.

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

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

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

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

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

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

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

Позволенный

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

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

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

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

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

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

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

Y

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

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

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

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

Примеры

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

Рассчитать амплитуду сигнала, распространяющегося в свободном пространстве от РЛС на (1000,0,0) до цели на (300,200,50). Предположим, что и РЛС, и цель неподвижны. Частота дискретизации составляет 8000 Гц, а рабочая частота радара - 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. Частота дискретизации составляет 8000 Гц, а рабочая частота радара - 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)')

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

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

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

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

Создают сигнал, представляющий собой один цикл синусоиды амплитуды 1 и имеющий частоту 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. The axes contains 3 objects of type line.

Алгоритмы

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

Lfsp = (4πR) 2λ 2,

где λ - длина волны сигнала.

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

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

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

Ссылки

[1] Проакис, J. Digital Communications. Нью-Йорк: Макгроу-Хилл, 2001.

[2] Скольник, М. Введение в радиолокационные системы, 3-й ред. Нью-Йорк: Макгроу-Хилл, 2001.

См. также

| (Панель инструментов радара)